Wed, 09 Mar 2016 19:00:09 +0100 [web/httpcache] send weak ETags
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Mar 2016 19:00:09 +0100] rev 11193
[web/httpcache] send weak ETags There's no way we can provide a strong validator in general (especially considering how ETags are generated by the current EtagHTTPCacheManager and EntityHTTPCacheManager). So mark our entity-tags as weak.
Fri, 04 Mar 2016 12:17:58 +0100 [server] print backend exception if we fail to execute an sql script
Julien Cristau <julien.cristau@logilab.fr> [Fri, 04 Mar 2016 12:17:58 +0100] rev 11192
[server] print backend exception if we fail to execute an sql script It's more useful to see could not open extension control file "/usr/share/postgresql/9.4/extension/postgis.control": No such file or directory rather than merely -> ERROR, skipping /usr/share/cubicweb/cubes/postgis/schema/_ext.postgres.sql
Tue, 15 Mar 2016 14:59:24 +0100 [cwctl] drop unnecessary admincnx call from 'shell'
Julien Cristau <julien.cristau@logilab.fr> [Tue, 15 Mar 2016 14:59:24 +0100] rev 11191
[cwctl] drop unnecessary admincnx call from 'shell' The connection is done by the migration helper.
Mon, 07 Mar 2016 17:51:30 +0100 [serverctl] allow schema-diff when db and fs are not in sync
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Mar 2016 17:51:30 +0100] rev 11190
[serverctl] allow schema-diff when db and fs are not in sync
Wed, 09 Jul 2014 16:33:08 +0200 [cwctl] remove networked remote shell
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 16:33:08 +0200] rev 11189
[cwctl] remove networked remote shell This was a dbapi leftover. Related to #3933480.
Tue, 15 Mar 2016 14:30:21 +0100 [web/calendar] fix regression in previous changeset
Julien Cristau <julien.cristau@logilab.fr> [Tue, 15 Mar 2016 14:30:21 +0100] rev 11188
[web/calendar] fix regression in previous changeset "Enables css customization in CalendarView" was untested, and introduced a crash: TypeError: not all arguments converted during string formatting
Mon, 17 Mar 2014 15:21:47 +0100 Enables css customization in CalendarView
Laura Médioni <laura.medioni@logilab.fr> [Mon, 17 Mar 2014 15:21:47 +0100] rev 11187
Enables css customization in CalendarView now a custom css class can be set on the calendar div (closes #3654043).
Thu, 17 Sep 2015 12:47:39 +0200 refactor a bit breadcrumbs to ease overriding of the root's display
Alexandre Richardson <alexandre.richardson@logilab.fr> [Thu, 17 Sep 2015 12:47:39 +0200] rev 11186
refactor a bit breadcrumbs to ease overriding of the root's display
Wed, 14 Jan 2015 13:35:22 +0100 Add migration helper function to delete entity types faster
Julien Cristau <julien.cristau@logilab.fr> [Wed, 14 Jan 2015 13:35:22 +0100] rev 11185
Add migration helper function to delete entity types faster Bypasses all hooks and (for now) ignores any composite relations.
Mon, 14 Mar 2016 15:38:03 +0100 [testlib] Import nocoverage from logilab.common.testlib
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 14 Mar 2016 15:38:03 +0100] rev 11184
[testlib] Import nocoverage from logilab.common.testlib This depends on a change in logilab-common 1.2.0
Mon, 14 Mar 2016 21:28:44 +0100 [web/test] replace unicode with six.text_type
Julien Cristau <julien.cristau@logilab.fr> [Mon, 14 Mar 2016 21:28:44 +0100] rev 11183
[web/test] replace unicode with six.text_type Some uses of unicode reappeared when merging changes from 3.19.14.
Thu, 18 Feb 2016 10:23:05 +0100 [devtools/testlib] Issue a RuntimeError when a generative tests is detected
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Feb 2016 10:23:05 +0100] rev 11182
[devtools/testlib] Issue a RuntimeError when a generative tests is detected Otherwise, generative tests *à la logilab-common* in CubicWebTC test cases would silently not run (at least using logilab.common.pytest runner).
Thu, 18 Feb 2016 09:30:58 +0100 [devtools] stop using lgc.testlib.TestCase
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:30:58 +0100] rev 11181
[devtools] stop using lgc.testlib.TestCase It's become incompatible with unittest(2).TestCase due to generative tests. Just keep the datadir/datapath and assertCountEqual bits in our BaseTestCase.
Thu, 03 Mar 2016 10:25:32 +0100 [test] Replace remaining generative tests by subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Mar 2016 10:25:32 +0100] rev 11180
[test] Replace remaining generative tests by subtests
Mon, 14 Mar 2016 18:15:09 +0100 [tox] Enable all applicable py34 environments
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 14 Mar 2016 18:15:09 +0100] rev 11179
[tox] Enable all applicable py34 environments All except etwist. Comes with a few tricks in tox.ini: * add ``-e.`` to force installing of cubicweb in development because dependency cubes would otherwise install cubicweb 3.22 (the latest release), which is not python3 installable. * "install" cubes/__init__.py because the file is not installed in develop mode; maybe this file should be managed by cubes themselves...
Wed, 09 Mar 2016 17:01:42 +0100 [migration/3.10] fix AttributeError
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Mar 2016 17:01:42 +0100] rev 11178
[migration/3.10] fix AttributeError 'Connection' object has no attribute 'HOOKS_DENY_ALL'
Mon, 07 Mar 2016 17:53:20 +0100 [server/sources] Fix authenticate on pre-3.10 database
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Mar 2016 17:53:20 +0100] rev 11177
[server/sources] Fix authenticate on pre-3.10 database When migrating from a pre-3.10 database, the CWSource entity type and cw_source relation type are not known, but authenticate should still work to be able to add them.
Fri, 29 Jan 2016 17:11:17 +0100 [test] Add a test ensuring new cube built from skeleton is flake8-compliant
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 17:11:17 +0100] rev 11176
[test] Add a test ensuring new cube built from skeleton is flake8-compliant And make skeleton files actually flake8-compliant henceforth.
Mon, 25 Jan 2016 08:28:16 +0100 [skeleton] Ship a tox.ini file upon new cube
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 25 Jan 2016 08:28:16 +0100] rev 11175
[skeleton] Ship a tox.ini file upon new cube
Thu, 10 Mar 2016 13:47:20 +0100 [web] fix headers on 304 responses (closes #11466875)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Mar 2016 13:47:20 +0100] rev 11174
[web] fix headers on 304 responses (closes #11466875) The response MUST include the following header fields: [...] - ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5 Unfortunately we weren't copying headers from what would have been the 200 response, but from the request.
Wed, 09 Mar 2016 18:01:44 +0100 [web/httpcache] GMTOFFSET no longer exists
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Mar 2016 18:01:44 +0100] rev 11173
[web/httpcache] GMTOFFSET no longer exists
Thu, 10 Mar 2016 13:47:20 +0100 [web] fix headers on 304 responses (closes #11466875)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 10 Mar 2016 13:47:20 +0100] rev 11172
[web] fix headers on 304 responses (closes #11466875) The response MUST include the following header fields: [...] - ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5 Unfortunately we weren't copying headers from what would have been the 200 response, but from the request.
Mon, 29 Feb 2016 12:32:52 +0100 [rset] fix infinite recursion introduced in c1eb5a676c80
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Feb 2016 12:32:52 +0100] rev 11171
[rset] fix infinite recursion introduced in c1eb5a676c80 The mechanism to avoid loops in c1eb5a676c80 "[rset] Always complete attribute/relation caches in ResultSet.get_entity" breaks down: we would loop forever if two entities that were already in the cache were linked by a relation with ? or 1 cardinality in both directions. To avoid that, keep a set of already-considered columns. Related to #9942503.
Wed, 17 Feb 2016 10:02:03 +0100 pep8 unittest_application and unittest_formfields
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 17 Feb 2016 10:02:03 +0100] rev 11170
pep8 unittest_application and unittest_formfields
Tue, 12 Jan 2016 14:31:14 +0100 [rset] Always complete attribute/relation caches in ResultSet.get_entity
Alexandre Richardson <alexandre.richardson@logilab.fr> [Tue, 12 Jan 2016 14:31:14 +0100] rev 11169
[rset] Always complete attribute/relation caches in ResultSet.get_entity RQL queries are often designed to fill up the ORM's caches when fetching entities out of the result set. Until now, if an entry already existed in the entity cache, ResultSet.get_entity would return it unchanged, not using the new ResultSet's contents to update the attribute cache, breaking expectations (if the attributes are needed, they'd then be fetched later one at a time, one entity at a time), resulting in loads of DB accesses. So we change ResultSet.get_entity so that: * if the entity is already cached and has been instantiated from the same rset, it is returned as-is (to avoid loops) * if the entity is not yet cached, it is instantiated * if the entity is cached via another rset, its attribute/relation caches are completed Closes #9942503
Tue, 12 Jan 2016 17:36:28 +0100 [rset] refactoring of _build_entity method
Alexandre Richardson <alexandre.richardson@logilab.fr> [Tue, 12 Jan 2016 17:36:28 +0100] rev 11168
[rset] refactoring of _build_entity method define a method for entity instantiation and storage in cache (related to #9942503)
Thu, 25 Feb 2016 09:28:21 +0100 [entity] comparing two entities returns NotImplemented
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Feb 2016 09:28:21 +0100] rev 11167
[entity] comparing two entities returns NotImplemented Fixes a test when using some versions of unittest2, where assertItemsEqual tries a sort and expects TypeError, which it doesn't get if we directly raise NotImplementedError. The NotImplemented value is treated specially by the interpreter: https://docs.python.org/3.4/library/constants.html#NotImplemented
Thu, 18 Feb 2016 09:24:43 +0100 [test] replace one use of lgc.testlib.unittest_main with unittest.main
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:24:43 +0100] rev 11166
[test] replace one use of lgc.testlib.unittest_main with unittest.main
Thu, 18 Feb 2016 09:23:18 +0100 [test] stop using TestCase.set_description
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:23:18 +0100] rev 11165
[test] stop using TestCase.set_description It's a lgc-ism.
Thu, 18 Feb 2016 09:20:57 +0100 [test] convert a lgc-style generative test into unittest2-style
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Feb 2016 09:20:57 +0100] rev 11164
[test] convert a lgc-style generative test into unittest2-style
Mon, 08 Feb 2016 16:10:22 +0100 [web/application] fix query log handling on python3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:10:22 +0100] rev 11163
[web/application] fix query log handling on python3 Writing bytes to a file opened in text mode doesn't work.
Mon, 08 Feb 2016 16:32:36 +0100 [devtools/test] duplicate CubicWebServerTC tests for CubicWebWsgiTC
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:32:36 +0100] rev 11162
[devtools/test] duplicate CubicWebServerTC tests for CubicWebWsgiTC
Mon, 08 Feb 2016 16:32:07 +0100 [devtools/test] fix bytes vs text in test_base_url
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:32:07 +0100] rev 11161
[devtools/test] fix bytes vs text in test_base_url Needed for python3 with the next changeset
Wed, 24 Feb 2016 17:34:56 +0100 [devtools] skip CubicWebServerTC on python3
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Feb 2016 17:34:56 +0100] rev 11160
[devtools] skip CubicWebServerTC on python3 People should migrate to wsgi if they're going to use CubicWeb on python3.
Mon, 08 Feb 2016 16:10:51 +0100 [web/test] switch unittest_web from twisted to wsgi
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:10:51 +0100] rev 11159
[web/test] switch unittest_web from twisted to wsgi And make it pass on python3 while at it.
Wed, 24 Feb 2016 17:31:56 +0100 [devtools] add CubicWebWsgiTC
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Feb 2016 17:31:56 +0100] rev 11158
[devtools] add CubicWebWsgiTC Similar to CubicWebServerTC, except using wsgiref instead of twisted as an http server.
Mon, 08 Feb 2016 15:37:52 +0100 [web/test] return the hash of uploaded files in FileUploadTC instead of their contents
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:37:52 +0100] rev 11157
[web/test] return the hash of uploaded files in FileUploadTC instead of their contents json must be unicode, which doesn't go well with arbitrary file contents. Compute the file hash instead, as we know the hexdigest is (ascii) text.
Mon, 08 Feb 2016 15:29:06 +0100 [web/test] open() as a context manager
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:29:06 +0100] rev 11156
[web/test] open() as a context manager
Mon, 08 Feb 2016 15:28:14 +0100 [web/test] json.loads expects text, not bytes
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 15:28:14 +0100] rev 11155
[web/test] json.loads expects text, not bytes
Mon, 08 Feb 2016 16:39:51 +0100 [wsgi] fix handling of multiple posted files
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 16:39:51 +0100] rev 11154
[wsgi] fix handling of multiple posted files We were only keeping the last received file.
Fri, 05 Feb 2016 18:23:00 +0100 [web/test] Reword doc string for fileupload ajaxfunc
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 18:23:00 +0100] rev 11153
[web/test] Reword doc string for fileupload ajaxfunc
Tue, 03 Mar 2015 12:26:47 +0100 [skeleton] do not import the __pkginfo__.py module to make cubes installable via setuptools
David Douard <david.douard@logilab.fr> [Tue, 03 Mar 2015 12:26:47 +0100] rev 11152
[skeleton] do not import the __pkginfo__.py module to make cubes installable via setuptools When using a simple "import" statement, running 'python setup.py install' for a cube fails in a fresh virtualenv due to the fact the install of the dependencies (here cubicweb iteself) is done by the python process doing the cube's installation, so the __pkginfo__ module from the cube is already loaded (thus used) when installing cubicweb... So we apply the third technique from: https://packaging.python.org/en/latest/single_source_version.html
Tue, 23 Feb 2016 12:18:47 +0100 merge changes from 3.22.2
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 12:18:47 +0100] rev 11151
merge changes from 3.22.2
Tue, 23 Feb 2016 12:09:01 +0100 Added tag 3.22.2, debian/3.22.2-1, centos/3.22.2-1 for changeset 1b93ff37755b
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 12:09:01 +0100] rev 11150
Added tag 3.22.2, debian/3.22.2-1, centos/3.22.2-1 for changeset 1b93ff37755b
Tue, 23 Feb 2016 11:45:54 +0100 [pkg] 3.22.2 3.22.2 centos/3.22.2-1 debian/3.22.2-1
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Feb 2016 11:45:54 +0100] rev 11149
[pkg] 3.22.2
Fri, 19 Feb 2016 11:23:11 +0100 [pkg] fix centos install
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 19 Feb 2016 11:23:11 +0100] rev 11148
[pkg] fix centos install
Fri, 19 Feb 2016 11:03:32 +0100 [datafeed] do NOT call commit in DataFeedXMLParser.process() (closes #10928592)
David Douard <david.douard@logilab.fr> [Fri, 19 Feb 2016 11:03:32 +0100] rev 11147
[datafeed] do NOT call commit in DataFeedXMLParser.process() (closes #10928592) and so, remove more useless code. Doing a commit in DataFeedXMLParser.process() is a bad idea because this method is called for every imported/updated entity, before handling deletions. So if we commit here, odds are quite high that we're violating some integrity constraint and end up with a ValidationError.
Wed, 17 Feb 2016 14:00:39 +0100 [schema] restore constraint checking when running on old sqlite
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Feb 2016 14:00:39 +0100] rev 11146
[schema] restore constraint checking when running on old sqlite Old sqlite3 doesn't provide CHECK constraint names in error messages, preventing us from translating a backend integrity error into a ValidationError. This was added in 2012, but the sqlite3 version in RHEL6 is older; so if we run on old sqlite, keep checking the constraints in python rather than only in SQL. Closes #10927494
Wed, 17 Feb 2016 17:20:29 +0100 [web/autoform] fix regression introduced by #5758ba784ebd
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 17 Feb 2016 17:20:29 +0100] rev 11145
[web/autoform] fix regression introduced by #5758ba784ebd The changes from cset 5758ba784ebd "[autoform] when building inlined-form view for a relation, consider related entities intead of other views" lead to an unexpected 'add new' link on creation of an entity with inlined form for a relation of cardinality 1. To avoid this, we should consider formviews and not existing relations when the entity is being created. Closes #10860258
Tue, 22 Dec 2015 09:23:00 +0100 [tox] Generate test environments for Python 2.7 and 3.4
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 22 Dec 2015 09:23:00 +0100] rev 11144
[tox] Generate test environments for Python 2.7 and 3.4 Test commands for each environment are written down explicitly since I could not find a way to extract the "package" name (e.g. "hooks") from the environment name (e.g. "py34-hooks"). For Python 3.4 interpreter, only environments (subpackages) that do not depend on cubes for their tests are listed since those test dependency cubes are not yet installable with Python 3.x. etwist is also not included since the Python 3 port is not complete at the moment. From local testing, py34 tests pass for the following subpackages: - dataimport - entities - ext - hooks - wsgi
Tue, 26 Jan 2016 18:04:00 +0100 [notification] avoid using InternalManager when we've got a CWUser
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 26 Jan 2016 18:04:00 +0100] rev 11143
[notification] avoid using InternalManager when we've got a CWUser This will avoid potential information leak due to missed security restriction and is more compatible with legacy code (pb encountered in some client code). Closes #10294761
Wed, 27 Jan 2016 08:35:51 +0100 [dataimport] rename .time to .now attribute of meta generator
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 27 Jan 2016 08:35:51 +0100] rev 11142
[dataimport] rename .time to .now attribute of meta generator
Thu, 18 Feb 2016 14:36:39 +0100 [pkg] Set version to 3.22.2.dev0
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Feb 2016 14:36:39 +0100] rev 11141
[pkg] Set version to 3.22.2.dev0 So that cubes used in test dependencies do not install a released CubicWeb.
Fri, 29 Jan 2016 15:08:34 +0100 [dataimport] cleanup a bit nohook store, mostly protecting some attributes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 29 Jan 2016 15:08:34 +0100] rev 11140
[dataimport] cleanup a bit nohook store, mostly protecting some attributes
Wed, 03 Feb 2016 11:13:51 +0100 [dataimport] add a filter function to not fail if some extentity has several values for an attribute of final relation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:13:51 +0100] rev 11139
[dataimport] add a filter function to not fail if some extentity has several values for an attribute of final relation the function will simply record a warning in the import log and keep a value randomly. Notice the function has to be explicitly inserted in the transformation stream.
Wed, 03 Feb 2016 11:12:09 +0100 [sources] synchronize source asynchronously when started from the UI
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:12:09 +0100] rev 11138
[sources] synchronize source asynchronously when started from the UI and redirect to the forthcoming import log, for a better user experience (there is still a lot more to do there though). Closes #10468967
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 tip