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.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 10 Feb 2017 17:13:44 +0100] rev 11967
[pyramid] Add a copyright and docstring to all modules
We add copyright statements for both UNLISH (original author) and LOGILAB.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 08 Feb 2017 17:54:16 +0100] rev 11966
[cwconfig] Strip "cubicweb_" prefix from cube name in available_cubes()
Closes #17054738.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 21 Feb 2017 10:12:47 +0100] rev 11965
[web] fix os.rename usage on windows when destination exists
os.rename on windows will raise OSError (or WindowsError subclass) when if
destination file already exists.
Also check that exception is EEXIST.
There is an attempt to fix in f6ba947c but using IOError instead of OSError.
Closes #14214794
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 25 Jan 2017 14:28:20 +0100] rev 11964
[web/views] show composite entities in delete view
Disabled by default, can be activated with show_composite = True Display first
level of composite entities in a treeview, limited to the current
(page_size - 1), so the maximum of displayed entities bump to
page_size * (page_size - 1).
Christophe de Vienne <christophe@unlish.com> [Mon, 11 May 2015 13:57:34 +0200] rev 11963
[workflow] Utilities for declarative definition of workflows
Closes #5337897
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 20 Feb 2017 15:56:07 +0100] rev 11962
[server] Remove pseudo-handling of exceptions in Repository._delete_cascade_multi()
It seems to me that we never want to pass on an exception here be it in "test"
mode or not, so remove the last `except Exception:` clause. For instance, the
actual implementation would pass on an IntegrityError and thus possibly hide
it in a log message.
Concerning the `except Unauthorized:`, as said by the log message this should
not happen because we are within a `security_enabled(write=False)` context. So
remove it as well.
As far as I can tell, this strange handling of exceptions dates from
37668bf302f5 and there is no clear justification to it.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 21 Feb 2017 10:12:47 +0100] rev 11961
[web] fix os.rename usage on windows when destination exists
os.rename on windows will raise OSError (or WindowsError subclass) when if
destination file already exists.
Also check that exception is EEXIST.
There is an attempt to fix in f6ba947c but using IOError instead of OSError.
Closes #14214794
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 09 Feb 2017 10:31:15 +0100] rev 11960
[skeleton] Add "cubicweb.session.secret" to development.ini
Commented as other "secret" settings.
At least, now all settings are present in the development.ini file.
[ci skip]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 10 Feb 2017 16:55:23 +0100] rev 11959
[pyramid] Include 'cubicweb.pyramid.predicates' where it is used
It's only used in "rest_api" module.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 10 Feb 2017 16:33:16 +0100] rev 11958
[pyramid] Rename make_cubicweb_application function as config_from_cwconfig
And update its docstring.
This function does not actually "make a cubicweb application", it just builds
a pyramid.config.Configurator instance from a CubicWeb config object.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 08 Feb 2017 17:49:25 +0100] rev 11957
[server] Reprase messages of db-check to avoid using "system" and "sources"
And rather mention "entity type table" and "entities" table, which are
clearer references.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 20 Feb 2017 16:39:07 +0100] rev 11956
[predicates] Fix reference to has_related_entities in partial_has_related_entities docstring
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 07 Feb 2017 13:47:03 +0100] rev 11955
Fix possible double import of cubes modules
When cubes using the new layout are imported with 'cubicweb_<cube>' and with
'cubes.<cube>', the same module is imported twice.
Handle this by adding 'cubes.<cube>' to sys.modules when importing from
'cubicweb_<cube>'.
Move load_module() to a sub class _CubesLoader to share informations computed
in find_modules().
Don't handle subpackages in _CubesImporter and rely on normal import machinery
instead.
Add a test and use unittest from cubicweb.devtools.testlib which resolve to
unittest2 on PY2 with assertLogs() method.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Wed, 08 Feb 2017 10:31:26 +0100] rev 11954
Make load_module() return existing module if present in sys.modules
Otherwise the reload() builtin will not work correctly:
https://www.python.org/dev/peps/pep-0302/#specification-part-1-the-importer-protocol