[Cubicweb] Putting cubes on a Pyramid (was: Understanding _cw)

Nicolas Chauvat nicolas.chauvat at logilab.fr
Fri May 16 23:49:46 CEST 2014


On Fri, May 16, 2014 at 09:46:07PM +0200, Christophe de Vienne wrote:
> The general path I foresee is something like that :
> 1. Basic integration:
> [...]

Thank you for championing this.

Your work on this is welcome and could very well be the first
step of a long journey towards CubicWeb becoming mainstream.

Just for the record, here are a couple things about the history and
goals of CubicWeb.

I presented at EuroPython 2009 a demo of a Turbogears application
using the CubicWeb repository and displaying results of rql queries:

CubicWeb was started back in 2002[1] when we were getting fed up with
Zope and it has roots in code written in 1999. Things were different
back then and we wrote a lot of code ourselves because there was no
library to do it for us.

Obviously, some parts are now rotten or showing their age since we
have had a very difficult time doing the work of comparing and
merging/replacing some parts with the new python libraries that became
popular and stable (WSGI, Pyramid et al, WebOb, SQLAlchemy, <insertyours>).

Although some parts of the core can and should be replaced, I would
very much like the original design goals to be kept.

CubicWeb is about reusing and assembling components. I do not know of
other frameworks/libraries that allow to plug together components
(schema+logic+UI), then add relations to glue entities at the schema
level and use a registry system to override just the parts that need
to behave differently.

CubicWeb is about using RQL. I do not know of other
frameworks/libraries that allow to use the vocabulary of the schema
definition to manipulate the data without having to think about the
underlying storage.

CubicWeb is about setting permissions at the schema level, not in
views. This allows the user to explore data their own way, since they
can write their query in the UI (type in the search bar or click to
build it step by step) but two users will get different results for
the same query depending on their access rights.

CubicWeb is about separating selection and views. The clear divide
between rql and vid makes it easy to present a resultset in different
ways. The adaptor system makes it easy to reuse views when plugging
components together.

I will try to keep it short and stop here. 

Hope this helps,

[1] IIRC, RQL design started on the train to Bruxelles when Sylvain and
I were going to a meeting for a european project named ASWAD, which
goal was to prove that free software groupware was good for public
administrations. See ftp://ftp.cordis.europa.eu/pub/ist/docs/ka4/aswad.pdf for details and
mentions of Zope and Narval.

Nicolas Chauvat

logilab.fr - services en informatique scientifique et gestion de connaissances  

More information about the Cubicweb mailing list