Christophe de Vienne <christophe@unlish.com> [Mon, 06 Oct 2014 12:08:41 +0200] rev 10063
[devtools][pg] Remove a wrong assertion in _backup_database
When using pre_setup_database, a repo gets initialised before calling
backup_database. Hence self._repo is NOT None it that case.
David Douard <david.douard@logilab.fr> [Wed, 26 Nov 2014 16:24:28 +0100] rev 10062
[pkg] prepare 3.19.6
David Douard <david.douard@logilab.fr> [Wed, 26 Nov 2014 17:58:23 +0100] rev 10061
[merge] backport 3.18 fixes
Christophe de Vienne <christophe@unlish.com> [Fri, 19 Sep 2014 13:08:26 +0200] rev 10060
Accept '==' operator in cubes dependencies
'==' is the operator used in the python dependencies specifications.
See PEP 440 http://legacy.python.org/dev/peps/pep-0440/#version-specifiers
Using the same operator in cubes dependencies allow to make setuptools handle
the cubes dependencies while keeping cubicweb happy about the dependencies.
Closes #4375144
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Sep 2014 13:51:12 +0200] rev 10059
[session] don't silently ignore commits
commits while in the precommit or postcommit phase are silently ignored.
This is OK in precommit since there'll be a commit afterwards anyway;
OTOH in postcommit it may surprise the developer who didn't read the
documentation for postcommit operations carefully enough. Related to
#4383922.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 11:49:28 +0100] rev 10058
[migration/bootstrap] add explicit index removal for sqlserver, be tolerant to migration replay
Closes #4618944.
David Douard <david.douard@logilab.fr> [Wed, 26 Nov 2014 17:39:59 +0100] rev 10057
Added tag cubicweb-version-3.18.7, cubicweb-debian-version-3.18.7-1, cubicweb-centos-version-3.18.7-1 for changeset cb96f4403cf2
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 25 Nov 2014 12:15:41 +0100] rev 10056
[pkg] prepare 3.18.7
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 19 Nov 2014 12:36:43 +0100] rev 10055
[migration/3.18] speed up the migration and be a little bit more informative
Closes #4619277.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 12:36:17 +0100] rev 10054
[schemaserial] be robust against duplicated CWUniqueTogetherConstrain entities arising from bug in the pre 3.18 era
Closes #4619278.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 15:01:23 +0100] rev 10053
[server] Handle unique constraint violations under recent sqlite
The error message changed from "columns foo, bar, baz are not unique" to
"UNIQUE constraint failed: table.foo, table.bar, table.baz".
Closes #3564510
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 18:43:51 +0100] rev 10052
[merge] backport 3.17 fixes
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 18:40:09 +0100] rev 10051
Added tag cubicweb-version-3.17.18, cubicweb-debian-version-3.17.18-1, cubicweb-centos-version-3.17.18-1 for changeset cda4b066933f
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 17:42:08 +0100] rev 10050
[pkg] prepare 3.17.18
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 16:22:40 +0100] rev 10049
[source/native] handle newer Integrity error messages from sqlite > 3.7
Similar to a0cf2993b6d3 that was done for 3.18.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Nov 2014 15:43:18 +0100] rev 10048
[source/native/backup_restore] have a unique tunable blocksize for the dump phase
Thus we make memory errors much less likely.
Closes #4618949.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 24 Nov 2014 17:43:29 +0100] rev 10047
[urlpublishing] handle sub-types in RestPathEvaluator
Since commit 31a1813d53f3 "[entity/url publishing] fetch_rqlst should
use 'is_instance_of' instead of 'is'", the RestPathEvaluator's input
rset can have more than one etype, so it can't always use sameetypelist.
Related to #3825488
David Douard <david.douard@logilab.fr> [Mon, 24 Nov 2014 14:43:28 +0100] rev 10046
[views] fix ecsvexport selector
introduced by e48e5a597ccc
Fix the view and make web/test/test_views.py pass again.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Oct 2014 12:14:58 +0200] rev 10045
Add custom checker for Password values
We override the default converter to pass Binary values through, but
don't do anything about the checker. This worked previously because
yams allowed StringIO instances, although its converter didn't do the
right thing for them. Fixing this in yams requires that we properly
register a checker.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 22 Oct 2014 15:59:52 +0200] rev 10044
[component] give Links a __repr__
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Nov 2014 14:33:12 +0100] rev 10043
[debian] move markdown dependency from cubicweb-web to cubicweb-common
Pointed out by David Douard.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Nov 2014 16:09:42 +0100] rev 10042
[web/auth] stop playing games with locals()
We only want to know if any retriever found something.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Nov 2014 15:48:33 +0100] rev 10041
[entity] rather than crashing with an IndexError on entity creation, raise a meaningful exception
David Douard <david.douard@logilab.fr> [Wed, 12 Nov 2014 22:18:55 +0100] rev 10040
[web] partial backout of #8391bf718485 to restore RelatedObjectsVComponent
Apparently the intended deprecation did not work, and this component is
used in at least the tracker cube.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Nov 2014 10:38:39 +0100] rev 10039
[server] typo fix
Christophe de Vienne <christophe@unlish.com> [Mon, 06 Oct 2014 10:34:38 +0200] rev 10038
[devtools][pg] Activate the non-durability settings of Postgresql.
It speed up the PG tests by a factor of 3.
See http://www.postgresql.org/docs/current/static/non-durability.html.
David Douard <david.douard@logilab.fr> [Mon, 17 Nov 2014 09:32:37 +0100] rev 10037
[server] fix LoginPasswordAuthentifier.authenticate
some kind of typo there.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 07 Nov 2014 10:33:40 +0100] rev 10036
[web] Override jQueryUI's colors on links (closes #4564046)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 29 Oct 2014 16:39:36 +0100] rev 10035
[hooks] Fix precommit event logging message
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Oct 2014 13:51:13 +0200] rev 10034
[service] allow repo_stats for users
It's used by the siteinfo view, which is available to managers and
users. This change prevents a crash in that view.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Sep 2014 15:17:08 +0200] rev 10033
[views] Escape class attribute value in CWGroup incontext view
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 10:50:23 +0200] rev 10032
[devtools] use a specific test_db_id when disabling anon
The anonymous user is created (or not) in postcreate, which for tests
means when creating the cached empty database. The
anonymous_allowed=False test classes should thus not share their
template db with other test classes, otherwise either they end up with
an unexpected anonymous user, or the others miss theirs and things fall
apart.
Christophe de Vienne <christophe@unlish.com> [Wed, 19 Nov 2014 11:59:08 +0100] rev 10031
Restrict yams version
CW 3.19 is not compatible with yams >= 0.40
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 20 Oct 2014 12:50:04 +0200] rev 10030
[facets] Honor 'start_unfolded' facet attribute (closes #4502799)
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 20 Oct 2014 12:23:13 +0200] rev 10029
[facets] Correctly look for inputs of type "hidden" (closes #4502768)
jQuery ':hidden' selector looks at CSS visual properties (eg, 'display',
'visibility'). The intent here was probably to look for inputs of type
"hidden", which many facets use to store user selection data (eg,
FacetRangeWidget).
The problem is that regular text inputs (eg the "has_text" facet which
has a '<input type="text"/>') will be picked up by this selector if they
are inside a folded facet. Chaos and destruction ensue.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 15 Oct 2014 18:23:54 +0200] rev 10028
[web] Cache results from 'i18n' ajax controller (closes #4487856)
This is a simple transient cache which will be forgotten as soon as the
user leaves the current page.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 15 Oct 2014 17:29:29 +0200] rev 10027
[web] There is no global noop(), use jQuery's instead (closes #4487832)
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 10 Oct 2014 09:18:28 +0200] rev 10026
[server] Add missing import of logilab.database
Closes #4469407.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Nov 2014 10:37:44 +0100] rev 10025
[migration] hackish black magic to bootstrap addition of formula attr during migration
Turns out we can't add an attribute to CWAttribute before the attribute
exists. add_attribute generates rql with a 'formula' relation, which CW
doesn't know about yet, so things get unhappy. Once that is fixed, we
need to make the CWAttribute addition operation deal with CWAttribute
entities that don't have a formula yet.
Finally, move the migration to bootstrapmigration_repository so it
happens early on, and use add_entity_type rather than add_relation_type
for CWComputedRType.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Nov 2014 14:10:02 +0100] rev 10024
[server] commit after serializing schema
Use separate transactions for schema serialization and postcreate
scripts execution, so that the latter can rely on the schema being
persistently stored. This matters e.g. if something in a postcreate
violates a unique_together constraint, we need the constraint persisted
in order to raise a meaningful error. See #4525069.
David Douard <david.douard@logilab.fr> [Thu, 28 Aug 2014 18:54:21 +0200] rev 10023
[book] fix docstrings to please sphinx
example rst roles in docstring must be protected (in a literal).
David Douard <david.douard@logilab.fr> [Thu, 28 Aug 2014 18:52:41 +0200] rev 10022
[book] several fixes in the rst files
- prevent duplicate markup definitions,
- use existing Workflow markup instead of redefining one (in baseschema.rst)
- include dataimport
- fix non-existant directive autodocfunction
- remove the empty 'embedding.rst' file
David Douard <david.douard@logilab.fr> [Thu, 28 Aug 2014 18:46:41 +0200] rev 10021
[book] activate the viewcode extension
Automagically make link to class/modules/etc. it finds in the documents.
David Douard <david.douard@logilab.fr> [Thu, 28 Aug 2014 16:22:05 +0200] rev 10020
[book] new theme based on pyramid theme (closes #4291287)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 30 Jul 2014 14:06:38 +0200] rev 10019
Remove unused lgc.interface imports and leftovers
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 17 Jul 2014 14:40:28 +0200] rev 10018
[repository] provide a .new_session entry point
The current .connect only returns a `sessionid` which must be given to
repo._get_session(...) to get the real session object.
Related to #4151635.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 30 Jun 2014 10:49:53 +0200] rev 10017
[devtools/testlib] Use actual 'admin' user configuration values
Previously ``db-user`` and ``db-password`` configuration values were used to
fill ``admlogin`` and `admpassword`` attributes of CubicWebTC. The correct
data for these should read from `[admin]` section.
Closes #4065070.
Anthony Truchet <anthony.truchet@logilab.fr> [Thu, 25 Apr 2013 10:16:25 +0200] rev 10016
[forms] closes #2437859 - Detect and prevent concurrent edition of the same entity.
Add the timestamp of form generation to each entity's meta-information fields.
On form validation, check that no concurrent change is overwritten and raises
a ValidationError in case of concurrent change.
A nicer handling with a message and a link to the new version of the entity
would be a good thing...
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 16:58:58 +0200] rev 10015
[migration] make sure the repo knows about all constraint types
Adding new constraint types is cumbersome. It's easy to forget to do it
in a migration script. So sync the constraint types at the beginning of
each migration.
Closes #3724892
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Jul 2014 16:07:57 +0200] rev 10014
[migration] stop caching the mapping from constraint type name to eid
It's not so frequent that a cache seems necessary, and we were not
invalidating that cache when adding a new constraint type.
Related to #3724892.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Jun 2014 17:53:31 +0200] rev 10013
[web/json] an empty rset is just fine for ejsonexport
The ejsonexport view can just return an empty list for an empty rset.
Closes #4005518
Christophe de Vienne <christophe@unlish.com> [Wed, 30 Apr 2014 21:04:14 +0200] rev 10012
[RichString] Add markdown support
Supporting markdown requires the 'Markdown' python packages, and since it
widely available on the target platforms adding it as a strong requirements
will not be a big constraint.
Closes #3814302
Paul Tonelli <paul.tonelli@logilab.fr> [Thu, 23 Oct 2014 14:57:02 +0200] rev 10011
[ldapfeed] Reduce default value for user-attrs-map option (closes #3824889)
This is needed because lgc.configuration.Configuration does not allow
removing key/value pairs from the default (due to its use of
dict.update() internally).
Since CWUser.login is required, users of the add-source command will
always be able to override it.
Paul Tonelli <paul.tonelli@logilab.fr> [Tue, 29 Apr 2014 11:34:42 +0200] rev 10010
[serverctl] Ask for URL when adding a new source (closes #3824868)
Paul Tonelli <paul.tonelli@logilab.fr> [Mon, 28 Apr 2014 17:34:07 +0200] rev 10009
[serverctl] Ask for parser type when adding a new source (closes #3484231)
Remove 'quick_start' option to load all AppObjects, including feed parsers.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 10:57:28 +0200] rev 10008
[doc/3.20] more details on removed code
related to #3799117
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:58:57 +0200] rev 10007
remove 3.11 bw compat
Closes #3799117.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:57:37 +0200] rev 10006
remove most 3.10 bw compat
Related to #3799117.
The boxes and entityvcomponent objects cannot really be removed as they
are still used throughout the code base (and possible cubes).
This may be caused by a non-working deprecation and needs some more
work.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:41:11 +0200] rev 10005
remove leftover pre 3.9 deprecation warnings
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Jul 2014 15:42:47 +0200] rev 10004
[utils] Remove function-in-the-middle call
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Jul 2014 15:45:04 +0200] rev 10003
[web] set Vary response header to "Accept-Language" when using content negotiation
This is slightly annoying because the response actually only varies
based on the language we decide to send, which has much fewer possible
values than Accept-Language, but that's not in the request, so we can't
easily use it. Deployments using varnish or similar and controlling the
set of available languages will likely want to override this to allow
reasonable amounts of caching.
Closes #2105812
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Jul 2014 16:27:11 +0200] rev 10002
[web/cors] don't overwrite other Vary headers
Vary is a list of request headers, we shouldn't override others.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 15 Jul 2014 16:07:59 +0200] rev 10001
[web] add support for HttpOnly cookie flag
And use it for session cookies. Closes #4142521.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Oct 2014 18:16:58 +0200] rev 10000
merge 3.19.5 into 3.20 branch
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Oct 2014 10:06:24 +0200] rev 9999
Added tag cubicweb-version-3.19.5, cubicweb-debian-version-3.19.5-1, cubicweb-centos-version-3.19.5-1 for changeset 3ac86df519af
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Oct 2014 17:50:42 +0200] rev 9998
i18n update
4 strings have disappeared.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Oct 2014 17:32:49 +0200] rev 9997
[pkg] 3.19.5
Julien Cristau <julien.cristau@logilab.fr> [Mon, 15 Sep 2014 10:06:07 +0200] rev 9996
[server] hold connection to the db in tx_actions
We can be called without a cnxset (e.g. from repoapi).
Christophe de Vienne <christophe@unlish.com> [Mon, 15 Sep 2014 17:23:22 +0200] rev 9995
[wsgi] If multipart cannot parse the POST content, let it pass.
multipart can only parse html form data. It the content_type is, for example,
"application/json", get_posted_data should not fail but just stop trying to
read the content.
Closes #4421845
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 01 Sep 2014 14:56:00 +0200] rev 9994
[devtools] Fix JS tests' HTML code
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 01 Sep 2014 10:22:46 +0200] rev 9993
[devtools] "Keep" some temporary files/dirs around to help with debugging
The whole QUnitTestCase runs with an @with_tempdir so it's redundant
anyway.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 01 Aug 2014 19:28:44 +0200] rev 9992
[devtools] Fix Firefox launcher in QUnitTestCase (closes #4294727)
The main changes are:
- stop creating the profile, firefox will create it
- point firefox to a profile directory instead of giving it a profile name
(this has the added bonus of not polluting the user's profile list)
- start firefox once and kill it 5 seconds later to let it finish its profile
creation (along with system-wide extensions setup)
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Sep 2014 17:38:51 +0200] rev 9991
[devtools] allow cross-origin requests for qunit
We have a mix of file:// html and http:// ajax calls. Which we should
at some point fix to all be http, but. Related to #4294727.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 15:49:13 +0200] rev 9990
merge 3.19.4 in 3.20 branch
Christophe de Vienne <christophe@unlish.com> [Mon, 15 Sep 2014 17:24:18 +0200] rev 9989
[cors] Fix CORS headers generators
The Access-Control-Allow-* and Access-Control-Expose-Headers are response
headers, not request headers.
Hence, we need generators for them. Closes #4412575.
Christophe de Vienne <christophe@unlish.com> [Tue, 09 Sep 2014 22:14:20 +0200] rev 9988
[wsgi] Fix posted files filename reading
The filenames are parsed by multipart.parse_form_data, which does the unicode
decoding. Trying to re-decode the filename was leading to an error.
Christophe de Vienne <christophe@unlish.com> [Tue, 23 Sep 2014 11:18:56 +0200] rev 9987
[pkg] Depend on Pillow instead of PIL
The Pillow library is becoming the de-facto replacement for PIL.
It also is way simpler to install with pip than PIL.
Closes #4411354.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 14:42:00 +0200] rev 9986
Added tag cubicweb-version-3.19.4, cubicweb-debian-version-3.19.4-1, cubicweb-centos-version-3.19.4-1 for changeset c4e740e50fc7
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 14:24:20 +0200] rev 9985
[pkg] 3.19.4
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 18:04:30 +0200] rev 9984
merge 3.18.6 into 3.19
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 17:35:59 +0200] rev 9983
Added tag cubicweb-version-3.18.6, cubicweb-debian-version-3.18.6-1, cubicweb-centos-version-3.18.6-1 for changeset d91501356742
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 15:08:44 +0200] rev 9982
[pkg] 3.18.6
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 28 Jan 2014 15:27:59 +0100] rev 9981
[hooks/security] allow edition of attributes with permissive permissions
If an attribute has more permissive security rules than the entity
type itself, we should be green and not deny action because of an
early global entity permission check (with the more restrictive
rules).
Only if one attribute with the entity-level permission rules is edited
will the global check be performed.
Note:
* the "if action == 'delete'" check at the entry of
check_entity_attributes is a guard for a condition currently not
happening in cubicweb itself (but application hooks could
conceivably call this function with a 'delete' action)
Closes #3489895.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 29 Jul 2014 14:40:29 +0200] rev 9980
Almost backout afcd46716d6a which breaks _select_best raising an ambiguity exception in debug mode.
The problem is, before afcd4, *tests* ran in debug mode and we want
this (e.g. we want to show, rather than swallow, select ambigüities).
We juste replace the bogus __init__(vreg.config) by __init__(True), which is
practically equivalent and also much more clear.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Sep 2014 09:49:01 +0200] rev 9979
[server] fix anonymous_user predicate in tests
devtools' TestServerConfiguration overrides the anonymous_user method,
but not the anonymous-user config option, so testing for the latter
would give the wrong result. Closes #3996664.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 28 Jul 2014 16:05:19 +0200] rev 9978
[entities] cw_rest_attr_info() should only consider required attributes (closes #3766717)
This prevents CW from choosing unique but non-required attributes. None/NULL is
a poor choice for RESTful URIs.
Damien Garaud <damien.garaud@logilab.fr> [Fri, 08 Aug 2014 13:05:07 +0200] rev 9977
[views] csvexport accept an empty rset (closes #4236928)
When you tried to apply the 'csvexport' view on an empty rset, the view
couldn't be selected and you got a HTTP 500 error.
Also add two new test cases.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Sep 2014 16:43:20 +0200] rev 9976
[views] Display attributes in entity creation form based on "add" permission
Previously, the "update" permission was used. Hence in case the latter is
more restrictive that the "add" permission, an user may not be able to set
such an attribute, despite she may have "add" permission on it.
As a result of the change of permissions action in `editable_attributes`
method (add/update depending on whether the entity is being created or
modified), the "eid" attribute would have shown up in the edition form. To
avoid this, it is moved in the "hidden" section (where it should arguably
belong anyways).
Closes #4342844.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Sep 2014 11:03:39 +0200] rev 9975
[datafeed] Commit after all deletions in datafeed parser
This avoids misleading validation error because schema constraints could be
temporarily broken depending on the deletion order.
Closes #4372127.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Sep 2014 17:34:36 +0200] rev 9974
[schema] CWComputedRType is a schema type
Hide it from the default views.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Sep 2014 14:19:11 +0200] rev 9973
[doc] proofreading CWEP002 section
Anthony Truchet <anthony.truchet@logilab.fr> [Mon, 10 Feb 2014 11:03:43 +0100] rev 9972
[CWEP002] document computed relations and attributes
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 17:41:34 +0200] rev 9971
[CWEP002 migration] support sync_schema_props_perms for computed attribute
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Jul 2014 11:00:21 +0200] rev 9970
[CWEP002 migration] support drop_relation_type/drop_relation_definition/drop_attribute for computed attributes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 18:31:18 +0200] rev 9969
[CWEP002 migration] support add_relation_type/add_attribute for computed attributes
Related to #3546717.
Lea Capgen <lea.capgen@logilab.fr> [Tue, 16 Sep 2014 15:28:35 +0200] rev 9968
[CWEP002] properly handle serialization of computed attributes
Until this cset, only serialization of computed attribute's formula was
handled (thanks to the relation definition's properties dict).
We now:
* properly serialize/deserialize attribute's formula
* test first if the database has been migrated and contains related
column or not
Related to #3546717
Sylvain Thénault [Tue, 16 Sep 2014 16:39:23 +0200] rev 9967
[CWEP002] Add support for computed attribute synchronization
Related to #3546717.
Test and handle the behaviour with several formulas and identified use cases. To
do so add a birth year and a computed attribute age to Person in the test
schema.
Laura Médioni <laura.medioni@logilab.fr> [Mon, 28 Apr 2014 14:11:23 +0200] rev 9966
[CWEP002] Add schema finalization checks for computed attributes
``finalize_computed_attributes`` essentially checks that computed attributes
types match with the type declaration of the attribute.
Related to #3546717.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 16 Jun 2014 10:08:32 +0200] rev 9965
[CWEP002] Account for attribute formula in schema bootstrap
This isn't enough to have computed attribute support, it is only in order not to
crash when yams 0.40 is used.
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 07:44:29 +0200] rev 9964
[CWEP002 migration] support sync_schema_props_perms for computed relations
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 08:02:15 +0200] rev 9963
[CWEP002 migration] support add_relation_type for computed relations
Related to #3546717.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 07:55:33 +0200] rev 9962
[CWEP002 migration] support drop_relation_type for computed relations
Related to #3546717.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 07:49:31 +0200] rev 9961
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Related to #3546717
Laura Médioni <laura.medioni@logilab.fr> [Fri, 27 Jun 2014 12:00:17 +0200] rev 9960
[hooks] do not abuse of inheritance for CWRType hooks
Just copy the selector to ease readability.
Laura Médioni <laura.medioni@logilab.fr> [Mon, 16 Jun 2014 10:08:18 +0200] rev 9959
[schema serial] add some comments
Laura Médioni <laura.medioni@logilab.fr> [Mon, 16 Jun 2014 10:07:57 +0200] rev 9958
[schema] define full_rql on RQLExpression class
without it, we may have an error while displaying error which occured during
some expression initialization because this attribute is not yet defined while
used in the __str__ method.
Laura Médioni <laura.medioni@logilab.fr> [Fri, 29 Aug 2014 07:44:13 +0200] rev 9957
[schema] properly raise BadSchemaDefinition
when some expression mains variables may not be guessed
Lea Capgen <lea.capgen@logilab.fr> [Thu, 28 Aug 2014 18:29:14 +0200] rev 9956
[CWEP002] properly handle serialization of computed relations
We now:
* have CWComputedRelation in the bootstrap schema to store computed relations
* properly serialize/deserialize it
* test first if the database has been migrated and contains the related table
Related to #3546717
[jcr: adjust unittest_querier to pass with the added entity type]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 27 Jun 2014 16:11:53 +0200] rev 9955
[CWEP002] Plug the computed relation rewriter in the querier
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 13 Feb 2014 13:58:28 +0100] rev 9954
[CWEP002] refactor rql read security checking
Split 'check_read_perms' into 'check_relations_perms' which checks relations
'read' permissions and 'get_local_checks' which build dictionary of local
security checks (rql expression) for variables.
This allows to check relations 'read' permissions earlier in the process and so
to prepare insertion of the rql rewriter: we want to check permissions of the
computed relation, not permissions of relations introduced by the associated
rule, to conform to the CWEP.
Related to #3546717
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 16 Jun 2014 10:22:24 +0200] rev 9953
[CWEP002] introduce RQLRelationRewriter
Refactor existing RQLRewriter for later reuse of rewriting relation as specified
by CWEP002. Work is different because we simply want to replace a relation by
another rql snippet and we don't have to bother with EXISTS, subqueries and all.
This rewriter is not yet plugged into the querier.
Depends on yams 0.40 API.
Related to #3546717
Lea Capgen <lea.capgen@logilab.fr>, Sylvain Thénault <sylvain.thenault@logilab.fr>, Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Sep 2014 14:46:11 +0200] rev 9952
[CWEP002] Add schema finalization checks for computed relations (rules)
Related to #3546717