doc/3.18.rst
author Rémi Cardona <remi.cardona@logilab.fr>
Wed, 12 Feb 2014 17:32:49 +0100
changeset 9534 34d9de030564
parent 9395 96dba2efd16d
permissions -rw-r--r--
[web/data] Ignore disabled widgets in cw.utils.formContents() (closes #3544492) 17.12.1 Disabled controls : http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.12.1 When set, the disabled attribute has the following effects on an element: * Disabled controls do not receive focus. * Disabled controls are skipped in tabbing navigation. * Disabled controls cannot be successful. The third one is the important one. 17.13.2 Successful controls : http://www.w3.org/TR/REC-html40/interact/forms.html#successful-controls A successful control is "valid" for submission. Every successful control has its control name paired with its current value as part of the submitted form data set. Bottom line, disable widgets should not be part of the names and values lists returned by formContents().

What's new in CubicWeb 3.18?
============================

The migration script does not handle sqlite nor mysql instances.


New functionalities
--------------------

* add a security debugging tool
  (see `#2920304 <http://www.cubicweb.org/2920304>`_)

* introduce an `add` permission on attributes, to be interpreted at
  entity creation time only and allow the implementation of complex
  `update` rules that don't block entity creation (before that the
  `update` attribute permission was interpreted at entity creation and
  update time)

* the primary view display controller (uicfg) now has a
  `set_fields_order` method similar to the one available for forms

* new method `ResultSet.one(col=0)` to retrive a single entity and enforce the
  result has only one row (see `#3352314 https://www.cubicweb.org/ticket/3352314`_)

* new method `RequestSessionBase.find` to look for entities
  (see `#3361290 https://www.cubicweb.org/ticket/3361290`_)

* the embedded jQuery copy has been updated to version 1.10.2, and jQuery UI to
  version 1.10.3.

* initial support for wsgi for the debug mode, available through the new
  ``wsgi`` cubicweb-ctl command, which can use either python's builtin
  wsgi server or the werkzeug module if present.

* a ``rql-table`` directive is now available in ReST fields

* cubicweb-ctl upgrade can now generate the static data resource directory
  directly, without a manual call to gen-static-datadir.

API changes
-----------

* not really an API change, but the entity permission checks are now
  systematically deferred to an operation, instead of a) trying in a
  hook and b) if it failed, retrying later in an operation

* The default value storage for attributes is no longer String, but
  Bytes.  This opens the road to storing arbitrary python objects, e.g.
  numpy arrays, and fixes a bug where default values whose truth value
  was False were not properly migrated.

* `symmetric` relations are no more handled by an rql rewrite but are
  now handled with hooks (from the `activeintegrity` category); this
  may have some consequences for applications that do low-level database
  manipulations or at times disable (some) hooks.

* `unique together` constraints (multi-columns unicity constraints)
  get a `name` attribute that maps the CubicWeb contraint entities to
  corresponding backend index.

* BreadCrumbEntityVComponent's open_breadcrumbs method now includes
  the first breadcrumbs separator

* entities can be compared for equality and hashed

* the ``on_fire_transition`` predicate accepts a sequence of possible
  transition names

* the GROUP_CONCAT rql aggregate function no longer repeats duplicate
  values, on the sqlite and postgresql backends

Deprecation
---------------------

* ``pyrorql`` sources have been deprecated. Multisource will be fully dropped
  in the next version. If you are still using pyrorql, switch to ``datafeed``
  **NOW**!

* the old multi-source system

* `find_one_entity` and `find_entities` in favor of `find`
  (see `#3361290 https://www.cubicweb.org/ticket/3361290`_)

* the `TmpFileViewMixin` and `TmpPngView` classes (see `#3400448
  https://www.cubicweb.org/ticket/3400448`_)

Deprecated Code Drops
----------------------

* ``ldapuser`` have been dropped; use ``ldapfeed`` now
  (see `#2936496 <http://www.cubicweb.org/2936496>`_)

* action ``GotRhythm`` was removed, make sure you do not
  import it in your cubes (even to unregister it)
  (see `#3093362 <http://www.cubicweb.org/3093362>`_)

* all 3.8 backward compat is gone

* all 3.9 backward compat (including the javascript side) is gone

* the ``twisted`` (web-only) instance type has been removed