2.0 Moving Along Again
Posted: February 19, 2008 by Ted Kulp
Just because the blog has been deserted doesn't mean nothing is happening. About 3 weeks ago, I got myself into a position where I can resume the 2.0 development cycle. Not only that, I'm starting to get to enjoy all the work I did in the beginning of cleaning up and moving code around to make a more consistent API. New features are falling into place pretty quickly and I'm making some rapid progress. Some highlights of the last few weeks include: * Fixed the issues everyone was having with the installer. It's ugly, but it works. * Added the hierarchical permissions editing for content. It still needs to be added in a few more places, but it's a good start. * Start adding a test suite for things that I'm working on. It's by no means complete or even covering a major portion of the code, but it's the direction I'll continue down as I develop. * Removed xajax totally from the codebase and instead made my own version that's entirely written using jQuery. It does just what I need and nothing more. * Added active flags to stylesheets and removed them from templates. * Removed the built-in print functionality. It was ugly. Use print stylesheets. * Added methods to make sure all tables created by the api make proper utf-8 collations * Redid a lot of the Events system. It's now easier to create and use events, and also allows for attaching to events on the fly instead of having to register in the database. * Redid a lot of the module api. Moved the tabs to their own class. Removed methods that weren't really used. Moved the wysiwyg and styler methods to their own subclass. Added a backwards compatibility layer for older modules that still needs some work to be fully functional. * Created an acts_as_list dropin for the ORM system. This basically means that modules (or core items) that want to be ordered can add 2 lines of code and one field to the database and get a ton of functionality for ordering and reordering items. * Changed the parameter sanitization methods in the module api to use the new stuff built directly into php 5.2+. * Rewrote the menu manager to use nested templates. This basically means that menu manager templates will be MUCH easier to understand. It also means you can use different templates (or options) for children if you'd like. * Started a brand new blog module which will be included in the default installation. It will basically have all the main blog features that people ask for and should allow CMSMS to be a viable replacement for those people use Wordpress as a CMS. This also allows me to test that all the changes to the module api are good. * Moved all module templates to be administered in a central location. Not only that, but multiple templates for the same function are now supported by default. Modules no longer have to handle templates themselves, instead they just register the template on install and are good to go. Needless to say, it's moving right along. I still have no solid date for a beta, but I'm shooting for a couple of months from now. As long as I can continue at this pace, it shouldn't be a problem.