doc/dev/features_list.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Fri, 22 Mar 2019 17:29:15 +0100
changeset 12539 10159a3d1d72
parent 10892 f0bb16be11d0
permissions -rw-r--r--
Drop deprecated CWCache entity type

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