Blog

2.0 Moving Along Again

February 19th, 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.

42 Responses to “2.0 Moving Along Again”

  1. Marijn Says:

    Very nice progress. I’m exited when 2.0 becomes final. Hopefully i can still use FCKEditorX :P

  2. Colin Scroggins Says:

    Progress and cleanup is always welcome! In the “I want a pony” vein, are you considering adding OpenID support for user accounts and blog commenting?

  3. Maki Says:

    Hi, nice to see that things are going on. I’m just starting with CMSms and I already like it, 2.0 looks really promising.
    However I found an issue that has been raised often in the forums, but I haven’t found an official answer. The issue is that you can’t have duplicate page aliases like explained for example in

    Is this going to be addressed in 2.0? Can’t the pagealias become the whole path after the domain name rather than only the part after the last slash?
    Sorry if I’m dense and/or this is non the appropriate place, but I couldn’t find the path to place feature requests in the forge.

    Thanks

  4. Ted Kulp Says:

    @Colin: Yes, and yes. OpenID is already in there as a login mechanism. It needs some cleaning up, but the basics work now. And I was actually thinking about blog commenting a few minutes ago. I think I’m going to overhaul the existing Comments module and use that.

    @Maki: We can probably do that now. The original reason was just that it was a holdover from before we had urls with no hierarchy. We can probably remove this now, though it will require a few more checks to go in and probably make it so people not using pretty urls only can view pages by id now.

  5. Elijah Lofgren Says:

    Great to hear progress. I’m looking forward to CMSMS 2.0.

    If it is announced that Google Summer of Code 2008 will happen, it’d be great if CMSMS made it in and could benefit from that.

    Wishing CMSMS all the best,

    Elijah Lofgren

  6. Colin Scroggins Says:

    Ted: That is great news! I cannot help with the code, but I would love to help with the usability on this. I recently looked at Drupal 6’s OpenID implementation and was very disappointed because it is almost an afterthought rather than a first class citizen. The point of OpenID is single sign-on. It doesn’t make any sense for either the user or the admin to have to create site centric usernames and passwords in order to use OpenID. Creating new accounts from an admin standpoint should be as easy as pasting in a user’s OpenID, if you know it.

  7. Nuno Says:

    * 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.

    very good!

  8. Chris Says:

    Thankyou for this massive effort you are putting in, improving an already brilliant system. You must be an absolute programming powerhouse to knock out so much in so little time, amazing! I would love to know where you get your inspiration/motivation from to put in the long sustained hours it must take to make such quality software with so many brilliant features.

  9. Ted Kulp Says:

    @Colin: That’s a very good point. Indeed, I’ll make sure that it’s one or the other (username or openid), not both.

    @Nuno: Indeed. That was a lot of wasted code for only a few used things. :)

    @Chris: I’m motivated by comments like that, to be honest. I’m very egotistical. ;) Seriously, though. CMSMS is sort of a legacy of mine at this point. I take all comments very personally and catalog them in the back of my head. This is my chance to try and fix all those things that generate the most negative comments — or at least most of the “Why doesn’t CMSMS do…” questions.

  10. Sandro Says:

    Hello Ted,

    first and foremost a very BIG thank you for developing one of the best CMS out there! After evaluating quit a number of cms, we decided to go with cmsms and have not been let down since!

    We’re very fast developing client websites with it and have the flexibility do integrate/program special modules/tags if our clients request that from us.

    So we are very eager to see a cmsms 2.0 and further features coming with it!

    For now, I have just one comment that was already mentioned in another users comment: page aliases.
    In some of our websites, we are currently using them as a key in the standard navigation module ($node->alias) to access the images for our navigation. We’re also using the plugin ’sectionimage’ to give each page a different image (again accessed via alias).

    So we have some dependencies and I thought I let you know that someone is using the alias feature ;-)
    I didn’t have the time yet to look at alternatives, to get the same functionality, if in a future release the alias would be removed…

    Thanks and keep up the great work!
    Sandro

  11. Vaughn Says:

    Ted -
    So will JQuery be the javascript library you are sticking with for 2.0? I have to adopt one soon for a project, and was leaning towards jquery, but then had read you were considering using Dojo in a forum post. Have you changed your mind?
    Vaughn

  12. Ted Kulp Says:

    @sandro: Aliases will still be there, but they might get into a situation where they won’t be unique across the whole site, but only across their parent node… and only if you want them to be. If you still assign unique aliases to every page on a site, you won’t notice a difference.

    @vaughn: jQuery is the one. I’ve already converted most of the admin functions that do use javascript to use it. I picked it because it was lightweight, had a ton of add-ons and had a strong community behind it.

    Dojo was ok, but relied on a few things that made the html not really as clean as it could be. It was also fairly complicated in comparison.

  13. Vin Says:

    I am glad hearing about Menu Manager and Events being improved. Menus seem to be a frequent issue in forums (although it’s mainly due to not searching first), and they get complex, so this definitely sounds good. And Events are just crucial for flexibility!

  14. Vikra Says:

    I just wanted to express my gratitude for all the effort you are putting in this software. I have been following its progress and I’ve used it in several projects. It’s just the best CMS on the market for small projects - fast but very easy to use and feature-rich. Advanced features are a little hard to pick up at first, but when you get them, there is little you can’t do. The code is great, too. It’s easy to see that it was well planned and developed by an experienced software engineer. I found it really easy to understand.

    Good job, Ted.

  15. Ted Kulp Says:

    @Vin: Agreed. I look at the current menu manager templates and cringe. I just had to something to make that less painful. It was the best thing I could come up with. As for events, there is no reason to have all the nasty callback stuff when there was a perfectly good events system in place. It just needed some tweaks to make it the only thing we need.

    @Vikra: Thank you for the kind words. I have to admit that CMSMS has taught me a LOT about software development. I feel that I really have a lot more of an understanding of what works and what doesn’t now. I hope that it will come through in 2.0. At least from a coding perspective, it just feels more architected and less thrown together than the current 1.2 codebase. At least it does to me. :) Let’s just hope that the interface and feature set speak that way to the users as well.

  16. Steve Says:

    I don’t think anyone minds the blog being deserted - kinda guessed why it was, but nice to get a little update. Looking forward immensely to 2.0, but meanwhile never cease to be amazed at what can be achieved with the current version. Big thanks for all the work from me too Ted.

  17. Peter Gasston Says:

    Glad to hear things are progressing well. Will 2.0 be completely backwards compatible with 1.2? Will we just be able to run an upgrade?

  18. Ted Kulp Says:

    @Peter: The way it sounds right now, we’re thinking it’s going to be a separate script for doing the upgrade instead of the usual mechanism. This script will probably only be able to do so much, because of the major changes in permissions and a few other database things. It will probably be more of a planned migration plan instead of just a simple upgrade.

  19. Rolo Says:

    Will 2.0 be completely backwards compatible with 1.2?

    Will we just be able to run an upgrade?

    Thanks !

  20. Vin Says:

    @Rolo: Like an echo… :D Read the comment above.

  21. styson Says:

    Great work Ted!!!

  22. Marin Says:

    What about multilanguage support advancement? :)
    This is a key (missing) core feature for me

  23. Hans Says:

    Ted, thanks so much for your effort and persistence! CMSMS has really been a life saver for me, because several clients wanted a CMS but I’m a design guy who knows a lot about XHTML and CSS and very little about PHP and Javascript.

    I’ve tried playing with some of the other CMS solutions out there but I just can’t get them to cooperate with me without bringing in outside help. With CMSMS, I feel like I don’t have to be an engineer to get the results my clients want. I’m really looking forward to version 2.0 and beyond. It looks like 2008 is going to be an excellent year!

  24. Hans Says:

    Thanks so much for your continued effort to make this the premier CMS solution, especially for those of us who are not engineers. :-)

    My feature request: Would it be difficult to have an automatic way to assign conditional comments to style sheets? That would be far more elegant than having to hard code them into the template with {literal} tags. Basically, if I’m attaching a style sheet, it would be great if I could check off a box that says “IE Style Sheet” and then a pull down menu that gives a couple of common options like “version 6 and below”, “version 5.5″, etc. I’m not sure how much of a pain that would be to implement but it would sure rock!

  25. Ted Kulp Says:

    @Marin: It’s in there..

    @Hans: That’s probably possible now with some kind of syntax highlighter. That kind of real specific stuff is probably out of scope for CMSMS, especially given the module options out there. Thank you for the kind words, though!

  26. David Says:

    I’m so happy to see that you’re able to make so much more progress with 2.0 now. I’m in awe, honestly.

    I do have a request. You mentioned that you’re dropping the built-in print functionality. I’d like to request that you leave it in. I think it’s a real client-pleaser. As a developer, I agree with you, that print stylesheets are better. But I’ve gone round and round with more than one client who wanted their site to print out exactly like it appears on screen. It’s still confusing to a lot of people when they hit “print” and get something off the printer that’s formatted differently from what they saw on screen. But of course there’s no surprise if they’re already looking that stripped-down “print-friendly” version of the page.

    So anyway, if the print-friendly functionality is already there, would you consider leaving it in?

  27. Heuli Says:

    What about multilanguage support advancement?
    This is a key (missing) core feature for me

    Yes, I´m waiting too ;o/

  28. John Says:

    Just to say than i support CMS MS and i have based my company in India on this CMS for the segment SMI market.

    We actually have 8 developper working on CMSMS and develop new component, correct some bugs (it’s append) and we will publish then soon (customer priority).

    CMS Made Simple is a very good product, and we will contribute on the same.

    Keep going.

  29. Paulo Says:

    Great, nice news. I’m waiting for 2.0 and I’m very happy to use CMS MS.

  30. Smoothie Says:

    Sounds fantastic. I for one would love to see the Menu Manager become heavily simplified or modularised, simply because it just seems overly complicated compared to the rest of the system. The blog module also sounds brilliant, and I’m sure it’ll be very popular. I think part of the reason that CMSMS is so popular is that it has power without feeling bloated (unlike many other CMS’s), so I would like to see this strength continued in future releases.

    Nice work, friend.

  31. rosgar Says:

    I’m an avid fan of CMS MS and this is a great news! Hurrray!

  32. hj Says:

    Thought I would just reply to this announcement to say that I just found CMS MadeSimple and am very encouraged by what I’ve seen. I played with it at OpensourceCMS and was very pleased with what I found.
    One of the key requirements for me is a page-based structure, and CMSMS has this. Oddly enough, many systems don’t have it and, worse, can’t see why it’s needed. I recently had a forum discussion at Expression Engine where someone commented “You don’t want to go back to that old page-based cms stuff, do you?” I said yes I do!!!…because the ability to link between pages or items in your site is the absolute fundament of the web! It beggars belief that people supporting these so-called ‘powerful’ cms publishing systems have completely lost track of what a lot of people still need to do - link between pages of their site, from menus and from run-of-text.

    Anyway, in short, keep it up. I’ll be downloading CMSMS and getting to work with it. But please, please, please, don’t abandon the familiar page based structure and the ability to link from any point in the content to any other point in the content. It’s the key to the web!

    Best regards,
    HJ

  33. Eric Says:

    Hi,
    I’m very happy with cmsms so far, but there seems to be a problem registering in the forums - so I thought I’d put a message here to that effect. That is, I never get the activation emails. I suppose I could have typed something wrong but I don’t usually do that. :)

    Just wanted to post how much I liked it. :)

  34. FredT Says:

    Hi Ted,

    (yes i’m back…)

    I’ve been very happy with CMSMS so far, started using and abusing it 2 years ago… Now I’m just waiting - with full confidence - for new things !
    BTW, don’t worry you’re late delivering… do it at your rythm, and keep it simple !!!

  35. Jorrit Says:

    I’m a user of CMSMS since version 0.13 and I like it where it is going. There is only one thing that I miss in CMSMS and that is a personal messaging system for use in a intranet, for the rest it is the simplest and workable CMS I’ve ever worked with.

  36. Ella Says:

    Just want to thank you and your team for creating just a wonderful CMS for us!
    CMS Made Simple is my favorite among all the other CMS I’ve used!

  37. Jason Airlie Says:

    CMS Made simple is great software and I am very happy with it.

    One thing I would encourage you to focus on is the updating process. Most users will probably only install CMSMS once, but update (hopefully) many times. There is a Wordpress plugin that automates the entire process of updating Wordpress, making the db and file backups, downloading the newest version, deactivating and reactivating plugins, and sending you to the upgrade process page.

    Taking the fear, tedium, and aggravation out of upgrading makes it more likely that installs stay up to date. I know this next big update may be a doozy and not able to be fully automated, but in general the simpler the process for the site administrator the better.

    Taking a quick look at the upgrading page:
    http://wiki.cmsmadesimple.org/index.php/User_Handbook/Installation/Upgrading

    There are 5 steps to upgrade, all of which could be fairly easily automated. Making a latest.zip available would help, at least then I could write a shell script to do it.

    Too many CMSs forget about the most common type of website, the small site with one admin and a handful of users. I want to manage the content on my site, my focus is not on blogs, forums, polls and such. Those features are nice, but not why I use a CMS. CMS Made Simple fills that niche nicely, while not limiting itself or the user. Thank you for such a terrific product.

  38. Yury V. Zaytsev Says:

    Yep, I’d like to hear about the advancements in multilingual capabilities as well. Drupal already has most of it by that time. Apart from this everything else sound VERY nice and exciting. You’re great coder, Ted!

  39. Mario Says:

    Hi, when we can except final 2.0 CMS version?

  40. Mau Says:

    Hello,
    when we can except the beta 2.0 CMS version?

    Thanks

  41. Philip Andrew Says:

    Will modules from version 1 work in version 2?

  42. Ted Kulp Says:

    @Mau: This summer

    @Phillip: A very confident “maybe”. We’re going to try and make a compatibility layer, as a lot of concepts aren’t changing. But we’re not sure how perfect it’s going to be yet.

Leave a Reply