It's been some time since I started thinking about which structure
should be given to the web2py-based CMS.

So far, I came out with some experiments and tons of
"brainstorming-level" documentation of how I thing stuff should be made.

So, here it is some stuff:

Project homepage:
http://w2cms.com/

Source code on GitHub:
https://github.com/rshk/web2cms/

Documentation:
http://w2cms.com/doc/_build/html/

The project status is not even considerable an "alpha", what I did is
more experiment-level, but I started defining a structure as I think it
should be.

A quick overview of planned features:

* Different kind of contents (page, article, ...), referred as "node",
managed by the same code, but with different fields/views/behavior. This
is very similar to drupal content management, for who is familiar with
it.
* User-defined fields associated to content types. Unlike drupal,
configuration should be placed (also?) in configuration files, to keep
"structure" and "content" well separated
* The main layout is composed of different regions, in which some
"blocks", containing either static or dynamic content may be placed.
* Comments and stuff, as components (with ajax loading, etc.)
* Categories/tags/.. managed by assigning "tags" to stuff (not only to
content, possibly to users or other entities). Tags are categorized in
vocabularies that define the tag behavior / limitations, and can be
organized in trees.
* Relationships. A lot of stuff can be defined by defining
"relationships" between entities, such as "parent" for a tree
organization, "like" for a facebook-like liking of things, "vote" with a
'3' value to implement a fivestar content rating, etc.
* Everything is translatable. I see how in other software, such as
Drupal, translation of content can become a pain if it's not directly
supported by the core, so I created a way to handle translations of
pretty much everything with "parallel" ``t9n_*`` tables.
* Per-domain configuration selection. the database connection URI and
other settings may be defined per-domain (autodiscovery? through
environment vars? ...?), in order to manage several websites on one
web2py installation.

Feel free to clone and test the CMS, everything should work out of the
box using SQLite; just keep in mind that there is very few to see at the
moment (content creation, listing and display are the only things
working as I write).

Any feedback / suggestion / proposal is greatly appreciated!

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