The other day I was looking at something and came across “Hotaru CMS” which on it’s about page describes the system as a “plugin powered content management system” or “Wordpress without blogging”. The system describes that it is a platform to build upon, that “Hotaru plugins provide such key components as user systems and post publishing” and how it has a few different extension types: main themes, admin themes, plugins and language packs. But it got me thinking – wait, this is just Joomla!?
It is interesting to see things written from a different perspective and how often Joomla! fits into so many categories. The great thing about Joomla! is that a lot of the functionality is implemented as an extension of some variety. Don’t like the way the built in content system works? Provide your own! Flexicontent is an example of this where they’ve done their own content system which is great. You don’t like the user system? Well you can replace that to if you really want to – which in part is the approach that CommunityBuilder took. If you just want to add support for external authentication or perhaps change how the session handling works you can write a plugin to do that anyway.
But I’d like to take a step back and detail one of the projects I’m working on at the moment. At USQ we’re working on a media repository to store our media files for course materials and lecture recordings. One of the aspects is mediating connecting the raw recordings (done in Camtasia Relay) with the courses which are in Moodle. Camtasia’s support for Moodle is a bit awkward and we’d like to improve it a bit more or build an interface that at least mediated things so that we can choose to put things into Moodle (our learning management system) or the new media repository. So we need a bridge of sorts. Being a PHP person and PHP being one of the most preferred programming languages at USQ (see Moodle) I figured I’d do it in PHP. Then I realised I wanted to do it properly and needed authentication integration plus a few other tricks. I also figured I’d like to have a controller, view and a model for stuff. Then I figured I’m going to need some database drivers, particularly Oracle but for initial testing I’m going to need to do it locally outside of the normal development framework since its essentially a skunkworks project.
The choice I’ve taken is to use the Joomla! Framework and strip out the majority of Joomla! to put in what I need. In this particular case I’ve picked up the authentication plugins, user plugins and user component from Joomla! and left all of the content stuff behind. I’ve started adding my own extensions to the project to handle the aspects required, pulling in some of the DAV support work I did for Joomla! a while ago and including that into the libraries. So the pieces are slowly coming together and eventually I’ll get everything up and running properly. I’ve also ported Joomla! in a small part to an SQLite3 database where I’m putting stuff for the time being. I’ve grabbed a stock joomla.sql file for MySQL, modified it to be SQLite friendly and then I’m using that base database to handle everything. It has more than I need in it table wise but that doesn’t necessarily cause concern but perhaps wastes a bit of space. I’ll hook up everything and get it to work, perhaps a bit heavier than it needs to be but also immediately portable back into a Joomla! instance later if this is the path I want to take.
Perhaps at a JoomlaDay somewhere I’ll demo it.3 comments
3 Comments so far
Leave a comment