doc/changes/3.25.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Wed, 29 Mar 2017 11:45:19 +0200
branch3.25
changeset 12112 0a54f49314f6
parent 12083 af5e5137d6a8
child 12114 40446d4e1ee2
permissions -rw-r--r--
[server] Introduce an `has_scheduler` method on Repository This is to be used by client application to determine if looping tasks may be registered in the current process. By checking this, one will avoid the warning in looping_task method when the repository has no scheduler.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11951
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     1
3.25 (UNRELEASED)
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     2
=================
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     3
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     4
New features
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     5
------------
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     6
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     7
* A new option `connections-pooler-enabled` (default yes) has been added. This
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     8
  allow to switch off internal connection pooling for use with others poolers
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     9
  such as pgbouncer_.
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    10
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    11
.. _pgbouncer: https://pgbouncer.github.io/
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    12
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    13
* In `deleteconf` view (confirmation before deletion), the list of first-level
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    14
  composite objects that would be deleted along with the primary entity is
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    15
  displayed (01eeea97e549).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    16
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    17
* The ``cubicweb.pyramid`` module now provides a Paste application factory
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    18
  registered as an entry point named ``pyramid_main`` and that can be used to
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    19
  run a Pyramid WSGI application bound to a CubicWeb repository.
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    20
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    21
* A new configuration type ``pyramid`` has been added to create CubicWeb's
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    22
  instances (through ``cubicweb-ctl create -c pyramid <basecube> <appid>``).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    23
  This configuration bootstraps a CubicWeb instance that is essentially a
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    24
  repository plus the minimal setup to run a Pyramid WSGI application on top
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    25
  of it. Noticeably, it does not ship all *web* configuration but rather
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    26
  relies on configuration declared in a ``development.ini`` file for any
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    27
  Pyramid application.
11963
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    28
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    29
* A new way to declare workflows as simple data structure (dict/list) has been
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    30
  introduced. Respective utility functions live in ``cubicweb.wfutils``
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    31
  module. This handles both the creation and migration of workflows.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    32
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    33
* A new IDublinCore adapter has been introduced to control the generation of
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    34
  Dublin Core metadata that are used in several base views.
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    35
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    36
* It is now possible to *derive* rtags using their ``derive`` method
12083
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    37
  (0849a5eb57b8). Derived rtags keep a reference to the original rtag and only
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    38
  hold custom rules, allowing changes which are done in the original rtag after
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    39
  derivation to be still considered.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    40
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    41
* A new ``cubicweb-ctl scheduler <appid>`` command has been introduced to run
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    42
  background and periodic tasks of the repository (previously called *looping
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    43
  tasks*). In a production environment, a process with this command should be
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    44
  run alongside with a WSGI server process (possibly running multiple
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    45
  processes itself).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    46
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    47
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    48
Backwards incompatible changes
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    49
------------------------------
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    50
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    51
* As a consequence of the replacement of the old looping tasks manager by a
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    52
  scheduler, all cubicweb-ctl's "start" commands (i.e. ``start``, ``pyramid``,
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    53
  ``wsgi``) do not start repository *looping tasks manager* anymore, nor do
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    54
  they start the scheduler. Site administrators are thus expected to start
12112
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    55
  this scheduler as a separate process. Also, registering looping tasks (i.e.
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    56
  calling ``repo.looping_tasks()``) is a no-op when the repository has no
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    57
  scheduler set; a warning is issued in such cases. Application developers may
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    58
  rely on repository's ``has_scheduler`` method to determine if they should
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    59
  register a looping task or not.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    60
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    61
* In ``cubicweb.pyramid``, function ``make_cubicweb_application`` got renamed
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    62
  into ``config_from_cwconfig`` (950ce7d9f642).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    63
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    64
* Several cleanups in repository's session management have been conducted
12083
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    65
  resulting from changes introduced in 3.19 release. Among others, the
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    66
  ``cubicweb.server.session.Session`` class has been dropped, and request
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    67
  ``session`` attribute is now tight to a web session whose implementation
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    68
  depends on the front-end used (twisted or pyramid). Hence this attribute
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    69
  should not be accessed from "repository side" code (e.g. hooks or operations)
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    70
  and has lost some of his former attributes like its ``repo`` attribute
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    71
  referencing the repository instance.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    72
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    73
* Support for 'https-url' configuration option has been removed
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    74
  (4516c3956d46).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    75
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    76
* The `next_tabindex` method of request class has been removed (011730a4af73).