|
1 What's new in CubicWeb 3.20 |
|
2 =========================== |
|
3 |
|
4 New features |
|
5 ------------ |
|
6 |
|
7 * virtual relations: a new ComputedRelation class can be used in |
|
8 schema.py; its `rule` attribute is an RQL snippet that defines the new |
|
9 relation. |
|
10 |
|
11 * computed attributes: an attribute can now be defined with a `formula` |
|
12 argument (also an RQL snippet); it will be read-only, and updated |
|
13 automatically. |
|
14 |
|
15 Both of these features are described in `CWEP-002`_, and the updated |
|
16 "Data model" chapter of the CubicWeb book. |
|
17 |
|
18 * cubicweb-ctl plugins can use the ``cubicweb.utils.admincnx`` function |
|
19 to get a Connection object from an instance name. |
|
20 |
|
21 * new 'tornado' wsgi backend |
|
22 |
|
23 * session cookies have the HttpOnly flag, so they're no longer exposed to |
|
24 javascript |
|
25 |
|
26 * rich text fields can be formatted as markdown |
|
27 |
|
28 * the edit controller detects concurrent editions, and raises a ValidationError |
|
29 if an entity was modified between form generation and submission |
|
30 |
|
31 * cubicweb can use a postgresql "schema" (namespace) for its tables |
|
32 |
|
33 * "cubicweb-ctl configure" can be used to set values of the admin user |
|
34 credentials in the sources configuration file |
|
35 |
|
36 * in debug mode, setting the _cwtracehtml parameter on a request allows tracing |
|
37 where each bit of output is produced |
|
38 |
|
39 .. _CWEP-002: http://hg.logilab.org/review/cwep/file/tip/CWEP-002.rst |
|
40 |
|
41 |
|
42 API Changes |
|
43 ----------- |
|
44 |
|
45 * ``ucsvreader()`` and ``ucsvreader_pb()`` from the ``dataimport`` module have |
|
46 2 new keyword arguments ``delimiter`` and ``quotechar`` to replace the |
|
47 ``separator`` and ``quote`` arguments respectively. This makes the API match |
|
48 that of Python's ``csv.reader()``. The old arguments are still supported |
|
49 though deprecated. |
|
50 |
|
51 * the migration environment's ``remove_cube`` function is now called ``drop_cube``. |
|
52 |
|
53 * cubicweb.old.css is now cubicweb.css. The previous "new" |
|
54 cubicweb.css, along with its cubicweb.reset.css companion, have been |
|
55 removed. |
|
56 |
|
57 * the jquery-treeview plugin was updated to its latest version |
|
58 |
|
59 |
|
60 Deprecated Code Drops |
|
61 ---------------------- |
|
62 |
|
63 * most of 3.10 and 3.11 backward compat is gone; this includes: |
|
64 - CtxComponent.box_action() and CtxComponent.build_link() |
|
65 - cubicweb.devtools.htmlparser.XMLDemotingValidator |
|
66 - various methods and properties on Entities, replaced by cw_edited and cw_attr_cache |
|
67 - 'commit_event' method on hooks, replaced by 'postcommit_event' |
|
68 - server.hook.set_operation(), replaced by Operation.get_instance(...).add_data() |
|
69 - View.div_id(), View.div_class() and View.create_url() |
|
70 - `*VComponent` classes |
|
71 - in forms, Field.value() and Field.help() must take the form and the field itself as arguments |
|
72 - form.render() must get `w` as a named argument, and renderer.render() must take `w` as first argument |
|
73 - in breadcrumbs, the optional `recurs` argument must be a set, not False |
|
74 - cubicweb.web.views.idownloadable.{download_box,IDownloadableLineView} |
|
75 - primary views no longer have `render_entity_summary` and `summary` methods |
|
76 - WFHistoryVComponent's `cell_call` method is replaced by `render_body` |
|
77 - cubicweb.dataimport.ObjectStore.add(), replaced by create_entity |
|
78 - ManageView.{folders,display_folders} |