The first blog for the upcoming major version of AdaptCMS, currently just called “Alpha”. Starting in late June, while there is quite a while to go, this rewrite has made considerable progress. In just two months this version has a currently mostly functional backend with some advanced features already. This blog will be touching on some of these features, some we are in the middle of doing and some features we are planning later on.
Most of the features mentioned will be in some way functional, as we’ve learned from the past to not to get ahead of ourselves, some are also fully functional. Anyways, continue on to the blog.
Using the CakePHP framework, in short, has saved us a lot of time. While the core AdaptCMS 2.0.x was solid and easily more secure/effecient than any previous version, the huge advantage of a PHP framework is that it largely does it all for you and you don’t have to repeat code.
The CMS Status
Anyways, the focus so far on Alpha has largely been in the backend realm. Building the core basics of the default features (Articles, Users, etc.) which means index list, add, edit and delete. After that, we concentrated on Articles and Users to get some important functionality like register/login for users and related features for Articles.
One of the early “difficulties” was adapting the custom field feature with a whole new increase in functionality, multiple-data. This means adding a Game “Article” and being able to select 3 systems it’s on and viewing the article and seeing 3 system icons showing up next to the name. (an example) Fortunately we were able to fix that and currently the process of managing articles is fully working outside of file uploading (one of the many new field types), but still has a ways to go.
The biggest early feature after Articles was Permissions. While cakePHP does have an ACL system to use, we created our own permissions system which is very powerful – much moreso than before. By default, access is cut off to every page on the site except the homepage, register/login and access denied.
But with every install permissions will be inserted for every group (including guests), so with those permissions guest for example will be able to view other items. This means being able to run a private website without prying eyes or restricting groups to certain areas – permissions will be controlled by a “controller” (such as Articles) and an action. (such as view, which is viewing an article) Plugin is optional. This will be broken down by release to be easier to use.
There are already many features in right now that are new, but so many more upcoming that it will take numerous blog posts to mention. Besides the above is the much improved Fields feature, which gives people the ability to add 12 different field types, but now when adding an article the jQuery validation library is utilized especially for field types like “Email” and “Number”.
The Settings feature is also radically different, the ability to add categories remains but when inside a Settings category you then can update current settings, update the category name, add a new setting and within that – have 5 different types of settings to add. (checkbox, text input, etc.)
The last feature I’ll discuss is the half-finished Modules feature. In short, it is designed to bridge the gap between functionality and coding know-how. In previous versions of AdaptCMS, doing something like listing out the latest 5 articles could be a little tricky – it required PHP code at minimum.
However with the Modules feature you simply select a feature such as “Polls”, select the Poll to display, where to show it (specific page(s), everywhere), the templates to use (default ones, new ones, existing ones) and click submit. Then you will be given a simple code tidbit to enter in and where to and your done. We are hoping to have a feature that will let you visually place the Poll, that’s the goal, but it’s not 100% that it will be in.
Even though just a month and a half or so has elapsed since work began, considerable progress has been made. By the end of August a non-public Alpha should be spread around to test and get feedback. At that point more specific features like twitter/facebook integration, frontend/backend skin design and adaptcms/insanevisions new websites will be started in the background. Right now there is no launch date, but hoping for a beta to release in Fall/Winter. Stay tuned.