Thu, 11 Jun 2015 16:51:51 +0200 [web] write css_class to attrs on rendering and not on button creation
Laura Médioni <laura.medioni@logilab.fr> [Thu, 11 Jun 2015 16:51:51 +0200] rev 10479
[web] write css_class to attrs on rendering and not on button creation Because css_class attribute may be overriden by bootstrap after button creation and this modification has to be taken into account. closes #5457548
Fri, 26 Jun 2015 14:30:24 +0200 [statsd_logger] handle ipv6 addresses
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:30:24 +0200] rev 10478
[statsd_logger] handle ipv6 addresses
Mon, 04 May 2015 17:37:43 +0200 implement a simple statsd logger (closes #5488711)
David Douard <david.douard@logilab.fr> [Mon, 04 May 2015 17:37:43 +0200] rev 10477
implement a simple statsd logger (closes #5488711) and add a few timing probes on: - etwist.server.CubicWebRootResource.render_request() - server.querier.QuerierHelper.execute() - server.sources.native.NativeSQLSource: - sqlexec() - compile_rql() - authenticate() - doexec() - doexecmany() as well as a pair of counters on server.querier.QuerierHelper cache (hit/miss).
Wed, 01 Jul 2015 21:00:13 +0200 [predicates] ExpectedValuePredicate now accepts a dict parameter
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 01 Jul 2015 21:00:13 +0200] rev 10476
[predicates] ExpectedValuePredicate now accepts a dict parameter ``match_form_params`` and ``match_kwargs`` benefit from that. For instance, the following statements are valid:: __select__ = match_form_params('vid', 'subvid') __select__ = match_form_params(vid='list', subvid='incontext') __select__ = match_form_params(vid=('list', 'tsearch')) In the latter cases, not only the parameters (``vid``/``subvid``) must be in the request form but their corresponding value must also match the expected values (or one of possible choices if `values` is a sequence). closes #5484070
Thu, 18 Jun 2015 18:26:02 +0200 [rql2sql] Fix iter_exists_sols() excessive cleaning of _state.tables
Christophe de Vienne <christophe@unlish.com> [Thu, 18 Jun 2015 18:26:02 +0200] rev 10475
[rql2sql] Fix iter_exists_sols() excessive cleaning of _state.tables Closes #5503548
Thu, 25 Jun 2015 22:12:49 +0200 [cwctl] allow overriding config settings from the command line (closes #5557656)
David Douard <david.douard@logilab.fr> [Thu, 25 Jun 2015 22:12:49 +0200] rev 10474
[cwctl] allow overriding config settings from the command line (closes #5557656) eg. cubicweb-ctl start -p port:8082 myapp to overload the port parameter defined in the all-in-one.conf file.
Fri, 26 Jun 2015 13:04:25 +0200 avoid sanitizing warnings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 13:04:25 +0200] rev 10473
avoid sanitizing warnings
Fri, 26 Jun 2015 14:04:16 +0200 [devtools] avoid warning about source['global-db-name']
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:04:16 +0200] rev 10472
[devtools] avoid warning about source['global-db-name'] sqlite and postgres db handlers store the db template name there.
Fri, 26 Jun 2015 10:52:03 +0200 [skeleton] remove no-break space from skeleton setup.py
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:52:03 +0200] rev 10471
[skeleton] remove no-break space from skeleton setup.py
Fri, 26 Jun 2015 10:51:16 +0200 [server/test] drop unused import
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:51:16 +0200] rev 10470
[server/test] drop unused import
Fri, 26 Jun 2015 10:50:59 +0200 [doc] update 3.21 release notes
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:50:59 +0200] rev 10469
[doc] update 3.21 release notes
Fri, 26 Jun 2015 16:28:56 +0200 [devtools] Sort _cw_fields in fake_form
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:28:56 +0200] rev 10468
[devtools] Sort _cw_fields in fake_form Try to generate a predictable string, to help testing with PYTHONHASHSEED=random.
Fri, 26 Jun 2015 16:29:28 +0200 [entity] sort fetchattrs when generating rql
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:29:28 +0200] rev 10467
[entity] sort fetchattrs when generating rql Try to generate a predictable rql query, to help testing with PYTHONHASHSEED=random.
Fri, 26 Jun 2015 16:27:37 +0200 Update hgignore for temporary test databases
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:27:37 +0200] rev 10466
Update hgignore for temporary test databases
Fri, 03 Apr 2015 17:59:10 +0200 [js] removed unused and broken SuggestForm Widget (closes #5213487)
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 03 Apr 2015 17:59:10 +0200] rev 10465
[js] removed unused and broken SuggestForm Widget (closes #5213487)
Tue, 30 Jun 2015 15:06:36 +0200 [test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 30 Jun 2015 15:06:36 +0200] rev 10464
[test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169) When running "pytest -t", many tests modules will be imported and run within a single python process. unittest_i18n fails when run after tests such as unittest_webtest.py or unittest_httptest.py. The main reason is that unittest_i18n does various tricks to add a test cube to the search path, which badly fails when a previous test module has already loaded "stuff" (for lack of a better word). Instead, let's just call the 'i18ncube' command with subprocess. The change from logilab.common.testlib to unittest is not directly needed, but comes as a free cleanup with the above changes.
Mon, 29 Jun 2015 16:58:43 +0200 [server/test] fix random error in unittest_security
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:58:43 +0200] rev 10463
[server/test] fix random error in unittest_security When entering a new Connection, we cache the user and its 'login' attribute (with no permissions checking). This test makes 'CWUser.login' unreadable by guests, and then proceeds to make sure the 'anon' user can actually not read any 'login' attribute. However, due to the above cnx initialization, anon's login is actually cached, hence readable. This happens to make the test fail sometimes depending on the order in which CWUser entities are returned, because one of them has .complete() called, which as a side effect sets the attribute cache to None for unreadable attributes. Call .complete() on both entities to reset the login cache. While this is still highly debatable, at least it's consistent.
Mon, 29 Jun 2015 16:41:36 +0200 [entity] fix typo in comment
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:41:36 +0200] rev 10462
[entity] fix typo in comment
Fri, 26 Jun 2015 16:10:33 +0200 [doc] Add a tutorial and extend documentation for ExtEntityImporter
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 16:10:33 +0200] rev 10461
[doc] Add a tutorial and extend documentation for ExtEntityImporter Related to #5414753.
Fri, 26 Jun 2015 16:09:27 +0200 [dataimport] introduce the importer and extentity classes
Yann Voté <yann.vote@logilab.fr> [Fri, 26 Jun 2015 16:09:27 +0200] rev 10460
[dataimport] introduce the importer and extentity classes This introduces the ``ExtEntity`` class which is a transitional state between data at external source and the actual CubicWeb entities. ``ExtEntitiesImporter`` is then in charge to turn a bunch of ext entities into CW entities in repository, using a given store. This changeset also introduces ``SimpleImportLog`` and ``HTMLImportLog`` which implement the CW DataImportLog interface in order to show log messages in UI using simple text and HTML formats respectively, instead of storing these messages in database. Both have mostly been backported from cubes.skos.dataimport. Closes #5414753.
Fri, 26 Jun 2015 17:01:03 +0200 [test] Use store.prepare_insert_relation instead of deprecated relate method
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 17:01:03 +0200] rev 10459
[test] Use store.prepare_insert_relation instead of deprecated relate method Follow-up for 1f5026e7d848. Related to #5040344.
Wed, 24 Jun 2015 23:30:47 +0200 [dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jun 2015 23:30:47 +0200] rev 10458
[dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Wed, 24 Jun 2015 23:23:57 +0200 [dataimport] Move stores to new API.
Yann Voté <yann.vote@logilab.fr> [Wed, 24 Jun 2015 23:23:57 +0200] rev 10457
[dataimport] Move stores to new API. Here is the final store API: * ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity type, attributes and inlined relations, return the eid of the entity to be inserted, *with no guarantee that anything has been inserted in database*, * ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an entity type and eid, promise for update given attributes and inlined relations *with no guarantee that anything has been inserted in database*, * ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a relation ``rtype`` should be added between entities with eids ``eid_from`` and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no guarantee that the relation will be inserted in database*, * ``flush() -> None``: flush any temporary data to database. May be called several times during an import, * ``finish() -> None``: additional stuff to do after import is terminated. **Warning:** ``prepare_update_entity()`` still needs to be implemented for NoHookRQLObjectStore. Related to #5040344
Tue, 23 Jun 2015 13:08:48 +0200 [js] Using appropriate http method when calling a remote function to respect REST principles.
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 23 Jun 2015 13:08:48 +0200] rev 10456
[js] Using appropriate http method when calling a remote function to respect REST principles. closes #5355952
Tue, 06 May 2014 10:28:23 +0200 [server/test] Add a test for db-statement-timeout option
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 10:28:23 +0200] rev 10455
[server/test] Add a test for db-statement-timeout option Sadly I don't think there's a way to test that functionality without adding sleeps which make the test suite longer :/ Related to #2547026
Wed, 05 Mar 2014 13:51:28 +0100 [datafeed] give an error message if a source is missing a parser id
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 13:51:28 +0100] rev 10454
[datafeed] give an error message if a source is missing a parser id Closes #3484231
Mon, 23 Jun 2014 16:54:35 +0200 [storage] use mkstemp to create files in bfss
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Jun 2014 16:54:35 +0200] rev 10453
[storage] use mkstemp to create files in bfss Avoids race condition, at the cost of slightly less predictable file names.
Thu, 11 Jun 2015 09:51:30 +0200 [test] Skip spa2rql tests when fyzz is not available
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Jun 2015 09:51:30 +0200] rev 10452
[test] Skip spa2rql tests when fyzz is not available Closes #5456750.
Tue, 23 Jun 2015 18:10:45 +0200 [web/staticcontrollers] fix docstring spelling
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 18:10:45 +0200] rev 10451
[web/staticcontrollers] fix docstring spelling
Tue, 23 Jun 2015 15:50:18 +0200 [server/rql2sql] fix spelling in comment
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:50:18 +0200] rev 10450
[server/rql2sql] fix spelling in comment Not that I understand what that sentence means.
Tue, 23 Jun 2015 15:17:31 +0200 [doc/book] fix rql syntax examples
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:17:31 +0200] rev 10449
[doc/book] fix rql syntax examples "Any", not "ANY". "EXISTS" is a function.
Fri, 15 May 2015 23:05:54 +0200 [migration] add sql constraints on upgrade
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 23:05:54 +0200] rev 10448
[migration] add sql constraints on upgrade Related to #5154406.
Sun, 22 Mar 2015 19:10:13 +0100 [schema] neuter check method for constraints we implement in sql
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:10:13 +0100] rev 10447
[schema] neuter check method for constraints we implement in sql Closes #5154406.
Sun, 22 Mar 2015 23:27:13 +0100 add IUserFriendlyError adapter for violation of check constraints
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 23:27:13 +0100] rev 10446
add IUserFriendlyError adapter for violation of check constraints This way we get back the same error messages we get from the python check. Related to #5154406
Mon, 18 May 2015 19:47:34 +0200 [hooks/syncschema] drop/add check constraints as appropriate
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 19:47:34 +0200] rev 10445
[hooks/syncschema] drop/add check constraints as appropriate Related to #5154406
Sun, 22 Mar 2015 19:39:29 +0100 [schema2sql] support NOW and TODAY in check constraints
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:39:29 +0100] rev 10444
[schema2sql] support NOW and TODAY in check constraints Related to #5154406.
Mon, 18 May 2015 11:36:07 +0200 [schema2sql] insert some constraints into the backend
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 11:36:07 +0200] rev 10443
[schema2sql] insert some constraints into the backend BoundaryConstraint, IntervalBoundConstraint and StaticVocabularyConstraint can be implemented in SQL with CHECK constraints. Next steps, not part of this changeset: - migrations - removing no longer necessary pre-insertion work on the python side - translating backend exception due to constraint violation into ValidationError Note: this means that these constraints can no longer be ignored by disabling integrity hooks. Related to #5154406
Tue, 23 Jun 2015 10:05:34 +0200 [test] run unittest_syncschema with postgresql
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 10:05:34 +0200] rev 10442
[test] run unittest_syncschema with postgresql Lets us test more things, since we can actually do ALTER TABLE.
Fri, 15 May 2015 18:11:08 +0200 [test] run unittest_migractions on postgresql
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:11:08 +0200] rev 10441
[test] run unittest_migractions on postgresql sqlite's lack of support for a bunch of alter table functionality means some thing just don't get tested otherwise.
Tue, 23 Jun 2015 10:26:03 +0200 [devtools] Put pg sockets in /tmp
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:26:03 +0200] rev 10440
[devtools] Put pg sockets in /tmp Makes for shorter paths (limited by sockaddr_un). Also use the default port, since we're not listening on TCP sockets.
Mon, 18 May 2015 16:44:49 +0200 [devtools] change the way we start/stop postgresql
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:44:49 +0200] rev 10439
[devtools] change the way we start/stop postgresql Instead of having the test db handler start a cluster on demand, use the test module's setUp/tearDown callbacks to do it. This allows to have one data directory (and thus cluster) per test module, allowing different test modules to run in parallel, each using its own database cluster whose path is based on the test module.
Mon, 18 May 2015 16:36:26 +0200 [devtools] make test db name for postgresql process-specific
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:36:26 +0200] rev 10438
[devtools] make test db name for postgresql process-specific In case we run two tests concurrently on the same cluster, better not use the same db name for both.
Mon, 18 May 2015 16:30:32 +0200 [devtools] extract functions to start/stop a postgresql cluster
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:30:32 +0200] rev 10437
[devtools] extract functions to start/stop a postgresql cluster
Mon, 18 May 2015 20:00:06 +0200 [test] don't leave NULL columns around when making an attribute required
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 20:00:06 +0200] rev 10436
[test] don't leave NULL columns around when making an attribute required It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when running this test on postgresql it fails to add the 'NOT NULL' constraint otherwise.
Tue, 23 Jun 2015 10:02:41 +0200 [server/session] Roll back in connection exit
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:02:41 +0200] rev 10435
[server/session] Roll back in connection exit This was changed in commit 8b35a898b334 "[server] remove cnxset tracking, it is now unneeded". When exiting a CubicWeb Connection, the database connection is put back into the common pool. At that point anything done during the lifetime of the CubicWeb Connection needs to be committed or rolled back. Do a proper rollback to finish the transaction, as was happening before the above-mentionned commit. This showed up on testing with postgresql, when a DB schema modification was blocked by an old connection that was still "in transaction".
Wed, 20 May 2015 16:13:07 +0200 [web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074)
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 20 May 2015 16:13:07 +0200] rev 10434
[web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074) The `cubicweb:target` is a flag indicating that the form data (with file input) shall be posted inside an iframe - this is a well known "ajax-like" workaround to post files with browsers that do not support `FormData` (a.k.a IE<10). The `cubicweb:target` was introduced when CW used the "xhtml strict" doctype. Now that CW uses the "html5" doctype, this namespaced attribute is no longer necessary and the iframe can be generated directly. Before this patch, CW inserts the `cubicweb:target` attribute in the form DOM element (server side) and `setFormsTarget()` updates the DOM with a new `<iframe>` element (client side). Now, CW inserts the `<iframe>` DOM element directly (server side), making `setFormsTarget` useless.
Fri, 25 Jul 2014 17:10:05 +0200 [js] lint : make it explicit that typeof is an operator, not a function.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 17:10:05 +0200] rev 10433
[js] lint : make it explicit that typeof is an operator, not a function. Also, use === / !== except for null / undefined comparison
Thu, 21 May 2015 16:20:04 +0200 [devtools] qunit: show helpful data when an assertion fails
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 21 May 2015 16:20:04 +0200] rev 10432
[devtools] qunit: show helpful data when an assertion fails Related to #5533333.
(0) -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 tip