1 Whats new in CubicWeb 3.14 |
|
2 ========================== |
|
3 |
|
4 First notice CW 3.14 depends on yams 0.34 (which is incompatible with prior |
|
5 cubicweb releases regarding instance re-creation). |
|
6 |
|
7 API changes |
|
8 ----------- |
|
9 |
|
10 * `Entity.fetch_rql` `restriction` argument has been deprecated and should be |
|
11 replaced with a call to the new `Entity.fetch_rqlst` method, get the returned |
|
12 value (a rql `Select` node) and use the RQL syntax tree API to include the |
|
13 above-mentionned restrictions. |
|
14 |
|
15 Backward compat is kept with proper warning. |
|
16 |
|
17 * `Entity.fetch_order` and `Entity.fetch_unrelated_order` class methods have been |
|
18 replaced by `Entity.cw_fetch_order` and `Entity.cw_fetch_unrelated_order` with |
|
19 a different prototype: |
|
20 |
|
21 - instead of taking (attr, var) as two string argument, they now take (select, |
|
22 attr, var) where select is the rql syntax tree beinx constructed and var the |
|
23 variable *node*. |
|
24 |
|
25 - instead of returning some string to be inserted in the ORDERBY clause, it has |
|
26 to modify the syntax tree |
|
27 |
|
28 Backward compat is kept with proper warning, BESIDE cases below: |
|
29 |
|
30 - custom order method return **something else the a variable name with or |
|
31 without the sorting order** (e.g. cases where you sort on the value of a |
|
32 registered procedure as it was done in the tracker for instance). In such |
|
33 case, an error is logged telling that this sorting is ignored until API |
|
34 upgrade. |
|
35 |
|
36 - client code use direct access to one of those methods on an entity (no code |
|
37 known to do that). |
|
38 |
|
39 * `Entity._rest_attr_info` class method has been renamed to |
|
40 `Entity.cw_rest_attr_info` |
|
41 |
|
42 No backward compat yet since this is a protected method an no code is known to |
|
43 use it outside cubicweb itself. |
|
44 |
|
45 * `AnyEntity.linked_to` has been removed as part of a refactoring of this |
|
46 functionality (link a entity to another one at creation step). It was replaced |
|
47 by a `EntityFieldsForm.linked_to` property. |
|
48 |
|
49 In the same refactoring, `cubicweb.web.formfield.relvoc_linkedto`, |
|
50 `cubicweb.web.formfield.relvoc_init` and |
|
51 `cubicweb.web.formfield.relvoc_unrelated` were removed and replaced by |
|
52 RelationField methods with the same names, that take a form as a parameter. |
|
53 |
|
54 **No backward compatibility yet**. It's still time to cry for it. |
|
55 Cubes known to be affected: tracker, vcsfile, vcreview. |
|
56 |
|
57 * `CWPermission` entity type and its associated require_permission relation type |
|
58 (abstract) and require_group relation definitions have been moved to a new |
|
59 `localperms` cube. With this have gone some functions from the |
|
60 `cubicweb.schemas` package as well as some views. This makes cubicweb itself |
|
61 smaller while you get all the local permissions stuff into a single, |
|
62 documented, place. |
|
63 |
|
64 Backward compat is kept for existing instances, **though you should have |
|
65 installed the localperms cubes**. A proper error should be displayed when |
|
66 trying to migrate to 3.14 an instance the use `CWPermission` without the new |
|
67 cube installed. For new instances / test, you should add a dependancy on the |
|
68 new cube in cubes using this feature, along with a dependancy on cubicweb >= |
|
69 3.14. |
|
70 |
|
71 * jQuery has been updated to 1.6.4 and jquery-tablesorter to 2.0.5. No backward |
|
72 compat issue known. |
|
73 |
|
74 * Table views refactoring : new `RsetTableView` and `EntityTableView`, as well as |
|
75 rewritten an enhanced version of `PyValTableView` on the same bases, with logic |
|
76 moved to some column renderers and a layout. Those should be well documented |
|
77 and deprecates former `TableView`, `EntityAttributesTableView` and `CellView`, |
|
78 which are however kept for backward compat, with some warnings that may not be |
|
79 very clear unfortunatly (you may see your own table view subclass name here, |
|
80 which doesn't make the problem that clear). Notice that `_cw.view('table', |
|
81 rset, *kwargs)` will be routed to the new `RsetTableView` or to the old |
|
82 `TableView` depending on given extra arguments. See #1986413. |
|
83 |
|
84 * `display_name` don't call .lower() anymore. This may leads to changes in your |
|
85 user interface. Different msgid for upper/lower cases version of entity type |
|
86 names, as this is the only proper way to handle this with some languages. |
|
87 |
|
88 * `IEditControlAdapter` has been deprecated in favor of `EditController` |
|
89 overloading, which was made easier by adding dedicated selectors called |
|
90 `match_edited_type` and `match_form_id`. |
|
91 |
|
92 * Pre 3.6 API backward compat has been dropped, though *data* migration |
|
93 compatibility has been kept. You may have to fix errors due to old API usage |
|
94 for your instance before to be able to run migration, but then you should be |
|
95 able to upgrade even a pre 3.6 database. |
|
96 |
|
97 * Deprecated `cubicweb.web.views.iprogress` in favor of new `iprogress` cube. |
|
98 |
|
99 * Deprecated `cubicweb.web.views.flot` in favor of new `jqplot` cube. |
|
100 |
|
101 |
|
102 Unintrusive API changes |
|
103 ----------------------- |
|
104 |
|
105 * Refactored properties forms (eg user preferences and site wide properties) as |
|
106 well as pagination components to ease overridding. |
|
107 |
|
108 * New `cubicweb.web.uihelper` module with high-level helpers for uicfg. |
|
109 |
|
110 * New `anonymized_request` decorator to temporary run stuff as an anonymous |
|
111 user, whatever the currently logged in user. |
|
112 |
|
113 * New 'verbatimattr' attribute view. |
|
114 |
|
115 * New facet and form widget for Integer used to store binary mask. |
|
116 |
|
117 * New `js_href` function to generated proper javascript href. |
|
118 |
|
119 * `match_kwargs` and `match_form_params` selectors both accept a new |
|
120 `once_is_enough` argument. |
|
121 |
|
122 * `printable_value` is now a method of request, and may be given dict of |
|
123 formatters to use. |
|
124 |
|
125 * `[Rset]TableView` allows to set None in 'headers', meaning the label should be |
|
126 fetched from the result set as done by default. |
|
127 |
|
128 * Field vocabulary computation on entity creation now takes `__linkto` |
|
129 information into accounet. |
|
130 |
|
131 * Started a `cubicweb.pylintext` pylint plugin to help pylint analyzing cubes. |
|
132 |
|
133 |
|
134 RQL |
|
135 --- |
|
136 |
|
137 * Support for HAVING in 'SET' and 'DELETE' queries. |
|
138 |
|
139 * new `AT_TZ` function to get back a timestamp at a given time-zone. |
|
140 |
|
141 * new `WEEKDAY` date extraction function |
|
142 |
|
143 |
|
144 User interface changes |
|
145 ---------------------- |
|
146 |
|
147 * Datafeed source now present an history of the latest import's log, including |
|
148 global status and debug/info/warning/error messages issued during |
|
149 imports. Import logs older than a configurable amount of time are automatically |
|
150 deleted. |
|
151 |
|
152 * Breadcrumbs component is properly kept when creating an entity with '__linkto'. |
|
153 |
|
154 * users and groups management now really lead to that (i.e. includes *groups* |
|
155 management). |
|
156 |
|
157 * New 'jsonp' controller with 'jsonexport' and 'ejsonexport' views. |
|
158 |
|
159 |
|
160 Configuration |
|
161 ------------ |
|
162 |
|
163 * Added option 'resources-concat' to make javascript/css files concatenation |
|
164 optional. |
|