With one more sprint through before work on 3.0 begins, I thought it would be good to post another blog – especially considering I haven’t posted anything in a few weeks. Most of the work has been fixes, lots of bug fixes. There has also been testing on the new adaptcms.com/api websites.
Continue on for the full detalls.
There have been and will be continued improvements, generally. This may be language added to an admin page explaining useage or code improvement. One of the main improvements, just done yesterday, was query optimization.
While cake is great with querying, with deep relationships it is not a good idea to do the traditional cake way of things. For example, I want a list of articles on the home page and the following associations:
Category, User, ArticleValue (custom field data) – that values field, that values file
The problem is it would do that for every article and if you have 5 articles on the homepage in the same category posted by the same user, it would do the same query for the category, user and those fields as well as doing the same for any related articles. Luckily, this has been reworked and we basically do a check for a user/category/field/file and store it in the function, that way we do not duplicate queries. With this new method, we brought down the number of queries 44% on the homepage, 28% on the category page (with just 3 articles showing there, likely would be around 44% with the same amount) and about 5-10% on the article view page.
Number wise we still think we could get this down a bit more without sacrificing features/extendability, we will take another look when working on 3.0.
Getting probably the most work out of anything, we had done initial work on this some time ago but at the time didn’t do any functional testing and it showed when trying to setup the gaming theme. Luckily we have worked out a lot of bugs and issues with it, so it is ready to go.
We also added afterInstall/afterUninstall filters where theme makers can pass through data to be saved. By just sending an array of certain types of data, the installer will take that and install it. This is useful, for instance the gaming theme, where we want a platforms category, games and reviews. Plus we have fields for each one and added two platform articles.
Right now we are planning on just the one theme (besides the default), but may add a small blog one to have a few options at launch.
The bulk of work has been good old fashioned (mainly boring) testing. And not just testing, IE testing! We worked out a lot of IE7/8 css issues on the adaptcms.com/api websites recently and after some thorough testing, fixed all the IE JS/CSS issues on AdaptCMS itself.
Due to useage, we are essentially ignoring IE7 when it comes to AdaptCMS – just not worth it. But anything IE8 or newer is taken and fixed, we’ll do another round of this and traditional bug hunting before 3.0 release and we will be doing a round of mobile testing as well.
Besides that, most of the testing is done and most everything has stood up well. Being not a small system, we still expect (reasonably) some bugs to persist after the launch of 3.0 but are trying to get all kinks out that we can find.
The only other addition was a Disqus Plugin, just a php tag you insert into your article view template – pretty simple. I’ll be out of town this week, but I will likely be doing some thinking and may do a little bit of work – templating and event system will be the main things on my mind, though the former wouldn’t be in for a while. The release date for Beta 3 is still last June, but I wouldn’t be surprised to see an early-mid June release. Stay tuned.