I have quite large experience with Drupal, which I used since 2006 tu build pretty much everything web-related, from websites to applications, often using it more as a framework than a CMS. That project is great, but IMHO it has some drawbacks. The first that comes to mind:
* Not-so-elegant code, derived from the fact that's php-based * Structure and data too much mixed up, due to the will to make everything configurable from the admin panel. * Excessive setup time. Many times 3rd-part modules (sometimes even needed to add missing important features to the core) tend to conflict or miss something -> many times there is need to develop a custom site-specific module in order to simplify things. * Lack of enterpriseness in 3rd-part modules: they are not "verified" that much, and sometimes bad things happen, even with stuff that used to work and must have continued to do so. So, I recently started doing some experiments to see "how hard would it be" to rewrite Drupal web2py-based and with some improvements. At the moment, I have a simple app that, along with garbage/experiments/stuff does pretty much this: * CRUD for different content-types (each content type may be treated in different ways / define extra fields / ..; some examples may be "article", "page", "ecommerce product", ...). * Commenting. It is handled in a component-like way, although I haven't written a proper component yet, I'm using a similar way to attach comments + comment form to "entities", that might be not only "content". * Regions + blocks. In a way similar to what Drupal does, the layout.html defines some regions (sidebars, footer, before/after content, before/after page, ...) in which some "blocks" may be placed, then blocks are shown independently from the controller (and only in the html views, since they wouldn't make much sense, for example, in a json or xml representation). * Configuration stored in INI files (and maybe in database too, I have to decide that). * Some rudimental support (I still have to decide what's the best way to do that) to user-defined (in the configuration) "views": a mix of database query + templates to create custom visualizations of content. I'm going to release all the code as soon as I finish adding access control, so that I can also install a demo site somewhere (shouldn't take long, it should only be matter of adding a few decorators..). I think we should also start organizing the development of the CMS application: - who's up for development? - who's up for testing? - who's up for documentation? (developers should! documentation is awesome! I already wrote more documentation than code for this CMS!) - should we setup a project page / wiki / bugtracker / ..? I think that it would be a good idea to have at least a wiki, for the moment, on which to write all the ideas / misc brainstorming, in order to discuss about the important decisions that should be taken before starting the actual development. - should we create another mailing-list just for the cms thing, in order to keep separate the discussions? - Do you guys use IRC? I see a #web2py channel on freenode but, although there is always some people in it, I never saw pretty much anybody speaking in there.. -- Samuele ~redShadow~ Santi ---------------------------------------------------------------- redshadow[at]hackzine.org - redshadowhack[at]gmail.com Blog: http://hackzine.org GPG Key signature: 050D 3E9F 6E0B 44CE C008 D1FC 166C 3C7E EB26 4933 ---------------------------------------------------------------- /me recommends: Squadra Informatica - http://www.squadrainformatica.com ---------------------------------------------------------------- - Proud ThinkPad T-Series owner - Registered Linux-User: #440008 * GENTOO User since 1199142000 (2008-01-01) * former DEBIAN SID user ---------------------------------------------------------------- "Software is like sex: it's better when it's free!" -- Linus Torvalds
signature.asc
Description: This is a digitally signed message part