Another Update:
The summer has been long and hot, and everybody seems to be getting busier (is that a sign of an improving global economy, lets hope so). And the 1.10 development cycle is close to its end. If we want to do a beta process for CMSMS 1.10 sometime later this summer we have to stabilize the core. That is why we've begun to cut some of the wishlist items off of the 'TODO list', in favor of stability. Some of the bigger ticket items like a replacement for the MenuManager, and admin side search have been dropped. Some other items that are assigned to other developers may get dropped too as we close in on the deadline. The DEV team has been busy testing, fixing, and re-testing both our new features, and existing functionality and making sure things work.
However, people still need a compelling reason to upgrade, so a few fancy new features are making it in to the core. Like 'Preview' for adding and editing news articles (which is now in testing). There are a few other small and easy to implement features we'll probably look at in the next couple of weeks too. We'll be sticking with the 'biggest bang' for the 'least effort' mentality when deciding which of these to throw in.
The ModuleManager improvements have been tested, and appear to work properly now, so (although I've been meaning to do it for a few days now) I will soon be replacing the main module repository module on
www.cmsmadesimple.org with the newest version so that everything will work when the beta process begins. BTW. The new module repository module is backwards compatible with the ModuleManager that distributes with CMSMS 1.9.x
In this release we've taken the opportunity to do a fair amount of cleanup of the code. We've done things like hide/remove public members of objects, implement singletons etc. We have accepted that we are going to have to break a little bit of the functionality for the sake of moving things forward, we just don't want to break too much functionality all at one time.
We've taken advantage of some PHP 5.x magic to solve a couple of the annoying things that have long existed in CMSMS (like the redundant smarty, cms, and config members of the module class). We used a simple __get() method to allow us to eliminate these members while retaining (mostly) backwards compatibility. This will allow debugging your module state alot easier. The smarty {debug} tag, and dumping the contents of a module should now work nicely.
We've also noticed a few more things that will probably be broken when people upgrade to CMSMS 1.10. So here's the current list:
a: Modules won't be able to take advantage of lazy loading on the frontend till they are adjusted for CMSMS 1.10
b: Modules, plugins and UDT's that access the $gCms->modules array will be broken (some other members of $gCms have been made private). The ModuleOperations class now has the appropriate replacement methods. Your code will now have to assume that a module is not necessarily loaded into memory (However: cms_utils::get_module('SomeModule') will load it).
c: Modules that implement content types will be broken. Though the changes needed should be minor. This is primarily because we're using the PHP5 style __construct() constructor and not the PHP4 constructor. Additionally, most member variables of the ContentBase class have been made private or protected, so content type classes need to use the appropriate accessor methods.
d: Admin themes and other code that improperly use $gCms->siteprefs (now gone) and other members of the $gCms object will be broken.
- the replacement functionality for this stuff has been available since 1.9 so there should be no problems with conversion.
Again, one more reminder:
IT IS IMPORTANT FOR MODULE DEVELOPERS TO TEST AND ADJUST THEIR MODULES DURING THE BETA PROCESS.
Anyways, that's all for now. I just thought I'd keep you in the loop. We now return you to your regularly scheduled programming.