This is the longest I have gone between releases of Suffusion and unfortunately the current release is significantly more complex than the previous ones, hence version 3.6.7 is still a few weeks away from release.
A general fact of any software development cycle is that the more complex the software the longer the development cycle. As things stand today Suffusion is quite complex under the hood. As a result when I try to make a foundational change to the theme, it is a very very arduous exercise. Such changes were much easier to make when the theme was simpler. That is the difference between foundational changes and add-on changes: add-on changes are still easy to do given the theme’s modular structuring, which is why I can add new sidebars etc without breaking a sweat (actually adding sidebars is not that easy, but it still is much easier than what I am doing right now). There are two major changes I am working on at present:
- A revamped approach to navigation menus – I was never happy with the way WP handled its functions
wp_list_pagesetc. I felt that their concepts of “include” and “exclude” were slightly messy and I tried to build a fool-proof system for building menus myself. The net result:
- I was successful because I achieved what I had set out to do. Including and excluding items worked as advertised.
- I ended up introducing some rather undesirable inefficiencies in the code. The menu-bar code worked well, but to work the way I had envisioned it required to do a lot more queries in the back-end system. For users who had a large number of pages etc, the menus generated at least 100 extra database queries.
- Some plugins refused to cooperate with the menu code.
- Some features like highlighting the correct page etc were notoriously hard to implement.
So in this release I decided to fall back on WP’s standard functions instead of my enhanced ones. The result is that menus will not work the way I think they should (which shouldn’t really concern you – I am but one individual), but they will work the way WP thinks they should.
The change is complex because it required me to change all my menu code, test for pages, categories, links and WP 3.0 menus, fix all style-related problems and what not. Luckily though, this is a piece that I have finished implementing.
- An option for fluid width – This is a more cataclysmic change. It involves revamping the entire HTML markup and a humongous amount of implementation and testing. This piece is taking a lot of time to finish implementing, let alone get into full-blown testing.
Adding to the implementation complexity are some major changes on the personal front for me, like an upcoming move from the US to Canada and you can see why this release has been taking time.
The light at the end of the tunnel, though, is that once this release is done, you can do pretty much anything with the theme layout. At that point I can focus on the funky features I had promised in the birthday post of Suffusion.