The development of the new Kajona version 3.4.0 took nearly ten months, but it was worth waiting. The Kajona team used the time to refactor many aspects of the system, providing both, visible changes at the user-interface and invisible changes under the hood. Like the release name "berlin" hints at, most of the feedback from this year's LinuxTag in Berlin was already implemented in Kajona 3.4.0.
Editors responsible for maintaining the websites' content will love the improved in-site-editing. For the first time it's now possible to even create new pages right in the portal. This means, the editor may maintain the website using the portaleditor only - the backend is only required for more sophisticated tasks. By the improved in-site-editing support of galleries and downloads, the workflow is optimized even more.
By switching from the portal to the comprehensive backend, the editor or administrator is supported by consequently used dialogs. Those dialogs and the usage of AJAX speed up the interface-experience noticeable and at many aspects.
Working with forms is now easier than ever since mandatory fields are marked automatically by the system. The developer of a module only has to declare the mandatory fields, everything else, rendering and validation, is made by the framework transparently in the background.
In addition, the backend now supports optional "aspects" to categorize the backend into logical groups reflecting the current use case. When using those aspects, unused modules are removed from the interface reducing the complexity even more.
Besides the classical, manual maintenance of navigation-trees and the flexibility achieved by this approach, it is now possible to generate navigations completely automatically.
Therefore the page-structure is analysed and transformed into a navigation-structure on-the-fly. Since new pages appear in the navigation immediately, the effort required to maintain the navigation is reduced to somewhere near zero.
By popular request, Kajona 3.4.0 ships with an initial implementation of a new event-manager. The module will be extended and improved in upcoming version reflecting the feedback of the users.
Furthermore, the support of tags was introduced, providing a way to enrich records with meta-information. Those tags may be rendered in the portal as a tag-cloud or as a keyword-list.
The PDF functionality was declared as stable and added to the default set of modules.
The framework was optimized at many places, providing an even faster way of extending the framework by adding new functionality.
One of the main new features is the introduced support of prepared statements. In this context the Kajona-internal database-drivers mysql and sqlite had to be removed from the packages - by the usage of the even more modern drivers mysqli and sqlite3 there shouldn't emerge any problems. Up from version 3.4.0 the list of officially supported databases comprises MySQL, MariaDB, SQLite and PostgreSQL.
While queries using the old schema are still fully functional, developers should migrate to prepared statements as soon as possible.
By adding new lifecyle-methods such as class_element_admin::doBeforeSaveToDb() and class_model::doAdditionalActionsOnStatusChange($strSystemid), developers are now able to react on even more events triggered by the system. The controller now resolves the actions to call transparently by reflection, a module-internal resolving and dispatching by the developer is no longer necessary.
Changes made to objects may be logged by the new changelog-mechanism. If activated, the system tracks all changes made to objects by using a separate log-table and thus provides a way to trace changes on a very granular base.
For more information or to download, visit http://kajona.de/