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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to