News

Kajona as an application framework

25.10.2013

Use Kajona without the portal-part and build a web application based on the powerful backend-framework.

Out of historical reasons, Kajona was designed and developed as a Web Content Management System (CMS). Therefore the system is split into two parts:

  • The portal, rendering all the contents to the websites' visitors
  • The backend, used by the editor or page-admin in order to manage the website and in order to change the websites' contents

 

While this scenario fits to websites and community portal, there are use-cases, where everything could (and should) be handled by the backend. This is, where the web application framework aspect of Kajona kicks in.

Just think of the following requirements:

  • All users have to log into the application
  • The application may be used to enter a list of products
  • The application may be used to search for products and to create an order of products
  • The summary of the order has to be printable

All those requirements may be implemented using the backend, only.

The backend comes with such cool features as the OR-mapper, the form-generator and many more libraries to reduce the development efforts.

Nevertheless, is you use the default Kajona modules, all URLs will contain "/admin", since we create our application based on the backend.

Therefore, a patched version of class_link and the .htaccess-file (on root-level) is available. The combination of both may be used to generate rewrite-urls skipping the /admin part.

Both files are available in our subversion-repository:

In addition, the modules have been decoupled even more. The pages-module is no longer a mandatory requirement to set up a Kajona installation.

The minimal set of required modules to build a fully fledged web application (based on the backend) was stripped down to:

  • Module system
  • Module search
  • Module dashboard
  • Module tags
  • Module installer
  • Module v4skin
  • Module packagemanager

Please note that at least Kajona V4.3 is required.

Zurück

Fork me on GitHub