doc/changes/3.24.rst
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 12 Apr 2017 15:49:05 +0200
branch3.25
changeset 12148 79160d54662e
parent 11844 8fb3ab72d7a9
permissions -rw-r--r--
[sources] Simplify source's init method Only call it when enabled instead of giving a boolean flag indicating whether it is or not (which were not correctly considered).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11844
8fb3ab72d7a9 [doc] Add 3.24 release date and reference in index pages
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11809
diff changeset
     1
3.24 (2 November 2016)
8fb3ab72d7a9 [doc] Add 3.24 release date and reference in index pages
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11809
diff changeset
     2
======================
11688
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     3
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     4
New features
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     5
------------
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     6
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     7
* Various bits of a CubicWeb application configuration can be now be
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     8
  overridden through environments variables matching configuration option
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
     9
  names prefixed by ``CW_`` (for instance ``CW_BASE_URL``).
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    10
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    11
* Cubes are now standard Python packages named as ``cubicweb_<cubename>``.
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    12
  They are not anymore installed in ``<prefix>/share/cubicweb/cubes``. Their
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    13
  discovery by CubicWeb is handled by a new setuptools entry point
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    14
  ``cubicweb.cubes``. A backward compatibility layer is kept for "legacy"
2fdcaf86716e [doc] Start filling changes/3.24.rst with recent changes
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
diff changeset
    15
  cubes.
11806
5fdc92be3ba7 [doc] Add some words in changelog about pyramid support in core + fix its title
Florent Cayré <florent.cayre@gmail.com>
parents: 11688
diff changeset
    16
5fdc92be3ba7 [doc] Add some words in changelog about pyramid support in core + fix its title
Florent Cayré <florent.cayre@gmail.com>
parents: 11688
diff changeset
    17
* Pyramid support made it into CubicWeb core. Applications that use it
5fdc92be3ba7 [doc] Add some words in changelog about pyramid support in core + fix its title
Florent Cayré <florent.cayre@gmail.com>
parents: 11688
diff changeset
    18
  should now declare the `cubicweb[pyramid]` dependency instead of
5fdc92be3ba7 [doc] Add some words in changelog about pyramid support in core + fix its title
Florent Cayré <florent.cayre@gmail.com>
parents: 11688
diff changeset
    19
  `cubicweb-pyramid`.
11809
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    20
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    21
* New `NullStore` class in ``cubicweb.dataimport.stores`` as new base class for
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    22
  every store, and allowing to test your dataimport chain without actually
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    23
  importing anything.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    24
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    25
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    26
Major changes
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    27
-------------
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    28
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    29
There has been several important changes to the core internals of CubicWeb:
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    30
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    31
* Dropped `asource` and `extid` columns from the `entities` table as well as the
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    32
  index on the `type` column, for a sensible optimization on both massive data
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    33
  insertion and database size / index rebuilding.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    34
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    35
* Dropped the `moved_entities` table and related mecanism to remember that an
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    36
  entity has been moved from a source to the system database - this is now the
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    37
  responsability of source's parser to detect this (usually by remembering its
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    38
  original external id as `cwuri`).
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    39
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    40
* Dropped the original 'give me an eid for this extid, but call me back on
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    41
  another line if it has to be created' mecanism on which the ``cwxmlparser`` was
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    42
  relying, in favor of parsers using the dataimport API. This includes dropping
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    43
  the ``cwxmlparser``. If you're using it, you'll have to write a specific
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    44
  parser, examples to come.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    45
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    46
* Dropped source mapping handling (schema, views, logic) with its client
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    47
  the ``cwxmlparser``. This is not worth the burden, specific parsers should be
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    48
  preferred.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    49
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    50
The above changes lead to the following API changes:
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    51
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    52
* `req.entity_metas(eid)` doesn't return anymore a 'type' nor 'source' keys, use
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    53
  `req.entity_type(eid)` instead or 'cw_source' relation to get those
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    54
  information,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    55
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    56
* deprecated `entity.cw_metainformation()`, which doesn't return anymore it's
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    57
  'source' key,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    58
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    59
* dropped `repository.type_and_source_from_eid(eid, cnx)`,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    60
  `repository.extid2eid(...)` and `source.eid_type_source(cnx, eid)`,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    61
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    62
* dropped `source.support_entity(etype)` and `source.support_relation(rtype)`,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    63
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    64
* dropped 'cw_source' key from default JSON representation of an entity,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    65
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    66
* dropped `source_uris()` and `handle_deletion(...)` method from datafeed parser
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    67
  base class, deletion of entities is now the responsability of specific
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    68
  implementation (see ``ldapparser`` for example),
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    69
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    70
* entities from external source are always displayed in the UI with a link
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    71
  to the local entity, not the original one simplifying `entity.absolute_url()`
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    72
  implementation and allowing to drop `use_ext_eid` argument of
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    73
  `entity.rest_path()` (though it's still supported for backward compat).
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    74
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    75
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    76
Changes to the massive store
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    77
-----------------------------
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    78
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    79
Several improvments have been done to ``cubicweb.dataimport.massive_store``,
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    80
with among the more important ones:
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    81
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    82
* Extended store API to provide more control to end-users:
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    83
  `fill_entities_table`, `fill_relation_table`, `fill_meta_relation_table`.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    84
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    85
* Dropped `on_commit` / `on_rollback` arguments of the constructor.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    86
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    87
* Use a slave specific temporary table for entities insertion as for relations
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    88
  (should improve concurrency when using in master/slaves mode).
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    89
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    90
* Delay dropping of constraint to the `finish` method, avoiding performance
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    91
  problem that was occuring because indexes were dropped at store creation time.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    92
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    93
* Consider the given metadata generator when looking for which metadata tables
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    94
  should have their constraints dropped.
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    95
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    96
* Don't drop index on `entities.eid`, it's too costly to rebuild on database
11365e5c11d7 [doc] Add my 3.24 release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11806
diff changeset
    97
  with some million of entities.