[Cubicweb] [ANN] CubicWeb 3.9 released
sylvain.thenault at logilab.fr
Mon Jul 12 17:29:40 CEST 2010
CubicWeb 3.9.0 went out last week. We now have tested it in production and
fixed the remaining bugs, which means it is now show time!
What's new in CubicWeb 3.9?
The 3.9 release development was started by a one week long sprint at the
beginning of May. The two goals were first to make it easier to customize the look and
library. This led to the following major changes.
* We introduced property sheets, which replace former external_resources
file, as well as define some constants that will be used to 'compile' cubicweb
and cubes' stylesheets.
* We started a new, clean cubicweb.css stylesheet, that tries to keep up with
the rhythm_. This is still a work in progress, and by default the old css is
still used, unless specified otherwise in the configuration file.
* We set the bases for web functional testing using windmill_. See test cases
in `cubicweb/web/test/windmill/` and python wrapper in
`cubicweb/web/test_windmill/` if you want to use this in your own cube.
`cubicweb/web/test/jstests/` and python wrapper in
`cubicweb/web/test_jscript/` if you want to use this in your own cube.
namespace, the ajax api is now much simpler thanks to more generic and
powerful functions. As usual backward compatibility was kept, which means
that your existing code will still run, but you will see tons of deprecation
warnings in the `firebug`_ console.
But that's not all! There are yet two major changes in 3.9.
Architectural change: adapters
The first major change is the introduction of `adapters`_, also found in the
`Zope Component Architecture`_ and documented in the `GoF book`_. This will
allow for better application design and easier code reuse. You
can see several usage in the framework, for instance the "ITree" adapter in
`cubicweb.entities.adapters`, the "IBreadCrumbs" adapter in
`cubicweb.web.views.ibreadcrumbs`, or still the "ICalendarable" adapter in
Important full search improvement
The second major change will benefit directly to end users: we worked with our
friends from SecondWeb_ to expose the ranking feature found in `postgres
full-text search`_. This clearly improves the user experience when doing
full-text searches. Ranking may be finely tuned by setting different weights
to entity types, entity types attributes, or even be dynamically computed
per entity instance. Of course, all this is done in an adapter, see
`IFTIndexableAdapter` in `cubicweb/entities/adapters.py`.
Other minor changes include:
* support for wildcard text search for application using postgres >= 8.4 as
backend. Try searching for 'cub*' on cubicweb.org for instance.
* inline edition of composite relation
* nicer, clickable, schema image of the data model
* enhanced support for the SQLserver database
.. _rhythm: http://lamb.cc/typograph/
.. _windmill: http://www.getwindmill.com/
.. _qunit: http://docs.jquery.com/QUnit
.. _firebug: https://addons.mozilla.org/fr/firefox/addon/1843/
.. _ReST: http://docutils.sourceforge.net/docs/user/rst/quickstart.html
.. _sphinx: http://sphinx.pocoo.org/
.. _`Zope Component Architecture`: http://wiki.zope.org/zope3/ComponentArchitectureOverview
.. _SecondWeb: http://www.secondweb.fr/
.. _`postgres full-text search`: http://www.postgresql.org/docs/8.4/static/textsearch.html
.. _`adapters`: http://en.wikipedia.org/wiki/Adapter_pattern
.. _`GoF book`: http://en.wikipedia.org/wiki/Design_Patterns
Sylvain Thénault LOGILAB, Paris (France)
Formations Python, Debian, Méth. Agiles: http://www.logilab.fr/formations
Développement logiciel sur mesure: http://www.logilab.fr/services
CubicWeb, the semantic web framework: http://www.cubicweb.org
More information about the Cubicweb