doc/changes/3.15.rst
author Guillaume Vandevelde <gvandevelde@logilab.fr>
Thu, 13 Feb 2020 13:56:12 +0100
branch3.26
changeset 12876 fe9bd0e937e4
parent 10504 3755cd64fff8
permissions -rw-r--r--
[pkg] version 3.26.15
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10502
bdcd35e575fd [doc] reformat changes files headers
David Douard <david.douard@logilab.fr>
parents: 10491
diff changeset
     1
3.15 (12/04/2012)
bdcd35e575fd [doc] reformat changes files headers
David Douard <david.douard@logilab.fr>
parents: 10491
diff changeset
     2
=================
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     3
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
     4
New functionnalities
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
     5
--------------------
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
     6
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
     7
* Add Zmq server, based on the cutting edge ZMQ (http://www.zeromq.org/) socket
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
     8
  library.  This allows to access distant instance, in a similar way as Pyro.
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
     9
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    10
* Publish/subscribe mechanism using ZMQ for communication among cubicweb
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    11
  instances.  The new zmq-address-sub and zmq-address-pub configuration variables
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    12
  define where this communication occurs.  As of this release this mechanism is
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    13
  used for entity cache invalidation.
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    14
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    15
* Improved WSGI support. While there is still some caveats, most of the code
9390
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 8401
diff changeset
    16
  which was twisted only is now generic and allows related functionalities to work
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    17
  with a WSGI front-end.
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    18
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    19
* Full undo/transaction support : undo of modification has eventually been
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    20
  implemented, and the configuration simplified (basically you activate it or not
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    21
  on an instance basis).
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    22
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    23
* Controlling HTTP status code used is not much more easier :
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    24
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    25
  - `WebRequest` now has a `status_out` attribut to control the response status ;
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    26
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    27
  - most web-side exceptions take an optional ``status`` argument.
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    28
10504
3755cd64fff8 [doc] small rst fixes and cleanups in changelog files
David Douard <david.douard@logilab.fr>
parents: 10502
diff changeset
    29
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    30
API changes
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    31
-----------
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    32
8190
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    33
* The base registry implementation has been moved to a new
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    34
  `logilab.common.registry` module (see #1916014). This includes code from :
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    35
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    36
  * `cubicweb.vreg` (the whole things that was in there)
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    37
  * `cw.appobject` (base selectors and all).
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    38
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    39
  In the process, some renaming was done:
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    40
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    41
  * the top level registry is now `RegistryStore` (was `VRegistry`), but that
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    42
    should not impact cubicweb client code ;
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    43
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    44
  * former selectors functions are now known as "predicate", though you still use
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    45
    predicates to build an object'selector ;
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    46
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    47
  * for consistency, the `objectify_selector` decoraror has hence be renamed to
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    48
    `objectify_predicate` ;
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    49
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    50
  * on the CubicWeb side, the `selectors` module has been renamed to
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    51
    `predicates`.
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    52
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    53
  Debugging refactoring dropped the more need for the `lltrace` decorator.  There
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    54
  should be full backward compat with proper deprecation warnings.  Notice the
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    55
  `yes` predicate and `objectify_predicate` decorator, as well as the
8190
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    56
  `traced_selection` function should now be imported from the
2a3c1b787688 [vreg] move base registry implementation to logilab.common. Closes #1916014
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8188
diff changeset
    57
  `logilab.common.registry` module.
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    58
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    59
* All login forms are now submitted to <app_root>/login. Redirection to requested
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    60
  page is now handled by the login controller (it was previously handle by the
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    61
  session manager).
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    62
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    63
* `Publisher.publish` has been renamed to `Publisher.handle_request`. This
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    64
  method now contains generic version of logic previously handled by
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    65
  Twisted. `Controller.publish` is **not** affected.
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    66
10504
3755cd64fff8 [doc] small rst fixes and cleanups in changelog files
David Douard <david.douard@logilab.fr>
parents: 10502
diff changeset
    67
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    68
Unintrusive API changes
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    69
-----------------------
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    70
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    71
* New 'ldapfeed' source type, designed to replace 'ldapuser' source with
8188
1867e252e487 [repository] ldap-feed source. Closes #2086984
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8158
diff changeset
    72
  data-feed (i.e. copy based) source ideas.
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    73
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    74
* New 'zmqrql' source type, similar to 'pyrorql' but using ømq instead of Pyro.
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    75
8401
a9efb25337da small doc updates
Florent Cayré <florent.cayre@logilab.fr>
parents: 8368
diff changeset
    76
* A new registry called `services` has appeared, where you can register
8368
062c9c7fe502 [doc] 3.15 services api description
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8364
diff changeset
    77
  server-side `cubicweb.server.Service` child classes. Their `call` method can be
062c9c7fe502 [doc] 3.15 services api description
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8364
diff changeset
    78
  invoked from a web-side AppObject instance using new `self._cw.call_service`
062c9c7fe502 [doc] 3.15 services api description
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8364
diff changeset
    79
  method or a server-side one using `self.session.call_service`. This is a new
062c9c7fe502 [doc] 3.15 services api description
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8364
diff changeset
    80
  way to call server-side methods, much cleaner than monkey patching the
062c9c7fe502 [doc] 3.15 services api description
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8364
diff changeset
    81
  Repository class, which becomes a deprecated way to perform similar tasks.
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    82
8401
a9efb25337da small doc updates
Florent Cayré <florent.cayre@logilab.fr>
parents: 8368
diff changeset
    83
* a new `ajax-func` registry now hosts all remote functions (i.e. functions
8364
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    84
  callable through the `asyncRemoteExec` JS api). A convenience `ajaxfunc`
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    85
  decorator will let you expose your python function easily without all the
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    86
  appobject standard boilerplate. Backward compatibility is preserved.
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    87
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    88
* the 'json' controller is now deprecated in favor of the 'ajax' one.
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    89
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    90
* `WebRequest.build_url` can now take a __secure__ argument. When True cubicweb
b360112424d2 [doc] improved 3.15 blog using developpers'contributions
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8363
diff changeset
    91
  try to generate an https url.
8158
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    92
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    93
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    94
User interface changes
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    95
----------------------
2ee254e74382 [schema] restrictive email address read permission. Closes #2148141
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    96
8362
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    97
A new 'undohistory' view expose the undoable transactions and give access to undo
4ac28926cd15 [doc] improve 3.15 release blog
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 8190
diff changeset
    98
some of them.