DO NOT USE! IN HEAVY DEVELOPMENT
This project aims to maintain the semver version numbering scheme.
See the changelog file
A CMS/website framework based on the actionhero API framework and a suite of plugins to provide core functionality.
NOTE: This module installs only the server-side of the system. This module is agnostic of the front-end stack and the intention is that "people" will create various reference front-ends which may be based on any type/number of technologies.
- NodeJS 0.10+ and IOJS 1.x+ compatible
- An API-based CMS/website framework (server-side)
- Client/server operation - business logic happens on the server-side, presentation logic happens on the client (web browser)
- Websockets and/or XHR transports available (XHR should work well with HTTP2)
- Data exchange is via
- Several plugins provide core CMS/website features, for example:
- An RBAC (Role-Based Access Control) ACL (Access Control List) to define which user roles are allowed to use each (server-side) API method. This includes (defined) inheritance from parent roles.
- An authentication layer. This is fast and light, backed by Mongo DB and incorporating strong encryption and various other security controls.
- A (server-side) session module to maintain private session data for users. This is backed by Redis and is super-simple to use (just set properties of a session object)
- A simple content-item plugin which is based on markdown (with optional automatic conversion to HTML). A content item can be anything you like, a single word or phrase to an entire page of text.
Installation is very simple and is simplest using
# Install the NPM package. This essentially just copies an installer onto your computer/servernpm install tdp-ah-cms# Now run the local installer. This does the actual installation (including plugins etc.)npm run-script installer# This is the point at which you'd likely install the front-end you want# Now you can start your instance:npm start
As per the actiohero convention, configuration files all live inside
/config (that path being relative to your project root) with plugin configs being in
/config/plugins - one file per plugin, named for the plugin. See plugin docs for their configuration options and actionhero's for its.
Tests currently run automatically in
travis and use
TDPAHCMS is issued under a Creative Commons attribution share-alike license. This means you can share and adapt the code provided you attribute the original aclor(s) and you share your resulting source code. If, for some specific reason you need to use this library under a different license then please contact me and i'll see what I can do - though I should mention that I am committed to all my code being open-source so closed licenses will almost certainly not be possible.