Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 15:46:16 +0200] rev 9860
[tests/datafeed] use the new connection api (a small leftover)
Test assertions get indented because of self.session -> scoped cnx.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Jul 2014 18:19:47 +0200] rev 9859
[entitiestests/base] don't store an entity on the test case
Make do with an eid.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 17:06:03 +0200] rev 9858
[entitiestests/base] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 15:21:18 +0200] rev 9857
[testlib] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 11:56:19 +0200] rev 9856
[exttests/rest] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 14:04:40 +0200] rev 9855
[webtests/bookmarks] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 14:19:56 +0200] rev 9854
[hookstests/integrity] use the new connection api
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Jul 2014 18:01:16 +0200] rev 9853
[hookstests/base] use connections instead of web requests
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 14:55:07 +0200] rev 9852
[hookstests/base] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 14:54:53 +0200] rev 9851
[hookstests/syncschema] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 13:28:24 +0200] rev 9850
[tests/rqlannotation,querier] use the new connection api
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Jul 2014 17:31:54 +0200] rev 9849
[webtests/web] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 14:55:02 +0200] rev 9848
[webtests/navigation] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 14:45:32 +0200] rev 9847
[webtests/basetemplates] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 15:14:13 +0200] rev 9846
[webtests/basecontrollers] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 14:43:07 +0200] rev 9845
[testlib] deprecate .remote_call and provide new connection api friendly .remote_calling
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 12:35:25 +0200] rev 9844
[webtests/propertysheet] kill an "import *"
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 12:27:26 +0200] rev 9843
[webtests/breadcrumbs] break long lines
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 17:20:00 +0200] rev 9842
[webtests/views_editforms] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Jul 2014 17:44:06 +0200] rev 9841
[webtests/urlrewrite] do not store a plain entity on the test, only an eid
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 11:17:09 +0200] rev 9840
[webtests/urlrewrite] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 17:16:38 +0200] rev 9839
[webtests/urlpublisher] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 11:00:50 +0200] rev 9838
[webtests/baseviews] use the new connection api
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Jul 2014 15:11:00 +0200] rev 9837
[devtools/testlib,fill] use the new connection api (for auto_populate)
Note that this changes API of CubicWebTC's custom_populate and
post_populate methods to take a connection instead of a cursor, which
may affect some cubes.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Jul 2014 14:42:24 +0200] rev 9836
[webtests/automatic views tests] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 12:41:21 +0200] rev 9835
[devtools/repotest] simplify a very small helper
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 04 Jun 2014 11:34:19 +0200] rev 9834
[tests/repotest] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 16:10:16 +0200] rev 9833
[tests/querier] use the new connection api (part 3/3)
Some adaptations to devtools/repotest:
* dead code removal
* remove session related code
In the tests:
* many tests actually don't check the querier but some generic rql
property -- when such a test needs several statements to complete a
commit, switch to session.new_cnx
* provide an assertRQLEqual helper
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 14:25:20 +0200] rev 9832
[test/querier] use the new connection api (part 2/3)
A couple of tests need a schema constraint to be dropped to pass with
`.qexecute`.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 13:56:24 +0200] rev 9831
[test/querier] use the new connection api (part 1/3)
In devtools/repotest, we provide a simple `.qexecute` with autocommit,
and we use it (where possible) in unittest_querier.
Note that the .session object is a real session, not the magic property
found in CubicWebTC test classes.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Jul 2014 17:25:25 +0200] rev 9830
[dbapi] allow talking to a pre-3.19 remote repository
Closes #4071285
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Jun 2014 11:56:38 +0200] rev 9829
[migration] don't add new elements to config._cubes in remove_cube
We're expanding dependencies based on the current versions of the cubes,
which may well not be the same as the ones known by the db (we're in the
middle of an upgrade, after all). Listing them in config._cubes
prevents us from calling add_cube() later to actually add them.
Closes #4002156
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 02 Jul 2014 11:43:45 +0200] rev 9828
[web test] repair test broken by 0872ac2a1db0
after the above cset, during test instance's url is set before the creation of
core entities (ie created at database initialization), hence they have now a
valid cwuri.
Damien Garaud <damien.garaud@logilab.fr> [Tue, 06 May 2014 18:32:03 +0200] rev 9827
[dataimport] Drop reference to the 'source' column (closes #4067694).
CW 3.19 drops the multi-source support. This column does not exist in 3.19.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 21 May 2014 22:54:46 +0200] rev 9826
[notification] drop on commit sending of message feature of NotificationView
It duplicates feature already provided by
cw.hooks.notification.notify_on_commit function.
Simplify the API on the way.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Mar 2014 08:28:32 +0100] rev 9825
[datafeed parser] enhance retrieve_url to support POSTing data and custom HTTP headers
Closes #3682069
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 25 Mar 2014 09:20:37 +0100] rev 9824
[datafeed parser] fix retrieve_url to always return urllib2.urlopen compatible output
as one should expect to be able to call geturl/getcode/info on the returned
object whatever the url he gave.
Related to #3682069
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 20 Mar 2014 08:55:44 +0100] rev 9823
[datafeed parser] factor out retrieve_url method from DataFeedXMLParser.parse
Related to #3682069
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 20 Mar 2014 08:49:10 +0100] rev 9822
[datafeed] Allow to override use_cwuri_as_url in configuration of a datafeed source
This is necessary because in some case one will want to write parser which
create entities not one-to-one related to entities from the distant source (for
instance see the `vcrs` cube which create entities holding statistics for code
review, while not importing review entities themselves).
Ideally we should provide a way to the parser to indicate the source that cwuri
should not be used, but that's a start...
Closes #3670210
Julien Cristau <julien.cristau@logilab.fr> [Fri, 27 Jun 2014 11:48:26 +0200] rev 9821
merge from 3.19 branch
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:56:05 +0200] rev 9820
[entity/rset] replace scary warnings about ambiguous rdefs by XXX in the code
users can't do anything about that and shouldn't see those warnings.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 23 May 2014 18:35:13 +0200] rev 9819
[web/js] Deprecate baseuri() and replace with BASE_URL (closes #3955372)
Added by commit 8bf2337a6f3b and publicly available since 3.11.2
released more than 3 years ago.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 23 May 2014 18:17:44 +0200] rev 9818
[request] Ensure base_url() always has a trailing '/' (closes #3955093)
Just as an example, cubicweb.ajax.js is clearly written under the
assumption that BASE_URL/baseuri() - which simply contains req.base_url() - has a
trailing /.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 10:16:13 +0200] rev 9817
[schema] spelling fixes in doc strings
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 02 Jun 2014 12:23:18 +0200] rev 9816
[views] a 'div' with 'display: inline' screams 'span'
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 17 Feb 2014 11:27:25 +0100] rev 9815
[views] Rewrite cw.utils.formContents() with jQuery (closes #3747244)
Use jQuery's serializeArray() method instead. Just keep a bit of
compatibility with FCKEditor...
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 26 May 2014 12:10:22 +0200] rev 9814
[web/data] Remove broken backward compatibility function
popupLoginBox() was deprecated in favor of cw.htmlhelpers.popupLoginBox()
However, the use of cw.utils.deprecatedFunction() is broken. In firebug:
>>> popupLoginBox()
TypeError: newfunc is undefined cubicweb.js:113 (ligne 13)
This function was modified back in 2010, so it's been broken for 4 years.
Let's just get rid of it. Closes #4042978
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Jun 2014 17:39:12 +0200] rev 9813
[repoapi] make ClientConnection call RequestSessionBase's init
Not calling up means we're missing some attributes, like encoding.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 18:31:09 +0200] rev 9812
[webtests/views_staticcontrollers] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 18:04:35 +0200] rev 9811
[webtests/views_selectors] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 17:21:52 +0200] rev 9810
[webtests/views_json] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 17:01:38 +0200] rev 9809
[webtests/views_errorform] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 16:52:34 +0200] rev 9808
[webtests/views_actions] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 16:48:37 +0200] rev 9807
[webtests/views_xmlrss] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 16:18:06 +0200] rev 9806
[webtest/pyviews] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 16:13:33 +0200] rev 9805
[tests/sqlutils] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 13:09:14 +0200] rev 9804
[tests/postgres] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 12:36:43 +0200] rev 9803
[tests/repository] use the new connection api (part 2/2)
Some notes:
* module imports cleanup
* the unimplemented `test_transaction_interleaved` is wiped
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 12:28:50 +0200] rev 9802
[repository,tests] use the new connection api (part 1/2)
`add_info` should not play with the cnxset nor the mode.
Static analysis showed that:
* add_info is an internal api called with a non-none cnx.cnxset and
also in write mode
* only the altered test violated this assumption, which is now
somewhat documented
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 17 Jun 2014 14:43:28 +0200] rev 9801
[book] fix various parts of the rql section
* syntax error
* erroneous query
* bad sphinx :func: usage
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Jun 2014 11:47:30 +0200] rev 9800
[repository] session -> cnx renaming (already done in the source object)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:57:55 +0200] rev 9799
[tests/session] remove unused import
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:52:15 +0200] rev 9798
[tests/datafeed] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:46:40 +0200] rev 9797
[tests/checkintegrity] use the new connection api
* serverctl: the db-check command also uses an internal connection
object, which makes more sense in the context of `checkintegrity`.
* checkintegrity: rename srvcnx to just cnx (a bit because in the near
future, there will be one cnx to rule them all)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:40:22 +0200] rev 9796
[tests/schemaserial] kill star import
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:38:14 +0200] rev 9795
[tests/schemaserial] break long lines
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Jun 2014 17:22:22 +0200] rev 9794
[tests/ldap] don't leak sessions
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:24:44 +0200] rev 9793
[tests/ldap] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 12:56:45 +0200] rev 9792
[test/migration] fix crash on execution
This assertion is there for unclear reasons.
===================== unittest_migration.py =======================
-> creating tables [====================]
-> inserting default user and default groups.
-> storing the schema in the database [====================]
-> database for instance data initialized.
F
======================================================================
FAIL: test_db_creation (unittest_migration.BaseCreationTC)
make sure database can be created
----------------------------------------------------------------------
Traceback (most recent call last)
File "/home/auc/confs/forges/logilab/common/testlib.py", line 661, in _proceed
testfunc(*args, **kwargs)
File "/home/auc/confs/forges/cubicweb/test/unittest_migration.py", line 106, in test_db_creation
handler.build_db_cache()
File "/home/auc/confs/forges/cubicweb/devtools/__init__.py", line 469, in build_db_cache
self.init_test_database()
File "/home/auc/confs/forges/cubicweb/devtools/__init__.py", line 729, in init_test_database
init_repository(self.config, interactive=False)
File "/home/auc/confs/forges/cubicweb/server/__init__.py", line 217, in init_repository
repo = Repository(config, vreg=vreg)
File "/home/auc/confs/forges/cubicweb/server/repository.py", line 197, in __init__
self.init_cnxset_pool()
File "/home/auc/confs/forges/cubicweb/server/repository.py", line 220, in init_cnxset_pool
config.bootstrap_cubes()
File "/home/auc/confs/forges/cubicweb/devtools/__init__.py", line 176, in bootstrap_cubes
super(TestServerConfiguration, self).bootstrap_cubes()
File "/home/auc/confs/forges/cubicweb/server/serverconfig.py", line 279, in bootstrap_cubes
self.init_cubes(self.expand_cubes(splitstrip(line)))
File "/home/auc/confs/forges/cubicweb/cwconfig.py", line 1022, in init_cubes
super(CubicWebConfiguration, self).init_cubes(cubes)
File "/home/auc/confs/forges/cubicweb/cwconfig.py", line 798, in init_cubes
assert self._cubes is None, repr(self._cubes)
AssertionError: ('card', 'file', 'localperms', 'tag')
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 05 Jun 2014 17:53:27 +0200] rev 9791
[web] Remove unreachable and broken code
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 15 Apr 2014 11:55:37 +0200] rev 9790
[testlib] call init_config once the config has been properly bootstraped
This should be done right after repository instantiation and as such involves
giving CWTC.init_config as a callback to the test database handler (which will
itself gives it to the repository initialization function).
This unfortunatly requires to pass the init_config method to the
server.init_repository function because it has to be called after the config has
been initialized (which is done in Repository.__init__) but before the migration
handler is instantiated (which will call 'server_maintainance' hook, hence may
require the proper config). Another way to fix this would be to change the
initialization sequence, but this is another story.
Closes #3749378
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 12 Jun 2014 17:50:50 +0200] rev 9789
[devtools] even better: use a plain Connection (server-side) object for pre_setup
The previous commit switched from passing a Session to a
ClientConnection.
This fixes unittest_ldapsource's pre_setup_database, which relied on a
server-side object to get at the repo.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 17:25:31 +0200] rev 9788
[devtools] pre_setup_database should take a connection object
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 11:10:54 +0200] rev 9787
[tests/migration] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 28 May 2014 17:33:16 +0200] rev 9786
[tests/undo] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 12 Jun 2014 14:10:02 +0200] rev 9785
[js/ajax] deprecate user-callback support
Related to #3567793.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 07 Mar 2014 14:03:44 +0100] rev 9784
EditRelationMixIn: stop using user_rql_callback
Add generic add_relation/delete_relation ajax functions and use those.
Related to #3567793
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 28 May 2014 17:57:40 +0200] rev 9783
[tests/storage] use the new connection api
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 15:10:04 +0200] rev 9782
[tests/security] use the new connection api
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 02 Jun 2014 10:52:45 +0200] rev 9781
[htmlwidgets] Remove unreachable code
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 24 Apr 2014 12:28:46 +0200] rev 9780
Remove redundant __nonzero__ methods
From https://docs.python.org/2/reference/datamodel.html#specialnames :
When this method is not defined, __len__() is called, if it is
defined, and the object is considered true if its result is nonzero.
Also helpful for an eventual migration to py3k, as __nonzero__ has been
replaced with __bool__, which also defaults to looking at __len__ if
undefined.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 23 May 2014 18:12:47 +0200] rev 9779
[etwist] Remove unused host_prefixed_baseurl()
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 23 May 2014 12:26:52 +0200] rev 9778
[basetemplate] Remove misleading comment
The <base> tag was removed in commit 8bf2337a6f3b back in 2011.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 28 May 2014 14:48:09 +0200] rev 9777
[tests/security] break lines > 100 chars
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 14:54:18 +0200] rev 9776
[doc/3.19] Mention [gs]et_shared_data deprecation
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 17:01:11 +0200] rev 9775
[hooks] internal_session -> internal_cnx (including a typo)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 14:26:14 +0200] rev 9774
deprecate get/set_shared_data API
Session or transaction data must be used instead.
We must forward .transaction_data to web/request from
which it was missing (this is indeed a _cw object API).
Closes #3799036.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 14:46:48 +0200] rev 9773
[migration] Stop setting session.data['rebuild-infered']
It's no longer read anywhere since fe267b7336f3 "[migration] always
rebuild infered relation"
Christophe de Vienne <christophe@unlish.com> [Wed, 04 Jun 2014 23:02:06 +0200] rev 9772
Import PIL modules from the PIL namespace to be Pillow-compatible
Closes #3924726
Julien Cristau <julien.cristau@logilab.fr> [Tue, 10 Jun 2014 14:11:59 +0200] rev 9771
merge two stable heads
Julien Cristau <julien.cristau@logilab.fr> [Tue, 10 Jun 2014 09:49:45 +0200] rev 9770
merge 3.18.5 into 3.19 branch
Julien Cristau <julien.cristau@logilab.fr> [Tue, 10 Jun 2014 09:35:26 +0200] rev 9769
merge 3.17.15 into 3.18 branch
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 16 May 2014 17:01:34 +0200] rev 9768
[vreg] fix bad super call to lgc.registry.Registry()
Registry() expects a debugmode parameter, ovbiously not a
cubicweb config object.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 16:15:29 +0200] rev 9767
Added tag cubicweb-version-3.18.5, cubicweb-debian-version-3.18.5-1, cubicweb-centos-version-3.18.5-1 for changeset 5071b69b6b0b
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 05 Jun 2014 16:13:48 +0200] rev 9766
[pkg] prepare 3.18.5
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 17:29:25 +0200] rev 9765
[sobjects] update notifications system to 3.19 api
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Jun 2014 17:56:54 +0200] rev 9764
[connection] set language on new Connection for the internal manager
For regular users this is handled by _set_user, but for internal
connections (e.g. used for notifications) we need something else.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Jun 2014 15:07:41 +0200] rev 9763
Added tag cubicweb-version-3.19.1, cubicweb-debian-version-3.19.1-1, cubicweb-centos-version-3.19.1-1 for changeset 1fe4bc4a8ac8
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Jun 2014 12:52:52 +0200] rev 9762
[pkg] Add missing data files to MANIFEST
Fonts and svg were missing from web/data.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Jun 2014 12:16:20 +0200] rev 9761
[pkg] prepare 3.19.1
David Douard <david.douard@logilab.fr> [Mon, 05 May 2014 11:26:18 +0200] rev 9760
[views] new cubicweb logo (closes #3803681)
- add the new CubicWeb logo
- use it as a css (background-image)
- change the color of the header bar (gradient made with css)
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 09 Apr 2014 15:42:27 +0200] rev 9759
[serverctl] rename 'add-source' to 'source-add' for consistency's sake (closes #3732169)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 12:02:51 +0200] rev 9758
[test/hook] use the new connection API
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 30 May 2014 16:36:56 +0200] rev 9757
[testlib] complete the RepoAccess object (closes #3843614)
It was missing the open_session call.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 22 May 2014 18:29:50 +0200] rev 9756
[debian] version cubicweb-bootstrap Breaks
Apparently 0.6.x is OK with cw 3.19.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 15:58:20 +0200] rev 9755
[wsgi] Delete unused instance_uri and get_full_path methods on CubicWebWsgiRequest
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 15 Apr 2014 11:59:24 +0200] rev 9754
[test] drop unused import
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 18:05:03 +0200] rev 9753
[sobjects] silent 3.19 warnings in sobjects/supervising.py
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 18:30:45 +0200] rev 9752
[test] update entities/test/unittest_wfobjs to cw 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 10 Apr 2014 10:05:20 +0200] rev 9751
[test] Add missing import to fix old yams warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 17:26:57 +0200] rev 9750
[dataimport, migration] silence find_entities / find_one_entity warning
Deprecate associated methods to unify the API
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 17:14:25 +0200] rev 9749
[repo] fix extid2entity to ensure connection's has a cnxset
else we'll call source.doexec, which attempt to access to cnxset.cu, and crash
in some case (eg unittest_cwxmlparser in sobjects/test).
Also, manually switch to 'write' mode to ensure cnxset is not released until
commit/rollback when some entity is inserted.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 17:28:58 +0200] rev 9748
[test] update sobjects/test/unittest_cwxmlparser to cw 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Apr 2014 17:15:25 +0200] rev 9747
[repo] make it clear in internal_cnx that security is disabled
as explained in its docstring. It was previously relying on internal
connection's fake user (InternalManager) for read security and on disabling
security hooks for write security. Using the security_enabled context manager is
more readable and more reliable: while the older implementation works thanks to
the InternalManager associated to the session, custom hooks should rely
on session.[read|write]_security being correctly set. This change also
allows selecting Password attributes in internal connections without
explicitly disabling read security.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 18:23:02 +0200] rev 9746
[datafeed] update datafeed internals to use connection instead of session
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 17:57:58 +0200] rev 9745
[test] update sobjects/test/unittest_notification to cw 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 17:56:00 +0200] rev 9744
[test] simplify setup of sobjects/test/unittest_supervising.py
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 17:54:29 +0200] rev 9743
[test] update sobjects/test/unittest_supervising to cw 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 17:53:58 +0200] rev 9742
[test] update sobjects/test/unittest_email to cw 3.19 api
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 16:00:36 +0200] rev 9741
[wsgi] the spec says wsgi.url_scheme *must* be provided
No need to be defensive, anything else is a bug in the gateway.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 12 May 2014 12:37:19 +0200] rev 9740
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Use the ``rql.suggestions`` component to complete user's input
- readline calls the ``complete`` method with user's input,
- the ``complete`` method asks for each known completers if
it can suggest completions for user's input.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Apr 2014 14:33:40 +0200] rev 9739
[book] avoid '~' in all-in-one.conf, it is not expanded
Closes #3753213
Julien Cristau <julien.cristau@logilab.fr> [Wed, 07 May 2014 09:59:10 +0200] rev 9738
[book] uicfg moved from web to web.views a while ago
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 15:59:39 +0200] rev 9737
[wsgi] look at wsgi.url_scheme to decide if we're on https
The server/gateway is supposed to fill it in for us.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 24 Mar 2014 10:34:58 +0100] rev 9736
[web] Fix HEAD request handling (closes #3677949)
Don't special-case HEAD in CubicWebRequestBase.is_client_cache_valid so
we don't return garbage. HEAD is supposed to return the actual headers
that a GET would return, which we can't do if we bypass all the normal
cubicweb logic. In particular, we no longer always return 200, and
return the right Content-Length/Content-Type/...
Julien Cristau <julien.cristau@logilab.fr> [Fri, 16 May 2014 16:49:29 +0200] rev 9735
[wsgi] avoid reading the entire request body in memory
Import POST form handling code from
https://raw.github.com/defnull/multipart/master/multipart.py to avoid
reading arbitrary amounts of data from the network in memory.
NOTES:
- In the twisted case we limit the max request content-length to 100MB (by
default), which seems kind of arbitrary, but avoids this issue
- werkzeug.formparser has suitable code as well, but I don't know if we want to
add it as a dependency
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 13 May 2014 18:47:52 +0200] rev 9734
Added tag cubicweb-version-3.17.15, cubicweb-debian-version-3.17.15-1, cubicweb-centos-version-3.17.15-1 for changeset ee413076752b
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 13 May 2014 18:16:18 +0200] rev 9733
[pkg] also bump __pkginfo__
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 13 May 2014 17:48:58 +0200] rev 9732
[pkg] prepare 3.17.15
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 13 May 2014 13:12:16 +0200] rev 9731
[cache] fix a cache issue with an entity created without relation cache prefill
Prefilling the relation cache has its benefits sometimes, but for
massive imports it may be a memory hog.
The caches should be kept coherent even if there was no prefill.
Closes #3828155.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Apr 2014 16:12:39 +0200] rev 9730
[web/test] add a test for some http response codes
Related to #3648809
David Douard <david.douard@logilab.fr> [Tue, 06 May 2014 14:11:17 +0200] rev 9729
[views] remove reference to the MAPPING_CHECKERS dict (closes #3810219)
Was removed by by the changeset 65d93a4fd11c
([multi-sources-removal] Drop pyrorql and zmqrql sources)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Mar 2014 17:03:15 +0100] rev 9728
[web/ajax] Always return a json dict with a 'reason' key in case of ajax errors
Sending sometimes a bare unicode string and sometimes a json-encoded
dict seems like a bad idea.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Mar 2014 17:01:58 +0100] rev 9727
[web/ajax] don't override any status code with 500 in ajax_error_handler
If the request produced an error such as Unauthorized or NotFound,
core_handle sets an appropriate status_out. Which is then overridden by
the ajax error handler.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Mar 2014 11:11:28 +0100] rev 9726
[web] Add asserts to the raw header conversion functions
This API is terrible, but at least this might help us catch some errors
in our conversion definitions.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 07 Mar 2014 11:19:24 +0100] rev 9725
[view] Delete dead(?) code from ReloadableMixIn
Nothing seems to ever call user_callback on the Component, only on the
request. Related to #3567793
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Feb 2014 15:06:25 +0100] rev 9724
Add a db-statement-timeout option for postgresql sources
Use that new option to set the statement_timeout option when creating
connections, except for maintenance operations (shell and upgrade).
Closes #2547026
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Apr 2014 14:24:52 +0200] rev 9723
[test] use assertNotIsInstance instead of assert_(not isinstance(...))
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Apr 2014 18:19:37 +0200] rev 9722
[services] register_user now returns the new CWUser
Closes #3804444
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Apr 2014 18:41:34 +0200] rev 9721
[server/session] remove json dumps around call_service
This backouts changeset b151beea9cb6. With call_service being
in-process and synchronous, there's no RPC use case.
Christophe de Vienne <cdevienne@gmail.com> [Wed, 30 Apr 2014 08:07:59 +0200] rev 9720
[req.find] Use vreg.schema.eschema for eschema lookup
If an etype is non-existant, using vreg.schema[etype] raises a confusing error
complaining about a non-existing relation. This is because of the
implementation of vreg.schema.__getitem__ that look first in entities and then
in relations.
Using directly vreg.schema.eschema restrict the lookup to etypes only, hence
raises a meaningful error when the etype does not exist.
Christophe de Vienne <cdevienne@gmail.com> [Wed, 30 Apr 2014 10:13:10 +0200] rev 9719
[doc] Typo
Christophe de Vienne <christophe@unlish.com> [Tue, 07 Jan 2014 15:10:57 +0100] rev 9718
[formfields] Handle 'placeholder' attribute for text and textarea
See #636930.
Closes #3406713.
Alain Begey <alain@unlish.com> [Mon, 14 Apr 2014 23:00:19 +0200] rev 9717
[forms] Add autocomplete attribute for formrenderers
If you set form.autocomplete = False, the form renderer
in the open form tag will add the html option 'autocomplete=off'.
It allows to disable the functionality of some browsers to fill in
some forms automatically (for instance a profile with login/password)
Closes #3747294
Alain Begey <alain@unlish.com> [Fri, 11 Apr 2014 17:43:26 +0200] rev 9716
[widget] Addition of EmailInput
Simple input widget with type = 'email'
Closes #3741921
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Mon, 13 Jan 2014 14:21:28 +0100] rev 9715
close branch
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Apr 2014 18:38:24 +0200] rev 9714
Added tag cubicweb-version-3.19.0, cubicweb-debian-version-3.19.0-1, cubicweb-centos-version-3.19.0-1 for changeset 1141927b8494
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Apr 2014 18:35:35 +0200] rev 9713
[debian] set release date
Katia Saurfelt <katia.saurfelt@logilab.fr> [Mon, 28 Apr 2014 18:11:21 +0200] rev 9712
[entity] add a new `cw_linkable_rql` method
* the new method returns the entities that are or may be related to the
current one by the relation passed as an argument.
Closes #3738011.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 07 Apr 2014 12:03:31 +0200] rev 9711
[schema] fix buggy composite_rdef_roles and associated test
it should only look at rdefs involving the considered entity type.
Closes #3712982
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Apr 2014 17:43:35 +0200] rev 9710
[doc] update 3.19 release notes
Christophe de Vienne <cdevienne@gmail.com> [Mon, 28 Apr 2014 12:41:41 +0200] rev 9709
[login form] Fix BaseLogForm.form_action()
The method implementation was calling super() with the wrong class
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Apr 2014 11:20:26 +0200] rev 9708
[migration] move 'entities' table changes from 3.19.0 to bootstrap script
The 'mtime' and 'source' columns need to go away before we attempt to do
anything else with the repo, otherwise any addition of an entity is
going to explode.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Apr 2014 12:54:14 +0200] rev 9707
[server/session] add missing rollback when freeing a db connection
When we let go of a cnxset and give it back to the pool, we need to make
sure it's not in the middle of a transaction.
We got bitten by a migration where the connection used by admin's
repo.connect was not rolled back before attempting the migration,
causing a deadlock because it had a lock on a table. This could
potentially also be an issue for e.g. hooks or looping tasks that didn't
explicitly rollback before calling free_cnxset or moving out of a
ensure_cnx_set block.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Apr 2014 17:52:20 +0200] rev 9706
[debian] add Breaks on cubicweb-bootstrap
Need to be versioned once we know which version fixes
https://www.cubicweb.org/ticket/3728939
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 08 Apr 2014 16:08:31 +0200] rev 9705
Drop duplicated content in ITreeAdapter docstring
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Apr 2014 13:31:19 +0200] rev 9704
an -> a (misc)
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Apr 2014 12:29:01 +0200] rev 9703
an utf-8 -> a utf-8
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Apr 2014 12:27:37 +0200] rev 9702
an URI -> a URI
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Apr 2014 12:07:00 +0200] rev 9701
an unicode string -> a unicode string
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Apr 2014 11:54:33 +0200] rev 9700
an URL -> a URL
Christophe de Vienne <christophe@unlish.com> [Tue, 01 Apr 2014 13:57:25 +0200] rev 9699
Remove a misleading comment about self.render() behavior.
The former comment suggested that View.render called with 'row' or 'col' would
set cw_row or cw_col, which is not (anymore ?) accurate.
Related to #3696871.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Mar 2014 18:41:23 +0100] rev 9698
[migractions] add sanity check in rename_relation_type
If the relation is still present in the fs schema, we probably shouldn't
be renaming it (because it's still in use somewhere, possibly in a
different cube). Closes #3608172
Vincent Michel <vincent.michel@logilab.fr> [Mon, 07 Apr 2014 08:46:41 +0000] rev 9697
[dataimport] Add safety belt on "gen_rtype" in MetaGenerator, closes #3712892
Some cubes may well add to the META_RTYPES set, hence
crashing the gen_<somecubemeta> call.
Vincent Michel <vincent.michel@logilab.fr> [Mon, 07 Apr 2014 08:44:56 +0000] rev 9696
[dataimport] Correctly serialize datetime objects in _create_copyfrom_buffer, closes #3712885
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 03 Apr 2014 15:36:33 +0200] rev 9695
[dataimport] Prevent ucsvreader from skipping the first line when ignore_errors is True (closes #3705791)
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 03 Apr 2014 15:30:37 +0200] rev 9694
[dataimport] Avoid double unicode decoding in ucsvreader (closes #3705752)
Christophe de Vienne <christophe@unlish.com> [Fri, 25 Apr 2014 12:22:07 +0200] rev 9693
[doc] Document the user_data dictionnary content
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Apr 2014 14:44:58 +0200] rev 9692
[debian] break old cubicweb-vcsfile
We removed call_service's async argument, which it used.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Apr 2014 18:17:42 +0200] rev 9691
[services] catch missing group early in register_user
Better an assertion than a rql syntax error for such a programming error.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Apr 2014 18:16:46 +0200] rev 9690
[services] rename register_user kwargs to cwuserkwargs
They're attributes/relations for the created CWUser, this makes it clearer.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Apr 2014 15:18:04 +0200] rev 9689
[services] don't hardcode 'users' group for register_user
Let the caller choose which group the user should be in. Related to #3020639
Caveat: this is a possible security hole if untrusted values are allowed.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Apr 2014 15:03:24 +0200] rev 9688
[sobjects/test] check that register_user properly sets user name and email address
Related to #3020639
Vladimir Popescu <vladimir.popescu@logilab.fr> [Fri, 19 Jul 2013 17:38:15 +0200] rev 9687
[server] Refactor Repository.register_user into a CubicWeb service (closes #3020639)
[jcr: move commit to the caller; add item in release notes; fix NameErrors]
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Apr 2014 14:25:36 +0200] rev 9686
[migration] set a cnxset before process_script()
Not pretty, but I don't have a better idea right now and this at least
ensures migration scripts get run in the expected environment and can
access sql stuff as before.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 11:04:13 +0200] rev 9685
[server] make internal_cnx get and keep a connection to the db
- internal_session worked that way
- it's less surprising for users if their internal connections "just
work", rather than having to deal with the cnxset when using low-level
APIs
Includes a backout of 3f62606c01a2 "[repo] Fix register_user" which is
no longer needed.
Depend on logilab-database 1.12.1 to avoid errors due to pointless check
in python's sqlite3 binding.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Apr 2014 14:43:11 +0200] rev 9684
[server/session] make commit/rollback obey ensure_cnx_set
Inside the ensure_cnx_set context manager, commit and rollback aren't
allowed to dispose of the cnxset.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 14:05:54 +0200] rev 9683
[repo] fix deprecation messages for stats and gc_stats
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 17:31:50 +0200] rev 9682
[cwconfig] use "foo not in bar" instead of "not foo in bar"
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 15:28:21 +0200] rev 9681
[debian] Add Breaks on a few cubes that need changes for 3.19
- mercurial_server is affected by composite deletion changes
- forgotpwd relied on session data to be forwarded to notification view
- registration hooks into the authentication stack
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 15:03:01 +0200] rev 9680
[hooks] run cascading delete hook later
Applications may have their own before_delete_entity hooks that rely on the
composite relations still existing.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 13:54:31 +0200] rev 9679
[devtools] set PGPORT/PGHOST when calling pg_ctl start
Helps pg_ctl find the socket on squeeze, otherwise it looks in
/var/run/postgresql.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Apr 2014 17:21:07 +0200] rev 9678
[server/test] update to deal with lgdb sqlserver fix
See https://www.logilab.org/ticket/235748
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Apr 2014 10:59:08 +0200] rev 9677
[test] Fix regressions from 96549de9dd70 "[test] use assertIn where appropriate"
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 18:14:45 +0200] rev 9676
[repo] Fix register_user
Make sure we have a connection to the db around user creation.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Apr 2014 18:00:14 +0200] rev 9675
[test] use assertNotIn where appropriate
Automatically generated with:
find -name unittest_*.py -o -name test_*.py | xargs sed -i -e 's/assertFalse(\([^,]*\) in \([^,]*\))/assertNotIn(\1, \2)/'
plus revert of a couple false matches.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Apr 2014 17:39:39 +0200] rev 9674
[test] use assertIn where appropriate
Automatically generated with:
find -name unittest_*.py -o -name test_*.py | xargs sed -i -e 's/assertTrue(\([^,]*\) in \([^,]*\))/assertIn(\1, \2)/'
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 11:25:45 +0200] rev 9673
[doc] Add removal of old multi-sources to 3.19 release notes
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 11:19:59 +0200] rev 9672
[pkg] Bump to 3.19.0
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 10:51:15 +0200] rev 9671
[web/debug] remove code broken by session refactoring
session.cnx and cnx.check() no longer exist.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 10:49:18 +0200] rev 9670
[web/debug] Fix check for open sessions
itervalues returns an iterator, which never evaluates to False.
Regression from 0bb18407c053 "[toward py3k] rewrite dict.keys() and
dict.values() (part of #2711624)".
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 20 Mar 2014 15:42:23 +0100] rev 9669
[cwconfig] Remove useless 'ui-cube' configuration option (closes #3728904)
The mechanism introduced could never actually be used as it brings dependency
loops to the cube graph. Just get rid of it.
This reverts commit 4032499c701e.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 14:28:47 +0200] rev 9668
[test] Use RepoAccess.shell() in unittest_predicates
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 12:03:06 +0200] rev 9667
[devtools] add 'shell' method to RepoAccess, deprecate CubicWebTC's
Lets us control the connection's lifetime.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 14:44:49 +0200] rev 9666
[repo] make extid2eid work with either a session or a connection
The only place it should matter is for restoring pending_operations in
case of failure. Which is not exercised by the test suite. Here be
dragons.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 14:23:01 +0200] rev 9665
[repository]Â extid2eid's 'commit' argument no more necessary
This removes the need for creating an internal session.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 12:46:35 +0200] rev 9664
[repository] complete argument is no more needed since we have no more 'true' multisource.
It is always false.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 12:39:59 +0200] rev 9663
[repository]Â 'session' argument is always given to type[_and_source]_from_eid, make it mandatory and simplify code accordingly
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Apr 2014 14:48:51 +0200] rev 9662
[repository]Â 'session' argument is always given to extid2eid, make it mandatory and simplify code accordingly
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 28 Mar 2014 14:59:33 +0100] rev 9661
[web/data] Remove broken jquery-json plugin (closes #3590335)
Conversion of Date() objects is somehow broken (don't know why beyond that it's
due to jquery-json's monkeypatched Date.toJSON() method).
Use the now-standard JSON.stringify() instead. http://caniuse.com/#feat=json
says it's supported by all browsers, and even IE going back to version 8.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Jan 2014 14:02:21 +0100] rev 9660
Add missing relation types items in schema global variables
Some of these global variables are used, in particular, to control schema
views (web/views/schema.py).
While they are currently not properly documented (see #3360868), their
definition are currently incomplete (e.g. one could reasonably expect to find
``cw_schema`` in ``SYSTEM_RTYPES``).
Closes #3486114.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Mar 2014 16:57:22 +0100] rev 9659
[web] return 403 for Unauthorized, not 401
401 is reserved to HTTP authentication. Just because it's also called
"unauthorized" doesn't mean it's the same as cubicweb's Unauthorized
exception. Closes #3648809.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:55:30 +0200] rev 9658
[test] update unittest_repoapi to 3.19 api (sic)
[jcr: while at it, fix typos and add missing __main__ section]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:55:19 +0200] rev 9657
[test] update unittest_utils to 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:55:11 +0200] rev 9656
[test] update unittest_rset to 3.19 api
[jcr: use self.admin_access instead of creating a new one each time]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:55:03 +0200] rev 9655
[test] update unittest_rqlrewrite to 3.19 api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:54:54 +0200] rev 9654
[test] update unittest_req to 3.19 api
[jcr: use self.admin_access instead of creating a new one each time]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:54:45 +0200] rev 9653
[test] update unittest_predicates to 3.19 api
[jcr: use self.admin_access instead of creating a new one each time]
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 18:35:18 +0200] rev 9652
[web/test] port unittest_reledit to RepoAccess API
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Apr 2014 11:31:39 +0200] rev 9651
[web/test] port unittest_magicsearch to RepoAccess API
request created in setUp makes context manager usage painful, so create
a context manager to do the setup for each test class.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 16:05:54 +0200] rev 9650
[web/test] use real_error_handling context manager instead of open-coding it
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 16:03:19 +0200] rev 9649
[web/test] port unittest_idownloadable to RepoAccess API
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 15:51:29 +0200] rev 9648
[web/test] remove useless calls to self.request() from CORS tests
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 15:47:04 +0200] rev 9647
[web/test] port unittest_formfields to RepoAccess API
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 18:20:23 +0200] rev 9646
[web/test] port unittest_form to RepoAccess API
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 17:44:32 +0200] rev 9645
[web/test] port unittest_facet to RepoAccess API
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 17:03:46 +0200] rev 9644
[web/test] move unittest_controller to RepoAccess test API
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 16:56:26 +0200] rev 9643
[web/test] port unittest_breadcrumbs to 3.19 test api
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 12:44:57 +0200] rev 9642
[web/test] avoid deprecation warnings from find_entities()
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 15:51:01 +0200] rev 9641
[web/test] port unittest_application to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 12:46:06 +0200] rev 9640
[test] silence warnings for unittest_schema by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 12:45:12 +0200] rev 9639
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 13:49:03 +0200] rev 9638
[test] replace some assert{True,False} with more specific method
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 01 Apr 2014 10:26:37 +0200] rev 9637
[test] silence warnings for unittest_entity by upgrading to new 3.19 API
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 18:04:56 +0200] rev 9636
Fix constraint sync during migration
- restore constraints lost during merge in test schema.
- use constraint_by_eid in BeforeDeleteCWConstraintHook as done in
3.17.14 for BeforeDeleteConstrainedByHook. Fixes handling of multiple
constraints of the same type.
- make sync_schema_props_perms() delete the CWConstraint entity instead
of the constrained_by relation. In 3.19, the latter doesn't
automatically result in the former just because the relation is
composite. Simplify the constraint migration to delete all removed
constraints and recreate new ones even if they share the same type; that
optimization made the code more complicated for (AFAICT) no significant
reason.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 17:02:04 +0200] rev 9635
merge 3.18.4 into default
server/test/unittest_migractions fails due to interaction between new
constraint test (from 3.18) and composite deletion change (in 3.19).
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 15:57:47 +0200] rev 9634
Added tag cubicweb-version-3.18.4, cubicweb-debian-version-3.18.4-1, cubicweb-centos-version-3.18.4-1 for changeset 0176da9bc752
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 04 Apr 2014 12:37:39 +0200] rev 9633
[test/data] Add missing 'add' permission on attribute
Silences a warning introduced in 3.18.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 14:15:35 +0200] rev 9632
[hooks/notification] Fix indentation
Follow-up for changeset 1b8552265f3b "[hooks/notification] use a cnx not a
session"
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 18:16:10 +0200] rev 9631
[devtools] deprecate CWTC.user()
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 18:18:11 +0200] rev 9630
minor cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 18:16:28 +0200] rev 9629
some copyright updates
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 18:12:48 +0200] rev 9628
[devtools] properly close open access on tearDown
avoiding further warning about living sessions while the repo is turned off.
The doc string says:
The RepoAccess need to be closed to destroy the associated Session.
TestCase usually take care of this aspect for the user.
but that wasn't true until now.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 19:10:40 +0200] rev 9627
[devtools] make comment (a bit) more readable
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 16:09:09 +0200] rev 9626
[devtools] avoid an internal deprecation warning
websession and session are now one and the same.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 12:38:29 +0200] rev 9625
[server/session] undeprecate session.anonymous_session
It's not connection-specific.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 15:42:25 +0200] rev 9624
[web/sessions] use session.sessionid instead of deprecated session.id
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 03 Apr 2014 18:09:57 +0200] rev 9623
[repo] don't set cnxset when getting the session to close it
and avoid warning about that.
session._cnx.rollback won't do anything if it's not set and a newer connection
is now created to run the session_close hook, so there is not need to set
cnxset.
Notice we have to take care about not trying to rollback the underlying cnx when the
session is not 'session_handled' (i.e. bw compat mode). This case only occurs due
to hackish things to keep bw compat in testlib.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 02 Apr 2014 12:38:02 +0200] rev 9622
[repo] handle connection explicitly when calling session open/close hooks
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:48:34 +0200] rev 9621
[hooks/syncschema] work with connections not sessions
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:48:14 +0200] rev 9620
[server/sources] {before,after}_entity_insertion wants a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:35:15 +0200] rev 9619
[hooks/syncsources] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:34:38 +0200] rev 9618
[hooks/notification] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:33:48 +0200] rev 9617
[hooks/metadata] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:32:49 +0200] rev 9616
[hooks/bookmark] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:32:28 +0200] rev 9615
[hooks/workflow] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:30:35 +0200] rev 9614
[hooks/email] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:29:54 +0200] rev 9613
[hooks/integrity] use a cnx not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:28:12 +0200] rev 9612
[hooks/security] let's use a connection, not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:17:03 +0200] rev 9611
[server/sources/native] deal with connections, not sessions
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 16:12:50 +0200] rev 9610
[server] eschema_eid needs a connection, not a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 15:53:21 +0200] rev 9609
[repository] operations get a connection instead of a session
Left extid2eid unchanged because that function scares the shit out of
me.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 15:52:44 +0200] rev 9608
[server/hook] operations get a connection instead of a session
Julien Cristau <julien.cristau@logilab.fr> [Tue, 01 Apr 2014 15:46:17 +0200] rev 9607
[repository] Use an internal connection in register_user
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 01 Apr 2014 10:28:16 +0200] rev 9606
avoid to internally raise 3.19 warnings
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Apr 2014 12:28:25 +0200] rev 9605
[sources] ensure we have a cnxset in undoable_transactions
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Apr 2014 10:46:53 +0200] rev 9604
[server] move security/integrity hook management away from InternalSession.__init__
and to Repository.internal_{session,cnx} instead. Lets internal_cnx avoid
deprecation warnings.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Apr 2014 17:25:53 +0200] rev 9603
[migration] make 'session' object be a server-side Connection, not ClientConnection
I think this better corresponds to the previous behaviour. However,
that Connection does not have a cnxset, which should probably be changed
(for both interactive_shell and cmd_process_script).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 20 Mar 2014 08:45:52 +0100] rev 9602
[sources] Skip problematic sources when starting shell instead of crashing. Closes #3670208
At least this gives an opportunity to fix the problem in using c-c shell, which
is currently not possible because it crashes during initialization.
Notice that since sources are copy based, it should not be a problem at all to
have some disabled, beside for services such as authentication sources as
ldapfeed.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Apr 2014 17:32:12 +0200] rev 9601
[web] fix language negotiation
Regression caused by commit 6fd0ac6506cb "[web-request] handle default
language earlier". We would handle language negotiation at request
init time, but overwrite the selected language with the site default
when calling set_cnx.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Apr 2014 18:09:46 +0200] rev 9600
[merge] bring the 3.17.14 fixes to 3.18
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Apr 2014 14:46:55 +0200] rev 9599
[test/utils] repair concat-resources test
That was forgotten in 240a620b9cd3.
Related to #3670503.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 31 Mar 2014 19:00:49 +0200] rev 9598
[pkg] bump cubicweb.spec
Vincent Michel <vincent.michel@logilab.fr> [Mon, 31 Mar 2014 11:18:44 +0000] rev 9597
[dataimport] Correctly call rschema(rtype) in SqlGenObjectStore, closes #3694139
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 28 Mar 2014 17:13:38 +0100] rev 9596
[pkg] prepare 3.18.4
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 20 Mar 2014 15:44:59 +0100] rev 9595
[web] Disable 'concat-resources' by default (closes #3670503)
It makes debugging harder and it can actually *break* working JS or CSS files.
This is the first step towards complete removal.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 12 Mar 2014 08:56:31 +0100] rev 9594
[testlib] Drop override of assertItemsEqual method
The override is not compatible with underlying (standard) method because it
builds sets and rely on eid.
Closes #3641111.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 13 Mar 2014 17:32:40 +0100] rev 9593
[rewrite]Â Fix crash when the main variable doesn't appear in the snippet's vargraph
Also, the added test discover another bug once the first has been fixed
(erroneous argument given to .rewrite recursive call).
Closes #3661918
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 13 Mar 2014 15:33:22 +0100] rev 9592
[ext/rest] Catch SystemExit raised by docutils
docutils publisher may raise SystemExit which is not caught by
Exception.
Closes #3648763.
Jérôme Roy <jerome.roy@logilab.fr> [Fri, 14 Mar 2014 15:19:31 +0100] rev 9591
[entity] User-defined relation to skip for copy has precedence
Otherwise permission problems can occur on rtypes not yet skipped
Closes #3653459
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 26 Feb 2014 14:50:13 +0100] rev 9590
Make EditController edit_entity method always return an eid
In cases the entity was to be created or copied, eid was None hence the method
returned None despite the dosctring says the method should always return an
eid. Now if the eid variable is None, it is assigned to the newly created
entity eid.
Closes #3593029.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 26 Mar 2014 11:08:09 +0100] rev 9589
[migration] Improve update of in-memory schema during 3.18 CWAttribute.defaultval change
We weren't updating the schema properly so a bunch of structures still
had the old rdef with 'String' as object. That caused failures to add
new attributes later in the migration as their default value would be a
Binary object but the schema would expect a String.
Closes #3683640
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 27 Mar 2014 14:32:21 +0100] rev 9588
[migration] always rebuild infered relation
This was skipped for some bad reason (see 12ad88615a12 which
introduced the change).
Fix for #231956 in Yams is necessary to allow this cset: during a
migration, we want to always reinfer relations while allowing explicit
redefinition of an infered relation later. Else, we may run the
migration with missing parts of the schema (the one that should have
been infered).
Closes #3685463.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 24 Mar 2014 16:29:18 +0100] rev 9587
Backout "[web/navigation] use add_onload instead of inline javascript href"
This reverts changeset 170e1437948d, for at least two reasons: the
PageNavigationSelect component was not updated for the new type of
navigation links, and external cubes defining View.page_navigation_url
exist in the wild and also got broken navigation links. This reopens
#3501626 and closes #3677945.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 14 Mar 2014 10:51:05 +0100] rev 9586
[test] those are rql tests, not cubicweb (and they break with rql 0.31.5). Remove them.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Mar 2014 18:14:22 +0100] rev 9585
[source/native] allow many eid creation per .create_eid call (closes #3526594)
[jcr: move migration code to bootstrapmigration_repository.py to make
sure we stop using the old sequence ASAP]
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 06 Feb 2014 19:04:03 +0100] rev 9584
[pkg] bump the dependency on logilab.database
This will allow use of an extended API.
Related to #3526594.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 10 Mar 2014 15:55:56 +0100] rev 9583
[source/native] refactor eid generation code
This set of related methods clutters the native source API.
It will be better served with a dedicated eid genrator object.
Related to #3526594.
[jcr: allocate the eid generator in __init__]
Julien Cristau <julien.cristau@logilab.fr> [Mon, 24 Mar 2014 11:57:23 +0100] rev 9582
Move entity cache from web.request.ConnectionCubicWebRequestBase to repoapi.ClientConnection
ResultSet._build_entity relies on an entity cache to avoid going round in
circles (stack overflow due to infinite recursion) e.g. in a postcreate script.
Clear the cache at commit/rollback time to avoid unexpected side
effects; and explicitly clear the cache in a few tests where we mix ORM
and RQL using the same connection.
Laura Médioni <laura.medioni@logilab.fr> [Mon, 24 Mar 2014 16:38:57 +0100] rev 9581
[server] Fix AttributeError in extid2eid
Session._tx was renamed in cb87e831c183, use _cnx instead.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 11 Mar 2014 15:56:05 +0100] rev 9580
[book] Update documentation for new repoapi
Quite a few things change in 3.19:
- repoapi instead of dbapi
- ClientConnection / Connection / Session rework
- web authentication process
- test APIs
Closes #3638793
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Mar 2014 11:18:15 +0100] rev 9579
[utils] the json module is always available
It's included since python 2.6, and we don't support earlier versions.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Mar 2014 12:15:20 +0100] rev 9578
[fti] properly close the ProgressBar
Ensures cubicweb-ctl db-rebuild-fti ends its output with a newline.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Mar 2014 12:13:14 +0100] rev 9577
[serverctl] use repoapi for db-check, add-source, rebuild-fti commands
One more step towards getting rid of dbapi.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 12:35:37 +0100] rev 9576
[devtools] make get_repo_and_cnx return a repoapi ClientConnection
And adjust callers accordingly (they need to use it as a context manager to
open/close it properly).
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 11:22:20 +0100] rev 9575
[repoapi] Avoid deprecation warnings from session.id
Apparently it's called session.sessionid now.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 18 Feb 2014 15:26:22 +0100] rev 9574
[server] some s/session/cnx/
For merely accessing the database we need a connection, not a session.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 16:58:14 +0100] rev 9573
Move setting session.mtime from dbapi to web session manager
clean_session was broken since the switch away from dbapi on the web
side, since session.mtime wasn't being set anywhere.
David Douard <david.douard@logilab.fr> [Thu, 13 Mar 2014 17:01:13 +0100] rev 9572
[web] whitespace cleanup in http_headers.py
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 14 Mar 2014 11:20:53 +0100] rev 9571
[web] implement cross origin resource sharing (CORS) (closes #2491768)
Partial implementation that is enough to get started but leaves out
some of the advanced features like caching and non-simple methods
and headers.
David Douard <david.douard@logilab.fr> [Wed, 12 Mar 2014 16:02:44 +0100] rev 9570
[devtools] add a 'method' argument to RepoAccess.web_request
so that one can easily forge a request with any HTTP method.
Also a bunch of clone cleanups.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Mar 2014 11:38:14 +0100] rev 9569
[web] Fix handling of some http headers
The generator takes as argument a list of raw string values, and is
supposed to return the parsed version. Calling str on that list makes
no sense.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 10 Mar 2014 17:54:02 +0100] rev 9568
[web/request] deprecate user_callback
Storing closures in session data considered harmful. Closes #3567793
Julien Cristau <julien.cristau@logilab.fr> [Fri, 07 Mar 2014 10:27:14 +0100] rev 9567
[doc] undocument user_callback
Related to #3567793
Florent Cayré <florent.cayre@logilab.fr> [Wed, 12 Mar 2014 14:08:51 +0100] rev 9566
Added tag cubicweb-centos-version-3.17.14-1, cubicweb-version-3.17.14, cubicweb-debian-version-3.17.14-1 for changeset fa00fc251d57
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 10 Mar 2014 15:17:50 +0100] rev 9565
[migractions] Better handle removal of RQLConstraint in sync_schema
In rdef synchronisation, filter unmodified constraints before processing the
sets of old and new constraints.
Add a new `constraint_by_eid` method on RelationDefinitionSchema, which
eliminates the ambiguity of `constraint_by_type` usage when several
constraints of the same type are involved in the same migration.
Closes #3633644.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 10 Mar 2014 16:07:41 +0100] rev 9564
[test] when the config change, we should cleanup sys.path and sys.modules. Closes #3634164
Without this, modules imported within instance home will be messed up.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Mar 2014 13:59:24 +0100] rev 9563
[wsgi] make sure request.content is available for consumption
The wsgi.input stream is not seekable, so make a copy either to memory
or disk so it's still available to the user even after we've parsed it
(for POST form processing). Closes #3554996
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 29 Jan 2014 10:57:10 +0100] rev 9562
[facet] create a RangeRQLPathFacet (closes #2852512)
This facet is a mix between a RQLPathFacet and a RangeFacet, allowing
to use the FacetRangeWidget on the RQLPathFacet target attribute
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 31 Oct 2013 16:12:37 +0100] rev 9561
[request] Make sure set_message() actually displays its given message (closes #3003425)
The default automatic form sets a standard submit message as session
data. However in some cases, such as the cancellation of a form edition,
another message is intended to be printed on-screen.
This patch makes sure that set_message() really scrubs all previous
messages (and ids) from the request object and from the session data.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 05 Mar 2014 15:49:23 +0100] rev 9560
[pkg] prepare 3.17.14
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 27 Feb 2014 18:10:29 +0100] rev 9559
[hooks/syncschema] do not crash on double removal of a constraint
Some complicated migrations may entail a double constraint removal.
It is not yet known whether this is a genuine cw bug or the result
of a complicated migration story, but we should nevertheless
not crash.
Rather, emit a CRITICAL warning and proceed.
Closes #3595309.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 19 Feb 2014 11:01:19 +0100] rev 9558
[doc/book] Fix typo in import
Julien Cristau <julien.cristau@logilab.fr> [Tue, 18 Feb 2014 13:54:08 +0100] rev 9557
[server/session] fix a couple typos in doc strings
Julien Cristau <julien.cristau@logilab.fr> [Tue, 18 Feb 2014 17:58:45 +0100] rev 9556
[server/migractions] finish migration to repoapi objects
Changeset 241b1232ed7f (Use repoapi instead of dbapi for cwctl shell,
upgrade and db-init) only did half of the job. It left the migration
handler with both a session (cubicweb.server.session.Session) and a cnx
(cubicweb.repoapi.ClientConnection) attribute with different ideas of
what Connection they were talking to.
With this change, we:
- make the caller responsible of disabling security on the Connection if
it wants to
- turn mih.session into an actual attribute, set on __init__
- same for cnx (the client connection)
- drop the "lazy connection" logic, and establish the connection
up-front
- always go through the connection instead of the session when we need
to talk to the db
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 10:44:45 +0100] rev 9555
[server] use the ClientConnection directly now that it has more methods available
Gets rid of ugly self.cnx._cnx.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 18 Feb 2014 17:29:34 +0100] rev 9554
[repoapi] add security/hook control and system_sql
Just redirect these methods to the repo-side Connection.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 15:22:21 +0100] rev 9553
[predicates] fix thinko in doc strings
Replace "e.g." with more appropriate "i.e.". These are not examples.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 14:10:53 +0100] rev 9552
[web/basecomponents] remove EtypeRestrictionComponent
Closes #3119951
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Fri, 14 Feb 2014 12:03:20 +0100] rev 9551
[ldapparser, book] document additional error causes
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 14:39:55 +0100] rev 9550
[js] remove leftover dead code in loadxhtml
form.callback support was removed in changeset 68cde7431c2c, but some
signs of it remained.
Damien Garaud <damien.garaud@logilab.fr> [Tue, 04 Mar 2014 18:28:46 +0100] rev 9549
[web] Avoid using an empty dict as default parameter of 'CubicWebRequestBase'.
Also update the related docstring of the __init__ method.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 21 Jan 2014 18:30:16 +0100] rev 9548
[schema] fix composite deletion handling
Do not delete component entities if the composite is not deleted in
the same transaction.
Deletion semantics are thus: if the composite is deleted, the
components are deleted.
Closes #3463112.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 24 Jan 2014 13:08:53 +0100] rev 9547
[schema] add composite handling helpers on EntitySchema (related to #3463112)
These will help write predicates, hooks, etc.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 15:01:23 +0100] rev 9546
[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
Julien Cristau <julien.cristau@logilab.fr> [Tue, 04 Mar 2014 12:02:11 +0100] rev 9545
[i18n] update
de: 1065 translated messages, 1 fuzzy translation, 259 untranslated messages.
en: 656 translated messages, 669 untranslated messages.
es: 1325 translated messages.
fr: 1314 translated messages, 11 untranslated messages.
Celso FLORES <celso.flores@crealibre.com> [Tue, 04 Mar 2014 12:04:04 +0100] rev 9544
[i18n] es.po updated
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 15:32:50 +0100] rev 9543
merge 3.18.x in 3.19 branch
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 11:13:27 +0100] rev 9542
3.18 is stable
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Feb 2014 11:07:38 +0100] rev 9541
[schema] explicitly declare 'add' permissions for a couple attributes
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 14 Feb 2014 17:52:49 +0100] rev 9540
Added tag cubicweb-version-3.17.13, cubicweb-debian-version-3.17.13-1, cubicweb-centos-version-3.17.13-1 for changeset 09b4ebb9b0f1
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 17:07:25 +0100] rev 9539
Added tag cubicweb-version-3.18.3, cubicweb-debian-version-3.18.3-1, cubicweb-centos-version-3.18.3-1 for changeset afd21fea201a
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 17:06:59 +0100] rev 9538
Update translations
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 16:23:46 +0100] rev 9537
[pkg] prepare 3.18.3
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 16:10:36 +0100] rev 9536
merge 3.17.13
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Fri, 14 Feb 2014 15:42:25 +0100] rev 9535
[ldapfeed] fix encode error during initial user import
Closes #3539196.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 12 Feb 2014 17:32:49 +0100] rev 9534
[web/data] Ignore disabled widgets in cw.utils.formContents() (closes #3544492)
17.12.1 Disabled controls : http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.12.1
When set, the disabled attribute has the following effects on an element:
* Disabled controls do not receive focus.
* Disabled controls are skipped in tabbing navigation.
* Disabled controls cannot be successful.
The third one is the important one.
17.13.2 Successful controls : http://www.w3.org/TR/REC-html40/interact/forms.html#successful-controls
A successful control is "valid" for submission. Every successful control has
its control name paired with its current value as part of the submitted form
data set.
Bottom line, disable widgets should not be part of the names and values lists returned by formContents().
Damien Garaud <damien.garaud@logilab.fr> [Fri, 14 Feb 2014 15:22:56 +0100] rev 9533
[etwist] Fix an empty request content after a Twisted processing (closes #3546795).
The content of a POST request could be empty when the Twisted server is used.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Feb 2014 16:50:55 +0100] rev 9532
[web/data] remove images that aren't used anywhere
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Feb 2014 16:51:22 +0100] rev 9531
[web/data] Add missing images from jquery-ui 1.10.3
Closes #3175933
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 14:06:56 +0100] rev 9530
[web/navigation] use add_onload instead of inline javascript href
This way our javascript code isn't thrown out by the html cleaner e.g. when
using the rql rest directive and a table view.
To make things simpler, we now always use ajax URLs for navigation,
even when we would previously have used regular links.
Closes #3501626
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Feb 2014 14:46:25 +0100] rev 9529
[web/data] fix treeview regression (closes #3526466)
Changeset 68cde7431c2c "[js] remove 3.9 bw compat (where apparently
unused)" removed the use of form.callback from loadxhtml, which treeview
relied on. Update to add a callback on the loadxhtml return value
instead.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 14 Feb 2014 10:39:16 +0100] rev 9528
backout 8f3e963501e2, which is not ready yet
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 19:29:20 +0100] rev 9527
[pkg] also bump it there
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 10 Feb 2014 18:00:26 +0100] rev 9526
[pkg] prepare 3.17.13
Julien Cristau <julien.cristau@logilab.fr> [Tue, 11 Feb 2014 13:50:29 +0100] rev 9525
[navigation] use add_onload instead of inline javascript href
This way our javascript code isn't thrown out by the html cleaner e.g. when
using the rql rest directive and a table view.
Closes #3501626
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Feb 2014 15:50:36 +0100] rev 9524
[uilib] allow canvas tags in the html cleaner
Used by the iprogress cube. Closes #3524254.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Feb 2014 16:34:21 +0100] rev 9523
[ajax] use a custom tag to handle dynamically loaded js
Using <pre class="script"> makes it trivial for a malicious user to
inject arbitrary javascript into a html or rest text element (because it
looks innocent to the html sanitizer). Using a custom tag we can be
sure that it actually comes from our code and not from untrusted user
data. IE ignores custom tags, though, so we put it in its own namespace.
https://extranet.logilab.fr/1530578
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 03 Feb 2014 19:07:58 +0100] rev 9522
[dataimport] fix comment
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 12 Feb 2014 18:15:32 +0100] rev 9521
[hooks/security, devtools/fill] silence yams 0.38.0 warnings
Florent Cayré <florent.cayre@logilab.fr> [Mon, 03 Feb 2014 16:30:07 +0100] rev 9520
Drop 3.13 incomplete backward compat in edit controller.
It is very old and broken (there is another non-backward-copmpatible
usage of `_cw_entity_fields`), better to remove it instead of fixing.
Closes #3515223.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 10 Feb 2014 16:06:16 +0100] rev 9519
[devtools] force locale to C for postgresql test clusters
Avoids initdb failure with e.g. iso8859-X locale and utf-8 encoding.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 20 Dec 2013 08:39:03 +0100] rev 9518
[rql2sql]Â remove special behaviour of symmetric relation vs DISTINCT
0542a85fe667 replacing SQL OR by hooks for symmetric relations allows that.
This involve a single test value change for a border case: when querying a
symmetric relation without specifying the subject nor the object, you may get
some duplicated result. IMO this is fine to let the user explicitly use DISTINCT
or not and to remove the dedicated handling we had which didn't let any choice.
Related to #3259713
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 11 Feb 2014 11:03:01 +0100] rev 9517
Typo in comments and error messages
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 13 Feb 2014 15:11:07 +0100] rev 9516
Fix typo in a setup.py comment
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 13 Feb 2014 15:09:30 +0100] rev 9515
[dataimport, migration] more fixes in the spirit of a6c32edabc8d:
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Closes #3390388
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Feb 2014 15:04:57 +0100] rev 9514
[doc] Fix typo in devrepo/fti
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Feb 2014 11:23:58 +0100] rev 9513
[doc/3.19] Clarify repoapi.get_repository usage
Followup for 9a62c52d167e.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 13:43:42 +0100] rev 9512
[server] use a connection instead of a session for user authentication
Julien Cristau <julien.cristau@logilab.fr> [Tue, 11 Feb 2014 17:29:58 +0100] rev 9511
Use repoapi instead of dbapi for cwctl shell, upgrade and db-init
Hopefully nobody uses dbapi-specific API in their migration scripts. I
guess we'll find out.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jan 2014 16:07:06 +0100] rev 9510
[server/repo] use internal_cnx in init_sources_from_database
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:25:05 +0100] rev 9509
[server/session] avoid spurious warnings from Session.close
Add internal non-noisy _rollback method.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:29:49 +0100] rev 9508
[server] rename session to cnx in querier and plan
They don't actually need a session, so let's make that clear.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:55:21 +0100] rev 9507
[repo] Use a connection instead of a session for repo.stats()
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:55:48 +0100] rev 9506
[repo] Use a connection instead of a session for repo.gc_stats()
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:56:44 +0100] rev 9505
[repo] Use a connection instead of a session for repo.get_versions()
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 15:52:22 +0100] rev 9504
[webconfig] get_repository moved to repoapi
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 16:48:39 +0100] rev 9503
[schemaserial] Replace 'cursor' with 'cnx'
We don't have cursors in rql, since execute is synchronous.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Mon, 03 Feb 2014 09:38:39 +0100] rev 9502
[book] basic documentation for LDAPfeed
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 16:03:42 +0100] rev 9501
[testlib] Use session.sessionid instead of deprecated session.id
Julien Cristau <julien.cristau@logilab.fr> [Fri, 07 Feb 2014 17:03:11 +0100] rev 9500
Add data/pgdb to hgignore patterns
PostgresTestDataBaseHandler uses it as datadir.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jan 2014 14:01:03 +0100] rev 9499
[test] make unittest_postgres pass
Use PostgresApptestConfiguration which starts a postgresql cluster
locally for the duration of the test.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jan 2014 15:03:53 +0100] rev 9498
[devtools] make PostgresTestDataBaseHandler start its own postgresql
Don't depend on postgresql already running on the system, or on a static
config.
To use this, set the configcls attribute of your CubicWebTC-derived test
class to PostgresApptestConfiguration.
Caveats:
- this won't work with several tests running concurrently from the
same directory, since each would start its own cluster with a shared
data directory and stomp on each other's toes
- you need initdb/pg_ctl in $PATH, e.g /usr/lib/postgresql/$version/bin
on Debian/Ubuntu systems.
Closes #3489631
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Feb 2014 09:23:36 +0100] rev 9497
[web/staticcontrollers] create a unique temporary file for concat handling
Predictable names means different processes can race against each other.
Let's avoid that and use mkstemp to get a real unique temporary file,
and atomically rename it when we're done.
Closes #3524182
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:50:19 +0100] rev 9496
[server/repo] Use session.sessionid instead of session.id
Silences deprecation warning.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 16:19:13 +0100] rev 9495
[server/session] use _free_cnxset instead of free_cnxset to avoid warnings
No need to make DeprecationWarning noise for something the user doesn't
have any control over.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jan 2014 15:29:23 +0100] rev 9494
[server] Use internal_cnx instead of internal_session in init_repository
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 16:33:32 +0100] rev 9493
[server/session] session.id → session.sessionid
The former causes deprecation warnings.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 04 Feb 2014 15:29:29 +0100] rev 9492
English typography
Get rid of extra space before `!' and `?'
Julien Cristau <julien.cristau@logilab.fr> [Mon, 03 Feb 2014 19:00:52 +0100] rev 9491
[repo] restore python 2.6 compatibility
Broken in 12dfce15c8ea.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jan 2014 18:24:29 +0100] rev 9490
[server] use internal_cnx instead of internal_session in deserialize_schema
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jan 2014 18:40:19 +0100] rev 9489
[server/schemaserial] rename cursor argument to cnx
cursor is a sql concept it has no meaning for rql.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 15:57:48 +0100] rev 9488
[repo] Use a connection instead of a session in Repository.properties()
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 16:00:29 +0100] rev 9487
[server/sources] replace references to dbapi with repoapi
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 16:45:05 +0100] rev 9486
[doc/3.19] Make repoapi description match code
Julien Cristau <julien.cristau@logilab.fr> [Mon, 03 Feb 2014 18:19:26 +0100] rev 9485
[serverctl] remove broken schema-sync command
As far as I can tell the migration handler hasn't had a
cmd_synchronize_schema method since cubicweb 3.2.0.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 30 Jan 2014 18:04:59 +0100] rev 9484
[server/session] Fix docstring typo for InternalSession
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Fri, 24 Jan 2014 15:32:53 +0100] rev 9483
[book] typo
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jan 2014 13:45:03 +0100] rev 9482
[server] fix TypeErrors
With multisource gone, cnxset.reconnect() doesn't take a source
argument. Broken since d62e13eba033.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Dec 2013 11:50:46 +0100] rev 9481
[notification] use an InternalManager object for notifications if we have an (email, lang) tuple
The non-uniform handling of CWUser vs (email, lang) tuple has caused too
many bugs; this change mostly unifies the two code paths. Closes #3381521
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Dec 2013 11:50:31 +0100] rev 9480
[req] if a user has a None property, fall back to the default
This can happen for InternalManager; the normal CWUser implementation of
property_value already has a similar fallback. Related to #3381521
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Dec 2013 11:50:12 +0100] rev 9479
[server] Allow setting an InternalManager's preferred language
Related to #3381521
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jan 2014 16:19:49 +0100] rev 9478
merge 3.18.2 into 3.19 branch
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Jan 2014 10:53:24 +0100] rev 9477
[migration/3.18] protect against attributes in db missing from fsschema
Happens if a previous migration forgot a drop_attribute.
Closes #3471609
Arthur Lutz <arthur.lutz@logilab.fr> [Tue, 21 Jan 2014 18:39:32 +0100] rev 9476
[doc] Update copyright date to 2014 (closes #3463136)
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jan 2014 10:04:56 +0100] rev 9475
[repoapi] Fix typos in doc strings and comments
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 17 Dec 2013 13:43:56 +0100] rev 9474
[cwxml parser] minor pylint fixes
Julien Cristau <julien.cristau@logilab.fr> [Tue, 14 Jan 2014 17:30:02 +0100] rev 9473
[devtools] make CubicWebTC.login as admin undo previous logins
Fixes things when login is not used as a context manager.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 14 Jan 2014 17:30:13 +0100] rev 9472
[devtools] fix self.session._cnx vs self.cnx._cnx confusion after self.login
Make sure the client connection and the session refer to the same server
connection.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 23 Jan 2014 18:26:16 +0100] rev 9471
[devtools] _orig_cnx does not exist any more (missing change)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 06 Jan 2014 17:25:55 +0100] rev 9470
[c-c schema] option to show single etype (closes #3404831)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 23 Jan 2014 13:47:28 +0100] rev 9469
[multi-sources-removal] Drop entities.source column
Since we remove federated multi-sources support, the same value ('system')
is always stored in this column and so could be removed. Also, cleanup
repository caches and a few api where the very same useless information could
be removed.
Closes #2919300, at last
[jcr: restore sanity check of etype against schema in checkintegrity.has_eid]
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Jan 2014 12:32:16 +0100] rev 9468
[repo] pylint cleanup, mainly of imports, with a bit of style
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 01 Jul 2013 16:13:17 +0200] rev 9467
[multi-sources-removal] Drop no more used federated ('true') multi-sources related code
Related to #2919300 (almost done!)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 22 Jan 2014 15:50:03 +0100] rev 9466
[multi-sources-removal] Turn ConnectionsSet into simpler ConnectionWrapper
also, SqliteConnectionWrapper becomes a subclass. This is allowed since
now ConnectionsSet responsability has been reduced to handling the system
source only.
This changeset also:
* drops useless cnxset_set / check_connection api
* deprecates former .source / .connection / container api
but it renames neither the session's cnxset attribute, nor the related
repository method.
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 27 Jun 2013 09:18:39 +0200] rev 9465
[multi-sources-removal] Drop cnxset_freed from source interface
Though a hack is still needed when using sqlite
Related to #2919300
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Jan 2014 15:35:13 +0100] rev 9464
[cnxset] add backwards compat for cnxset.source_cnxs
It's used at least in a vcsfile migration script.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 22 Jan 2014 15:49:32 +0100] rev 9463
[multi-sources-removal] Simplify ConnectionsSet internal structures and public methods
since it now handles a connection to the system source only
Related to #2919300
[jcr: adjust 3.17.11 migration, fix a number of bugs in new
ConnectionsSet implementation, fix
source.{open,close}_source_connections]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 27 Jun 2013 08:52:15 +0200] rev 9462
[ldap] simplify connection handling
since we deleted ldapuser source, we don't need anymore the get_connection and
ConnectionWrapper stuff (that was used to put the ldap connection into the cnxset).
Also, we should simply let connection errors propagate so this is properly reported
to import logs.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 27 Jun 2013 08:46:16 +0200] rev 9461
[ldap] merge cw.server.ldaputils back into ldapfeed source
we don't need separated modules since ldapuser source has been removed
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Jul 2013 17:07:34 +0200] rev 9460
[config] cleanup/refactor server sources file values handling
* kill former `sources` method, misnamed since we've only the system source
configuration in the sources file (and some default admin account information)
* introduce new system_source_config and default_admin_config properties to
access to the two information in this file
Then use one or the other when appropriate
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Jan 2014 12:14:56 +0100] rev 9459
[repoapi] drop get_option_value's foreid argument
repoapi was introduced in 3.19, so no need to introduce legacy
deprecated stuff at the same time.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 17:53:44 +0200] rev 9458
[multi-sources-removal] Drop foreid argument of repo.get_option_value
It doesn't need it anymore.
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 16:17:17 +0200] rev 9457
[c-c restore] drop useless restore-all option, and related systemonly argument
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 16:01:59 +0200] rev 9456
[multi-sources-removal]Â Kill repo.sources
there is only the system source in there now!
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 16:18:20 +0200] rev 9455
[multi-sources-removal]Â Drop no more necessary scleanup (source cleanup) argument
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 22 Jan 2014 10:39:57 +0100] rev 9454
[multi-sources-removal] drop source location search on glob_*[entity|relation] methods
source is now always the system source
Related to #2919300
[jcr: fix wrong rebase in symmetric relation removal]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 16:19:47 +0200] rev 9453
[server test]Â simplify data-schemaserial test instance's schema
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 22 Jan 2014 10:19:30 +0100] rev 9452
[multi-sources-removal] Drop (dont_)cross relation related code
That was only needed for now deleted 'true' multisources.
Related to #2919300
[jcr: also remove it from server/test/data-schemaserial/schema.py]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 17 Jun 2013 00:15:51 +0200] rev 9451
[multi-sources-removal] Simplify repo.delete_info_multi arguments, uri is no more used
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 21 Jan 2014 18:20:28 +0100] rev 9450
[multi-sources-removal] Drop deleted_entities system table and entities.mtime column
since they were only used by the entities_modified_since api of the
repository which has been dropped. Along with them, the multi-sources-etypes
configuration variable and some sql queries at modification/deletion time of
entities. Bon vent !
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 17 Jun 2013 00:07:35 +0200] rev 9449
[multi-sources-removal] drop repository entities_modified_since public api
actually only used by pyrorql/zmqrql sources which have been dropped.
This will allow to drop a bunch of system meta-data (eg deleted_entities)
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 21 Jan 2014 18:11:30 +0100] rev 9448
[multi-sources-removal] Drop the "true" multi-sources planner
Only keep copy-based sources. This will soon allow for greater code
simplification.
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 27 Jun 2013 08:30:46 +0200] rev 9447
[multi-sources-removal]Â Drop cw.server.sources.extlite
no more used for a while, beside an utility class
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Sun, 16 Jun 2013 23:36:06 +0200] rev 9446
[multi-sources-removal] Move cw.server.sources.ConnectionWrapper where it belongs
It's only used by the ldap utilities.
Related to #2919300
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 21 Jan 2014 17:34:31 +0100] rev 9445
[multi-sources-removal] Drop pyrorql and zmqrql sources
After a few years experementing "true" multi-sources, we're now
moving to "copy-based" source à la datafeed.
As pyro and zmq sources have no more known customers and the related
code is in the way of future refactoring of cubicweb's core, we decided
to drop support for those sources without backward compatibility.
If you're still using a zmqrql or pyrorql source and you want to upgrade,
ask support to move it to datafeed using a pre-3.19 version first.
Related to #2919300 (first step)
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Jan 2014 17:14:05 +0100] rev 9444
[web/formfields] Make CompoundField inherit needs_multipart from its subfields
If there's a FileField within a CompoundField, the latter will not have
the enctype multipart set, even though the FileField needs it.
CompoundField should inspect its children fields to determine whether it
needs multipart.
Closes #3406930.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 15 Jan 2014 12:34:41 +0100] rev 9443
[wsgi/handler] fix api change from 3.18
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 21 Jan 2014 17:01:33 +0100] rev 9442
[req] deprecate get_cache (closes #3181499)
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jan 2014 16:42:34 +0100] rev 9441
Added tag cubicweb-version-3.18.2, cubicweb-debian-version-3.18.2-1, cubicweb-centos-version-3.18.2-1 for changeset 6880674c1a26
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jan 2014 15:11:16 +0100] rev 9440
merge 3.17.12 into 3.18 branch
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Sep 2013 18:04:05 +0200] rev 9439
[editcontroller] fix cardinality computation (closes #3120495)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 21 Jan 2014 14:56:06 +0100] rev 9438
Added tag cubicweb-version-3.17.12, cubicweb-debian-version-3.17.12-1, cubicweb-centos-version-3.17.12-1 for changeset 838d58a30f7e
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jan 2014 14:00:26 +0100] rev 9437
[debian] move yams max version to Depends
And fix a syntax error and wrong package name in the process.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 21 Jan 2014 13:12:36 +0100] rev 9436
[pkg] prepare 3.17.12
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 17 Jan 2014 16:09:39 +0100] rev 9435
[web] Fix typo in docstring
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 20 Jan 2014 09:13:12 +0100] rev 9434
[test] remove custom implementation of FakeRequest.header_accept_language() (closes #3375021)
``Accept-Language`` should be overridable just as any other request header.
Default value is "nothing" since the application should be able the empty
header case.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 13 Jan 2014 15:27:35 +0100] rev 9433
[adapters] fix a name stomping error (entity)
Also give proper name to subject (role, not target),
and kill unused variable.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 13 Jan 2014 15:17:11 +0100] rev 9432
[entities] unconditionnally sanitize the html output of printable_value
Closes jpl##49466
Christophe de Vienne <cdevienne@gmail.com> [Sat, 14 Dec 2013 14:29:37 +0100] rev 9431
[doc] Update the debian stable name to wheezy
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 07 Jan 2014 09:04:23 +0100] rev 9430
[i18n] Fix two typos
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 19 Dec 2013 11:55:00 +0100] rev 9429
fix deprecation info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 17 Jan 2014 09:07:20 +0100] rev 9428
[web error] exception may not have a 'status' attribute, generating an AttributeError that hides the original error. Closes #3381670
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 17 Jan 2014 09:06:40 +0100] rev 9427
[test api] extract a context manager to temporarily disable app.error_handler monkey patch
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 02 Jan 2014 18:30:31 +0100] rev 9426
[views/workflow/tmppng] fix console crash on nth call to this one-shot view
The underlying design issue is not addressed here, only a cosmetic and
"we understand and document what's happening" note.
Related to #3400448.
Vincent Michel <vincent.michel@logilab.fr> [Tue, 10 Dec 2013 11:44:06 +0000] rev 9425
[dataimport] The subjtype should be the subject of a relation, not the object, closes #3365113
Julien Cristau <julien.cristau@logilab.fr> [Wed, 15 Jan 2014 14:21:47 +0100] rev 9424
[testlib] Fix assertMessageEqual
assertEqual(msg, msg) had a hard time failing.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 06 Jan 2014 13:45:47 +0100] rev 9423
[doc] Pass field to value callback in FieldsForm example
This avoids a deprecation warning when following the documentation.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jan 2014 12:34:14 +0100] rev 9422
[pkg] prepare 3.18.2
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jan 2014 11:57:02 +0100] rev 9421
[migractions] Don't silently ignore errors when installing sql procedures
If we're going to ignore errors, at least be loud about it.
sqlexec already wraps the sql execution in a try/except block, so we
were never going to catch any exceptions in the caller. Check the
return value instead. Closes #3459618.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 21 Jan 2014 10:20:49 +0100] rev 9420
[schema] execute the new stored procs/funcs at migration time (closes #3450368)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 17 Jan 2014 17:30:57 +0100] rev 9419
[schema/stored procs] fix syntax error (closes #3450362)
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jan 2014 10:01:48 +0100] rev 9418
Added tag cubicweb-version-3.18.1, cubicweb-debian-version-3.18.1-1, cubicweb-centos-version-3.18.1-1 for changeset 60322cb8636c
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jan 2014 09:35:53 +0100] rev 9417
[web/data] Update fullcalendar to version 1.6.4
Fixes compat with jquery 1.10 (closes #3445689)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 16 Jan 2014 15:10:54 +0100] rev 9416
[debian] declare breaks on cubicweb-invoice (closes #3444985)
It tries to access a 'state' attribute on an entity without going
through the IWorkflowable adapter.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 14 Jan 2014 11:14:41 +0100] rev 9415
[hooks/security] silence yams warning (closes #3440707)
If the rdef is not final, yams will complain.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 16 Jan 2014 14:19:04 +0100] rev 9414
[migration/3.18] recover from bad CWSource.in_synchronization default value
The addition of this attribute in 3.13.8 had default=False, which made
no sense, and was fixed in 3.13.9. However no migration was done so
apps that ever saw the 3.13.8 code could still have '' as defaultval for
this attribute.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 16 Jan 2014 11:54:06 +0100] rev 9413
[pkg] prepare 3.18.1
Julien Cristau <julien.cristau@logilab.fr> [Thu, 16 Jan 2014 13:50:26 +0100] rev 9412
[security] Add comment to check_entity_attributes shortcut
Make it clear that it is only an optimization.
Related to #3444095.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 16 Jan 2014 12:21:05 +0100] rev 9411
Disable security hooks for internal sessions
Fixes semantic change introduced in 96dba2efd16d where internal sessions
started to check attribute permissions.
Closes #3444095
Julien Cristau <julien.cristau@logilab.fr> [Wed, 15 Jan 2014 18:20:25 +0100] rev 9410
[migration/3.18] Explicitly delete constraint on defaultval
Make sure the SizeConstraint on defaultval is removed, and avoid more
unnecessary commits.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 15 Jan 2014 18:19:52 +0100] rev 9409
[migration/3.18] Idempotency fixes
Try to make partially-upgraded instances migrate properly.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 14 Jan 2014 15:05:11 +0100] rev 9408
[migration/3.18] Fix NameError
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 14 Jan 2014 14:42:00 +0100] rev 9407
[migration/3.18] Add add_permission relation definitions earlier
Otherwise sync_schema_props_perms('defaultval') does not work because the
later relation is not in schema.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 14 Jan 2014 14:02:51 +0100] rev 9406
[migration/3.18] Only commit when we did something
Avoids countless confirmation prompts.
Closes #3438804.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 13 Jan 2014 16:08:38 +0100] rev 9405
[doc/3.19] fix (mostly) grammar
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 13 Jan 2014 15:56:52 +0100] rev 9404
fix version number: we still target cw 3.19
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Jan 2014 13:56:16 +0100] rev 9403
Fix a couple merge errors
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Jan 2014 13:47:47 +0100] rev 9402
merge 3.18.0 in 3.19 branch
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 18:31:07 +0100] rev 9401
Added tag cubicweb-version-3.18.0, cubicweb-debian-version-3.18.0-1, cubicweb-centos-version-3.18.0-1 for changeset db37bf35a147
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 18:01:36 +0100] rev 9400
[book] drop reference to removed cubicweb.predicates.implements
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 17:18:07 +0100] rev 9399
3.18.0
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 17:10:51 +0100] rev 9398
[i18n] update French and English translations
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 17:05:04 +0100] rev 9397
i18n update
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 17:12:20 +0100] rev 9396
merge stable
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 24 Oct 2013 13:15:53 +0200] rev 9395
[hooks/security] provide attribute "add" permission
As of today, the update permission on attributes is checked at entity
*creation* time. This forbids using update permissions the proper way.
We set it to be checked at entity update time only.
We introduce a specific 'add' permission rule for attributes.
For backward compatibility, its default value will be the same as the
current 'update' permission.
Notes:
* needs a new yams version (ticket #149216)
* introduces two new 'add_permissions' rdefs (attribute - group|rqlexpr)
* if the update permission was () and the bw compat kicks in, the rule
is not enforced, to avoid un-creatable entity types -- this
restriction will be lifted when the bw compat is gone
* small internal refactoring on check_entity_attributes
* one small pre 3.6.1 bw compat snippet must be removed from schemaserial
Closes #2965518.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 16:37:12 +0100] rev 9394
[server/test] reorganize data/migratedapp/schema.py to allow comparison with data/schema.py
Pure reorganization to make it possible to visually compare both schemas.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 16:25:45 +0100] rev 9393
[schema] move definition of RQLExpression classes before default permission dicts
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jan 2014 15:02:07 +0100] rev 9392
[server] remove old backwards compat for PropagateSubjectRelation*Hook
Those classes were removed from server/hook.py.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 10 Jan 2014 15:02:19 +0100] rev 9391
[book] replace PropagateSubjectRelation*Hook references
PropagateSubjectRelationHook, PropagateSubjectRelationAddHook and
PropagateSubjectRelationDelHook were deprecated by
PropagateRelationHook, PropagateRelationAddHook,
PropagateRelationDelHook respectively in v3.9, and removed in 3.18.
Closes #3420672
Julien Cristau <julien.cristau@logilab.fr> [Thu, 09 Jan 2014 16:16:34 +0100] rev 9390
[doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr> [Thu, 09 Jan 2014 15:08:54 +0100] rev 9389
[pkg] bump logilab-common requirement
Necessary since 4b3e657d17ab "[source configuration] silent lgc 0.60
deprecation warning"
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 09 Jan 2014 13:49:32 +0100] rev 9388
update jquery to 1.10 (closes #2786674)
Includes:
* base jquery
* jquery.migrate to help for the transition
* jquery.ui
The jquery.ui.tabs api has slightly changed hance the change
in web/views/tabs.
The autocompletion widget is slightly adapted to follow an API change
and now extends the base functionality in a simpler way.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 16 Dec 2013 08:45:06 +0100] rev 9387
[notification] Use https url when available in notification view context
Closes #3376252.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 13 Dec 2013 10:24:10 +0100] rev 9386
[req] Return base-url in case https-url is None in base_url()
Closes #3376322.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Dec 2013 17:09:08 +0100] rev 9385
[server/session] fix typo in keep_cnxset_mode docstring
Florent Cayre <florent.cayre@logilab.fr> [Thu, 09 Jan 2014 10:53:45 +0100] rev 9384
[breadcrumbs] Small breadcrumb components refactoring
* use `open_breadcrumbs` and `close_breadcrumbs` methods where applicable in
the BreadCrumbEntityVComponent hierarchy
* include the first separator related code in `open_breadcrumbs` to avoid code
duplication
Closes #3223911.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 06 Jan 2014 12:01:35 +0100] rev 9383
[views/dot] use an inlined svg for schema and workflow graphs
These are currently served as "temporary" pngs which are actually consummed immediately.
Which means they cannot be requested twice and any further attempt will yield an error
in the logs and some end-user surprise.
There is no known acceptable workaround for IE-8 (and previous versions). SVGWEB could
be workable but it's not trivial to integrate it properly.
Closes #3400448.
Christophe de Vienne <cdevienne@gmail.com> [Thu, 12 Dec 2013 16:17:25 +0100] rev 9382
[release notes] Documents one() and find() addition
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 07 Jan 2014 16:39:32 +0100] rev 9381
[js] noop is undefined in plain javascript (related to #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Dec 2013 11:13:45 +0100] rev 9380
[css] drop shadow.gif & use a couple of rules (closes #3381435)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Dec 2013 10:49:17 +0100] rev 9379
[css] replace old rounded corners hack by css rules
Closes #3381426.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 04 Nov 2013 16:06:06 +0100] rev 9378
[views/templates] provide a modal main template (closes #3274672)
The current NonTemplatableViewTemplate may seem to provide the desired
feature if a '__notemplate' is provided in the form, unfortunately,
it:
* wraps the view in a spurious div
* calls view.set_stream(), which has the effect of wiping any js/css
resource recorded until then by the view, leading to hard-to-track
missing resources symptoms
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 08 Jan 2014 14:00:31 +0100] rev 9377
[js/widgets] fix the InOut widget with modern jQuery versions
Several things are done there:
* reduction in size and complexity of the code
* the unused defaultsettings are removed
* the initial `unlinked` list is now correctly populated from
python-side
* the unit test is adjusted because it tested an irrelevant
implementation detail which is no longer true (but the widget of
course still handles correctly the linkto information)
Tested with ie7, ie9, chromium, firefox.
Tested with jQuery 1.6 (cw 3.17.x) and 1.10.
Closes #3154531.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 01 Aug 2013 09:39:43 +0200] rev 9376
[autoform] Allow overridding of permissions checks
Closes #3063930
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 08 Jan 2014 12:09:44 +0100] rev 9375
[schema] fix unique together index handling
We now provide a more compact indexname, using the schema constraint
entity type and the position of the columns set in the entity type
unique constraints list.
This avoids a nasty name truncation issue.
The UniqueTogetherError object is made smarter: it computes the
rtypes, abstracting the underlying backend (pg/sqlserver vs sqlite).
The `user friendly` adapter is much simplified since there is no
longer any truncation issue.
Uses a new logilab.database version (ticket #151507) and a new yams
version (ticket #189299)
Closes #2514939
[jcr: disable hooks when temporarily dropping CWUniqueTogetherConstraint entities]
David Douard <david.douard@logilab.fr> [Tue, 07 Jan 2014 17:45:48 +0100] rev 9374
[pyrorql] deprecate pyrorql source (closes #2919299)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Dec 2013 15:46:19 +0100] rev 9373
[web/facet] do NOT drop offset/limit of the base rql (closes #3344579)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Dec 2013 18:25:45 +0100] rev 9372
[webctl] Generate static data directory on upgrade (closes #2167873)
- if the folder already exists, ``upgrade`` asks for deletion,
- add an option (``generate-staticdir``) to allow skipping this task.
- add an option (``staticdir-path``) to specify the static data folder path.
The ``gen-static-datadir`` command allows to specify the target folder but
there is otherwise no way to retrieve this information during upgrade.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Dec 2013 16:18:58 +0100] rev 9371
[cwctl] Don't check for old lgc versions
Support for check_duplicated_command in CommandLine was added in 2011
for 0.55, and we already depend on 0.59.0.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Dec 2013 17:21:35 +0100] rev 9370
[migration/3.18] add sanity checks before changing symmetric relations
Delete supposedly impossible relations from the db. Related to
#3259713.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Dec 2013 17:09:16 +0100] rev 9369
[migration/3.18] disable all hooks when setting up symmetric relations
This operation is semantically a no-op, so it should be invisible for
the application. Related to #3259713.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 12 Dec 2013 15:38:49 +0100] rev 9368
[devtools] bases for instrumenting / debugging standard propagation hooks
* a class that helps writing command to check propagation, detecting standard
errors and picture the propagation as a graph
* a class to instrument sets used to configure standard propagation hooks
closes #3171980
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 27 Sep 2013 14:15:24 +0200] rev 9367
instrument cwvreg, so we may know what's being loaded by asking the registry store
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 07 Jan 2014 16:19:18 +0100] rev 9366
set proper PACKAGE information for yams 0.39
Yams 0.39 adds an unobstrusive API to get the package, or cube, defining a part
of the schema (entity type, relation type/def).
As CubicWeb overrides part of the schema reading process, we have to handle this
information on our side so it will be properly set.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 17 Dec 2013 14:50:29 +0100] rev 9365
[yams] follow yams 0.39 api change introduced by ad95fd2c46de (package attribute on etype/rtype/rdef)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 14 Nov 2013 12:26:29 +0100] rev 9364
Make the GROUP_CONCAT aggregate function not repeat values (closes #3223975)
Work on sets instead of arrays, so if the same value appears twice it's
not repeated in the concatenated output.
This patch handles the postgresql and sqlite backends, mysql is left
alone at this point (seems doable, but I don't have time or motivation
to fix and test it).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 07 Jan 2014 15:48:31 +0100] rev 9363
[mail] allow to specify SMTP's MAIL FROM address to config.sendmails(). Closes #3373620
Also modify testlib.Email so we don't loose this information and may test it.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 13 Nov 2013 15:58:42 +0100] rev 9362
[mail] format_mail copy/paste fix: we want to test sender-name, not sender-addr
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 14 Nov 2013 17:17:02 +0100] rev 9361
symmetric relations: replace bogus rql2sql translation by a hook
The hook ensures X r Y => Y r X iff r is symmetric.
The rql-no-hook data importer receives a small amendment but note
that:
* there exist no test for it
* its actual semantics are undefined
Hence we cannot prove this hunk breaks nothing, because we cannot
prove anything.
Closes #3259713.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Dec 2013 14:25:24 +0100] rev 9360
[migration] fix handling of default value for boolean attributes
We can't assert that the old value is 'True' or 'False', because False
used to be stored as an empty string in pre-3.18 versions.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 12 Dec 2013 12:34:38 +0100] rev 9359
[entity/url publishing] fetch_rqlst should use 'is_instance_of' instead of 'is'
We usually want to get any subclasses as well (think Training subclass of
Workcase). Closes #3210365.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 12 Dec 2013 12:28:43 +0100] rev 9358
[rewriter] fix latent bug: arbitrary etype may be substituted when using is_instance_of type restriction
Note: the test is not deterministic because the bug depends on the iteration
order on a set.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 21 Jun 2013 14:22:39 +0200] rev 9357
[test]Â drop no more used test data file
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 05 Nov 2013 09:51:32 +0100] rev 9356
[doc] Refer to RsetTableView in EntityTableView docstring instead of TableView
Julien Cristau <julien.cristau@logilab.fr> [Tue, 12 Nov 2013 17:10:16 +0100] rev 9355
Fix use of vreg.config.anonymous_user()
If no anonymous user is declared, anonymous_user() returns 'None, None',
not 'None'.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Dec 2013 19:11:04 +0100] rev 9354
[server] avoid race-condition in timer events
With a granularity of one second, there's a good chance calling
localtime twice will return the same value. We should consider the
event ready immediately if that happens, not wait one second.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Dec 2013 19:14:43 +0100] rev 9353
[server/pyro] try to shutdown the repository properly
If RepositoryServer.trigger_events is not called we might miss a
QuitEvent and thus never shutdown the repository and its looping tasks.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Dec 2013 16:56:18 +0100] rev 9352
[book] remove broken links to web.views.wdoc.ChangeLog{View,Action}
ChangeLogView and ChangeLogAction were removed in 3.16.0 (changeset
fa044b9157d7, https://www.cubicweb.org/2423532)
Closes #3369687
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Dec 2013 17:36:59 +0100] rev 9351
[book] fix Session.{set,free}_cnxset autodoc
They're Session methods, not bare functions.
Without this building the docs says:
reading sources... [ 39%] devrepo/repo/sessions
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/sphinx/ext/autodoc.py", line 326, in import_object
obj = self.get_attr(obj, part)
File "/usr/lib/pymodules/python2.7/sphinx/ext/autodoc.py", line 232, in get_attr
return safe_getattr(obj, name, *defargs)
File "/usr/lib/pymodules/python2.7/sphinx/util/inspect.py", line 70, in safe_getattr
raise AttributeError(name)
AttributeError: set_cnxset
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/sphinx/ext/autodoc.py", line 326, in import_object
obj = self.get_attr(obj, part)
File "/usr/lib/pymodules/python2.7/sphinx/ext/autodoc.py", line 232, in get_attr
return safe_getattr(obj, name, *defargs)
File "/usr/lib/pymodules/python2.7/sphinx/util/inspect.py", line 70, in safe_getattr
raise AttributeError(name)
AttributeError: free_cnxset
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 27 Nov 2013 22:16:26 +0100] rev 9350
cwetype is a *class* property, rename its argument accordingly
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 27 Nov 2013 22:15:58 +0100] rev 9349
typo
Christophe de Vienne <cdevienne@gmail.com> [Wed, 11 Dec 2013 12:22:52 +0100] rev 9348
[req] New method: RequestSessionBase.find().
This method does what find_entities and find_one_entity did, except it
returns the resultset itself.
In addition, it accepts 'reverse_' arguments and check that the relations
actually exists on the entity before executing the query.
Also, reimplement find_one_entity and find_entity based on the new function
so they benefit from the more complete implementation, and deprecate them.
Note: List of values in kwargs are NOT supported in this initial
implementation.
Closes #3361290
Christophe de Vienne <cdevienne@gmail.com> [Wed, 11 Dec 2013 17:52:54 +0100] rev 9347
[rset] New method: ResultSet.one()
This method will return exactly one entity while enforcing its existence and unicity.
The idea is shamelessly borowed from SQLAlchemy Query.one().
Closes #3352314
[jcr: use len(self) instead of len(self.rows)]
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Dec 2013 16:45:49 +0100] rev 9346
Added tag cubicweb-debian-version-3.17.11-2 for changeset b02e2912cad5
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Dec 2013 16:01:15 +0100] rev 9345
[debian] add lintian override for a false positive
Julien Cristau <julien.cristau@logilab.fr> [Tue, 10 Dec 2013 12:36:50 +0100] rev 9344
[predicates] allow multiple transition names in on_fire_transition (closes #3013720)
Also add a warning about the unimplemented from_state_name argument.
David Douard <david.douard@logilab.fr> [Tue, 19 Nov 2013 09:42:48 +0100] rev 9343
[css] add the entypo font as available ressource (closes #2930356)
This provides a standard set of pictograms for use in CubicWeb and cubes.
To use a pictogram, the "cubicweb.pictograms.css"
must be explicitly loaded (using, e.g. view.add_css(...)).
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 10 Dec 2013 11:36:04 +0100] rev 9342
[skeleton i18n] Add PO-Revision-Date header to make emacs po-mode happy
Closes #3276389
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 21 Oct 2013 09:58:26 +0200] rev 9341
[uicfg] give a set_fields_order method to the primary view display control
Hence it is nicely symmetrical with the fields kwargs.
Closes #2741963.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 09 Dec 2013 16:13:10 +0100] rev 9340
merge 3.17.11
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 06 Dec 2013 17:20:59 +0100] rev 9339
Added tag cubicweb-centos-version-3.17.11-1, cubicweb-version-3.17.11, cubicweb-debian-version-3.17.11-1 for changeset 7f67db7c848e
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 06 Dec 2013 15:56:54 +0100] rev 9338
prepare 3.17.11
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Oct 2013 17:53:11 +0200] rev 9337
[devtools] write db config through a temporary file
Avoids other test processes reading partially written config and
exploding in pickle.loads. There are still concurrency issues,
presumably with the database itself. Something for another friday.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 13 Nov 2013 12:39:30 +0100] rev 9336
[server] Add missing indices for undo support (closes #3259691)
The tables used by the 'undo' feature were missing some indices, which
among other things triggered repeated sequential scans when deleting old
transactions.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 06 Dec 2013 15:02:31 +0100] rev 9335
[sqlutils] fix sqlite group_concat harder (related to #3331906)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 28 Nov 2013 18:55:24 +0100] rev 9334
[sqlutils] avoid a crash with sqlite when using group_concat (closes #3331906)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 24 Oct 2013 18:28:18 +0200] rev 9333
[server/initrepo] show failed sql statements and abort if necessary (closes #3308564)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 27 Nov 2013 16:18:54 +0100] rev 9332
[views/table] use cubicweb.ajax.js for pagination
Else we fail in js-land on a "AJAX_PREFIX_URL is not defined".
Closes #3329072.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 03 Dec 2013 13:23:59 +0100] rev 9331
[rset] Fix regression with rset copying (closes #3344410)
Don't override passed-in descriptions in ResultSet.__init__, even if
they're empty.
Christophe de Vienne <cdevienne@gmail.com> [Wed, 04 Dec 2013 14:26:35 +0100] rev 9330
[doc] Fix a sample request
Julien Cristau <julien.cristau@logilab.fr> [Fri, 06 Dec 2013 11:26:57 +0100] rev 9329
[tableview] Don't share column renderers between all instances of a table (closes #3351872)
Julien Cristau <julien.cristau@logilab.fr> [Fri, 06 Dec 2013 11:26:20 +0100] rev 9328
[tableview] Add some unique element to AbstractColumnRenderer.__str__ (related to #3351872)
Otherwise different instances look the same which is confusing.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 18 Jul 2013 10:22:18 +0200] rev 9327
add failing test case related to #3013554
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 12 Nov 2013 15:24:57 +0100] rev 9326
[web] make sign_text unicode aware, avoid crash with non-ascii chars. Closes #3289774
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 07 Nov 2013 11:20:59 +0100] rev 9325
[doc] Use string debug mode in debugged docstring
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 25 Oct 2013 12:23:06 +0200] rev 9324
[rql2sql] fix relation table scope when some variable from subquery is used. Closes #3252270
While it feels weird to drop this explicit ColumnAlias handling, hg history has
no clue on its introduction (prior to rev 0) and no older test case fails
without it, so let's drop it.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 30 Oct 2013 13:05:00 +0100] rev 9323
[cwctl] backout 5d5b3a865eb1, which breaks interactive shell usage
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 09 Sep 2013 12:43:25 +0200] rev 9322
[ReST] Implement a rql-table reST directive. Closes #3252856
allowing to call table or derivated view specify headers / cellvids. Also, rql
may be split accross several lines which greatly improve readability.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 16 Oct 2013 11:57:47 +0200] rev 9321
[server] drop support for antediluvian lgdb versions
That API was changed in 2010, before logilab-database was moved out of
logilab-common.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 08 Oct 2013 16:56:45 +0200] rev 9320
[doc/book/security] update description of entity update (Related to #2932033)
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Oct 2013 15:29:20 +0200] rev 9319
[test] test can_use_rest_path directly
No need to go through the Entity.rest_path if what we want is to
unittest that one function.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 26 Sep 2013 10:46:37 +0200] rev 9318
[ctl] set proper encoding for sys.stdout/sys.stderr. Closes #1669144
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 19 Sep 2013 22:33:52 +0200] rev 9317
[web] typo in config file comment
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Oct 2013 10:10:25 +0200] rev 9316
[book] Typo and formatting fixes in devrepo/entityclasses/application-logic
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2013 16:56:16 +0200] rev 9315
[cwctl] Only start the instance after upgrade if it was running before
Closes #3207676.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 24 Oct 2013 09:20:45 +0200] rev 9314
[book] Improve match_rtype selector docstring and "Relation modification related events" section
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 24 Oct 2013 11:48:13 +0200] rev 9313
[book] properly escape backslash
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Oct 2013 12:56:20 +0200] rev 9312
[test] use assertIn / assertIsInstance
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 25 Oct 2013 11:58:06 +0200] rev 9311
update pylint extension to astroid API
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 17 Oct 2013 15:09:48 +0200] rev 9310
Fix example in cw_set method
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 24 Oct 2013 12:36:12 +0200] rev 9309
[merge] incorporate cw 3.17.10 fixes
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Oct 2013 11:07:57 +0200] rev 9308
Added tag cubicweb-centos-version-3.17.10-1, cubicweb-version-3.17.10, cubicweb-debian-version-3.17.10-1 for changeset fe0e1863a137
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Oct 2013 17:24:19 +0200] rev 9307
[pkg] prepare 3.17.10
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Oct 2013 10:02:29 +0200] rev 9306
[web] don't rename resources in gen-static-datadir
We should use the result from WebConfiguration.locate_resource to know
which file to copy, not what name to copy it to. The destination file
should be the name of the resource, as the client will request it.
This matters in the case of cubicweb.css which locate_resource might
rewrite to cubicweb.old.css.
Closes #3206129
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Oct 2013 14:18:58 +0200] rev 9305
[notification] avoid leaking cnxsets (closes #3243810)
When sending notifications, we get each recipient as either an email
address or a CWUser. In the latter case, we create a temporary session
for that user and use it to send the mail. However, if we later decided
to not send the mail after all, we'd leak the session and its cnxset.
Add a try block inside the loop to make sure the temporary sessions are
closed properly.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 22 Oct 2013 11:59:39 +0200] rev 9304
[book] English fix
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 08 Oct 2013 14:25:05 +0200] rev 9303
[serverctl] complete the schema-diff command with options that will fix & enhance it.
Notably:
- filter out eids (doesn't make sense for the filesystem schema)
- handle permissions, trying to detect the default ones
Needs yams #174042.
Closes #2996547.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 18 Oct 2013 16:58:48 +0200] rev 9302
[server] deprecate the old multi-source system
It is removed in 3.19.
Closes #2919299
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Oct 2013 16:04:23 +0200] rev 9301
[doc] document changed attribute default value storage
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Sep 2013 11:58:40 +0200] rev 9300
defaultval migration for sqlite
Aurélien Campeas <aurelien.campeas@logilab.fr> [Fri, 23 Aug 2013 15:06:27 +0200] rev 9299
[schema] store default attribute values in a Bytes field, allowing python objects as default values
Notes:
* Binary objects grow two methods
* we depend on a newer yams version
* the code is quite simplified as a result of the whole change
* a very old and nasty bug where bool(default values) evaluating to
False not being properly migrated is killed
Closes #2414591.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 17 Oct 2013 16:30:53 +0200] rev 9298
[source/native] fix sqlserver pattern matcher for unique constraints (closes #3227593)
The matcher is used to parse the low-level error message and extract
meaningful information for the end users.
If broken, the users see an alarming and bewildering message.
A full & definitive fix is scheduled for CubicWeb 3.18.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Oct 2013 10:30:35 +0200] rev 9297
[dbapi] Fix broken inmemory:// URLs parsing (closes #3225832)
ParseResult.path is what comes after the "domain name" in standard URLs.
So in the case of 'inmemory://<instance' URLs, it is always empty.
ParseResult.netloc contains the "domain name" part that we really want.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 17 Oct 2013 11:34:03 +0200] rev 9296
[metadata hook] rename an operation for the sake of readability
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 16 Oct 2013 15:50:04 +0200] rev 9295
[book] Typo fix and rephrasing in devrepo/migration
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 16 Oct 2013 11:38:06 +0200] rev 9294
[cwshell] rename history file to .cwshell_history (erudi is dead, long live cw)
Aurelien Campeas [Thu, 11 Jul 2013 13:32:27 +0200] rev 9293
[entity] Entity.related(): add a targettypes argument (closes #2957313)
This allows to restrict the entity types returned by the method
(passed to cw_related_rql).
When such an argument is given, no caching happens.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 12:14:20 +0200] rev 9292
[source configuration] silent lgc 0.60 deprecation warning
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 15 Oct 2013 14:02:22 +0200] rev 9291
[web] remove action "Got Rhythm" (closes #3093362)
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Oct 2013 10:22:21 +0200] rev 9290
[debian] Break old geocoding
It wants cubicweb.interfaces.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 11 Oct 2013 18:02:48 +0200] rev 9289
[wsgi] remove ages old hack to set base_url
Its meaning has been lost in the mist of time.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 11 Oct 2013 18:00:34 +0200] rev 9288
[wsgi] also provide an example using werkzeug (if available)
Related to #3005509.
Aurelien Campeas [Tue, 01 Oct 2013 16:45:58 +0200] rev 9287
[wsgi] add the simplest possible wsgi (debug) server
This server is able to:
* serve on a given port using the stdlib SimpleHTTPServer
* run looping tasks
Closes #3005509.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 10 Oct 2013 13:46:44 +0200] rev 9286
[querier/security] instrument a bit the querier read security checks
Related to #2920304
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 30 Sep 2013 14:48:59 +0200] rev 9285
[book] Improve PostgreSQL configuration section
* Do not advice for specific PostgreSQL version (point to meta-packages if
available in Linux distros);
* First mention packages from Linux distros, put the link to official postgres
documentation at the end;
Closes #2725302.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 08 Oct 2013 14:02:28 +0200] rev 9284
[js] add a selector string escaping function
will help use id strings in jquery selector expressions, e.g:
"foo.[subject]:42" -> "foo\.\[subject\]\:42"
Related to #3154531.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 10 Oct 2013 13:26:11 +0200] rev 9283
[merge] backport stable fixes
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 10 Oct 2013 13:16:54 +0200] rev 9282
[test/ldapsource] backout 192a748550c7 which broke RQL2LDAPFilterTC
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Oct 2013 14:45:36 +0200] rev 9281
[rset] make sure rset.description is always a list
It's more consistent, and avoids pylint warning
"Instance of 'tuple' has no 'append' member"
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Oct 2013 16:30:27 +0200] rev 9280
[schema] edit syntax tree instead of playing with strings for RQLExpressions
Lets us support more complex expressions involving e.g. "HAVING" clauses.
Closes #3202855
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 10 Oct 2013 12:40:23 +0200] rev 9279
[py3k] note about future warning on __eq__ vs __hash__
Closes #3179561.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Oct 2013 12:11:00 +0200] rev 9278
[formfields] py3k kill future compat warning
Related to #3179561.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 10 Oct 2013 12:42:10 +0200] rev 9277
[entity] do not raise an AssertionError if the kwargs given to set_relations/attributes is empty
Regression was introduced in 3.16 with the new cw_set API.
Old set_relations and set_attributes methods did not crash on empty
kwargs.
Closes #3104019.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Oct 2013 12:30:35 +0200] rev 9276
[packaging] setup.py: don't exclude skeleton/debian/* from being installed
Closes #3192725.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Sep 2013 18:42:34 +0200] rev 9275
[tests/hooks/integrity] kill old and empty skipped test
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Oct 2013 17:42:01 +0200] rev 9274
[server/session] demote log to debug
It can pollute the log very fast.
Closes #3203391.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Aug 2013 13:58:48 +0200] rev 9273
[test] use assertCountEqual instead of assertItemsEqual
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Oct 2013 12:30:02 +0200] rev 9272
[server] fix a number of typos, mostly in docstrings
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 07 Oct 2013 15:13:51 +0200] rev 9271
[skeleton] Install cubes README in Debian packages (Closes #3171971)
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2013 11:23:01 +0200] rev 9270
[debian] Build-Depends on python-unittest2 | python (>= 2.7)
Closes #3175895.
Paul Tonelli <paul.tonelli@logilab.fr> [Thu, 29 Aug 2013 18:28:10 +0200] rev 9269
[doc] typos and reformulation
Paul Tonelli <paul.tonelli@logilab.fr> [Thu, 29 Aug 2013 18:26:06 +0200] rev 9268
[doc] additional documentation about pip install
under both Windows and Debian
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 30 Aug 2013 15:34:58 +0200] rev 9267
spelling: rollbacked -> rolled back
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Oct 2013 12:10:44 +0200] rev 9266
Added tag cubicweb-version-3.17.9, cubicweb-debian-version-3.17.9-1 for changeset 5668d210e49c
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Oct 2013 11:13:56 +0200] rev 9265
merge two default heads
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Oct 2013 18:10:20 +0200] rev 9264
[pkg] prepare 3.17.9
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 20 Sep 2013 15:42:04 +0200] rev 9263
Use the list of sources instead of an iterator in update-feeds looping task
This prevents RuntimeError due to dictionary size change that may occur (as a
result of a new source being added) during iteration.
Closes #3155843.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 08 Oct 2013 16:10:42 +0200] rev 9262
[security]Â fix dumb attribute error when inserting read security. Closes #3196891
This has gone undetected because of erroneous tests...
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 08 Oct 2013 10:46:06 +0200] rev 9261
[entity] give a default reasonnable __eq__ and __hash__ to Entity
Using the eid.
Closes #3179560.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Oct 2013 18:16:45 +0200] rev 9260
[debian] add some Breaks for backwards compatibility removal
The person and comment cubes used to import the cubicweb.mixins module.
The inlinedit cube relied on String.startsWith in javascript.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 26 Aug 2013 16:16:22 +0200] rev 9259
[js] remove 3.9 bw compat (where apparently unused)
- cubicweb.ajax.js
- loadxhtml: form.callback support removal
- removal of top-level functions: preprocessAjaxLoad, reloadBox,
replacePageChunk, loadxhtml
- cubicweb.compat.js:
- map is undeprecated (jquery.map being not an acceptable
replacement)
- removal of noop, contains, findValue, filter, addElementClass,
removeElementClass, hasElementClass, KEYS mapping
- htmlhelpers.js: use non-deprecated functions cw.urlEncode
- cubicweb.js:
- removal of startsWith and endsWith monkeypatches
- note deprecated but still used stuff (for action)
- test_utils.js: use cw.utils.sliceList instead of global function
Closes #2782004.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 26 Aug 2013 11:36:19 +0200] rev 9258
Rename cleanup_interface_sobjects into cleanup_unused_appobjects
Interfaces are gone in 3.18
Related to #2782004.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 26 Aug 2013 16:15:29 +0200] rev 9257
remove cw 3.9 bw compat (bw compat other than the interface -> adapter changes)
- cwconfig, doc/admin/setup: docstring adjustment wrt 3.9 & virtualenv
- testing/rst: windmill (which is gone from the testing infrastructure)
- other docs: "stuff introduced in 3.9" cleanup, as we don't care
about the version old features were introduced
- server/hooky.py: bw compat for propagation hooks
- server/schemaserial.py: pre CWUniqueTogetherConstraint migration support
- web.__init__.py: dumps bw import
- autoform.py: .action ppty is gone, also deprecate set_action and get_action
- baseviews: CSVView.subvid gone long ago, secondary view removal
- primary.py: _render_attribute & _render_relation signature change
- reledit.py: rvid/default_value bw compat, should_edit_* dropped
- webconfig.py: resourcefile is gone
- formfields.py: old vocabulary handling
- request.py: build_ajax_replace_url, external_resource
Related to #2782004.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 26 Aug 2013 16:14:09 +0200] rev 9256
remove 3.9 bw compat
In cw 3.9, interfaces are deprecated and replaced with adapters,
yielding a lot of bw compat in many places -- most if this patch is
concerned with the interface bw compat
- cwvreg: interface cleanup
- doc/adapters.rst: interface cleanup
- entities/adapters.py, wfobjs.py: interfaces bw compat
- entity.py: interfaces bw compat, also get_value, delete,
attr_metadata, has_perm, set_related_cache, clear_related_cache,
clear_related_cache, related_rql
- predicates.py: score_interfaces & implements
- interfaces.py & mixins.py: 100% gone
- view.py: implement_adapter_compat, unwrap_adapter_compat
- calendar.py, editcontroller.py, ibreadcrumbs.py, navigation.py, xmlrss.py:
interface bw compat
- treeview.py: salvage one function from mixins.py
Related to #2782004.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 26 Aug 2013 16:12:30 +0200] rev 9255
remove 3.8 bw compat
- cwconfig: old keys such as depends_cubes and non-dict dependencies
- cwctl: fall back to docstring if no short descr, forget
'short_descr'
- dbapi: session_data, get_session_data, set_session_data,
del_session_data
- dbapi & testlib, session: eid_key is gone
- migractions: cachekey is gone
- doc/datamodel/definition, schemaserial: BoundConstraint ->
BoundaryConstraint
- formwidgets: separator
- primary view: render_entity_metadata
Related to #2782004.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 04 Oct 2013 17:05:49 +0200] rev 9254
[hooks/security] Defer entity permission checks to an Operation.
Some of these checks may currently happen twice within the same
transaction and be costly.
This should be semantically safe. If people rely on some internal
transaction ordering to be allowed early (thus pass) while the
condition wouldn't be met at precommit time, their application is
broken. It however seems unlikely to happen in the real life (tm).
Closes #2932033
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 04 Oct 2013 15:59:54 +0200] rev 9253
[schema] drop very old bw compat (pre 3.5.10)
Closes #2925085.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 12 Jul 2013 10:50:56 +0200] rev 9252
[devtools,etwist] rename TwistedConfiguration to WebConfigurationBase (follows #2919310)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 12 Jul 2013 10:51:35 +0200] rev 9251
remove "twisted" configuration (closes #2919310)
This was also known as "web only" instances. Not used in production anywhere today.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Oct 2013 14:28:50 +0200] rev 9250
merge 3.17.8 into default
David Douard <david.douard@logilab.fr> [Thu, 03 Oct 2013 15:37:45 +0200] rev 9249
Added tag cubicweb-centos-version-3.17.8-1, cubicweb-version-3.17.8, cubicweb-debian-version-3.17.8-1 for changeset 909eb8b584c4
David Douard <david.douard@logilab.fr> [Thu, 03 Oct 2013 15:13:08 +0200] rev 9248
[pkg] prepare 3.17.8
David Douard <david.douard@logilab.fr> [Thu, 03 Oct 2013 11:10:08 +0200] rev 9247
[date picker] revert #ec65ca70aac9 which breaks the date picker (closes #3182844)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 30 Sep 2013 18:07:51 +0200] rev 9246
[merge] backport 3.17 fixes into the future 3.18
David Douard <david.douard@logilab.fr> [Thu, 26 Sep 2013 19:04:45 +0200] rev 9245
Added tag cubicweb-centos-version-3.17.7-1, cubicweb-version-3.17.7, cubicweb-debian-version-3.17.7-1 for changeset 483181543899
David Douard <david.douard@logilab.fr> [Thu, 26 Sep 2013 15:15:09 +0200] rev 9244
[pkg] prepare 3.17.7
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Sep 2013 15:12:52 +0200] rev 9243
i18n update
David Douard <david.douard@logilab.fr> [Thu, 26 Sep 2013 15:18:59 +0200] rev 9242
fix typos in workflow constraint error messages
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Sep 2013 17:44:15 +0200] rev 9241
[migractions] rschema.final.inlined -> rschema.inlined
Closes #3153086.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 26 Sep 2013 11:53:13 +0200] rev 9240
[server] Make internal sessions not reset 'safe'-ness on first commit
Increment the ctx_count when disabling integrity hooks so the next
commit/rollback doesn't reset our transaction and magically turn us into
a safe session.
Closes #3168027
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 23 Sep 2013 11:13:28 +0200] rev 9239
[facets] Correctly replace old 'edit box' HTML on facet-induced page refresh (closes #3161100)
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Sep 2013 15:03:03 +0200] rev 9238
[debian] replace find | xargs rm with find -delete in cube skeleton. Closes #3161797
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Sep 2013 15:02:45 +0200] rev 9237
[debian] don't require (fake)root to run the clean target. Closes #3161797
It works just fine as a normal user.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Sep 2013 15:01:59 +0200] rev 9236
[debian] Add ${misc:Depends} to cube packaging skeleton. Closes #3161797
Best current practice is to have that in Depends in all packages using
debhelper.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 06 Sep 2013 11:01:20 +0200] rev 9235
[devtools] fix race when creating backupdir
If somebody else creates backupdir between our stat() and mkdir() (like,
say, another test running in parallel), we shouldn't crash.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 19 Sep 2013 18:11:12 +0200] rev 9234
[staticcontrollers] Raise Forbidden, not Unauthorized
Unauthorized means "log in to get access", as it results in a HTTP 401.
Here, the error is pretty much permanent, and returning 401 instead of
403 confuses things terribly.
(This seems to be a pretty widespread confusion :/)
David Douard <david.douard@logilab.fr> [Thu, 19 Sep 2013 18:03:09 +0200] rev 9233
[web] allow /data/ url again (closes #2464798)
This feature was broken by 65fecbeb9c3a (which fixed another one itself).
Julien Cristau <julien.cristau@logilab.fr> [Mon, 16 Sep 2013 10:59:59 +0200] rev 9232
[utils] fix typos in make_uid docstring
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 17:15:12 +0200] rev 9231
[c-c i18ncubicweb] fix crash, closes #3096647
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Aug 2013 09:57:38 +0200] rev 9230
[rql2sql] fix bad sql generated when outer joining 'identity' relation and lhs var comes from a subquery. Closes #3099418
The generated SQL was attempting to access table.cw_eid which doesn't exist.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Aug 2013 16:21:52 +0200] rev 9229
[web]Â stop using deprecated StatusResponse. Closes #3098215
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Aug 2013 16:20:33 +0200] rev 9228
[deprecation] add (approximate) version number to deprecation message and set proper stacklevel
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Aug 2013 12:55:27 +0200] rev 9227
[schema]Â fix spurious warning when rqlexpr/constraint mainvars specify a non predefined variable. Closes #3098165
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 23 Sep 2013 12:47:12 +0200] rev 9226
[repository] properly use IUserFriendlyError when UniqueTogetherError is raised during entity update. Closes #3096638
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 12:08:31 +0200] rev 9225
[deprecation] add cw version number to the deprecation message and help user to understand the change
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 11:56:07 +0200] rev 9224
[datafeed] fix crash due to bad http_timeout handling. Closes #3096585
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 11:36:44 +0200] rev 9223
[date picker widgets] properly distinguish DOM id and input name. Closes #3096575
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Aug 2013 11:29:58 +0200] rev 9222
[date picker widgets] use bare jquery expression rather than jqNode
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Jun 2013 12:28:01 +0200] rev 9221
Use return in CnxSetTracker context manager methods
Just in case.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 15 Jul 2013 11:45:37 +0200] rev 9220
[web/views] make PrimaryView.entity_call accept kwargs
It's useful when using this view in a different context to have it not
crash on random arguments.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 02 Sep 2013 12:47:12 +0200] rev 9219
[ldapparser] demote some logs from warning to debug (closes #2713671)
David Douard <david.douard@logilab.fr> [Fri, 09 Aug 2013 10:00:40 +0200] rev 9218
[doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr> [Wed, 07 Aug 2013 09:02:47 +0200] rev 9217
merge stable in default (3.18) branch
David Douard <david.douard@logilab.fr> [Tue, 06 Aug 2013 16:53:53 +0200] rev 9216
Added tag cubicweb-centos-version-3.17.6-1, cubicweb-version-3.17.6, cubicweb-debian-version-3.17.6-1 for changeset 5b9fedf67a29
David Douard <david.douard@logilab.fr> [Tue, 06 Aug 2013 11:49:33 +0200] rev 9215
[pkg] prepare 3.17.6
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 06 Aug 2013 11:20:07 +0200] rev 9214
Do not use cubicweb-card in rest_path tests
Card overrides the rest_path method, so it does not make sense to use it in cw
tests.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Aug 2013 13:55:11 +0200] rev 9213
[inlined form field] fix regression introduced in 3.16.4/570208f74a84. Closes #3064653
In the above changeset, we changed ordered entities to be edited according to
mandatory inlined constraints, though this leads to unpredictable order in
cases where there are no constraint. This leads to case where inlined relation
field may think there is no value related to a mandatory relation, while this
is simply because there is a value specified but to an entity that will be
created later (together with the relation).
To fix this, we've to use the fact that the RelationField.process_form_value
return None in cases where there is some entity to be created, while an empty
set when there are no linked entity. The new no_value() method allows to
differentiate between those different notion of 'no-value'.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Aug 2013 10:59:52 +0200] rev 9212
[testlib] temporary_appobjects should call __registered__ if it exists. Closes #3064075
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 01 Aug 2013 15:51:22 +0200] rev 9211
[entities] properly escape in EmailAddress.printable_value when format is html. Closes #3064025
David Douard <david.douard@logilab.fr> [Wed, 31 Jul 2013 21:59:13 +0200] rev 9210
Added tag cubicweb-version-3.17.5, cubicweb-debian-version-3.17.5-1, cubicweb-centos-version-3.17.5-1 for changeset 15dd5b37998b
David Douard <david.douard@logilab.fr> [Wed, 31 Jul 2013 16:58:44 +0200] rev 9209
[pkg] prepare 3.17.5
David Douard <david.douard@logilab.fr> [Wed, 31 Jul 2013 14:48:34 +0200] rev 9208
[pkg] fix debian packaging (closes #3058542)
- remove useless Python 2.4 reference,
- simplify dh_install configuration to install files consistently instead of
having half in /usr/lib/pythonXX and half in /usr/share/pyshared,
- incidentally, this makes the package work on squeeze.
Regression from eaa58d1c7d5f
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Jul 2013 16:04:10 +0200] rev 9207
[testing]Â add missing generate_bigint method to ValueGenerator. Closes #3059327
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Jul 2013 13:56:00 +0200] rev 9206
[rql / querier] fix bad interpretation of some RQL SET query
when some neged relation is involved. Closes #3058527.
David Douard <david.douard@logilab.fr> [Tue, 30 Jul 2013 20:31:57 +0200] rev 9205
merge stable in default (3.18) branch
David Douard <david.douard@logilab.fr> [Tue, 30 Jul 2013 20:12:20 +0200] rev 9204
Added tag cubicweb-version-3.17.4, cubicweb-debian-version-3.17.4-1, cubicweb-centos-version-3.17.4-1 for changeset c7ba8e5d2e45
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jul 2013 17:09:02 +0200] rev 9203
[i18n] cleanup dead code
also fix small bug introduced in b0f6e8c14e7f
David Douard <david.douard@logilab.fr> [Tue, 30 Jul 2013 16:48:57 +0200] rev 9202
[i18n test] hack to make i18n tests run using a Python interpreter
they used to work fine when executed via pytest only.
This should be removed as soon as logilab.common.registry is fixed.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jul 2013 10:06:06 +0200] rev 9201
[i18ncube] fix crash due to duplicated messages in generated schema.pot
Add a test case and fix regression introduced in e713c47a993d.
Relates to #2811282
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jul 2013 10:05:58 +0200] rev 9200
[i18n test] load_po: fix bug in case of multi-lines msgid and ensure there are no duplicated messages
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jul 2013 08:23:17 +0200] rev 9199
[i18n test] simplify test cube a bit by only providing a views module, no package
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Jul 2013 16:01:18 +0200] rev 9198
[web] consider inlined relations in has_editable_relation. Closes #3049970
In some cases where the user can only add/edit inlined relations (though
actually edit perms of the inlined relation doesn't seem checked), the "modify"
action doesn't appear while it should.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Jul 2013 16:00:40 +0200] rev 9197
[web test] silent 3.13 warning
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jul 2013 13:47:52 +0200] rev 9196
[editcontrollers] Account for role in the ordering of entities (Complements #3031719)
Only role='object' was correctly accounted for by 570208f74a84
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 18:14:56 +0200] rev 9195
[migration.sync_schema_props_perms] ensure all participants to a unique together constraint are there
before adding CWUniqueConstraint. Closes #3038345
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 18:12:28 +0200] rev 9194
[session commit] save back exception context to avoid potentiel cluttering if some revert operation raise an exception
David Douard <david.douard@logilab.fr> [Mon, 29 Jul 2013 14:22:40 +0200] rev 9193
[pkg] python-central has been removed from Debian
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:46:30 +0200] rev 9192
[pkg] prepare 3.17.4
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:49:53 +0200] rev 9191
[pkg] merge centos 3.17.1-2 in stable (prepare 3.17.4)
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:47:22 +0200] rev 9190
Added tag cubicweb-centos-version-3.17.1-2 for changeset 965f894b63cb
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 09:07:25 +0200] rev 9189
[rqlrewrite] fix rqlrewrite unpredictability vs relation sharing. Closes #3036144
The relations index used to determine if relation may be shared only
considered a single relation node per relation type. So when the same
relation type occurs several time, dict order give unpredictable result.
We shall properly consider all relations instead.
Tentative test case included (but bug reproduction is by definition
unpredictable...)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 16:55:24 +0200] rev 9188
[rqlrewrite] rewrite doesn't need a solutions argument, always use the Select'ones
Also, do a copy systematically else it may lead to empty solutions depending on
the rewrite path.
Test case tentative included in the following changeset.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 16:49:40 +0200] rev 9187
[rql rewrite] equivalent but much simpler flow
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Jul 2013 10:42:33 +0200] rev 9186
[pkg] Prepare a new RPM release
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Jul 2013 10:25:49 +0200] rev 9185
[pkg] Add log directory to rpm
David Douard <david.douard@logilab.fr> [Thu, 25 Jul 2013 08:52:15 +0200] rev 9184
[repo] normalize ValidationError on edited entity (closes #2509729)
In CubicWeb, ValidationError.entity MUST be the eid of the involved entity,
not the entity iteself (as done by yams).
David Douard <david.douard@logilab.fr> [Wed, 24 Jul 2013 13:59:08 +0200] rev 9183
[doc] one must now manipulate the req.session.data dict (closes #2842345)
instead of deprecated get/set/del_session_data methods.
David Douard <david.douard@logilab.fr> [Wed, 24 Jul 2013 08:20:22 +0200] rev 9182
[datafeed] add a timeout config option (closes #2745677)
So a HTTP GET do not hang forever in the datafeed looping task.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 11:54:35 +0200] rev 9181
[dataimport] ucsvreader should skip empty lines unless specified otherwise. Closes #3035944
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 22 Jul 2013 12:08:37 +0200] rev 9180
[querier] Add timings to debug prints (DBG_RQL)
this may ease to spot some problematic queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 08:43:16 +0200] rev 9179
[editcontrollers] Ensure entities are created in an order satisfying schema constraints. Closes #3031719
changes below are also necessary to make the whole thing works:
* stop considering InlinedFormFile as eidparam field since they don't
hold any value
* rework 'pendingfields' handling to have separate processing of inlined fields
whose subject entity is created during the edition
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 12:07:46 +0200] rev 9178
[editcontroller] extract RQLQuery.set_attribute/set_inlined methods from handle_field/handle_inlined_relation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 11:38:48 +0200] rev 9177
[editcontroller] req=self._cw makes things easier to read
David Douard <david.douard@logilab.fr> [Mon, 22 Jul 2013 15:38:11 +0200] rev 9176
[facets,js] fix bogus checkbox icon appearing after the first interaction (closes #2790332)
This is because of the hardcoding of the data/ url.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jul 2013 14:57:37 +0200] rev 9175
fix typos in docstring, doc and comments
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Jul 2013 15:02:28 +0200] rev 9174
[debian] remove workaround for broken sphinx/jquery combination
sphinx in squeeze was updated:
http://packages.qa.debian.org/s/sphinx/news/20130112T154737Z.html
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 18 Jul 2013 22:18:50 +0200] rev 9173
[schema] mark CWDataImport as an internal type. Closes #3025536
Paul Tonelli <paul.tonelli@logilab.fr> [Fri, 19 Jul 2013 15:52:06 +0200] rev 9172
[pkg] remove deprecated dependency on pysqlite2
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Jul 2013 12:36:56 +0200] rev 9171
Fix two crashes in db-check (closes #3024964)
Also improves various debugging messages.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 11:09:28 +0200] rev 9170
[rql rewrite] may_be_shared_with should consider relation's scope (closes #3024730)
When a relation's scope is not the current statement, it must not be shared
(instead of comparing the statement).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 18 Jul 2013 10:19:06 +0200] rev 9169
[rql rewrite] fix may_be_shared_with method so that it actually considers all variable infos and not only the first one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 14:26:33 +0200] rev 9168
[schema/security] add __hash__ to rql expression. Closes #3013535
This is required so that when some rql expression participate to a dictionary
key, only the expression is considered (consistent with comparison). This
behaviour is expected in security at least, see the related bug for instance.
This scramble msplanner unit tests a bit.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jul 2013 10:59:34 +0200] rev 9167
[rql rewrite] move some code from querier to rqlrewrite where it makes more sense.
Also, make some minor cleanup/refactoring on the way and try to enhance
docstrings.
Relates to #3013535
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jul 2013 10:39:01 +0200] rev 9166
Do not compute actions list in TableLayout view when display_actions attribute is unset
Closes #3007281
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jul 2013 09:55:26 +0200] rev 9165
Use the list of cubes from the filesystem when reading the schema from the filesystem
Closes #3007259
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 10:55:45 +0200] rev 9164
[migration] when adding a cube, skip infered relations (closes #3005576)
Skipped infered relations are recalculated later.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 17:40:28 +0200] rev 9163
[3.17 migration] when some cube is missing, add_cube raise ConfigurationError, not ImportError. Closes #2981477
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 10:20:42 +0200] rev 9162
[migraction] rename_entity_type simply warn if old entity type isn't in the schema. Closes #3004069
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 10:15:25 +0200] rev 9161
[deprecation] fix uihelper deprecation warning, use the rtag name, not the class, so it may be copy/pasted
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 11 Jul 2013 18:43:29 +0200] rev 9160
[test] makes fti test order-agnostic (closes #3005633)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 11 Jul 2013 17:16:49 +0200] rev 9159
[web/views/staticcontrollers] Make ConcatFilesHandler write to a tempfile
In order to be more resistant to errors such as ENOSPC, and against different
threads accessing the same static data, we:
- concatenate data files to a temporary file, and rename it once we're done
- delete the tempfile in case of errors
- protect the creation of the cache_concat file with a lock
Closes #3005547
David Douard <david.douard@logilab.fr> [Fri, 12 Jul 2013 18:03:11 +0200] rev 9158
[test] make unittest_schema.py compatible with cubicweb-file 0.14
David Douard <david.douard@logilab.fr> [Mon, 22 Jul 2013 09:47:56 +0200] rev 9157
merge 3.16.6 branch in 3.17
Florent Cayre <florent.cayre@logilab.fr> [Mon, 15 Jul 2013 17:34:54 +0200] rev 9156
Added tag cubicweb-centos-version-3.16.6-1, cubicweb-debian-version-3.16.6-1, cubicweb-version-3.16.6 for changeset b4ccaf13081d
Florent Cayre <florent.cayre@logilab.fr> [Sat, 13 Jul 2013 05:10:55 +0200] rev 9155
Prepare 3.16.6
David Douard <david.douard@logilab.fr> [Mon, 15 Jul 2013 16:55:13 +0200] rev 9154
[devctl] properly generate i18n messsages for cubes that uses uicfg instances (closes #2811282)
David Douard <david.douard@logilab.fr> [Mon, 15 Jul 2013 16:55:03 +0200] rev 9153
[test/devctl] add a test case for i18ncube command
Florent Cayre <florent.cayre@logilab.fr> [Mon, 15 Jul 2013 10:40:49 +0200] rev 9152
Protect against crash in the `relation_possible` predicate with ambiguous relations.
It was still possible to get a KeyError when using relations that are ambiguous
at both ends, like (Executable, version_of, Program) & (Version, version_of, Project).
Closes #3010148.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 10 Jul 2013 15:03:50 +0200] rev 9151
[test] give a non-ambiguous order to sync_schema assertion (closes #3001959)
Sorting by ordernum alone is unstable since several values have the
same ordernum.
ordernum + name should be stable.
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 17:33:43 +0200] rev 9150
Added tag cubicweb-version-3.17.3, cubicweb-debian-version-3.17.3-1, cubicweb-centos-version-3.17.3-1 for changeset 32b4d5314fd9
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 04 Jul 2013 09:26:59 +0200] rev 9149
[test] typo
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 25 Jun 2013 12:11:42 +0200] rev 9148
[schema,server] add a security debugging aid (closes #2920304)
- Add a DGB_SEC debugging flag (to be used with set_debug/debugged).
- Add a context manager (tunesecurity) to filter security assertions.
Note: this does not address all read-security mecanisms.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Jun 2013 19:00:40 +0200] rev 9147
[etwist] fix handling of multiple files per field
html5 permits multiple files uploads, which can be expressed as::
<input type='file' multiple='multiple' />
This changeset avoids previous crash. Nothing is changed when a single file is
uploaded (backward compat is thus preserved). When multiple files are uploaded
for a single html input tag, the corresponding web request form key receives a
list of tuples like [('filename-1', IStream1), ('filename-2', IStream2), ...].
closes #2847207.
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 15:58:26 +0200] rev 9146
[merge] start 3.18 development
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 15:11:23 +0200] rev 9145
[pkg] prepare 3.17.3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Jul 2013 20:48:54 +0200] rev 9144
[pkg] Remove obsolete ubuntu hardy packaging
It's been EOL for a while.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Jul 2013 15:24:43 +0200] rev 9143
[book] fix sphinx documentation generation (closes #2991997)
changeset 17994bf95d6a ([doc] update Session documentation) added
cubicweb.server.session.Session autodoc to the book. This caused errors
from sphinx due to a section title not being allowed in the class's
docstring.
David Douard <david.douard@logilab.fr> [Mon, 08 Jul 2013 12:41:08 +0200] rev 9142
[test/ldap] fix ldap tests
- make sure the url is properly updated on database setup (when the test
database already exists and the ldap URI has changed)
- fix the ldapuser test setup process.
David Douard <david.douard@logilab.fr> [Fri, 05 Jul 2013 10:40:57 +0200] rev 9141
[test] fix unittest_schemaserial.py
A spurious add permission has been added in expected result by d988eec2d5d3
David Douard <david.douard@logilab.fr> [Fri, 05 Jul 2013 10:35:14 +0200] rev 9140
[test] make unittest_schemaserial.py runnable with python
used to run fine only when launched using pytest
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Jul 2013 17:38:10 +0200] rev 9139
[facet] use facet name as input name for text widget (eg has_text)
we need to ba able to distinguish between text-inputs so we can write
a widget for a single facet that uses more than one text input.
This fix consists in the diff in cubicweb.facts.js; modifications in
facet.py result from this former.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Jul 2013 09:36:20 +0200] rev 9138
[web doctype] don't give through reset_xmldecl to avoid double deprecation warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Jul 2013 09:35:58 +0200] rev 9137
[web doctype test] don't give reset_xmldecl to avoid deprecation warning
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 03 Jul 2013 14:52:10 +0200] rev 9136
[devtool] randomise available ports search in http test
This lowers the chance of parallel tests to race for the same port.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 03 Jul 2013 14:48:34 +0200] rev 9135
[facet] don't crash if no title specified on a facet and filtered rset is empty. Closes #2587883
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 03 Jul 2013 14:43:21 +0200] rev 9134
[css, html] add a css_class attribute on Button, allowing to change easily default CSS class for buttons
(think orbui integration)
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 27 Jun 2012 11:53:46 +0200] rev 9133
[view] add 2 missing spaces before the previous link
Julien Cristau <julien.cristau@logilab.fr> [Wed, 26 Jun 2013 09:35:54 +0200] rev 9132
[server/repository] Go through the repo to close pyro sessions
Turns out session.close() doesn't DTRT.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 31 May 2013 11:13:06 +0200] rev 9131
fix migration from pre-3.13.1 versions (closes #2846978)
Need to check the existence of the asource column before the first call
to eid_type_source.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 03 Jul 2013 14:33:27 +0200] rev 9130
[constraint] more robust unicity constraint failures reporting for end-users
Postgres or Sqlserver have limits on the index names (around resp. 64
and 128 characters). Because `logilab.database` encodes the `unique
together` constraint rtypes in the index names, we sometimes get
truncated index names, from which it is impossible to retrieve all
rtypes.
In the long run, the way such index are named should be changed.
In the short term, we try to reduce the end-user confusion resulting
from this design flaw:
* in source/native, the regex filtering ``IntegrityError`` message does
not impose an `_idx` suffix, which indeed may be absent (the result being an
UI message that resembles a catastrophic failure),
* also we avoid including a trailing " (double quote) from the error
message
* in entities/adapters, the well-named ``IUserFriendly`` adapter is made a
bit smarter about how to handle missing rtypes.
* the adapter also always produces a global message explaining the
issue (and the fact that sometimes, the user is not shown all the
relevant info)
* i18n is updated
Closes #2793789
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 03 Jul 2013 14:16:21 +0200] rev 9129
[hooks/security] Streamline attributes default permission check.
The current default permission on attributes delegates the check to
the entity permission update policy.
Since this is already checked it can be skipped.
The equality comparison will work, even with a deserialized schema,
because the default update perm is::
('managers', ERQLExpression(Any X WHERE U has_update_permission X, X eid %(x)s, U eid %(u)s))
which will always be deserialized in this order (groups first).
However this is a slight semantic change: entity type level 'update'
permissions can now be effectively used to encode update-time rules if
the default attribute permissions are used (before this change, the
'update' rules at entity type level were fired at creation time).
Closes #2930861.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 26 Jun 2013 14:22:22 +0200] rev 9128
[test/schemaserial] swap got/expected to get nicer unittest2 diagnostics
Prepares #2965518.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Jul 2013 17:09:04 +0200] rev 9127
[repository] drop safe attribute on ``internal_cnx``
People that need to disable hook can do it explicitly anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:18:54 +0200] rev 9126
[dbapi] deprecated the dbapi
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:26:14 +0200] rev 9125
[repoapi] deprecate dbapi compat method
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:14:22 +0200] rev 9124
[testlib] deprecated the older api to access the repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:09:23 +0200] rev 9123
[connection] deprecated free_cnset and set_cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:02:06 +0200] rev 9122
[session] deprecate all Connection related method on session
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:53:06 +0200] rev 9121
[session] drop dead _current_cnx_id
Not used anymore for a few commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:47:08 +0200] rev 9120
[session] privatise get_cnx and close_cnx
The only user, repoapi now use ``new_cnx``
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:14:35 +0200] rev 9119
[doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 15:28:15 +0200] rev 9118
[testlib] add an default testcase.adminaccess (and use it for default session)
This adminaccess is the new offical way to get connection, and request on a
repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:15:57 +0200] rev 9117
[testlib] introduce a RepoAccess class to easily create connection and request
Each RepoAccess hold a session for a user and three helper function to help
create Connection, ClientConnection of WebRequest related to this session.
related to #2920299
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 15:13:47 +0200] rev 9116
[repoapi] make ClientConnection.__enter__ return self
This allow the standard idiom::
with repoapi.connect(repo, login='babar', passwork='elephant') as cnx:
cnx.execute(…)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:16:06 +0200] rev 9115
[documentation] describe repoapi and web side change.
Short version explaining what object replace what and that BC existes for a few
version.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 12:28:17 +0200] rev 9114
[testlib] use internal_cnx instead of internal_session
internal_session is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 14:12:00 +0200] rev 9113
[repository] add an ``internal_cnx`` method to replace ``internal_session``
Accessing the repo through a Session is deprecated. We need an easy replacement
for ``internal_session``.
This API change was a good occasion to stop disabling integrity hook by default.
This is huge source of bug in user-code.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 12:02:38 +0200] rev 9112
[connection] enforce that a connection must be open to be used
The same than for ClientConnection, we ensure the connection is used inside a
its context.
.. note:: We may rely on that for ClientConnection and remove de dedicated code
in Client Connection but I prefer the current explicite and duplicated
version for now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 15:11:22 +0200] rev 9111
use standalone Connection to Client Connection
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:46:24 +0200] rev 9110
[session] add a new_cnx factory
Having user-code importing cubicweb.server.session.Connection is inconvenient.
We add a simple factory fonction on the session.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:26:06 +0200] rev 9109
[connection] allow simple instantiation of standalone Connection
Such connection will automatically pick a connection id. Note, They are not
automatically closed on session close. But they will fails to grab new cnxset
once the session is closed.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:35:55 +0200] rev 9108
[connection] handle and explicitly life cycle on Connection
Like ClientConnection, Connection object need to be explicitly started and stop.
They aims to be used as context manager.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:00:32 +0200] rev 9107
[sesion] distinction between Connection handled by the session and other.
Not mixing the new and backward compat approach seems a good idea. Let's enforce
it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:58:34 +0200] rev 9106
[session] replace _clear_thread_storage with close_cnx
There is not good reason to keep two distinct method.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:01:07 +0200] rev 9105
[session] explicitly take Connection object in close_cnx
Now that ClientConnection explicitly reference and use the Connection object we
do not need to use connectionid here.
We can safely change this signature, ClientConnection is the only use of
close_cnx for now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:41:53 +0200] rev 9104
[session] drop the Session._clear_cnx_storage method
It is just cnx.clear() now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:39:41 +0200] rev 9103
[session] wrap too long line
Too long line is too long.
(Confucius 503 BC)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:39:01 +0200] rev 9102
[session] gather close_cnx with get_cnx and set_cnx
They do the same kind of operation and deserve to be grouped together.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:13:18 +0200] rev 9101
[client-connection] remove the _srv_cnx usage
It does not do anything special now that we use explicite Connection object with
automatic cnx_set handling.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:04:31 +0200] rev 9100
[client-connection] explicitly check that the client-connection is open
The check is also perform by the _srv_cnx property. But we do not need those
property anymore.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:02:30 +0200] rev 9099
[client-connection] handle the lack of connection id while not open
the connection id is computed at opening and forgotten when closing. We can't
rely on it in various messages … like the "connection closed" exception.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:21:39 +0200] rev 9098
[connection] transparent cnx_set handling
Connection object while take cares of there cnxset themself (as dbapi connection
does).
The ``set_cnxset`` and ``free_cnxset`` operation are still available for
backward compatibility purpose. The ``_auto_free_cnx_set`` is introduced to
handle mixed usage.
A new context manager ``connection.ensure_cnx_set`` is added for code that
access ``cnx.cnxset`` directly and are not wrapped in any specific
``Connection`` method.
A ``_with_cnx_set`` decorator is used on all Connection method that need a
cnxset.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 10:44:40 +0200] rev 9097
[client-connection] explicit the client part in __repr__
Now that we have real server side connection we need to remove ambiguity.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 19:50:16 +0200] rev 9096
[ClientConnection] directly use the Connection object to access the database
Now that Connection are a full featured standalone object we can directly
reference and use it in the ClientConnection instead of using the session.
The session object is kept around for a while to perform various utility role.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 18:15:45 +0200] rev 9095
[connection] invert __init__ parameter
Takes session first. At some point, the connection_id will become optional for Connection
created explicitly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 13:43:22 +0200] rev 9094
[service] enforce that Service argument and return are json-serialisable
The call_service API need to be able to run through RPC. So we ensure front
start that it is possible serialise both input and output.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 18:04:08 +0200] rev 9093
[connection] move call_service on Connection
This is the last step toward standalone transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:21:14 +0200] rev 9092
[connection] move the commit method on Connection object
One step closer of standalone Connection!
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:21:09 +0200] rev 9091
[connection] move the rollback method on Connection object
One step closer of standalon Connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:20:46 +0200] rev 9090
[connection] pass a Connection object to RQLRewriter
RQLRewriter can now directly use a Connection object. No need for specific
handling session side.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:20:14 +0200] rev 9089
[connection] Connection.execute touch Session timestamp
This allow to keep Session alive while using Connection object only for database
access.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:42:12 +0200] rev 9088
[connection] Connection now call _set_user to CWUser object linked to itseld
Session.user is linked to the session.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:13:50 +0200] rev 9087
[server/session] better faking of user for InternalManager
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:58 +0200] rev 9086
[connection] move execute
All necessary method are now available on the Connection object. So the
Connection can handle RQL execution itself.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:10:52 +0200] rev 9085
[connection] mark Connection as "not a request"
The ORM use this information. Having a wrong value will lead to crash.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:04:46 +0200] rev 9084
[server/session] ensure appobject obtained from the session are linked to the session
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 12:25:52 +0200] rev 9083
[connection] have rql_rewriter accession on Connection
Code expecting a session search the RQLRewriter on this attribute.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:42 +0200] rev 9082
[connection] move local_perm_cache management on Connection
It belongs here anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:37 +0200] rev 9081
[session] use a rich object for timestamp
This allows the Transaction to keep a reference to it
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:32 +0200] rev 9080
[migraction] do not access session.data directly
use set_shared_data and get_shared_data instead
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:28 +0200] rev 9079
[connection] move relation management method
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:24 +0200] rev 9078
[connection] give access to shared data method
A reference to session data are kept
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:17 +0200] rev 9077
[connection] move relation cache method to Connection
needed for execute (and need execute themself...)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 15 May 2013 16:09:31 +0200] rev 9076
[connection] give access to session execute from connection
This allows multiple function that both requires an execute method and are
required by the execute method.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 23 May 2013 14:17:46 +0200] rev 9075
[connection] move last part of undo logic in connection
Now that Connection have a reference to the repo it can handle all of it itself
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:28:41 +0200] rev 9074
[connection] initialize connection.user and connection.lang
A RequestSessionBase need a user and lang. For now we use the session ones.
Later the Connection will have it's own.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 17:43:18 +0100] rev 9073
[Connection] inherit from RequestSessionBase
This contains a lot method. We need them to move more code from Session
to connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 13:48:18 +0200] rev 9072
[multi-sources] drop multi-sources related test.
another branch is removing the multi-source itself. We do not want to bother
fixing those test.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:21:04 +0200] rev 9071
Use new repoapi for the web stack
The publisher now link repoapi.ClientConnection to request. and explicitly
control there scope.
Web side, appobject._cw.cnx is now a repoapi.ClientConnection.
This actually kill webonly possibility until the repoapi is able to use some
RPC.
The change in the authentication stack is very hasty and need cleanup
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:59:01 +0200] rev 9070
PARTIAL: Using the repoapi in test
Test now use the repoapi.ClientConnection to access the repo. This is very big
change. The current method to access the repo are kept for backward
compatibility. The new methods will be introduced much later.
The TestCase keep a ClientConnection To an admin session for the whole test.
This changeset does not makes all tests pass without the next one that change
set htt without the next one that change the http stack
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:45:16 +0200] rev 9069
[web/test] drop proff of concept Facebook login in test
The authentication stack will change. The change in API will requires rework of
user cube anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:46:35 +0200] rev 9068
[test/dbapi] do not rely on the Testcase provided cnx
We plan to use the repoapi in the test. So we need the DBAPI test to explicitly
create a DBAPI connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:45:44 +0200] rev 9067
[dbapi] explicitly use the DBAPI version of CubicwebRequestBase
As we plan to use a ConnectionCubicwebRequestBase by default we better have the
dbapi explicitly asking for a DBAPI implementation.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:33:41 +0200] rev 9066
[web/application] drop unused import
unused since 3c85e734ce00
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:35:22 +0200] rev 9065
[web/test] properly reset the request connection related attribute
A new request does not have those attribute to None. There have special value
that we now properly reinstall.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:23:48 +0200] rev 9064
[web/test] drop two undocumented suspicious regression test
Those two test are not documented and use the API in the wrong way. They do not
raise exception by chance.
the current request signature is::
def request(self, rollbackfirst=False, url=None, headers={}, **kwargs):
So the RQL have nothing to do here.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 19:27:31 +0200] rev 9063
[webrequest] introduce an alternative implementation using the repoapi
DBAPI specific parts of ``CubicWebRequestBase`` are extracted in a
``DBAPICubicWebRequestBase`` decicated class and a new
``ConnectionCubicWebRequestBase`` is introduced that provide the same services
but using a repoapi.ClientConnection as data source. For now the
``DBAPICubicWebRequestBase`` is still used by default.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:18:51 +0200] rev 9062
[repoapi] add an anonymous_cnx function
This function return an anonymous ClientConnection. It aims to replace
``dbapi.anonymous_session``.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:40:12 +0200] rev 9061
[repoapi] add a connect function
This function takes a repo and authentication information to open a new Session
and return a ClientConnection associated to it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 17:26:13 +0200] rev 9060
[client-connection] add an auto-close property for ClientConnection
The next commit introduce a connect function that open a new Session and return
an associated ClientConnection. The Session should not be used by anything else
than the created ClientConnection, so we want to close it at the same time than
the ClientConnection. The implementation in this changeset is simplistic. We
probably want to move this notion in the session itself. This be improved once
we have server side Connection
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 12:08:06 +0200] rev 9059
[cwuser] make CWUser callable, returning self for dbapi compatibility
In the dbapi, Connection and Session have a ``user`` method to
generated a user for a request In the repo api, Connection and Session
have a user attribute inherited from SessionRequestBase prototype. This
ugly hack allows to not break user of the user method.
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:26:03 +0200] rev 9058
[client-connect] drop rqlst on rset returned client side
The DBAPI used to drop the RQL syntax tree on rset to save bandwidth. We could
stop doing it for In-memory client connection. However keeping the syntax tree
leads to multiple tests failures. So we keep dropping it as the DBAPI always
did.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:25:47 +0200] rev 9057
[client-connection] add a repo property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 13:49:13 +0200] rev 9056
[client-connection] add a connection property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 13:42:19 +0200] rev 9055
[client-connection] add a sessionid property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 12:12:58 +0200] rev 9054
[client-connection] add a cursor() method for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 11:39:34 +0200] rev 9053
[client-connection] add a request() method for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 11:06:57 +0200] rev 9052
[repoapi] introduce a basic ClientConnection class
This is the new official way to access the repo from client side.
It still access Session object directly as the server side connection is not up
yet (and it's not up because it would have no user).
Multiple follow up commit will install compatibility with the DBAPI. This will
ease the migration from dbapi to repoapi.
ClientConnection has no user yet but later commit will use it in the whole Web
stack.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:25:47 +0200] rev 9051
[req] add a _set_user method
RequestSessionBase usally need to recreate a new CWuser appobject linked to
themself. We add it to the base class to avoid multiple redifinition.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:00:20 +0200] rev 9050
[server/session] add a login property
session.login is a DBAPISession attribute. Having it on server side session
will helps the rework of the API to access repository. The new schema drop the
concept of DBAPISession and use server side session for the same purpose.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:47:01 +0200] rev 9049
[server/session] allow access to session id using sessionid
session.sessionid is a DBAPISession attribute. Having it on server side session
will helps the rework of the API to access repository. The new schema drop the
concept of DBAPISession and use server side session for the same purpose.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Jun 2013 17:27:08 +0200] rev 9048
[server/session] Implement anonymous_session
Now we have a simple rule to compute if a session is anonymous we can implement
the property for server session too. Having it on server side session will helps
the rework of the API to access repository. The new schema drop the concept of
DBAPISession and use server side session for the same purpose.
Related to #2953943
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:07:45 +0200] rev 9047
[server/session] do not clear session.cnx if unrelated to cnx actually cleared
The cnx parameter may be different from the one actually loaded for the current
thread. This will be possible in future commit when you close a client connection
for example.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 14:55:26 +0200] rev 9046
[dbapi] move ProgrammingError into cubicweb module
A new ``repoapi`` will be introduced as a replacement for the dbapi. It will
need ProgrammingError too.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Jun 2013 15:00:41 +0200] rev 9045
[repoapi] move get_repository function into a new repoapi module
This new module aims to host the function of the new API replacing the old
DBAPI. `get_repository` is still needed hence moved to the new module.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Jun 2013 16:19:27 +0200] rev 9044
[testlib] gather all repository access logic in one place
Refactoring of the repository access API in test is imminent. We plan to move
from the "old" dbapi to the new repoapi.
Gathering all impacted method in one place help to understand how all those
method interact and help readability for both patch and resulting code.
No code change is done at all in this changeset. The refactoring will code
later.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Jun 2013 16:00:07 +0200] rev 9043
[testlib] move repo and related attribute back on Instance instead of Class
The repo and cnx was hold by the TestCase class to work as a cache and avoid
recreation of the repo from scratch of each test. However since bad26a22fe29 the
caching is done by the DatabaseHandler object and it is not necessary have a
second layer of cache on the TestCase itself.
We move the repo and cnx attribute back on the TestCase instance itself and make
several class methods instance methods again.
This will helps to change dbapi access in test from dbapi to repoapi.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 14:53:19 +0200] rev 9042
[dbapi] makes anonymous_connection a computed property
The current implementation is a boolean flag set manually by client code after
connection creation. This led to different way to decide a anonymous_connection
should be True (eg. different in the test than in the actual application code).
It should not be client responsibility to set this flag.
``cnx.anonymous_connection`` is now a purely computed property. Connection with user in the
"guests" group are anonymous, the other ain't.
``Session.anonymous_session`` is computed from ``cnx.anonymous_connection`` and get
the updated behavior transparently.
Closes #2953943
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 11:31:47 +0200] rev 9041
[webrequest] simplify set_session code
Thanks to the previous changeset we are assured that session handed to
set_session is full featured one. This allows a simpler code for this method.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:28:16 +0200] rev 9040
[webrequest] set DBAPISession without cnx at initialisation time
Such session are necessary for minimal use of a Request. Setting on by default
allow simplification later linking with a full featured DBAPISession or
equivalent. This was not possible before as all session was tracked by session
manager. They are not tracked anymore since aa709bc6b6c1 and we can safely
create them by default.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:41:27 +0200] rev 9039
[testlib] rework request building in init_authentication
The previous code was building a full authenticated request and tried to undo
the authentication afterward. The new code just create a bare Request with no
authenticated session linked yet.
This is much closer of what the actual authentication process does.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:39:25 +0200] rev 9038
[request] drop the user argument for set_session
I see no code nor test that use this optional argument. removing it help to
clean the session code. The set_session function will soon be deprecated anyway (at the
same time than the dbapi)
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Jun 2013 12:00:54 +0200] rev 9037
[web-request] handle default language earlier
We now read language negotiation header at initialisation time (previously done
during ``set_session``). This simplify the set_session code for later reworking.
There is no change in behavior, the user selected language continue to overwrite
the one picked from the header/default when applicable.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Jun 2013 15:12:25 +0200] rev 9036
[etwist] pass the repository to the root resource
This is another step toward a cleaner instantiation scheme for the repo.
The http test now pass an already created object to the etwist server instead of
relying on the config cache.
Related to #2249513
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:03:37 +0200] rev 9035
[repo] move repo.gc_stats to Service API (closes #2951068)
We currently have a method on the repo that anyone can call. `call_service`
gives a similar thing, modulo:
* can be restricted access to manager only (thanks to selection on services),
* less unrelated code on the repository class,
* no need to fetch a reference to a repo object from the client side
* (`req._cnx.repo` is not an API and config.repository() is on its way out).
The old way to access this information (repo.gc_stats()) is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:05:35 +0200] rev 9034
[repo] move repo stats to Service (closes #2951067)
We currently add a new method on repo that anyone can call. Call service allows
to reach the same result with:
* Restricted access to manager only (thanks to selection on services),
* Less unrelated code on the repo.
* No need to fetch a reference to a repo object from client side.
`req._cnx.repo` is not an API and config.repository() is on its way out.
The old way to access this information (repo.stats()) is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 11:59:45 +0200] rev 9033
[service] drop the asynchronous execution possibility
Call_service was able of both sync and sync execution making the API confusing.
There is not user of the async case. We drop the async argument in favor of
synchronous execution only.
This makes call_service the official API to call server side code from the
client side. This is a remplacement for the usual monkey patching of the repo
object.
The zmq notification bus is a solid alternative for codes that needs to start an
async execution.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:00:03 +0200] rev 9032
[auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Those object actually need a repo object to connect and create new session
object. They used to retrieve the repo object using
``vreg.config.repository()``. I'm trying to sanitise the initialisation stack
and get ride of ``config.repository()``, a function that mix factory and cache.
Retrieving the vreg from the repo is trivial (``repo.vreg``) so we now pass the
repo object instead of the vreg.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 23 Nov 2012 16:12:19 +0100] rev 9031
web/application: instantiate the repository outside of CubicWebPublisher
This improves decoupling and allows ``CubicWebPublisher`` user to choose which
argument are used during ``Repository`` instantiation. In particular is allows
caller to provide a ``TaskManager``.
The `vreg` argument of publisher is made mandatory. See CubicWebPublisher
docstring for details.
Related to #2249513
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 07 Dec 2012 17:23:04 +0100] rev 9030
remove vreg argument to CWPublisher
The passing a vreg to CWPublisher was used by test to allow reused of an
existing vreg. We dropped this feature two commit ago and can safely removes it.
Removing this argument allows later cleanup and improvement on the CWPublisher
and Repository front.
closes #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 07 Dec 2012 16:10:38 +0100] rev 9029
[devtools] vreg becomes a class ppty
After multiple devtools refactoring, the vreg used for test is now *always* got
from the repository. Making this explicit is a step toward simplification of the
vreg handling during various initialisation phases.
Related to #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 23 Nov 2012 16:33:00 +0100] rev 9028
[devtools] drop unused `reset_schema` and `reset_vreg` class attribute
They have no effect and no user...
Related to #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 27 May 2013 17:50:55 +0200] rev 9027
[connection] move security control logic on Connection
The _security_enabled context manager now operate on connection. We have to keep
a specific entry point in Session to ensure Connection object are properly
cleaned up when using session to "manage" Connection live cycle.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 12:11:42 +0200] rev 9026
[connection] move hook control logic on Connection
The _hook_control context manager now operate on connection. We have to keep a
specific entry point in Session to ensure Connection object are properly
cleaned up when using session to "manage" Connection live cycle.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 12:10:45 +0200] rev 9025
[session] update _hook_control docstring
pierre-yves [Mon, 27 May 2013 16:43:02 +0200] rev 9024
[connection] reinstall cnx.data as cnx.transaction_data
Too much code expects self._cw.data to be session data.
backout 9b2f68916474
Related to #2503918
Related to #2912807
pierre-yves [Mon, 27 May 2013 16:42:39 +0200] rev 9023
[connection] give access to is_internal_session boolean
Needed if we are to use this object like we currently do with session.
Related to #2503918
pierre-yves [Fri, 14 Jun 2013 13:39:49 +0200] rev 9022
[req] drop from_controller on non WebRequest object (Closes #2901079)
The `controller` concept is purely a web things. It does not belong to generic
`req` object.
The `build_url` code is slightly changed to handle that. This probably requires
extended cleanup later.
This is a barely used and very internal API. No deprecation period
pierre-yves [Tue, 14 May 2013 00:36:43 +0200] rev 9021
[connection] add logging method on connection
If we are to use this object like we currently do with session, we need to have
the logging method as a lot of code use them.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 15:12:06 +0200] rev 9020
rename server.session.transaction into server.session.connection
The ongoing rework of the API to access the database include the splitting of
Session in two objects:
The ``Session`` object will only hold credential (user) and global session data.
A new object will publicly emerge to handle a database access. This object is
named ``Connection`` since that the way database accessors with the same property
are named in other system. So we renamed the ``Transaction`` object into
``Connection``. The ``Transaction`` object have already grown in the direction
of something directly usable by generic code, but the name ``Transaction`` is
ill suited as such object can be used for multiple database transaction in a
row.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 13:43:29 +0200] rev 9019
[application] call req.set_session in application.main_handle_request
The Session handling chain is no more responsible for calling req.set_session.
It just returns a valid session and lets the caller link it to the Request.
This opens the way to explicitly creating and closing a connection/transaction
in ``application.main_handle_request``.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 18:46:39 +0200] rev 9018
[session-handler] use session directly to update last usage
We don't really need the WebRequest for that. Not using the WebRequest to access
the cubicweb repository here will allow a delayed set_session.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 18:50:19 +0200] rev 9017
[application/connect] simplify connection logic
``application.connect`` now either sets a full featured ``DBAPISession`` to the
``WebRequest`` object or raises ``AuthenticationError``. The creation and usage
of a fake DBAPISession is now handled by ``main_handle_request`` when needed.
This means that fake DBAPISession are no longer tracked by the session manager
and that user are not given anyway to retrieve them for a later request.
This fake DBAPISession is still passed to ``core_handle`` because multiple cubes
like registration or forgotten password need this behavior. We would like to get
ride of it in the future.
This clarification of the connection API greatly simplifies ``DBAPISession``
retrieval//creation process opening the
way to improvements in this area.
Related to #2503918
pierre-yves [Thu, 13 Jun 2013 15:36:10 +0200] rev 9016
Drop hijack user (closes #2901093)
Deprecated since 3.17.0. Dropping this function help the session cleanup
business.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 17:27:43 +0200] rev 9015
[sources] drop support for ldapuser source (closes #2936496)
The ldapfeed source is a replacement for ldapuser. Use it instead.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 17:13:17 +0200] rev 9014
merge stable back into default
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:26:25 +0200] rev 9013
3.17 is the new stable
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:13:24 +0200] rev 9012
Added tag cubicweb-version-3.16.5, cubicweb-debiann-version-3.16.5-1, cubicweb-centos-version-3.16.5-1 for changeset 810a05fba1a4
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:02:39 +0200] rev 9011
[pkg] prepare 3.16.5
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 14:41:50 +0200] rev 9010
Added tag cubicweb-version-3.17.2, cubicweb-debian-version-3.17.2-1 for changeset 195e519fe97c
David Douard <david.douard@logilab.fr> [Thu, 13 Jun 2013 17:32:49 +0200] rev 9009
[pkg] prepare 3.17.2
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Jun 2013 11:53:40 +0200] rev 9008
repository: make tests pass again
The tests use mono-threaded pyro, which breaks assumptions made in
e27337dfec8c. To fix that, remove sessions from the _pyro_sessions dict
when they're closed, and force the test pyro client to actually
disconnect when it's done.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Jun 2013 18:33:50 +0200] rev 9007
repository: monkey patch pyro connection handling to detect clients going away
When a pyro client goes away we need to close their session (to release their
cnxset). Add a dict to the repository mapping pyro client threads to session
object.
Closes #2932058
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Jun 2013 12:01:23 +0200] rev 9006
notification: use viewargs for notif_entity_updated instead of transaction_data
Now that notifications use separate sessions, they can't rely on the
original transaction_data being around, so pass the data through view
arguments instead, so the notification view knows what changed on
updated entities.
Closes #2936180
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Jun 2013 12:03:59 +0200] rev 9005
notification: properly handle cnx and lifetime of the hijacked session
When we create a session for the notification rendering, we need to
1) give it a cnxset
2) commit and close it after we're done
3) restore the original session for subsequent notifications
This changes the ordering of actual mail sending, since there are
several different commits involved, but I don't see a way to fix that
short of restoring hijack_user.
Related to #2934523
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Jun 2013 12:27:00 +0200] rev 9004
notification: fix session creation (closes #2934523)
Session() takes a user and repo, not repo and user.
David Douard <david.douard@logilab.fr> [Fri, 07 Jun 2013 16:48:20 +0200] rev 9003
Added tag cubicweb-version-3.17.1, cubicweb-debian-version-3.17.1-1, cubicweb-centos-version-3.17.1-1 for changeset f98d1c46ed9f
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 13:00:28 +0200] rev 9002
[cwctl] add configure command to cw-ctl (closes #2709702)
usage: cw-ctl configure <appid> --param key=value,key2=value2 --param key3=value3
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 14:02:45 +0200] rev 9001
[cwctl] rename option no-post-create to no-db-create
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 16:02:46 +0200] rev 9000
[pkg] version 3.17.1 for rpm packages
pierre-yves [Mon, 27 May 2013 15:48:03 +0200] rev 8999
[session] upgrade session closed error from Exception to SessionClosedError
Exception is far too wide and we already have a SessionClosedError anyway.
Closes #2897696
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 12:29:44 +0200] rev 8998
[pkg] prepare 3.17.1
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 May 2013 14:46:32 +0200] rev 8997
[web/application] add some minimal documentation
Some documentation to the Application main entry point.
pierre-yves [Thu, 23 May 2013 19:25:24 +0200] rev 8996
[session] raise proper exception with get_tx is called on a closed session
Prevent attribute error on _txs
Closes #2897836
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 09:44:37 +0200] rev 8995
[view] typo in a docstring
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 14:07:46 +0200] rev 8994
[cwctl] pass missing inputlevel argument to postcreate() (closes #2901037)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 May 2013 11:41:39 +0200] rev 8993
[server] fix documentation of ZMQ options harder
The syntax for zmq addresses is tcp://host:port, no zmqpickle involved.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 29 May 2013 16:44:16 +0200] rev 8992
merge with 3.16.x fixes
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Mon, 27 May 2013 15:39:56 +0200] rev 8991
[server] fix documentation of ZMQ options
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 May 2013 11:16:09 +0200] rev 8990
[zmq] set order for ZMQStartHook so other hooks don't need to
If an application wants to subscribe to some messages on the zmq bus,
that needs to happen after ZMQStartHook.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 23 May 2013 17:32:56 +0200] rev 8989
import merge_options directly from logilab.common
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 15:10:50 +0200] rev 8988
[server] fix error messages in write_sources_file()
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 02 May 2013 12:22:14 +0200] rev 8987
[doc] a couple almost-typos
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 03 May 2013 17:26:23 +0200] rev 8986
[schemaserial] mitigate critical message during migration
We can't fetch extra_props because it is not yet there.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Wed, 22 May 2013 06:30:16 +0200] rev 8985
[doc] typo
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 23 May 2013 18:57:25 +0200] rev 8984
[cw-ctl] fix help message for schemadiff In global help (closes #2888538)
The leading space make it appears on multiple line. The help content is a bit
improved in the process.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 14 May 2013 18:02:24 +0200] rev 8983
[dbapi] fix connect backwards compat harder
Passing None as group and host should result in
"pyro:///cubicweb.appid", not "pyro://None/None.appid". Followup for
2091d275fe5c. Closes #2882666.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 May 2013 12:35:02 +0200] rev 8982
[zmq] make publish address optional
It should be possible to use the zmq communication bus in a read-only
manner. Allow setting zmq-address-sub without zmq-address-pub.
Closes #2897178.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 May 2013 14:38:43 +0200] rev 8981
Fix documentation for zmq pub/sub hooks and configuration
Closes #2897177
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 17 May 2013 16:25:48 +0200] rev 8980
[entity] improve deprecation messages
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 14:42:50 +0200] rev 8979
[devtools] use self._parse so AssertionError is properly raised instead of lxml error (test failure introduced in 6711f78c18be)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 16:21:23 +0200] rev 8978
[testlib] fix page validator selection. Closes #2869456
* use a validator that checks XML well-formness for the html5 doctype
(as a convenient side-effect, it does not choke on e.g. a canvas tag
like the HTMLParser does)
* use a DTD validator if there is an xml declaration
* else use the HTMLValidator
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 14:22:51 +0200] rev 8977
[testlib] introduce a validator that check xml-well formness
This validator simply check XML is well formed and accept any entities
(think HTML defines much more entities than bare XML)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 15:37:22 +0200] rev 8976
[view] return HTML5 doctype. Closes #2869426
We dropped xhtml support in 3.17 but we kept providing documents using the
XHTML strict doctype, while our content wasn't conform to the DTD since we
dropped proper namespaces definition as well as declaration of cubicweb DTD
extensions.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:16:45 +0200] rev 8975
[testlib] repreprocess content so contextual display has a chance to show the proper line. Closes #2869481
the context is calculated using position information relative to a preprocessed content,
not the original source
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 15:58:52 +0200] rev 8974
[web request] drop no more necessary request.document_surrounding_div method
This is awful and no more necessary since we dropped xhtml support
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:13:43 +0200] rev 8973
[testlib] unspaghettify Validator / PageInfo api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 16:05:51 +0200] rev 8972
[testlib] update htmlparsers.VALMAP: stop using SaxOnlyValidator and add an entry for html
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:26:16 +0200] rev 8971
[testlib] SaxOnlyValidator is deprecated, use XMLValidator instead
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 14 May 2013 15:26:24 +0200] rev 8970
[dataimport] minor typo in error handling
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 07 May 2013 00:29:42 +0200] rev 8969
[views] attempt to clarify the inline help system documentation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 06 May 2013 19:40:15 +0200] rev 8968
[sobject] fix notification operation
regression introduced in bf4003760e02 Operation use self. session. not self._cw.
I'm a bit surprised that its not tested.
closes ##2870077
David Douard <david.douard@logilab.fr> [Fri, 03 May 2013 16:36:42 +0200] rev 8967
Added tag cubicweb-debian-version-3.17.0-2 for changeset 09a0c7ea6c3c
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 03 May 2013 16:27:34 +0200] rev 8966
[pkg/debian] prepare release 3.17.0-2
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 03 May 2013 16:24:42 +0200] rev 8965
[pkg/debian] update yams runtime depends
Only the built depends were updated to 0.37.0.