=================
CubicWeb features
=================
This page summarizes features found in the bare cubicweb framework and indicates
how mature and documented they are.
:code maturity (CM):
- 0: experimental, not ready at all for production, may be killed
- 1: draft / unsatisfying, API may change in a near future, and will
certainly change in the long term
- 2: good enough, API sounds good but will probably evolve a bit with more
hindsight
- 3: mature, backward incompatible changes unexpected (may still evolve
though, of course)
:documentation level (DL):
- 0: no documentation
- 1: poor documentation
- 2: some valuable documentation but incomplete coverage
- 3: good / complete documentation
Instance configuration and maintainance
=======================================
.. table::
+-------------------------------------------------------------------+----+----+
| FEATURE | CM | DL |
+===============+===================================================+====+====+
| setup | installation | 2 | 3 |
| +---------------------------------------------------+----+----+
| | environment variables | 3 | 2 |
| +---------------------------------------------------+----+----+
| | running modes | 2 | 2 |
| +---------------------------------------------------+----+----+
| | administration tasks | 2 | 2 |
| +---------------------------------------------------+----+----+
| | configuration file | 2 | 1 |
+---------------+---------------------------------------------------+----+----+
| configuration | user / groups handling | 3 | 1 |
| +---------------------------------------------------+----+----+
| | site configuration | 3 | 1 |
| +---------------------------------------------------+----+----+
| | distributed configuration | 2 | 1 |
+---------------+---------------------------------------------------+----+----+
| multi-sources | capabilities | NA | 0 |
| +---------------------------------------------------+----+----+
| | configuration | 2 | 0 |
| +---------------------------------------------------+----+----+
| | ldap integration | 2 | 1 |
+---------------+---------------------------------------------------+----+----+
| usage | custom ReST markup | 2 | 0 |
| +---------------------------------------------------+----+----+
| | personal preferences | 2 | 1 |
+---------------+---------------------------------------------------+----+----+
Core development
================
.. table::
+--------------------------------------------------------------------+----+----+
| FEATURE | CM | DL |
+===========+========================================================+====+====+
| base | concepts | NA | 3 |
| +--------------------------------------------------------+----+----+
| | security model | NA | 2 |
| +--------------------------------------------------------+----+----+
| | database initialization | 2 | 1 |
+-----------+--------------------------------------------------------+----+----+
| rql | base | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | write | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | function | 2 | 0 |
| +--------------------------------------------------------+----+----+
| | outer joins | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | aggregates | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | subqueries | 2 | 0 |
+-----------+--------------------------------------------------------+----+----+
| schema | base | 2 | 3 |
| +--------------------------------------------------------+----+----+
| | constraints | 3 | 2 |
| +--------------------------------------------------------+----+----+
| | security | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | inheritance | 1 | 1 |
| +--------------------------------------------------------+----+----+
| | customization | 1 | 1 |
| +--------------------------------------------------------+----+----+
| | introspection | 2 | 1 |
+-----------+--------------------------------------------------------+----+----+
| vregistry | appobject | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | registration | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | selection | 3 | 2 |
| +--------------------------------------------------------+----+----+
| | core selectors | 3 | 3 |
| +--------------------------------------------------------+----+----+
| | custom selectors | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | debugging selection | 2 | 1 |
+-----------+--------------------------------------------------------+----+----+
| entities | interfaces | 2 | ? |
| +--------------------------------------------------------+----+----+
| | customization (`dc_`, ...) | 2 | ? |
| +--------------------------------------------------------+----+----+
| | app logic | 2 | 2 |
| +--------------------------------------------------------+----+----+
| | orm configuration | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | pluggable mixins | 1 | 0 |
| +--------------------------------------------------------+----+----+
| | workflow | 3 | 2 |
+-----------+--------------------------------------------------------+----+----+
| dbapi | connection | 3 | 1 |
| +--------------------------------------------------------+----+----+
| | data management | 1 | 1 |
| +--------------------------------------------------------+----+----+
| | result set | 3 | 1 |
| +--------------------------------------------------------+----+----+
| | transaction, undo | 2 | 0 |
+-----------+--------------------------------------------------------+----+----+
| cube | layout | 2 | 3 |
| +--------------------------------------------------------+----+----+
| | new cube | 2 | 2 |
+-----------+--------------------------------------------------------+----+----+
| migration | context | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | commands | 2 | 2 |
+-----------+--------------------------------------------------------+----+----+
| testlib | CubicWebTC | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | automatic tests | 2 | 2 |
+-----------+--------------------------------------------------------+----+----+
| i18n | mark string | 3 | 2 |
| +--------------------------------------------------------+----+----+
| | customize strings from other cubes / cubicweb | 3 | 1 |
| +--------------------------------------------------------+----+----+
| | update catalog | 3 | 2 |
+-----------+--------------------------------------------------------+----+----+
| more | reloading tips | NA | 0 |
| +--------------------------------------------------------+----+----+
| | site_cubicweb | 2 | ? |
| +--------------------------------------------------------+----+----+
| | adding options in configuration file | 3 | 0 |
| +--------------------------------------------------------+----+----+
| | adding options in site configuration / preferences | 3 | ? |
| +--------------------------------------------------------+----+----+
| | optimizing / profiling | 2 | 1 |
| +--------------------------------------------------------+----+----+
| | c-c plugins | 3 | 0 |
| +--------------------------------------------------------+----+----+
| | crypto services | 0 | 0 |
| +--------------------------------------------------------+----+----+
| | massive import | 2 | 0 |
| +--------------------------------------------------------+----+----+
| | mime type based conversion | 2 | 0 |
| +--------------------------------------------------------+----+----+
+-----------+--------------------------------------------------------+----+----+
Web UI development
==================
.. table::
+--------------------------------------------------------------------+----+----+
| FEATURE | CM | DL |
+============+=======================================================+====+====+
| base | web request | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | exceptions | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | session, authentication | 1 | 0 |
| +-------------------------------------------------------+----+----+
| | http caching | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | external resources | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | static files | 2 | ? |
| +-------------------------------------------------------+----+----+
| | data sharing | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | graphical chart customization | 1 | 1 |
+------------+-------------------------------------------------------+----+----+
| publishing | cycle | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | error handling | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | transactions | NA | ? |
+------------+-------------------------------------------------------+----+----+
| controller | base | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | view | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | edit | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | json | 2 | 1 |
+------------+-------------------------------------------------------+----+----+
| views | base | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | templates | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | boxes | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | components | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | primary | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | tabs | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | xml | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | text | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | table | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | plot | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | navigation | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | calendar, timeline | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | index | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | breadcrumbs | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | actions | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | debugging | 2 | 1 |
+------------+-------------------------------------------------------+----+----+
| form | base | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | fields | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | widgets | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | captcha | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | renderers | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | validation error handling | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | autoform | 2 | 2 |
| +-------------------------------------------------------+----+----+
| | reledit | 2 | 0 |
+------------+-------------------------------------------------------+----+----+
| facets | base | 2 | ? |
| +-------------------------------------------------------+----+----+
| | configuration | 2 | 1 |
| +-------------------------------------------------------+----+----+
| | custom facets | 2 | 0 |
+------------+-------------------------------------------------------+----+----+
| css | base | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | customization | 1 | 1 |
+------------+-------------------------------------------------------+----+----+
| js | base | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | jquery | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | base functions | 1 | 0 |
| +-------------------------------------------------------+----+----+
| | widgets | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | ajax | 1 | 0 |
| +-------------------------------------------------------+----+----+
| | widgets | 1 | 1 |
+------------+-------------------------------------------------------+----+----+
| other | page template | 0 | 0 |
| +-------------------------------------------------------+----+----+
| | inline doc (wdoc) | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | magic search | 2 | 0 |
| +-------------------------------------------------------+----+----+
| | url mapping | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | apache style url rewrite | 1 | 1 |
| +-------------------------------------------------------+----+----+
| | sparql | 1 | 0 |
| +-------------------------------------------------------+----+----+
| | bookmarks | 2 | 1 |
+------------+-------------------------------------------------------+----+----+
Repository development
======================
.. table::
+--------------------------------------------------------------------+----+----+
| FEATURE | CM | DL |
+==============+=====================================================+====+====+
| base | session | 2 | 2 |
| +-----------------------------------------------------+----+----+
| | more security control | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | debugging | 2 | 0 |
+--------------+-----------------------------------------------------+----+----+
| hooks | development | 2 | 2 |
| +-----------------------------------------------------+----+----+
| | abstract hooks | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | core hooks | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | control | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | operation | 2 | 2 |
+--------------+-----------------------------------------------------+----+----+
| notification | sending email | 2 | ? |
| +-----------------------------------------------------+----+----+
| | base views | 1 | ? |
| +-----------------------------------------------------+----+----+
| | supervisions | 1 | 0 |
+--------------+-----------------------------------------------------+----+----+
| source | storages | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | authentication plugins | 2 | 0 |
| +-----------------------------------------------------+----+----+
| | custom sources | 2 | 0 |
+--------------+-----------------------------------------------------+----+----+