doc/3.19.rst
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 28 Apr 2014 11:20:26 +0200
changeset 9708 b36bc18f6ef7
parent 9687 00c2356faba7
child 9710 dff4bda87c6a
permissions -rw-r--r--
[migration] move 'entities' table changes from 3.19.0 to bootstrap script The 'mtime' and 'source' columns need to go away before we attempt to do anything else with the repo, otherwise any addition of an entity is going to explode.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
     1
What's new in CubicWeb 3.19?
9015
65b8236e1bb4 [sources] drop support for ldapuser source (closes #2936496)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
============================
65b8236e1bb4 [sources] drop support for ldapuser source (closes #2936496)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     3
9571
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     4
New functionalities
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     5
--------------------
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     6
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     7
* implement Cross Origin Resource Sharing (CORS)
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     8
  (see `#2491768 <http://www.cubicweb.org/2491768>`_)
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
     9
aaf83cc07eed [web] implement cross origin resource sharing (CORS) (closes #2491768)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9568
diff changeset
    10
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    11
Behaviour Changes
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    12
-----------------
9042
6cc13a0a9145 [dbapi] makes anonymous_connection a computed property
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9038
diff changeset
    13
6cc13a0a9145 [dbapi] makes anonymous_connection a computed property
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9038
diff changeset
    14
* The anonymous property of Session and Connection are now computed from the
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    15
  related user login. If it matches the ``anonymous-user`` in the config the
9042
6cc13a0a9145 [dbapi] makes anonymous_connection a computed property
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9038
diff changeset
    16
  connection is anonymous. Beware that the ``anonymous-user`` config is web
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    17
  specific. Therefore, no session may be anonymous in a repository only setup.
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    18
9042
6cc13a0a9145 [dbapi] makes anonymous_connection a computed property
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9038
diff changeset
    19
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    20
New Repository Access API
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    21
-------------------------
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    22
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    23
Connection replaces Session
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    24
~~~~~~~~~~~~~~~~~~~~~~~~~~~
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    25
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    26
A new explicit Connection object replaces Session as the main repository entry
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    27
point. Connection holds all the necessary methods to be used server-side
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    28
(``execute``, ``commit``, ``rollback``, ``call_service``, ``entity_from_eid``,
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    29
etc...). One obtains a new Connection object using ``session.new_cnx()``.
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    30
Connection objects need to have an explicit begin and end. Use them as a context
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    31
manager to never miss an end::
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    32
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    33
    with session.new_cnx() as cnx:
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    34
        self.execute('INSERT Elephant E, E name "Cabar"')
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    35
        self.commit()
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    36
        self.execute('INSERT Elephant E, E name "Celeste"')
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    37
        self.commit()
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    38
    # Once you get out of the "with" clause, the connection is closed.
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    39
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    40
Using the same Connection object in multiple threads will give you access to the
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    41
same Transaction. However, Connection objects are not thread safe (hence at your
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    42
own risks).
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    43
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    44
``repository.internal_session`` is deprecated in favor of
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    45
``repository.internal_cnx``. Note that internal connections are now `safe` by default,
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    46
i.e. the integrity hooks are enabled.
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    47
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    48
Backward compatibility is preserved on Session.
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    49
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
    50
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    51
dbapi vs repoapi
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    52
~~~~~~~~~~~~~~~~
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    53
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    54
A new API has been introduced to replace the dbapi. It is called `repoapi`.
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    55
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    56
There are three relevant functions for now:
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    57
9513
a7e0746f010c [doc/3.19] Clarify repoapi.get_repository usage
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 9486
diff changeset
    58
* ``repoapi.get_repository`` returns a Repository object either from an
a7e0746f010c [doc/3.19] Clarify repoapi.get_repository usage
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 9486
diff changeset
    59
  URI when used as ``repoapi.get_repository(uri)`` or from a config
a7e0746f010c [doc/3.19] Clarify repoapi.get_repository usage
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 9486
diff changeset
    60
  when used as ``repoapi.get_repository(config=config)``.
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    61
9486
9a62c52d167e [doc/3.19] Make repoapi description match code
Julien Cristau <julien.cristau@logilab.fr>
parents: 9405
diff changeset
    62
* ``repoapi.connect(repo, login, **credentials)`` returns a ClientConnection
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    63
  associated with the user identified by the credentials. The
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    64
  ClientConnection is associated with its own Session that is closed
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    65
  when the ClientConnection is closed. A ClientConnection is a
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    66
  Connection-like object to be used client side.
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    67
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    68
* ``repoapi.anonymous_cnx(repo)`` returns a ClientConnection associated
9486
9a62c52d167e [doc/3.19] Make repoapi description match code
Julien Cristau <julien.cristau@logilab.fr>
parents: 9405
diff changeset
    69
  with the anonymous user if described in the config.
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    70
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    71
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    72
repoapi.ClientConnection replace dbapi.Connection and company
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    73
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    74
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    75
On the client/web side, the Request is now using a ``repoapi.ClientConnection``
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    76
instead of a ``dbapi.connection``. The ``ClientConnection`` has multiple backward
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    77
compatible methods to make it look like a ``dbapi.Cursor`` and ``dbapi.Connection``.
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    78
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    79
Session used on the Web side are now the same than the one used Server side.
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    80
Some backward compatibility methods have been installed on the server side Session
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    81
to ease the transition.
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    82
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    83
The authentication stack has been altered to use the ``repoapi`` instead of
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    84
the ``dbapi``. Cubes adding new element to this stack are likely to break.
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    85
9115
fcc732a9d9ac [documentation] describe repoapi and web side change.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9113
diff changeset
    86
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    87
New API in tests
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    88
~~~~~~~~~~~~~~~~
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    89
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    90
All current methods and attributes used to access the repo on ``CubicWebTC`` are
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    91
deprecated. You may now use a ``RepoAccess`` object. A ``RepoAccess`` object is
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    92
linked to a new ``Session`` for a specified user. It is able to create
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    93
``Connection``, ``ClientConnection`` and web side requests linked to this
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    94
session::
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    95
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    96
    access = self.new_access('babar') # create a new RepoAccess for user babar
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    97
    with access.repo_cnx() as cnx:
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
    98
        # some work with server side cnx
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
    99
        cnx.execute(...)
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   100
        cnx.commit()
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   101
        cnx.execute(...)
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   102
        cnx.commit()
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   103
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   104
    with access.client_cnx() as cnx:
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   105
        # some work with client side cnx
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   106
        cnx.execute(...)
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   107
        cnx.commit()
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   108
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   109
    with access.web_request(elephant='babar') as req:
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   110
        # some work with client side cnx
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   111
        elephant_name = req.form['elephant']
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   112
        req.execute(...)
9119
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   113
        req.cnx.commit()
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   114
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   115
By default ``testcase.admin_access`` contains a ``RepoAccess`` object for the
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   116
default admin session.
cc85def2ac57 [doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9115
diff changeset
   117
9113
af6efc15fc90 [repository] add an ``internal_cnx`` method to replace ``internal_session``
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9043
diff changeset
   118
9018
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   119
API changes
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   120
-----------
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   121
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   122
* ``RepositorySessionManager.postlogin`` is now called with two arguments,
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   123
  request and session. And this now happens before the session is linked to the
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   124
  request.
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   125
9032
629a8d49d6f5 [auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9018
diff changeset
   126
* ``SessionManager`` and ``AuthenticationManager`` now take a repo object at
629a8d49d6f5 [auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9018
diff changeset
   127
  initialization time instead of a vreg.
629a8d49d6f5 [auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9018
diff changeset
   128
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   129
* The ``async`` argument of ``_cw.call_service`` has been dropped. All calls are
9033
614bf73cc126 [service] drop the asynchronous execution possibility
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9032
diff changeset
   130
  now  synchronous. The zmq notification bus looks like a good replacement for
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   131
  most async use cases.
9033
614bf73cc126 [service] drop the asynchronous execution possibility
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9032
diff changeset
   132
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   133
* ``repo.stats()`` is now deprecated. The same information is available through
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   134
  a service (``_cw.call_service('repo_stats')``).
9034
cc3442054e48 [repo] move repo stats to Service (closes #2951067)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9033
diff changeset
   135
9405
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   136
* ``repo.gc_stats()`` is now deprecated. The same information is available through
7fc5e13d049f [doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9404
diff changeset
   137
  a service (``_cw.call_service('repo_gc_stats')``).
9035
63f3d25bab14 [repo] move repo.gc_stats to Service API (closes #2951068)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9034
diff changeset
   138
9687
00c2356faba7 [server] Refactor Repository.register_user into a CubicWeb service (closes #3020639)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 9673
diff changeset
   139
* ``repo.register_user()`` is now deprecated.  The functionality is now
00c2356faba7 [server] Refactor Repository.register_user into a CubicWeb service (closes #3020639)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 9673
diff changeset
   140
  available through a service (``_cw.call_service('register_user')``).
00c2356faba7 [server] Refactor Repository.register_user into a CubicWeb service (closes #3020639)
Vladimir Popescu <vladimir.popescu@logilab.fr>
parents: 9673
diff changeset
   141
9038
1b972d81eda4 [request] drop the user argument for set_session
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9035
diff changeset
   142
* ``request.set_session`` no longer takes an optional ``user`` argument.
1b972d81eda4 [request] drop the user argument for set_session
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9035
diff changeset
   143
9043
97c3bb9a7c99 [testlib] move repo and related attribute back on Instance instead of Class
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9042
diff changeset
   144
* CubicwebTC does not have repo and cnx as class attributes anymore. They are
97c3bb9a7c99 [testlib] move repo and related attribute back on Instance instead of Class
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9042
diff changeset
   145
  standard instance attributes. ``set_cnx`` and ``_init_repo`` class methods
97c3bb9a7c99 [testlib] move repo and related attribute back on Instance instead of Class
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9042
diff changeset
   146
  become instance methods.
97c3bb9a7c99 [testlib] move repo and related attribute back on Instance instead of Class
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9042
diff changeset
   147
9123
c992811edec2 [connection] deprecated free_cnset and set_cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9119
diff changeset
   148
* ``set_cnxset`` and ``free_cnxset`` are deprecated. cnxset are now
c992811edec2 [connection] deprecated free_cnset and set_cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9119
diff changeset
   149
  automatically managed.
c992811edec2 [connection] deprecated free_cnset and set_cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9119
diff changeset
   150
9548
be001628edad [schema] fix composite deletion handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9513
diff changeset
   151
* The implementation of cascading deletion when deleting `composite`
be001628edad [schema] fix composite deletion handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9513
diff changeset
   152
  entities has changed. There comes a semantic change: merely deleting
be001628edad [schema] fix composite deletion handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9513
diff changeset
   153
  a composite relation does not entail any more the deletion of the
be001628edad [schema] fix composite deletion handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9513
diff changeset
   154
  component side of the relation.
be001628edad [schema] fix composite deletion handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9513
diff changeset
   155
9568
e8b9a3d23ad9 [web/request] deprecate user_callback
Julien Cristau <julien.cristau@logilab.fr>
parents: 9552
diff changeset
   156
* ``_cw.user_callback`` and ``_cw.user_rql_callback`` are deprecated.  Users
e8b9a3d23ad9 [web/request] deprecate user_callback
Julien Cristau <julien.cristau@logilab.fr>
parents: 9552
diff changeset
   157
  are encouraged to write an actual controller (e.g. using ``ajaxfunc``)
e8b9a3d23ad9 [web/request] deprecate user_callback
Julien Cristau <julien.cristau@logilab.fr>
parents: 9552
diff changeset
   158
  instead of storing a closure in the session data.
e8b9a3d23ad9 [web/request] deprecate user_callback
Julien Cristau <julien.cristau@logilab.fr>
parents: 9552
diff changeset
   159
9018
9deb024a96c0 [session-handler] use session directly to update last usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 9016
diff changeset
   160
9015
65b8236e1bb4 [sources] drop support for ldapuser source (closes #2936496)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   161
Deprecated Code Drops
65b8236e1bb4 [sources] drop support for ldapuser source (closes #2936496)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   162
----------------------
65b8236e1bb4 [sources] drop support for ldapuser source (closes #2936496)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
   163
9016
0368b94921ed Drop hijack user (closes #2901093)
pierre-yves
parents: 9015
diff changeset
   164
* session.hijack_user mechanism has been dropped.
9552
1358f8ef1b5b [web/basecomponents] remove EtypeRestrictionComponent
Julien Cristau <julien.cristau@logilab.fr>
parents: 9548
diff changeset
   165
1358f8ef1b5b [web/basecomponents] remove EtypeRestrictionComponent
Julien Cristau <julien.cristau@logilab.fr>
parents: 9548
diff changeset
   166
* EtypeRestrictionComponent has been removed, its functionality has been
1358f8ef1b5b [web/basecomponents] remove EtypeRestrictionComponent
Julien Cristau <julien.cristau@logilab.fr>
parents: 9548
diff changeset
   167
  replaced by facets a while ago.
1358f8ef1b5b [web/basecomponents] remove EtypeRestrictionComponent
Julien Cristau <julien.cristau@logilab.fr>
parents: 9548
diff changeset
   168
9673
f5e77035f332 [doc] Add removal of old multi-sources to 3.19 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9571
diff changeset
   169
* the old multi-source support has been removed.  Only copy-based sources
f5e77035f332 [doc] Add removal of old multi-sources to 3.19 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9571
diff changeset
   170
  remain, such as datafeed or ldapfeed.
f5e77035f332 [doc] Add removal of old multi-sources to 3.19 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9571
diff changeset
   171