CAWS

While trying to get the authentication part of Project Paragons website working I’ve been thinking about CAWS. As you may know is CAWS a flexible CMS system I’m working on with a friend. I want to explain in this post about the ideas behind this thing. An important thing in the development of CAWS is Launchpad and it is already registered there, although the main parts are still just ideas, mainly because of the Blueprint functionality and the bazaar branch, which allows use to share code on an easy way. You can find the project page here.
The idea behind the CMS is to create a platform which can be easily used by others for their purposes. The basics are provided by a registry, database drivers, theming system and module system. This module system reads files from a directory and checks if they’re already installed. If no specific module is requested the module which is set in the database as the default module will be used. Via the function $module_system->readData($module_name, $module_part) data from all modules can be accessed. Via a dependency system a module can check if other modules are installed. If they aren’t certain parts of a module won’t be accessible or the whole module can’t be installed, until the dependency is satisfied. The Admin Control Panel also uses the same module system, but gets its modules from another directory. If you want to and have access to the database from another server you can even put the admin control panel somewhere else.
More information is going to be revealed when the basics are done, but I don’t expect to have much spare time to spend at CAWS, since I want to finish the website for Project Paragon and I’m also busy with triaging bugs for Ubuntu and, of course, school.