cubicweb #3546717 Implement CWEP002 [validation pending]

The goal, described in CWEEP002, is to implement computed relation and computed attribute for RQL rewriting.

See http://hg.logilab.org/review/cwep

prioritynormal
typetask
done in3.20.0
load30.000
load left0.000
closed by<not specified>
patch[CWEP002] WIP migration support [folded][CWEP002] introduce RQLRelationRewriter [folded][CWEP002] refactor rql read security checking [folded][CWEP002] properly handle serialization of computed attributes [applied][CWEP002 migration] support add_relation_type/add_attribute for computed attributes [applied][CWEP002 migration] support add_relation_type for computed relations [applied][CWEP002 migration] support drop_relation_type for computed relations [applied][CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation [applied][CWEP002] properly handle serialization of computed relations [applied][CWEP002] Plug the computed relation rewriter in the querier [applied][CWEP002] refactor rql read security checking [applied][CWEP002] introduce RQLRelationRewriter [applied][CWEP002] Add support for computed attribute synchronization [applied][CWEP002] document computed relations and attributes [applied][CWEP002] Add schema finalization checks for computed relations (rules) [applied][CWEP002] Add schema finalization checks for computed attributes [applied][CWEP002] Account for attribute formula in schema bootstrap [applied][CWEP002] Add support for computed attribute synchronization [folded][CWEP002] WIP documente computed relations and attributeds [rejected][CWEP002] WIP migration support [rejected][CWEP002] properly handle serialization of computed attribute and relation [rejected][CWEP002] Plug the computed relation rewriter in the querier [rejected][CWComputedRType] Adding CWComputedRType to stock the rule [folded][CWEP002] Plug the computed relation rewriter in the querier [folded][CWEP002] Implement cubicweb specific Schema.finalize to infer relation definitions from rules [rejected][CWEP002] refactor rql read security checking [folded][CWEP002] introduce RQLRelationRewriter [folded][CWEP002] Move formula dependencies analysis code to schema.py [folded][CWEP002] Extract method analyse_formula_dependencies [folded][CWEP002] Refactoring and renaming [folded][CWEP002] Factor out dependencies analysis and hooks generation [folded][CWEP002] Fix computation of the attributes on entity creation [folded][CWEP002] Add a (failing) test for the computation of the attributes on entity creation [folded][CWEP002] Test and fix the behaviour with several formulas [folded][CWComputedRType] Adding CWComputedRType to stock the rule [folded]