Wed, 12 Apr 2017 15:55:26 +0200 [sources] Enhance prototype of check_conf_dict 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 12 Apr 2017 15:55:26 +0200] rev 12150
[sources] Enhance prototype of check_conf_dict * mark it private * explicit name * update docstring Private function is still called from syncsources but this will be updated in a follow-up.
Wed, 12 Apr 2017 15:38:32 +0200 [sources] Stop translating validation error 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 12 Apr 2017 15:38:32 +0200] rev 12149
[sources] Stop translating validation error this should be done later in the web ui, where lang is properly set.
Wed, 12 Apr 2017 15:49:05 +0200 [sources] Simplify source's init method 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 12 Apr 2017 15:49:05 +0200] rev 12148
[sources] Simplify source's init method Only call it when enabled instead of giving a boolean flag indicating whether it is or not (which were not correctly considered).
Wed, 12 Apr 2017 14:54:10 +0200 [server] Deprecate Repository.sources_by_eid 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 12 Apr 2017 14:54:10 +0200] rev 12147
[server] Deprecate Repository.sources_by_eid It's not used anymore within cubicweb itself.
Wed, 05 Apr 2017 14:59:09 +0200 [server] Add source_by_eid and source_by_uri methods to repository 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 14:59:09 +0200] rev 12146
[server] Add source_by_eid and source_by_uri methods to repository Most of the times we only need to retrieve one source (either by uri or eid) and querying sources_by_eid and sources_by_uri properties on repository just for one item is costly. So these methods query what's needed. We issue a ValueError (instead of KeyError for sources_by_{eid,uri} dict) in case the key is not found.
Tue, 04 Apr 2017 17:43:56 +0200 [hooks] Remove list() around repo.sources_by_uri 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Apr 2017 17:43:56 +0200] rev 12145
[hooks] Remove list() around repo.sources_by_uri There's no need to convert it as a list anymore since sources_by_uri is a property and will not be modified.
Wed, 05 Apr 2017 14:31:44 +0200 [server] Inline _entity_update method into init method of AbstractSource 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 14:31:44 +0200] rev 12144
[server] Inline _entity_update method into init method of AbstractSource This _entity_update method does not make sense now that we do not update source from database information but always build them afresh.
Wed, 05 Apr 2017 14:02:58 +0200 [server] Drop update_config method of source 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 14:02:58 +0200] rev 12143
[server] Drop update_config method of source It does not make sense anymore to update the config of a source instance (subclass of cubicweb.server.sources.AbstractSource) now that they are always built from database information (CWSource). In datafeed and ldapfeed, we move all code from "update_config" method in "init" method. This changeset fixes LDAPFeedUserDeletionTC.test_a_filter_inactivate() failure (unittest_ldapsource.py) introduces in previous changeset.
Tue, 04 Apr 2017 16:28:50 +0200 [server] Make "sources_by_uri" and "sources_by_eid" properties of repository 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Apr 2017 16:28:50 +0200] rev 12142
[server] Make "sources_by_uri" and "sources_by_eid" properties of repository I.e. do not populate these dict as repo initialization (bootstrap step) but always use information from database. This is needed because when multiple instances of the same application run, if one instance adds a CWSource the other ones will not see it. In particular, when using a scheduler instance, new CWSource will be added by the web instance and not seen by the scheduler which is supposed to update them. We thus define properties for sources_by_eid and sources_by_uri instead attributes on repository instance. CWSource entities are thus retrieved from database every time these properties are accessed. We factor out initialization of the "source" instance (subclass of cubicweb.server.source.AbstractSource) in a _sources() method. Note that this method takes care of calling "init" method on the source as well as "set_schema" (previously done in repo.set_schema(), which now only touches system_source). Accordingly the "init_sources_from_database" method is dropped along with "add_source"/"remove_source" methods. In syncsources hook, we thus drop: * SourceAddedOp operation which called repo.add_source() so that the SourceAddedHook only cares about checking source configuration now; * SourceRemovedOp and SourceRenamedOp operations for the same reason; * SourceConfigUpdatedOp as updating the live config of source is meaningless once we rely on them being retrieved from the database; * SourceHostConfigUpdatedHook hook which is now useless without call to SourceConfigUpdatedOp; In 3.10 migration script, remove usage of sources_by_uri repo attribute which, unless I'm missing something, appears useless (at least now). In tests: * unittest_datafeed: remove test_update_url method since we dropped respective hook; * unittest_ldapsource: LDAPFeedUserDeletionTC.test_a_filter_inactivate() currently fails because it still relies on live config being updated, this will be fixed in the next changeset once all "live source" logic will be removed.
Tue, 21 Feb 2017 11:04:19 +0100 Add a "Contributing" section to README with patch submission guidelines 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Feb 2017 11:04:19 +0100] rev 12141
Add a "Contributing" section to README with patch submission guidelines For the CubicWeb project and its dependencies, we now prefer patches submission and review by email on a public mailing list. We are thus moving away from the previous vcreview-based workflow taking place on the forge. This change is motivated by the following points: - the current reviewer assignment mechanism (pick a random reviewer, rely on reviewer availability rather than on willingness to review, send related patches to distinct people, etc.) is inefficient if not counter-productive; - most of the times, discussion only happens between the patch submitter and a reviewer with no easy way to increase the audience; - cubicweb-vcreview has no concept of patch series; - cubicweb-vcreview is not actively maintained anymore and its usability keeps deteriorating. We expect that email-based submission and review of patches will circumvent these limitations. Anybody interested in the project is welcome to subscribed to the mailing list and participate to the review process. This patch documents the basic workflow of patches submissions by email.
Tue, 04 Apr 2017 11:41:23 +0200 [cwctl] do only clean static data dir content (closes #17069762) 3.25
David Douard <david.douard@logilab.fr> [Tue, 04 Apr 2017 11:41:23 +0200] rev 12140
[cwctl] do only clean static data dir content (closes #17069762) deleting the directory itself is useless and may be a problem in automated deployment environments (user may not have permissions to delete or create that directory).
Mon, 03 Apr 2017 14:43:44 +0200 [cwctl] add a no-config-update option to the upgrade command (closes #17069607) 3.25
David Douard <david.douard@logilab.fr> [Mon, 03 Apr 2017 14:43:44 +0200] rev 12139
[cwctl] add a no-config-update option to the upgrade command (closes #17069607)
Fri, 07 Apr 2017 14:31:41 +0200 [cwconfig] Add "pyramid" config type to MCOMPAT dict 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 07 Apr 2017 14:31:41 +0200] rev 12138
[cwconfig] Add "pyramid" config type to MCOMPAT dict I don't know what this is for exactly, but the accept_mode method below queries this dict with the configuration type name. And if the latter is "pyramid", it crashes since there's no key in MCOMPAT dict. So add one with the same value as "all-in-one". This code is called during "upgrade" migration in particular.
Fri, 07 Apr 2017 15:23:38 +0200 [pyramid] Avoid shutting down the repository at exit if it's already shutting down 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 07 Apr 2017 15:23:38 +0200] rev 12137
[pyramid] Avoid shutting down the repository at exit if it's already shutting down For install `cubicweb-ctl pyramid` command will explicitly call `repo.shutdown()` so the atexit hook is redundant. Prevent the latter to be executed when the repository is already shutting down (otherwise one gets an assertion error).
Wed, 05 Apr 2017 14:42:30 +0200 [server/test] Extract a "ldapsource" function in unittest_ldapsource.py 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 14:42:30 +0200] rev 12136
[server/test] Extract a "ldapsource" function in unittest_ldapsource.py We will add more use of this pattern in forthcoming changesets, so avoid repetition.
Tue, 04 Apr 2017 16:07:52 +0200 [server] Move "system" source initialization into its own method 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Apr 2017 16:07:52 +0200] rev 12135
[server] Move "system" source initialization into its own method
Wed, 05 Apr 2017 13:28:33 +0200 [entities] Make CWSource's dictconfig method clearer 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 13:28:33 +0200] rev 12134
[entities] Make CWSource's dictconfig method clearer
Wed, 05 Apr 2017 08:37:22 +0200 [entities] Move CWSource update_config method as a function in 3.15 migration script 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 08:37:22 +0200] rev 12133
[entities] Move CWSource update_config method as a function in 3.15 migration script This script is the only caller of this method. In the code of the function, drop "skip_unknown" argument and continue accordingly upon OptionError.
Wed, 05 Apr 2017 10:34:04 +0200 [server/test] Turn "pull" method of LDAPFeedTestBase into a staticmethod 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 05 Apr 2017 10:34:04 +0200] rev 12132
[server/test] Turn "pull" method of LDAPFeedTestBase into a staticmethod Because it does not use reference to "self" (which should be "cls" for classmethod).
Tue, 04 Apr 2017 18:47:13 +0200 [py3] Use six.text_type instead of unicode in _CWSourceCfgMixIn.update_config() 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Apr 2017 18:47:13 +0200] rev 12131
[py3] Use six.text_type instead of unicode in _CWSourceCfgMixIn.update_config()
Tue, 04 Apr 2017 16:06:44 +0200 [server] Drop condition on "3.10" migration in repo.init_sources_from_database() 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 04 Apr 2017 16:06:44 +0200] rev 12130
[server] Drop condition on "3.10" migration in repo.init_sources_from_database() We'll duplicate the code of this method in forthcoming changeset so clean it up a bit of old stuff.
Thu, 30 Mar 2017 16:18:12 +0200 [pkg] Version 3.25.0rc2 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 30 Mar 2017 16:18:12 +0200] rev 12129
[pkg] Version 3.25.0rc2
Thu, 30 Mar 2017 11:59:37 +0200 [doc] More release note about session data handling 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 11:59:37 +0200] rev 12128
[doc] More release note about session data handling mentionning deprecation of _cw.data and removal of get/set_shared_data.
Thu, 30 Mar 2017 11:59:01 +0200 [session] Drop long deprecated [get/set]_shared_data methods 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 11:59:01 +0200] rev 12127
[session] Drop long deprecated [get/set]_shared_data methods they are deprecated since 3.19 and access to the .data attribute itself deprecated in 3.25, so it's time to drop them.
Thu, 30 Mar 2017 11:58:02 +0200 [session] Drop the user session synchronization machinery 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 11:58:02 +0200] rev 12126
[session] Drop the user session synchronization machinery which should not be necessary anymore since groups and properties are fetched for each request (cache lives in transaction_data).
Thu, 30 Mar 2017 11:56:09 +0200 [session] Avoid deprecation warning on access to Connection.data 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 11:56:09 +0200] rev 12125
[session] Avoid deprecation warning on access to Connection.data this attribute has been deprecated during the session related rework, remove warning by explicitly storing data in .transaction_data since session data is not anymore reachable through Connection object. This will allows simplification of session synchronization hooks in a later cset. Also since we do not rely anymore on session data here, we may at some point rewrite those properties to rely on the ORM instead of such custom caching.
Thu, 30 Mar 2017 10:43:49 +0200 [doc] Add release note about change in uicfg 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 10:43:49 +0200] rev 12124
[doc] Add release note about change in uicfg
Thu, 30 Mar 2017 10:37:55 +0200 merge 3.25 heads 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 30 Mar 2017 10:37:55 +0200] rev 12123
merge 3.25 heads
Wed, 29 Mar 2017 14:56:04 +0200 [hg] Add generated slapd.conf to hgignore 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 14:56:04 +0200] rev 12122
[hg] Add generated slapd.conf to hgignore
Wed, 29 Mar 2017 11:17:37 +0200 Fix flake8 errors in unittest_cwctl 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 11:17:37 +0200] rev 12121
Fix flake8 errors in unittest_cwctl
Wed, 29 Mar 2017 11:14:53 +0200 [cwctl] Drop 'cubicweb_' prefix when displaying cubes with 'cubicweb-ctl list' 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 11:14:53 +0200] rev 12120
[cwctl] Drop 'cubicweb_' prefix when displaying cubes with 'cubicweb-ctl list' consistently with newcube / create commands. This is an alternate implementation to backed out changeset fe995d56c949. Closes #17054738
Tue, 28 Mar 2017 17:12:47 +0200 Fix flake8 errors in unittest_cwconfig 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 28 Mar 2017 17:12:47 +0200] rev 12119
Fix flake8 errors in unittest_cwconfig
Wed, 29 Mar 2017 10:34:39 +0200 [config] Test loading of ccplugin modules 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 10:34:39 +0200] rev 12118
[config] Test loading of ccplugin modules to ensure ccplugin modules of cube as package aren't loaded twice, once as `cubicweb_<cube>.ccplugin`, once as `cubes.<cube>.ccplugin`. This test used to fail until fe995d56c949 has been backout. It requires calling `cleanup_sys_module` in `CubicWebConfigurationTC.tearDown` to remove any cube's submodule loaded during tests, so content of `sys.modules` may be tested.
Wed, 29 Mar 2017 10:34:16 +0200 [test] Extract out method-which-is-not-a-method mocking iter_entry_points 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 10:34:16 +0200] rev 12117
[test] Extract out method-which-is-not-a-method mocking iter_entry_points to ease reuse and improve readability.
Wed, 29 Mar 2017 10:32:24 +0200 [cwconfig] Add a docstring on available_cubes method 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 29 Mar 2017 10:32:24 +0200] rev 12116
[cwconfig] Add a docstring on available_cubes method a renaming could be better at some point, but that's a start.
Tue, 28 Mar 2017 15:03:15 +0200 Backed out changeset fe995d56c949 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 28 Mar 2017 15:03:15 +0200] rev 12115
Backed out changeset fe995d56c949 available_cubes should not strip cubicweb_prefix but return actual package name for cube as package, since its output is also used to e.g. get ccplugin or site_cubicweb module name. Original aim of this set was to fix output of the "cubicweb-ctl list" command. This will be done by an alternate implementation in a later cset.
Wed, 29 Mar 2017 13:29:41 +0200 [hooks] Drop "logstats" hook 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 29 Mar 2017 13:29:41 +0200] rev 12114
[hooks] Drop "logstats" hook It is now useless as its looping task would not run on a web instance because respective repository has no scheduler.
Wed, 29 Mar 2017 11:46:17 +0200 [hooks] Do not register "logstats" if repository has no scheduler 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 29 Mar 2017 11:46:17 +0200] rev 12113
[hooks] Do not register "logstats" if repository has no scheduler
Wed, 29 Mar 2017 11:45:19 +0200 [server] Introduce an `has_scheduler` method on Repository 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 29 Mar 2017 11:45:19 +0200] rev 12112
[server] Introduce an `has_scheduler` method on Repository This is to be used by client application to determine if looping tasks may be registered in the current process. By checking this, one will avoid the warning in looping_task method when the repository has no scheduler.
Wed, 29 Mar 2017 11:37:31 +0200 [server] Warn instead of failing when a looping task is registered and repo has no scheduler 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 29 Mar 2017 11:37:31 +0200] rev 12111
[server] Warn instead of failing when a looping task is registered and repo has no scheduler We should provide a way for client code to detect if they should register the looping task or not. See next patch for that.
Wed, 29 Mar 2017 11:31:02 +0200 [server] Exit quickly when a looping task is registered in maintenance mode 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 29 Mar 2017 11:31:02 +0200] rev 12110
[server] Exit quickly when a looping task is registered in maintenance mode In such cases the repository will not have a scheduler on purpose because the repository will not be kept running and will quickly shutdown after migration so that it's undesirable to have looping tasks being executed.
Fri, 24 Mar 2017 14:56:48 +0100 [config] Drop unused init_available_cubes method 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 24 Mar 2017 14:56:48 +0100] rev 12109
[config] Drop unused init_available_cubes method
Tue, 28 Mar 2017 11:26:48 +0200 [doc] Move content of former README.pyramid into relevant modules 3.25
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 28 Mar 2017 11:26:48 +0200] rev 12108
[doc] Move content of former README.pyramid into relevant modules
Fri, 24 Mar 2017 16:57:05 +0100 Drop README.pyramid.rst file 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 16:57:05 +0100] rev 12107
Drop README.pyramid.rst file It has been kept since 3.24 when we merged pyramid-cubicweb and cubicweb-pyramid repositories into cubicweb's one waiting for someone to move the information in some canonical place but this never happened and this information is probably not so useful or already existing elsewhere. So just drop the file.
Fri, 24 Mar 2017 17:22:02 +0100 Make entypo link a true URL in README 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 17:22:02 +0100] rev 12106
Make entypo link a true URL in README
Fri, 24 Mar 2017 17:21:37 +0100 Refer to cubicweb.readthedocs.io in README 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 17:21:37 +0100] rev 12105
Refer to cubicweb.readthedocs.io in README docs.cubicweb.org contains outdated documentation at the moment (and for quite some time); until it gets update, refer to the up-to-date documentation on readthedocs.
Mon, 27 Mar 2017 17:57:27 +0200 [server] don't catch exception from postcommit_event() if we are in test mode 3.25
Philippe Pepiot <philippe.pepiot@logilab.fr> [Mon, 27 Mar 2017 17:57:27 +0200] rev 12104
[server] don't catch exception from postcommit_event() if we are in test mode The historic behavior is to hide potential exception occurring in postcommit_event(). Unfortunately logging statements are hidden by default during tests and it become very hard to debug. At least raise if we are in test mode.
Fri, 24 Mar 2017 14:18:17 +0100 [pkg] Version 3.25.0rc1 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 14:18:17 +0100] rev 12103
[pkg] Version 3.25.0rc1
Wed, 22 Mar 2017 14:36:05 +0100 [tox] Simplify command line to build the doc 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Mar 2017 14:36:05 +0100] rev 12102
[tox] Simplify command line to build the doc
Fri, 24 Mar 2017 09:37:51 +0100 [pyramid] Drop warning about pyramid_debugtoolbar not found in debug mode 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 09:37:51 +0100] rev 12101
[pyramid] Drop warning about pyramid_debugtoolbar not found in debug mode Some people way want to run a pyramid server in debug mode without the toolbar. This warning is annoying for them. Others should just install and *include* the toolbar by hand.
Fri, 24 Mar 2017 11:21:39 +0100 [pkg] Add development.ini.tmpl to "cubicweb.pyramid" package data 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Mar 2017 11:21:39 +0100] rev 12100
[pkg] Add development.ini.tmpl to "cubicweb.pyramid" package data Otherwise the file is not installed and `cubicweb-ctl create -c pyramid` does not work.
Thu, 23 Mar 2017 10:30:48 +0100 [skeleton] Don't use system site packages in tox environment 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Mar 2017 10:30:48 +0100] rev 12099
[skeleton] Don't use system site packages in tox environment As we changed this in cubicweb, there is a consensus that this is not the best practice so let us change it as well for skeleton.
Wed, 22 Mar 2017 14:38:10 +0100 [doc] Update "settings" pyramid documentation 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Mar 2017 14:38:10 +0100] rev 12098
[doc] Update "settings" pyramid documentation Document that without "bwcompat" we can use a development.ini file directly and add a dedicated section to list configuration options.
Wed, 22 Mar 2017 14:37:04 +0100 [doc] Update the "quickstart" page of pyramid documentation 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Mar 2017 14:37:04 +0100] rev 12097
[doc] Update the "quickstart" page of pyramid documentation Again mentioning the two modes of operations and dropping references to prior implementation.
Wed, 22 Mar 2017 14:34:51 +0100 [doc] Rewrite "pyramid" index page in the book 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Mar 2017 14:34:51 +0100] rev 12096
[doc] Rewrite "pyramid" index page in the book We drop references to pyramid-cubicweb and cubicweb-pyramid, remaining of the merge in 3.24. We now mention the two possible operation modes (with bwcompat being true or false).
Wed, 22 Mar 2017 15:05:04 +0100 [doc] Drop documentation for cubicweb.pyramid.tools module 3.25
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Mar 2017 15:05:04 +0100] rev 12095
[doc] Drop documentation for cubicweb.pyramid.tools module Which, as documented, mostly consists of internals.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 tip