Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Sep 2016 23:11:38 +0200] rev 11760
Drop deprecated LDAP related script
both are relying on the 'entities.source' column which has been dropped in 3.19.
They have been written with the old ldapsource in mind, which has been dropped at
that time.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 17:18:15 +0200] rev 11759
[entity] Stop linking to external site for external entities
This behaviour was ok when we had "true" multi-sources but its rather painful
with datafeed sources. Also, it makes absolute_url() costlier than what it
should. Besides, it relies on cw_metainformation()['source'] that is pending for
removal.
Instead, add a link to the original object in the metadata view (the one that
displays eid and source at the bottom right corner of the primary view).
Related to #15538288.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Sep 2016 22:23:16 +0200] rev 11758
[datafeed] Drop entity deletion handling in the default source / parser
This should be handled by specific parser to avoid using "entities.asource".
Reimplement it in the ldap parser.
Related to #15538288
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 29 Sep 2016 11:44:19 +0200] rev 11757
[sources] Drop 'moved_entities' table handling
This was clumsy and could be handled using exturi / cwsource, as the ldap source
now does.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 17:36:40 +0200] rev 11756
[repository] Drop deprecated extid2eid API and friends
This will break cwxmlparser based sources. They should be rewritten using a
specific parser, based on xml representation or on rqlio. This is harsh but
allows a so big cleanup of the code base.
Furthermore, it's necessary for asource/extid handling in the entities table
which is costly for most app that don't care at all about that...
In this cset, delete:
* all extid2eid methods
* repo._extid_cache handling
* [before/after]_entity_insertion source callback
* the cwxmlparser
and update related tests, notably unittest_datafeed where 'repull' testing has
been removed, since it's now handled by the dataimport API and should not be
retested there.
Related to #15538288
Closes #15538383
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 17:36:02 +0200] rev 11755
[ldap] Stop using entities table in ldap source authentication and parser
We may used cwuri for the same purpose, and do one more step towards deletion of
entities.extid column.
Related to #15538288
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 26 Oct 2016 11:24:57 +0200] rev 11754
[test] Use stdlib unittest in unittest_webconfig.py
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 03 Nov 2016 12:15:42 +0100] rev 11753
[tox] Require ldap3 < 2 for server tests
Apparently we are using some constants that got dropped/moved in ldap3 >=
2.0.0 (which came out last week). So stay with version 1.4 until this gets
sorted out.
David Douard <david.douard@logilab.fr> [Wed, 02 Nov 2016 11:11:01 +0100] rev 11752
[setup] fix CWDevelop to keep compat with python 2.7
in Python, 2.7, setuptools.command.develop.develop is an old style class, thus
it cannot be called with super.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 26 Oct 2016 08:34:34 +0200] rev 11751
[devtools] Make dependency on backports.tempfile (Python2) optional
The package may not be available in all systems (e.g. no Debian package exist
at the moment), and we should not crash with ImportError when importing
testlib from client code. Follow up on a6dc650bc230 where the dependency was
introduced.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Sep 2016 22:17:36 +0200] rev 11750
[sources] Drop source support_entity / support_relation source API
this was used in the pre-datafeed area, it's not worth it anymore.
Its only valid usage was in authentication to detect if the source was
supporting CWUser, hence we now call it systematically and catch
NotImplementedError.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 18:24:17 +0200] rev 11749
[dataimport] Add a new NullStore
This is useful to do some import tests where you only want to test steps prior
to the database insertion, as well as "dry-run" commands.
Use it as a documenting base class.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 30 Sep 2016 17:03:33 +0200] rev 11748
[devtools] Properly reraise the exception
with previous implementation, the original exception wasn't visible in python 2.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 14:41:36 +0200] rev 11747
[pkg] Do not install sql scripts in <prefix>/share/cubicweb/schemas
These are already site-packages along with cubicweb package.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 10:08:36 +0200] rev 11746
[devtools/qunit] Retain firefox process stdout to eventually print it
The bare RuntimeError that gets emitted upon timeout does not help much to
diagnose the problem. Let's see if we can get more information from stdout by
not dropping it.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 09:45:38 +0200] rev 11745
[devtools/qunit] Turn FirefoxHelper into a context manager
So that stop() method always gets called.
Also ensure temporary directory created on __init__ gets deleted as well upon
exit.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 09:31:55 +0200] rev 11744
[test] Replace logilab-common's with_tempdir by tempfile.TemporaryDirectory
logilab-common's with_tempdir decorator, which is considered harmful (see
https://www.logilab.org/ticket/8267966).
Rely on backports.tempfile to provide TemporaryDirectory on Python 2.
Re-export it in testlib module for convenience.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 09:29:08 +0200] rev 11743
[test] Use `with open` syntax in cwconfig "prefix" tests
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Oct 2016 09:02:53 +0200] rev 11742
[test] Use stdlib unittest.main() in qunit
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 16 Aug 2016 16:00:32 +0200] rev 11741
[web] Clear "pending_others" session key after all relations got processed
The RelationField appends data to "pending_others" key while processing its
posted information, but this key may already have been removed by the edit
controller. So remove the key from session data only when all "others"
relations have been processed using a while loop.
A test case would be nice, but I could not build one easily unfortunately.
Closes #4354551.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 28 Sep 2016 11:06:28 +0200] rev 11740
[datafeed] Complete the import log even if parser could not be found
It happens that if the parser could not be found, _pull_data() would just
return an empty dict without taking care to close the import log which it just
opened. This leads to misleading information in the user interface where
CWDataImport entities kept accumulating in the "imports" tab of CWSource
primary view without anything else happening.
So:
* log an error message when parser cannot be found
* always close (write logs and set "end_timestamp" attribute) import log when
leaving _pull_data().
Closes #15505460.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 21 Oct 2016 18:03:06 +0200] rev 11739
[twconfig] Set default value for "interface" to 0.0.0.0
This value means "all IP addresses on this host", which seems to fit with
"default to everywhere" that's documented.
Closes #15135610.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 12 Oct 2016 17:03:02 +0200] rev 11738
[session] Allow self._open to be False in __enter__
I do not understand why this assertion was there in the first place. And
currently, it makes running any migration impossible. Hopefully, someone may
be able to explain.
See also commit b48020a80dc3 which mentions this assertion and suggests to
remove it.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 21 Oct 2016 18:35:46 +0200] rev 11737
[pkg] Warn about "develop" command not installing legacy cubes directory
Not sure we can do better than a warning, which is better than nothing
anyways.
Closes #15785635.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 21 Oct 2016 18:43:13 +0200] rev 11736
[pkg] Cleanup MANIFEST.in from non-matching entries
This cleans up output of setup.py executions.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 21 Oct 2016 18:10:15 +0200] rev 11735
[devtools] make i18ncube customizable in a cube
closes #15613724
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:28:39 +0200] rev 11734
[rql2sql] Drop deprecated __docformat__
it causes flake8 error on some of its versions.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 22 Sep 2016 16:21:51 +0200] rev 11733
[rql2sql] Handle comparison of eid on variables from an subquery
We don't want to force using 'identity' in this case which may be easily
handled by detecting variable is a `ColumnAlias` and relation is 'eid'.
Closes #15393583
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 01 Jun 2016 17:04:33 +0200] rev 11732
Take care that cnx may not be set in error view
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 12 Oct 2016 10:59:18 +0200] rev 11731
[autoform] Ease overriding of inlined form renderer. Closes #15755515
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 15:58:30 +0200] rev 11730
[ldapfeed] Use new MetadataGenerator api instead of deprecated MetaGenerator
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 10:21:12 +0200] rev 11729
Fix typos
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 10 Oct 2016 14:27:24 +0200] rev 11728
[devctl] make sure i18ncube always delete its tempdir
closes #15613724
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 10 Oct 2016 14:34:41 +0200] rev 11727
i18ncube should ignore node_modules directory by default
related to #15613724
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 05 Oct 2016 16:16:33 +0200] rev 11726
refactor i18n messages extraction
This refactoring will ease later implementation of
i18n cube customization.
related to #15613724
Laura Médioni <laura.medioni@logilab.fr> [Fri, 21 Oct 2016 13:09:47 +0200] rev 11725
[web/application] remove `path` argument from CubicwebPublisher methods
Path can actually be accessed from `req` object. This allows to avoid duplicating
this information.
This cset prepares the next ones that aim at adding the language as a prefix of the
relative path.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 20 Oct 2016 18:28:46 +0200] rev 11724
Merge 3.23 branch
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 20 Oct 2016 18:45:40 +0200] rev 11723
[pkg] Fix recursive-include missing a "*" in MANIFEST.in
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 22:31:32 +0200] rev 11722
Added tag 3.23.2, centos/3.23.2-1, debian/3.23.2-1 for changeset 8b287ad7b95b
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 19:29:24 +0200] rev 11721
Release 3.23.2
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 21:08:04 +0200] rev 11720
[test] Add test method required by d41832121b29
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 15:57:52 +0200] rev 11719
[ldapfeed] Fix crash when user's password has to be generated
Binary isn't hashable hence can't be added to a set. Test added.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 19 Oct 2016 15:56:35 +0200] rev 11718
[test/ldapfeed] Drop unused constant
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 08 Jul 2016 10:17:14 +0200] rev 11717
[migration] Test and fix case of addition of an attribute with some serialized constraint
It was crashing on attempt to remove an unexisting constraint. This code may be
removed safely as it's expected to be handled by the constraint removal hook.
Notice that adding a vocabulary on shortpara makes yams change the varchar max
size. This is arguable but not the point of this test, so simply adapt the max
size defined in the schema coherently so we don't have to bother with that at
this point.
Grafted from f87da59faea1 in default branch.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Oct 2016 10:12:23 +0200] rev 11716
[skeleton] Properly format debian/changelog using current datetime and author information
Reformat "context" dict to have it PEP8 compliant along the way (only white
space changes).
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 12 Oct 2016 11:07:10 +0200] rev 11715
[utils] Encode Binary value in base64 for JSON export
In unittest_utils.py, use unittest2's TestCase instead of lgc.testlib one to
benefit from subTest API.
Closes #15409885.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 12 Oct 2016 11:09:08 +0200] rev 11714
[test] Make cubicweb/test/unittest_utils.py flake8-clean
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 07 Oct 2016 14:59:44 +0200] rev 11713
[skeleton] Set Debian distribution to "UNRELEASED" in changelog
So to as to make it clear that changelog needs to be edited
before the Debian package may be published.
Florent Cayré <florent.cayre@logilab.fr> [Thu, 13 Oct 2016 12:51:12 +0200] rev 11712
Fix log level parameter not taken into account in cwsource log table
An error in the jquery selector of the html widget controlling the log
level was the cause of this bug.
Closes #15772634
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 11 Oct 2016 14:48:27 +0200] rev 11711
[config] Ignore cubicweb-pyramid in available_cubes()
So that, in particular, its ccplugin.py does not get loaded (which would hide
the "pyramid" command in cubicweb).
Related to #14023058.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 06 Oct 2016 12:15:43 +0200] rev 11710
[config] Exclude "pyramid" cube when initializing application cubes
Related to #14023058.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Oct 2016 16:20:52 +0200] rev 11709
[migration] Drop cubicweb-pyramid CWProperty in 3.24.0 migration
This does a partial "drop_cube('pyramid')" equivalent but only considering
CWProperty. We cannot just drop the cube since we have introduced some
mechanism to exclude pyramid cube from config's cubes list and that would make
MigrationHelper.cmd_drop_cube() call not return "pyramid" cube.
Related to #14023058.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 28 Sep 2016 08:48:20 +0200] rev 11708
[dataimport/test] Use minimal schema for massive import tests
Drop unused stuff.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:23:19 +0200] rev 11707
[massive store] Drop deprecated code
This is not a desired part of the store API. Mapping between extid and eid
should be done by the importer.
This had been backported from the dataio cube, but not one seems to rely on it
yet, so don't provide any backward compat.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:01:24 +0200] rev 11706
[flake8] cubicweb/dataimport/test/test_massive_store.py is now flake8 friendly
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:00:42 +0200] rev 11705
[massive store] Drop buggy log call
PGHelper has no logger, the store has.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 12:00:17 +0200] rev 11704
[massive store] Drop duplicated log
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 27 Sep 2016 11:23:51 +0200] rev 11703
[flake8] cubicweb/server/rqlannotation.py is now flake8 friendly
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 06 Oct 2016 14:25:18 +0200] rev 11702
[pyramid] Override cubicweb.hooks.syncsession.get_user_sessions() for Pyramid
Closes #13436818
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Jun 2016 15:37:01 +0200] rev 11701
[pyramid] Retrieve user's groups using a custom RQL instead of user's groups property
With cubicweb 3.24, user.groups is set lazily and so retrieving it at this point
will cause a traceback because the connection is not yet entered.
Also, user doesn't accept anymore groups and properties arguments.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Jun 2016 16:08:03 +0200] rev 11700
[hooks] Change get_user_sessions prototype, necessary for hijacking from other session implementations (e.g. pyramid)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Jun 2016 15:26:49 +0200] rev 11699
Store user groups and properties as session data
* stop retrieving them systematically, only when need,
* reimplement session synchronization hooks with some cleanups along the way,
* cleanup call to set language: not needed from the base request nor from the
server side, only for the web request (on the server side, language is
necessary only for notification and such code should set it explicitly).
There is still a XXX remaining about one can only "enter" a connection once and
this is a problem in some cases. IMO, this restriction could be removed.
Closes #13500113.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Oct 2016 10:17:39 +0200] rev 11698
[skeleton] Remove override_dh_python2
We do not ship files as "data files" anymore.
Related to #13001466.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Oct 2016 09:56:26 +0200] rev 11697
[skeleton] Have setuptools install data files
Just add `include_package_data=True` as recommended by
`setuptools documentation`_ as this appears to be the simplest way to handle
this.
Related to #13001466.
.. _`setuptools documentation`: \
http://setuptools.readthedocs.io/en/latest/setuptools.html#including-data-files