Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 08:37:39 +0100] rev 11995
[server] Use looping_task method in Repository._prepare_startup()
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 17:13:45 +0100] rev 11994
[skeleton] Drop logging configuration from development.ini
This is actually not useful as logging is already initialized and configure
"somewhere else" where the repository is started.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 14:49:32 +0100] rev 11993
[pyramid] Drop retrieval of auth/session secret in all-in-one.conf
We actually never supported this in cubicweb, but only in pyramid-cubicweb.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 09:06:23 +0100] rev 11992
[cwctl] Recommend 'pyramid' before 'wsgi' when twisted is not available
Not sure anyone ever really used the latter and the former is certainly more
reliable/tested.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 09:05:33 +0100] rev 11991
[cwctl] Drop message about 'the pyramid cube' in "start" command
This is shown when twisted is not importable and we suggest to use 'cubicweb
pyramid <appid>' instead. Since 3.24, cubicweb-pyramid got merge in cubicweb
so drop this reference in the message.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 16:57:59 +0100] rev 11990
[cwconfig] Fix two NameError in load_available_configs()
This comes from a copy-paste in d92d75b17a85.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 27 Feb 2017 08:53:52 +0100] rev 11989
[etwist] Drop try/except around definitions of 'all-in-one' configuration and command handlers
cubicweb.server is no longer conditionally shipped, neither in python package
nor in debian package since 3.24.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 28 Feb 2017 16:55:32 +0100] rev 11988
[server] Call 'server_startup' hooks at the end of repository "bootstrap"
Now that we have guarded all calls to Repository.looping_task() in
'server_startup' hooks we can execute this hooks category at bootstrap step.
This way, repositories running without a tasks manager (i.e. those embedded
into a WSGI application) will have these hooks triggered.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 28 Feb 2017 16:46:16 +0100] rev 11987
[pyramid] Drop module-level cache and cleanup looping tasks in tools
And use a LRU cache over cached_build_user function.
This looping task is problematic because it would not be run from within a
WSGI application which does not have a repository with a tasks manager.
This pulls an explicit dependency on 'repoze.lru' but it's not a big deal
since pyramid already depends on this. RPM spec file not update since it does
not even mention pyramid...
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 28 Feb 2017 16:11:17 +0100] rev 11986
[hooks] Return early in server_startup hooks if the repository has not tasks manager
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 28 Feb 2017 16:05:00 +0100] rev 11985
[server] Only register "clean_sessions" looping tasks if repository has a tasks manager
This prepares for calling Repository's _prepare_startup() in bootstrap() so
that repository instances without a tasks manager running can still have their
'server_startup' hooks triggered (this is particularly useful for BFSS
storages).
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Feb 2017 10:16:17 +0100] rev 11984
[utils] Do not pass a tasks manager to Repository in admincnx()
We do not call repo.start_looping_tasks() for the instantiated repository, so
a tasks manager is useless.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 18:02:33 +0100] rev 11983
[server] Separate repository bootstrap from initialization
Thus we now call 'bootstrap' here and there explicitly and remove call of this
method in Repository.__init__(). This way instantiation of a Repository does
not *implicitly* triggers the "bootstrap" step, which is arguably not a
trivial thing and thus deserves to be independent.
In __init__, set 'shutting_down' attribute to None and then to False in
bootstrap as a mean to indicate that, when initialized, a repository is
neither shutting down nor started (not sure where this is used though).
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:51:11 +0100] rev 11982
[server] Also remove tmpdir in case of error during restore database command
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:47:18 +0100] rev 11981
[server] Rename Repository's init_cnxset_pool method bootstrap
See the (removed) docstring for a rationale...
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:45:50 +0100] rev 11980
[server] Replace server config's init_cnxset_pool attribute by a "bootstrap" parameter in Repository
This 'init_cnxset_pool' class attribute is actually used to control whether a
Repository instance should be "bootstraped" (see Repository.init_cnxset_pool()
for a definition of "bootstrap") or not. I seems clearer to me to have this
controlled by a boolean "bootstrap" initialization parameter in Repository.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:38:47 +0100] rev 11979
[server] Drop close/open steps in NativeSQLSource.restore()
The only place where this is called is in
ServerMigrationHelper.restore_database() where config.init_cnxset_pool is set
to False. So these steps appear to be useless.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 07 Feb 2017 10:37:37 +0100] rev 11978
[skel] Fix rpm's .spec file skeleton
It's broken for new-style packages since it doesn't consider (even remove) python packages.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:36:11 +0100] rev 11977
[server] Move "starting repository..." message where this actually happens
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:34:37 +0100] rev 11976
[server] Initialize Repository without a tasks manager in ServerMigrationHelper.restore_database()
We don't need a tasks manager here I think. Thus instantiate the Repository
from its class directly instead of using config.repository() which set a tasks
manager.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 17:34:12 +0100] rev 11975
[server] Fix a typo in log message in Repository.init_cnxset_pool()
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Feb 2017 09:19:35 +0100] rev 11974
[cwconfig] Issue a warning if a configuration module cannot be loaded
We already do this when loading ctl plugin modules, so make things symmetrical
for config modules.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 24 Feb 2017 09:18:08 +0100] rev 11973
[ctl] Load available configurations in "cubicweb-ctl list"
Otherwise we rely on associated ctl plugins to be loaded which is arguably orthogonal to
configurations.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Feb 2017 08:54:01 +0100] rev 11972
[skeleton] Set cubicweb.bwcompat to False in development.ini
Quite a few things from the default web UI do not work when running the
application through pserve (in particular, data files are not apparently
served). So better disable the "bwcompat" mode until we are sure it works
properly (or it gets dropped ;)).
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Feb 2017 17:41:32 +0100] rev 11971
[pyramid] Use existing repo in PyramidCWTest
We thus do not make use of config_from_cwconfig() and build the configurator
instance by hand prior to include 'cubicweb.pyramid'.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Feb 2017 17:35:16 +0100] rev 11970
[pyramid] Make it possible to setup CubicWeb instance from an existing repo in includeme()
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Feb 2017 17:42:46 +0100] rev 11969
[pyramid] Move loading of pyramid_debugtoolbar later in includeme()
To gather cwconfig and repository instantiations.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 21 Feb 2017 08:54:20 +0100] rev 11968
[skeleton,pyramid] Move pyramid app definition in cubicweb.pyramid module
The application definition is actually not specific to the final "cube" being
bootstrapped from skeleton. This patch thus move the pyramid application
function into cubicweb.pyramid module and let cubicweb register the
"paste.app_factory" entry point (instead of the bootstrapped cube).
Useless call to `config.scan` is dropped along the way.