On Thu, 2011-11-24 at 20:05 +0100, Gour wrote: 
> On Thu, 24 Nov 2011 19:34:52 +0100
> ~redShadow~ <redsha...@hackzine.org> wrote:
> 
> > * 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.
> 
> I'm not familiar with Drupal, but very much like Concrete5
> (concrete5.org) where it is extremely easy to convert HTML/CSS/JS theme
> into Concrete5 one. Moreover, different page types just define areas on
> the page where user can then freely put different type of content via
> blocks.

For "page types", you mean "the equivalent of layout.html"?
That's exactly what drupal does and I'm doing here; plus I think that
"columns population" is more view-specific than controller-specific; for
example the same controller would return the same bare list of posts
either for the "last posts" html view and the "rss feed" view, but the
html one will also populate sidebars with blocks, footer with copyright
message, etc.

> > * 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.
> 
> Blog, comments, categories and tags are e.g. in Concrete5 realized via
> add-ons or different 'Blog plugins' and does not belong to the core.

The idea is to have the core (but possibly also 'extension modules')
define several "entities" that can be used to design the whole
structure. So many stuff will probably go into "core modules", just to
let them be eventually "unplugged" and/or replaced by contributed ones.
But since this is the most relevant part, I'm working on this :)

> > * 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.
> 
> Concrete5 uses gettext, *.po/mo files and every translatable function is
> prefixed with t().

Yep. I think that one big error here is to mix up t()-ranslatable
strings with multi-language content.

The scope of the ``t()`` function (that exists in Drupal too, using *.po
files, imported into database for performance; also called ``T()`` in
web2py) is to translate *short* strings, mostly hard-coded, and used in
the interface.

For the actual *contents* (pages, etc.) it's important that translations
are kept separated (as possibly the translation source can be updated
after translation, etc.), but, for example, the Drupal core doesn't
handle this directly, so contributed modules implementing this have to
hack it into core logic, but this won't always work smoothly as
expected. 

> Finally, Concrete5 is CMS written on top of MVS framework which enables
> developers to easily develop different add-on like blogs, news,
> ecommerce modules etc., so I believe that web2py CMS should take
> advantage of its framework and provide API for developers so that it can
> be easily enhanced.

Drupal is not *based on* a framework, it *is* a framework + some core
modules defining the basic cms behavior + contributed modules extending
functionality.

I'm working on the "add-ons"/"modules" management thing too; maybe I
recently figured out the best way to handle this, but I'm not already
sure it is the right way to do that, so, more info about it is coming
soon.

> Please, take a look at Concrete5.

I'll have a look at it for knowledge, although for what I understood, it
isn't very distant from Drupal and what is my idea of CMS.

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