Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Jul 2013 08:23:17 +0200] rev 9199
[i18n test] simplify test cube a bit by only providing a views module, no package
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Jul 2013 16:01:18 +0200] rev 9198
[web] consider inlined relations in has_editable_relation. Closes #3049970
In some cases where the user can only add/edit inlined relations (though
actually edit perms of the inlined relation doesn't seem checked), the "modify"
action doesn't appear while it should.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Jul 2013 16:00:40 +0200] rev 9197
[web test] silent 3.13 warning
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jul 2013 13:47:52 +0200] rev 9196
[editcontrollers] Account for role in the ordering of entities (Complements #3031719)
Only role='object' was correctly accounted for by 570208f74a84
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 18:14:56 +0200] rev 9195
[migration.sync_schema_props_perms] ensure all participants to a unique together constraint are there
before adding CWUniqueConstraint. Closes #3038345
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 18:12:28 +0200] rev 9194
[session commit] save back exception context to avoid potentiel cluttering if some revert operation raise an exception
David Douard <david.douard@logilab.fr> [Mon, 29 Jul 2013 14:22:40 +0200] rev 9193
[pkg] python-central has been removed from Debian
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:46:30 +0200] rev 9192
[pkg] prepare 3.17.4
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:49:53 +0200] rev 9191
[pkg] merge centos 3.17.1-2 in stable (prepare 3.17.4)
David Douard <david.douard@logilab.fr> [Fri, 26 Jul 2013 09:47:22 +0200] rev 9190
Added tag cubicweb-centos-version-3.17.1-2 for changeset 965f894b63cb
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Jul 2013 09:07:25 +0200] rev 9189
[rqlrewrite] fix rqlrewrite unpredictability vs relation sharing. Closes #3036144
The relations index used to determine if relation may be shared only
considered a single relation node per relation type. So when the same
relation type occurs several time, dict order give unpredictable result.
We shall properly consider all relations instead.
Tentative test case included (but bug reproduction is by definition
unpredictable...)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 16:55:24 +0200] rev 9188
[rqlrewrite] rewrite doesn't need a solutions argument, always use the Select'ones
Also, do a copy systematically else it may lead to empty solutions depending on
the rewrite path.
Test case tentative included in the following changeset.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 16:49:40 +0200] rev 9187
[rql rewrite] equivalent but much simpler flow
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Jul 2013 10:42:33 +0200] rev 9186
[pkg] Prepare a new RPM release
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Jul 2013 10:25:49 +0200] rev 9185
[pkg] Add log directory to rpm
David Douard <david.douard@logilab.fr> [Thu, 25 Jul 2013 08:52:15 +0200] rev 9184
[repo] normalize ValidationError on edited entity (closes #2509729)
In CubicWeb, ValidationError.entity MUST be the eid of the involved entity,
not the entity iteself (as done by yams).
David Douard <david.douard@logilab.fr> [Wed, 24 Jul 2013 13:59:08 +0200] rev 9183
[doc] one must now manipulate the req.session.data dict (closes #2842345)
instead of deprecated get/set/del_session_data methods.
David Douard <david.douard@logilab.fr> [Wed, 24 Jul 2013 08:20:22 +0200] rev 9182
[datafeed] add a timeout config option (closes #2745677)
So a HTTP GET do not hang forever in the datafeed looping task.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 11:54:35 +0200] rev 9181
[dataimport] ucsvreader should skip empty lines unless specified otherwise. Closes #3035944
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 22 Jul 2013 12:08:37 +0200] rev 9180
[querier] Add timings to debug prints (DBG_RQL)
this may ease to spot some problematic queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jul 2013 08:43:16 +0200] rev 9179
[editcontrollers] Ensure entities are created in an order satisfying schema constraints. Closes #3031719
changes below are also necessary to make the whole thing works:
* stop considering InlinedFormFile as eidparam field since they don't
hold any value
* rework 'pendingfields' handling to have separate processing of inlined fields
whose subject entity is created during the edition
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 12:07:46 +0200] rev 9178
[editcontroller] extract RQLQuery.set_attribute/set_inlined methods from handle_field/handle_inlined_relation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 11:38:48 +0200] rev 9177
[editcontroller] req=self._cw makes things easier to read
David Douard <david.douard@logilab.fr> [Mon, 22 Jul 2013 15:38:11 +0200] rev 9176
[facets,js] fix bogus checkbox icon appearing after the first interaction (closes #2790332)
This is because of the hardcoding of the data/ url.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jul 2013 14:57:37 +0200] rev 9175
fix typos in docstring, doc and comments
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Jul 2013 15:02:28 +0200] rev 9174
[debian] remove workaround for broken sphinx/jquery combination
sphinx in squeeze was updated:
http://packages.qa.debian.org/s/sphinx/news/20130112T154737Z.html
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 18 Jul 2013 22:18:50 +0200] rev 9173
[schema] mark CWDataImport as an internal type. Closes #3025536
Paul Tonelli <paul.tonelli@logilab.fr> [Fri, 19 Jul 2013 15:52:06 +0200] rev 9172
[pkg] remove deprecated dependency on pysqlite2
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Jul 2013 12:36:56 +0200] rev 9171
Fix two crashes in db-check (closes #3024964)
Also improves various debugging messages.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 11:09:28 +0200] rev 9170
[rql rewrite] may_be_shared_with should consider relation's scope (closes #3024730)
When a relation's scope is not the current statement, it must not be shared
(instead of comparing the statement).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 18 Jul 2013 10:19:06 +0200] rev 9169
[rql rewrite] fix may_be_shared_with method so that it actually considers all variable infos and not only the first one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 14:26:33 +0200] rev 9168
[schema/security] add __hash__ to rql expression. Closes #3013535
This is required so that when some rql expression participate to a dictionary
key, only the expression is considered (consistent with comparison). This
behaviour is expected in security at least, see the related bug for instance.
This scramble msplanner unit tests a bit.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jul 2013 10:59:34 +0200] rev 9167
[rql rewrite] move some code from querier to rqlrewrite where it makes more sense.
Also, make some minor cleanup/refactoring on the way and try to enhance
docstrings.
Relates to #3013535
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jul 2013 10:39:01 +0200] rev 9166
Do not compute actions list in TableLayout view when display_actions attribute is unset
Closes #3007281
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jul 2013 09:55:26 +0200] rev 9165
Use the list of cubes from the filesystem when reading the schema from the filesystem
Closes #3007259
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 22 Jul 2013 10:55:45 +0200] rev 9164
[migration] when adding a cube, skip infered relations (closes #3005576)
Skipped infered relations are recalculated later.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 17:40:28 +0200] rev 9163
[3.17 migration] when some cube is missing, add_cube raise ConfigurationError, not ImportError. Closes #2981477
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 10:20:42 +0200] rev 9162
[migraction] rename_entity_type simply warn if old entity type isn't in the schema. Closes #3004069
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jul 2013 10:15:25 +0200] rev 9161
[deprecation] fix uihelper deprecation warning, use the rtag name, not the class, so it may be copy/pasted
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 11 Jul 2013 18:43:29 +0200] rev 9160
[test] makes fti test order-agnostic (closes #3005633)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 11 Jul 2013 17:16:49 +0200] rev 9159
[web/views/staticcontrollers] Make ConcatFilesHandler write to a tempfile
In order to be more resistant to errors such as ENOSPC, and against different
threads accessing the same static data, we:
- concatenate data files to a temporary file, and rename it once we're done
- delete the tempfile in case of errors
- protect the creation of the cache_concat file with a lock
Closes #3005547
David Douard <david.douard@logilab.fr> [Fri, 12 Jul 2013 18:03:11 +0200] rev 9158
[test] make unittest_schema.py compatible with cubicweb-file 0.14
David Douard <david.douard@logilab.fr> [Mon, 22 Jul 2013 09:47:56 +0200] rev 9157
merge 3.16.6 branch in 3.17
Florent Cayre <florent.cayre@logilab.fr> [Mon, 15 Jul 2013 17:34:54 +0200] rev 9156
Added tag cubicweb-centos-version-3.16.6-1, cubicweb-debian-version-3.16.6-1, cubicweb-version-3.16.6 for changeset b4ccaf13081d
Florent Cayre <florent.cayre@logilab.fr> [Sat, 13 Jul 2013 05:10:55 +0200] rev 9155
Prepare 3.16.6
David Douard <david.douard@logilab.fr> [Mon, 15 Jul 2013 16:55:13 +0200] rev 9154
[devctl] properly generate i18n messsages for cubes that uses uicfg instances (closes #2811282)
David Douard <david.douard@logilab.fr> [Mon, 15 Jul 2013 16:55:03 +0200] rev 9153
[test/devctl] add a test case for i18ncube command
Florent Cayre <florent.cayre@logilab.fr> [Mon, 15 Jul 2013 10:40:49 +0200] rev 9152
Protect against crash in the `relation_possible` predicate with ambiguous relations.
It was still possible to get a KeyError when using relations that are ambiguous
at both ends, like (Executable, version_of, Program) & (Version, version_of, Project).
Closes #3010148.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 10 Jul 2013 15:03:50 +0200] rev 9151
[test] give a non-ambiguous order to sync_schema assertion (closes #3001959)
Sorting by ordernum alone is unstable since several values have the
same ordernum.
ordernum + name should be stable.
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 17:33:43 +0200] rev 9150
Added tag cubicweb-version-3.17.3, cubicweb-debian-version-3.17.3-1, cubicweb-centos-version-3.17.3-1 for changeset 32b4d5314fd9
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 04 Jul 2013 09:26:59 +0200] rev 9149
[test] typo
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 25 Jun 2013 12:11:42 +0200] rev 9148
[schema,server] add a security debugging aid (closes #2920304)
- Add a DGB_SEC debugging flag (to be used with set_debug/debugged).
- Add a context manager (tunesecurity) to filter security assertions.
Note: this does not address all read-security mecanisms.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 24 Jun 2013 19:00:40 +0200] rev 9147
[etwist] fix handling of multiple files per field
html5 permits multiple files uploads, which can be expressed as::
<input type='file' multiple='multiple' />
This changeset avoids previous crash. Nothing is changed when a single file is
uploaded (backward compat is thus preserved). When multiple files are uploaded
for a single html input tag, the corresponding web request form key receives a
list of tuples like [('filename-1', IStream1), ('filename-2', IStream2), ...].
closes #2847207.
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 15:58:26 +0200] rev 9146
[merge] start 3.18 development
David Douard <david.douard@logilab.fr> [Tue, 09 Jul 2013 15:11:23 +0200] rev 9145
[pkg] prepare 3.17.3
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Jul 2013 20:48:54 +0200] rev 9144
[pkg] Remove obsolete ubuntu hardy packaging
It's been EOL for a while.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Jul 2013 15:24:43 +0200] rev 9143
[book] fix sphinx documentation generation (closes #2991997)
changeset 17994bf95d6a ([doc] update Session documentation) added
cubicweb.server.session.Session autodoc to the book. This caused errors
from sphinx due to a section title not being allowed in the class's
docstring.
David Douard <david.douard@logilab.fr> [Mon, 08 Jul 2013 12:41:08 +0200] rev 9142
[test/ldap] fix ldap tests
- make sure the url is properly updated on database setup (when the test
database already exists and the ldap URI has changed)
- fix the ldapuser test setup process.
David Douard <david.douard@logilab.fr> [Fri, 05 Jul 2013 10:40:57 +0200] rev 9141
[test] fix unittest_schemaserial.py
A spurious add permission has been added in expected result by d988eec2d5d3
David Douard <david.douard@logilab.fr> [Fri, 05 Jul 2013 10:35:14 +0200] rev 9140
[test] make unittest_schemaserial.py runnable with python
used to run fine only when launched using pytest
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Jul 2013 17:38:10 +0200] rev 9139
[facet] use facet name as input name for text widget (eg has_text)
we need to ba able to distinguish between text-inputs so we can write
a widget for a single facet that uses more than one text input.
This fix consists in the diff in cubicweb.facts.js; modifications in
facet.py result from this former.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Jul 2013 09:36:20 +0200] rev 9138
[web doctype] don't give through reset_xmldecl to avoid double deprecation warning
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 02 Jul 2013 09:35:58 +0200] rev 9137
[web doctype test] don't give reset_xmldecl to avoid deprecation warning
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 03 Jul 2013 14:52:10 +0200] rev 9136
[devtool] randomise available ports search in http test
This lowers the chance of parallel tests to race for the same port.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 03 Jul 2013 14:48:34 +0200] rev 9135
[facet] don't crash if no title specified on a facet and filtered rset is empty. Closes #2587883
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 03 Jul 2013 14:43:21 +0200] rev 9134
[css, html] add a css_class attribute on Button, allowing to change easily default CSS class for buttons
(think orbui integration)
Katia Saurfelt <katia.saurfelt@logilab.fr> [Wed, 27 Jun 2012 11:53:46 +0200] rev 9133
[view] add 2 missing spaces before the previous link
Julien Cristau <julien.cristau@logilab.fr> [Wed, 26 Jun 2013 09:35:54 +0200] rev 9132
[server/repository] Go through the repo to close pyro sessions
Turns out session.close() doesn't DTRT.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 31 May 2013 11:13:06 +0200] rev 9131
fix migration from pre-3.13.1 versions (closes #2846978)
Need to check the existence of the asource column before the first call
to eid_type_source.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 03 Jul 2013 14:33:27 +0200] rev 9130
[constraint] more robust unicity constraint failures reporting for end-users
Postgres or Sqlserver have limits on the index names (around resp. 64
and 128 characters). Because `logilab.database` encodes the `unique
together` constraint rtypes in the index names, we sometimes get
truncated index names, from which it is impossible to retrieve all
rtypes.
In the long run, the way such index are named should be changed.
In the short term, we try to reduce the end-user confusion resulting
from this design flaw:
* in source/native, the regex filtering ``IntegrityError`` message does
not impose an `_idx` suffix, which indeed may be absent (the result being an
UI message that resembles a catastrophic failure),
* also we avoid including a trailing " (double quote) from the error
message
* in entities/adapters, the well-named ``IUserFriendly`` adapter is made a
bit smarter about how to handle missing rtypes.
* the adapter also always produces a global message explaining the
issue (and the fact that sometimes, the user is not shown all the
relevant info)
* i18n is updated
Closes #2793789
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 03 Jul 2013 14:16:21 +0200] rev 9129
[hooks/security] Streamline attributes default permission check.
The current default permission on attributes delegates the check to
the entity permission update policy.
Since this is already checked it can be skipped.
The equality comparison will work, even with a deserialized schema,
because the default update perm is::
('managers', ERQLExpression(Any X WHERE U has_update_permission X, X eid %(x)s, U eid %(u)s))
which will always be deserialized in this order (groups first).
However this is a slight semantic change: entity type level 'update'
permissions can now be effectively used to encode update-time rules if
the default attribute permissions are used (before this change, the
'update' rules at entity type level were fired at creation time).
Closes #2930861.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 26 Jun 2013 14:22:22 +0200] rev 9128
[test/schemaserial] swap got/expected to get nicer unittest2 diagnostics
Prepares #2965518.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Jul 2013 17:09:04 +0200] rev 9127
[repository] drop safe attribute on ``internal_cnx``
People that need to disable hook can do it explicitly anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:18:54 +0200] rev 9126
[dbapi] deprecated the dbapi
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:26:14 +0200] rev 9125
[repoapi] deprecate dbapi compat method
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:14:22 +0200] rev 9124
[testlib] deprecated the older api to access the repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:09:23 +0200] rev 9123
[connection] deprecated free_cnset and set_cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 19:02:06 +0200] rev 9122
[session] deprecate all Connection related method on session
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:53:06 +0200] rev 9121
[session] drop dead _current_cnx_id
Not used anymore for a few commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:47:08 +0200] rev 9120
[session] privatise get_cnx and close_cnx
The only user, repoapi now use ``new_cnx``
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:14:35 +0200] rev 9119
[doc] add documentation for the new API in test
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 15:28:15 +0200] rev 9118
[testlib] add an default testcase.adminaccess (and use it for default session)
This adminaccess is the new offical way to get connection, and request on a
repo.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:15:57 +0200] rev 9117
[testlib] introduce a RepoAccess class to easily create connection and request
Each RepoAccess hold a session for a user and three helper function to help
create Connection, ClientConnection of WebRequest related to this session.
related to #2920299
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 15:13:47 +0200] rev 9116
[repoapi] make ClientConnection.__enter__ return self
This allow the standard idiom::
with repoapi.connect(repo, login='babar', passwork='elephant') as cnx:
cnx.execute(…)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:16:06 +0200] rev 9115
[documentation] describe repoapi and web side change.
Short version explaining what object replace what and that BC existes for a few
version.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 12:28:17 +0200] rev 9114
[testlib] use internal_cnx instead of internal_session
internal_session is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 14:12:00 +0200] rev 9113
[repository] add an ``internal_cnx`` method to replace ``internal_session``
Accessing the repo through a Session is deprecated. We need an easy replacement
for ``internal_session``.
This API change was a good occasion to stop disabling integrity hook by default.
This is huge source of bug in user-code.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 12:02:38 +0200] rev 9112
[connection] enforce that a connection must be open to be used
The same than for ClientConnection, we ensure the connection is used inside a
its context.
.. note:: We may rely on that for ClientConnection and remove de dedicated code
in Client Connection but I prefer the current explicite and duplicated
version for now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 15:11:22 +0200] rev 9111
use standalone Connection to Client Connection
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:46:24 +0200] rev 9110
[session] add a new_cnx factory
Having user-code importing cubicweb.server.session.Connection is inconvenient.
We add a simple factory fonction on the session.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:26:06 +0200] rev 9109
[connection] allow simple instantiation of standalone Connection
Such connection will automatically pick a connection id. Note, They are not
automatically closed on session close. But they will fails to grab new cnxset
once the session is closed.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:35:55 +0200] rev 9108
[connection] handle and explicitly life cycle on Connection
Like ClientConnection, Connection object need to be explicitly started and stop.
They aims to be used as context manager.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:00:32 +0200] rev 9107
[sesion] distinction between Connection handled by the session and other.
Not mixing the new and backward compat approach seems a good idea. Let's enforce
it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:58:34 +0200] rev 9106
[session] replace _clear_thread_storage with close_cnx
There is not good reason to keep two distinct method.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 14:01:07 +0200] rev 9105
[session] explicitly take Connection object in close_cnx
Now that ClientConnection explicitly reference and use the Connection object we
do not need to use connectionid here.
We can safely change this signature, ClientConnection is the only use of
close_cnx for now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:41:53 +0200] rev 9104
[session] drop the Session._clear_cnx_storage method
It is just cnx.clear() now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:39:41 +0200] rev 9103
[session] wrap too long line
Too long line is too long.
(Confucius 503 BC)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:39:01 +0200] rev 9102
[session] gather close_cnx with get_cnx and set_cnx
They do the same kind of operation and deserve to be grouped together.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:13:18 +0200] rev 9101
[client-connection] remove the _srv_cnx usage
It does not do anything special now that we use explicite Connection object with
automatic cnx_set handling.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:04:31 +0200] rev 9100
[client-connection] explicitly check that the client-connection is open
The check is also perform by the _srv_cnx property. But we do not need those
property anymore.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:02:30 +0200] rev 9099
[client-connection] handle the lack of connection id while not open
the connection id is computed at opening and forgotten when closing. We can't
rely on it in various messages … like the "connection closed" exception.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 11:21:39 +0200] rev 9098
[connection] transparent cnx_set handling
Connection object while take cares of there cnxset themself (as dbapi connection
does).
The ``set_cnxset`` and ``free_cnxset`` operation are still available for
backward compatibility purpose. The ``_auto_free_cnx_set`` is introduced to
handle mixed usage.
A new context manager ``connection.ensure_cnx_set`` is added for code that
access ``cnx.cnxset`` directly and are not wrapped in any specific
``Connection`` method.
A ``_with_cnx_set`` decorator is used on all Connection method that need a
cnxset.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 10:44:40 +0200] rev 9097
[client-connection] explicit the client part in __repr__
Now that we have real server side connection we need to remove ambiguity.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 19:50:16 +0200] rev 9096
[ClientConnection] directly use the Connection object to access the database
Now that Connection are a full featured standalone object we can directly
reference and use it in the ClientConnection instead of using the session.
The session object is kept around for a while to perform various utility role.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 18:15:45 +0200] rev 9095
[connection] invert __init__ parameter
Takes session first. At some point, the connection_id will become optional for Connection
created explicitly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 13:43:22 +0200] rev 9094
[service] enforce that Service argument and return are json-serialisable
The call_service API need to be able to run through RPC. So we ensure front
start that it is possible serialise both input and output.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 18:04:08 +0200] rev 9093
[connection] move call_service on Connection
This is the last step toward standalone transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:21:14 +0200] rev 9092
[connection] move the commit method on Connection object
One step closer of standalone Connection!
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:21:09 +0200] rev 9091
[connection] move the rollback method on Connection object
One step closer of standalon Connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:20:46 +0200] rev 9090
[connection] pass a Connection object to RQLRewriter
RQLRewriter can now directly use a Connection object. No need for specific
handling session side.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:20:14 +0200] rev 9089
[connection] Connection.execute touch Session timestamp
This allow to keep Session alive while using Connection object only for database
access.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:42:12 +0200] rev 9088
[connection] Connection now call _set_user to CWUser object linked to itseld
Session.user is linked to the session.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:13:50 +0200] rev 9087
[server/session] better faking of user for InternalManager
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:58 +0200] rev 9086
[connection] move execute
All necessary method are now available on the Connection object. So the
Connection can handle RQL execution itself.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:10:52 +0200] rev 9085
[connection] mark Connection as "not a request"
The ORM use this information. Having a wrong value will lead to crash.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:04:46 +0200] rev 9084
[server/session] ensure appobject obtained from the session are linked to the session
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 12:25:52 +0200] rev 9083
[connection] have rql_rewriter accession on Connection
Code expecting a session search the RQLRewriter on this attribute.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:42 +0200] rev 9082
[connection] move local_perm_cache management on Connection
It belongs here anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:37 +0200] rev 9081
[session] use a rich object for timestamp
This allows the Transaction to keep a reference to it
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:32 +0200] rev 9080
[migraction] do not access session.data directly
use set_shared_data and get_shared_data instead
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:28 +0200] rev 9079
[connection] move relation management method
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:24 +0200] rev 9078
[connection] give access to shared data method
A reference to session data are kept
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 11:19:17 +0200] rev 9077
[connection] move relation cache method to Connection
needed for execute (and need execute themself...)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 15 May 2013 16:09:31 +0200] rev 9076
[connection] give access to session execute from connection
This allows multiple function that both requires an execute method and are
required by the execute method.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 23 May 2013 14:17:46 +0200] rev 9075
[connection] move last part of undo logic in connection
Now that Connection have a reference to the repo it can handle all of it itself
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:28:41 +0200] rev 9074
[connection] initialize connection.user and connection.lang
A RequestSessionBase need a user and lang. For now we use the session ones.
Later the Connection will have it's own.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 17:43:18 +0100] rev 9073
[Connection] inherit from RequestSessionBase
This contains a lot method. We need them to move more code from Session
to connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 26 Jun 2013 13:48:18 +0200] rev 9072
[multi-sources] drop multi-sources related test.
another branch is removing the multi-source itself. We do not want to bother
fixing those test.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 27 Jun 2013 18:21:04 +0200] rev 9071
Use new repoapi for the web stack
The publisher now link repoapi.ClientConnection to request. and explicitly
control there scope.
Web side, appobject._cw.cnx is now a repoapi.ClientConnection.
This actually kill webonly possibility until the repoapi is able to use some
RPC.
The change in the authentication stack is very hasty and need cleanup
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:59:01 +0200] rev 9070
PARTIAL: Using the repoapi in test
Test now use the repoapi.ClientConnection to access the repo. This is very big
change. The current method to access the repo are kept for backward
compatibility. The new methods will be introduced much later.
The TestCase keep a ClientConnection To an admin session for the whole test.
This changeset does not makes all tests pass without the next one that change
set htt without the next one that change the http stack
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 14:45:16 +0200] rev 9069
[web/test] drop proff of concept Facebook login in test
The authentication stack will change. The change in API will requires rework of
user cube anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:46:35 +0200] rev 9068
[test/dbapi] do not rely on the Testcase provided cnx
We plan to use the repoapi in the test. So we need the DBAPI test to explicitly
create a DBAPI connection.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 10:45:44 +0200] rev 9067
[dbapi] explicitly use the DBAPI version of CubicwebRequestBase
As we plan to use a ConnectionCubicwebRequestBase by default we better have the
dbapi explicitly asking for a DBAPI implementation.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:33:41 +0200] rev 9066
[web/application] drop unused import
unused since 3c85e734ce00
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:35:22 +0200] rev 9065
[web/test] properly reset the request connection related attribute
A new request does not have those attribute to None. There have special value
that we now properly reinstall.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:23:48 +0200] rev 9064
[web/test] drop two undocumented suspicious regression test
Those two test are not documented and use the API in the wrong way. They do not
raise exception by chance.
the current request signature is::
def request(self, rollbackfirst=False, url=None, headers={}, **kwargs):
So the RQL have nothing to do here.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 19:27:31 +0200] rev 9063
[webrequest] introduce an alternative implementation using the repoapi
DBAPI specific parts of ``CubicWebRequestBase`` are extracted in a
``DBAPICubicWebRequestBase`` decicated class and a new
``ConnectionCubicWebRequestBase`` is introduced that provide the same services
but using a repoapi.ClientConnection as data source. For now the
``DBAPICubicWebRequestBase`` is still used by default.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:18:51 +0200] rev 9062
[repoapi] add an anonymous_cnx function
This function return an anonymous ClientConnection. It aims to replace
``dbapi.anonymous_session``.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:40:12 +0200] rev 9061
[repoapi] add a connect function
This function takes a repo and authentication information to open a new Session
and return a ClientConnection associated to it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 17:26:13 +0200] rev 9060
[client-connection] add an auto-close property for ClientConnection
The next commit introduce a connect function that open a new Session and return
an associated ClientConnection. The Session should not be used by anything else
than the created ClientConnection, so we want to close it at the same time than
the ClientConnection. The implementation in this changeset is simplistic. We
probably want to move this notion in the session itself. This be improved once
we have server side Connection
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 12:08:06 +0200] rev 9059
[cwuser] make CWUser callable, returning self for dbapi compatibility
In the dbapi, Connection and Session have a ``user`` method to
generated a user for a request In the repo api, Connection and Session
have a user attribute inherited from SessionRequestBase prototype. This
ugly hack allows to not break user of the user method.
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:26:03 +0200] rev 9058
[client-connect] drop rqlst on rset returned client side
The DBAPI used to drop the RQL syntax tree on rset to save bandwidth. We could
stop doing it for In-memory client connection. However keeping the syntax tree
leads to multiple tests failures. So we keep dropping it as the DBAPI always
did.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:25:47 +0200] rev 9057
[client-connection] add a repo property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 13:49:13 +0200] rev 9056
[client-connection] add a connection property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 13:42:19 +0200] rev 9055
[client-connection] add a sessionid property for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 12:12:58 +0200] rev 9054
[client-connection] add a cursor() method for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 11:39:34 +0200] rev 9053
[client-connection] add a request() method for dbapi compatibility
To ease transition from dbapi to repoapi we need the ClientConnection to be as
compatible as possible with the dbapi. Adding this method goes in this
direction.
It'll get deprecated in the deprecation wave that will conclude the repoapi
refactoring.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 11:06:57 +0200] rev 9052
[repoapi] introduce a basic ClientConnection class
This is the new official way to access the repo from client side.
It still access Session object directly as the server side connection is not up
yet (and it's not up because it would have no user).
Multiple follow up commit will install compatibility with the DBAPI. This will
ease the migration from dbapi to repoapi.
ClientConnection has no user yet but later commit will use it in the whole Web
stack.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 25 Jun 2013 17:25:47 +0200] rev 9051
[req] add a _set_user method
RequestSessionBase usally need to recreate a new CWuser appobject linked to
themself. We add it to the base class to avoid multiple redifinition.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 18:00:20 +0200] rev 9050
[server/session] add a login property
session.login is a DBAPISession attribute. Having it on server side session
will helps the rework of the API to access repository. The new schema drop the
concept of DBAPISession and use server side session for the same purpose.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 15:47:01 +0200] rev 9049
[server/session] allow access to session id using sessionid
session.sessionid is a DBAPISession attribute. Having it on server side session
will helps the rework of the API to access repository. The new schema drop the
concept of DBAPISession and use server side session for the same purpose.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Jun 2013 17:27:08 +0200] rev 9048
[server/session] Implement anonymous_session
Now we have a simple rule to compute if a session is anonymous we can implement
the property for server session too. Having it on server side session will helps
the rework of the API to access repository. The new schema drop the concept of
DBAPISession and use server side session for the same purpose.
Related to #2953943
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:07:45 +0200] rev 9047
[server/session] do not clear session.cnx if unrelated to cnx actually cleared
The cnx parameter may be different from the one actually loaded for the current
thread. This will be possible in future commit when you close a client connection
for example.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 14:55:26 +0200] rev 9046
[dbapi] move ProgrammingError into cubicweb module
A new ``repoapi`` will be introduced as a replacement for the dbapi. It will
need ProgrammingError too.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Jun 2013 15:00:41 +0200] rev 9045
[repoapi] move get_repository function into a new repoapi module
This new module aims to host the function of the new API replacing the old
DBAPI. `get_repository` is still needed hence moved to the new module.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Jun 2013 16:19:27 +0200] rev 9044
[testlib] gather all repository access logic in one place
Refactoring of the repository access API in test is imminent. We plan to move
from the "old" dbapi to the new repoapi.
Gathering all impacted method in one place help to understand how all those
method interact and help readability for both patch and resulting code.
No code change is done at all in this changeset. The refactoring will code
later.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Jun 2013 16:00:07 +0200] rev 9043
[testlib] move repo and related attribute back on Instance instead of Class
The repo and cnx was hold by the TestCase class to work as a cache and avoid
recreation of the repo from scratch of each test. However since bad26a22fe29 the
caching is done by the DatabaseHandler object and it is not necessary have a
second layer of cache on the TestCase itself.
We move the repo and cnx attribute back on the TestCase instance itself and make
several class methods instance methods again.
This will helps to change dbapi access in test from dbapi to repoapi.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 14:53:19 +0200] rev 9042
[dbapi] makes anonymous_connection a computed property
The current implementation is a boolean flag set manually by client code after
connection creation. This led to different way to decide a anonymous_connection
should be True (eg. different in the test than in the actual application code).
It should not be client responsibility to set this flag.
``cnx.anonymous_connection`` is now a purely computed property. Connection with user in the
"guests" group are anonymous, the other ain't.
``Session.anonymous_session`` is computed from ``cnx.anonymous_connection`` and get
the updated behavior transparently.
Closes #2953943
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 11:31:47 +0200] rev 9041
[webrequest] simplify set_session code
Thanks to the previous changeset we are assured that session handed to
set_session is full featured one. This allows a simpler code for this method.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Jun 2013 16:28:16 +0200] rev 9040
[webrequest] set DBAPISession without cnx at initialisation time
Such session are necessary for minimal use of a Request. Setting on by default
allow simplification later linking with a full featured DBAPISession or
equivalent. This was not possible before as all session was tracked by session
manager. They are not tracked anymore since aa709bc6b6c1 and we can safely
create them by default.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:41:27 +0200] rev 9039
[testlib] rework request building in init_authentication
The previous code was building a full authenticated request and tried to undo
the authentication afterward. The new code just create a bare Request with no
authenticated session linked yet.
This is much closer of what the actual authentication process does.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:39:25 +0200] rev 9038
[request] drop the user argument for set_session
I see no code nor test that use this optional argument. removing it help to
clean the session code. The set_session function will soon be deprecated anyway (at the
same time than the dbapi)
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 19 Jun 2013 12:00:54 +0200] rev 9037
[web-request] handle default language earlier
We now read language negotiation header at initialisation time (previously done
during ``set_session``). This simplify the set_session code for later reworking.
There is no change in behavior, the user selected language continue to overwrite
the one picked from the header/default when applicable.
related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Jun 2013 15:12:25 +0200] rev 9036
[etwist] pass the repository to the root resource
This is another step toward a cleaner instantiation scheme for the repo.
The http test now pass an already created object to the etwist server instead of
relying on the config cache.
Related to #2249513
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:03:37 +0200] rev 9035
[repo] move repo.gc_stats to Service API (closes #2951068)
We currently have a method on the repo that anyone can call. `call_service`
gives a similar thing, modulo:
* can be restricted access to manager only (thanks to selection on services),
* less unrelated code on the repository class,
* no need to fetch a reference to a repo object from the client side
* (`req._cnx.repo` is not an API and config.repository() is on its way out).
The old way to access this information (repo.gc_stats()) is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:05:35 +0200] rev 9034
[repo] move repo stats to Service (closes #2951067)
We currently add a new method on repo that anyone can call. Call service allows
to reach the same result with:
* Restricted access to manager only (thanks to selection on services),
* Less unrelated code on the repo.
* No need to fetch a reference to a repo object from client side.
`req._cnx.repo` is not an API and config.repository() is on its way out.
The old way to access this information (repo.stats()) is deprecated.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 11:59:45 +0200] rev 9033
[service] drop the asynchronous execution possibility
Call_service was able of both sync and sync execution making the API confusing.
There is not user of the async case. We drop the async argument in favor of
synchronous execution only.
This makes call_service the official API to call server side code from the
client side. This is a remplacement for the usual monkey patching of the repo
object.
The zmq notification bus is a solid alternative for codes that needs to start an
async execution.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 24 Jun 2013 12:00:03 +0200] rev 9032
[auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Those object actually need a repo object to connect and create new session
object. They used to retrieve the repo object using
``vreg.config.repository()``. I'm trying to sanitise the initialisation stack
and get ride of ``config.repository()``, a function that mix factory and cache.
Retrieving the vreg from the repo is trivial (``repo.vreg``) so we now pass the
repo object instead of the vreg.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 23 Nov 2012 16:12:19 +0100] rev 9031
web/application: instantiate the repository outside of CubicWebPublisher
This improves decoupling and allows ``CubicWebPublisher`` user to choose which
argument are used during ``Repository`` instantiation. In particular is allows
caller to provide a ``TaskManager``.
The `vreg` argument of publisher is made mandatory. See CubicWebPublisher
docstring for details.
Related to #2249513
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 07 Dec 2012 17:23:04 +0100] rev 9030
remove vreg argument to CWPublisher
The passing a vreg to CWPublisher was used by test to allow reused of an
existing vreg. We dropped this feature two commit ago and can safely removes it.
Removing this argument allows later cleanup and improvement on the CWPublisher
and Repository front.
closes #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 07 Dec 2012 16:10:38 +0100] rev 9029
[devtools] vreg becomes a class ppty
After multiple devtools refactoring, the vreg used for test is now *always* got
from the repository. Making this explicit is a step toward simplification of the
vreg handling during various initialisation phases.
Related to #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 23 Nov 2012 16:33:00 +0100] rev 9028
[devtools] drop unused `reset_schema` and `reset_vreg` class attribute
They have no effect and no user...
Related to #2944813
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 27 May 2013 17:50:55 +0200] rev 9027
[connection] move security control logic on Connection
The _security_enabled context manager now operate on connection. We have to keep
a specific entry point in Session to ensure Connection object are properly
cleaned up when using session to "manage" Connection live cycle.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 12:11:42 +0200] rev 9026
[connection] move hook control logic on Connection
The _hook_control context manager now operate on connection. We have to keep a
specific entry point in Session to ensure Connection object are properly
cleaned up when using session to "manage" Connection live cycle.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 12:10:45 +0200] rev 9025
[session] update _hook_control docstring
pierre-yves [Mon, 27 May 2013 16:43:02 +0200] rev 9024
[connection] reinstall cnx.data as cnx.transaction_data
Too much code expects self._cw.data to be session data.
backout 9b2f68916474
Related to #2503918
Related to #2912807
pierre-yves [Mon, 27 May 2013 16:42:39 +0200] rev 9023
[connection] give access to is_internal_session boolean
Needed if we are to use this object like we currently do with session.
Related to #2503918
pierre-yves [Fri, 14 Jun 2013 13:39:49 +0200] rev 9022
[req] drop from_controller on non WebRequest object (Closes #2901079)
The `controller` concept is purely a web things. It does not belong to generic
`req` object.
The `build_url` code is slightly changed to handle that. This probably requires
extended cleanup later.
This is a barely used and very internal API. No deprecation period
pierre-yves [Tue, 14 May 2013 00:36:43 +0200] rev 9021
[connection] add logging method on connection
If we are to use this object like we currently do with session, we need to have
the logging method as a lot of code use them.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 15:12:06 +0200] rev 9020
rename server.session.transaction into server.session.connection
The ongoing rework of the API to access the database include the splitting of
Session in two objects:
The ``Session`` object will only hold credential (user) and global session data.
A new object will publicly emerge to handle a database access. This object is
named ``Connection`` since that the way database accessors with the same property
are named in other system. So we renamed the ``Transaction`` object into
``Connection``. The ``Transaction`` object have already grown in the direction
of something directly usable by generic code, but the name ``Transaction`` is
ill suited as such object can be used for multiple database transaction in a
row.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 13:43:29 +0200] rev 9019
[application] call req.set_session in application.main_handle_request
The Session handling chain is no more responsible for calling req.set_session.
It just returns a valid session and lets the caller link it to the Request.
This opens the way to explicitly creating and closing a connection/transaction
in ``application.main_handle_request``.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 18:46:39 +0200] rev 9018
[session-handler] use session directly to update last usage
We don't really need the WebRequest for that. Not using the WebRequest to access
the cubicweb repository here will allow a delayed set_session.
Related to #2503918
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 18:50:19 +0200] rev 9017
[application/connect] simplify connection logic
``application.connect`` now either sets a full featured ``DBAPISession`` to the
``WebRequest`` object or raises ``AuthenticationError``. The creation and usage
of a fake DBAPISession is now handled by ``main_handle_request`` when needed.
This means that fake DBAPISession are no longer tracked by the session manager
and that user are not given anyway to retrieve them for a later request.
This fake DBAPISession is still passed to ``core_handle`` because multiple cubes
like registration or forgotten password need this behavior. We would like to get
ride of it in the future.
This clarification of the connection API greatly simplifies ``DBAPISession``
retrieval//creation process opening the
way to improvements in this area.
Related to #2503918
pierre-yves [Thu, 13 Jun 2013 15:36:10 +0200] rev 9016
Drop hijack user (closes #2901093)
Deprecated since 3.17.0. Dropping this function help the session cleanup
business.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 13 Jun 2013 17:27:43 +0200] rev 9015
[sources] drop support for ldapuser source (closes #2936496)
The ldapfeed source is a replacement for ldapuser. Use it instead.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 14 Jun 2013 17:13:17 +0200] rev 9014
merge stable back into default
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:26:25 +0200] rev 9013
3.17 is the new stable
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:13:24 +0200] rev 9012
Added tag cubicweb-version-3.16.5, cubicweb-debiann-version-3.16.5-1, cubicweb-centos-version-3.16.5-1 for changeset 810a05fba1a4
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 16:02:39 +0200] rev 9011
[pkg] prepare 3.16.5
David Douard <david.douard@logilab.fr> [Fri, 14 Jun 2013 14:41:50 +0200] rev 9010
Added tag cubicweb-version-3.17.2, cubicweb-debian-version-3.17.2-1 for changeset 195e519fe97c
David Douard <david.douard@logilab.fr> [Thu, 13 Jun 2013 17:32:49 +0200] rev 9009
[pkg] prepare 3.17.2
Julien Cristau <julien.cristau@logilab.fr> [Fri, 14 Jun 2013 11:53:40 +0200] rev 9008
repository: make tests pass again
The tests use mono-threaded pyro, which breaks assumptions made in
e27337dfec8c. To fix that, remove sessions from the _pyro_sessions dict
when they're closed, and force the test pyro client to actually
disconnect when it's done.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Jun 2013 18:33:50 +0200] rev 9007
repository: monkey patch pyro connection handling to detect clients going away
When a pyro client goes away we need to close their session (to release their
cnxset). Add a dict to the repository mapping pyro client threads to session
object.
Closes #2932058
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Jun 2013 12:01:23 +0200] rev 9006
notification: use viewargs for notif_entity_updated instead of transaction_data
Now that notifications use separate sessions, they can't rely on the
original transaction_data being around, so pass the data through view
arguments instead, so the notification view knows what changed on
updated entities.
Closes #2936180
Julien Cristau <julien.cristau@logilab.fr> [Thu, 13 Jun 2013 12:03:59 +0200] rev 9005
notification: properly handle cnx and lifetime of the hijacked session
When we create a session for the notification rendering, we need to
1) give it a cnxset
2) commit and close it after we're done
3) restore the original session for subsequent notifications
This changes the ordering of actual mail sending, since there are
several different commits involved, but I don't see a way to fix that
short of restoring hijack_user.
Related to #2934523
Julien Cristau <julien.cristau@logilab.fr> [Wed, 12 Jun 2013 12:27:00 +0200] rev 9004
notification: fix session creation (closes #2934523)
Session() takes a user and repo, not repo and user.
David Douard <david.douard@logilab.fr> [Fri, 07 Jun 2013 16:48:20 +0200] rev 9003
Added tag cubicweb-version-3.17.1, cubicweb-debian-version-3.17.1-1, cubicweb-centos-version-3.17.1-1 for changeset f98d1c46ed9f
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 13:00:28 +0200] rev 9002
[cwctl] add configure command to cw-ctl (closes #2709702)
usage: cw-ctl configure <appid> --param key=value,key2=value2 --param key3=value3
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 14:02:45 +0200] rev 9001
[cwctl] rename option no-post-create to no-db-create
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 16:02:46 +0200] rev 9000
[pkg] version 3.17.1 for rpm packages
pierre-yves [Mon, 27 May 2013 15:48:03 +0200] rev 8999
[session] upgrade session closed error from Exception to SessionClosedError
Exception is far too wide and we already have a SessionClosedError anyway.
Closes #2897696
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 12:29:44 +0200] rev 8998
[pkg] prepare 3.17.1
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 30 May 2013 14:46:32 +0200] rev 8997
[web/application] add some minimal documentation
Some documentation to the Application main entry point.
pierre-yves [Thu, 23 May 2013 19:25:24 +0200] rev 8996
[session] raise proper exception with get_tx is called on a closed session
Prevent attribute error on _txs
Closes #2897836
David Douard <david.douard@logilab.fr> [Thu, 06 Jun 2013 09:44:37 +0200] rev 8995
[view] typo in a docstring
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 14:07:46 +0200] rev 8994
[cwctl] pass missing inputlevel argument to postcreate() (closes #2901037)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 May 2013 11:41:39 +0200] rev 8993
[server] fix documentation of ZMQ options harder
The syntax for zmq addresses is tcp://host:port, no zmqpickle involved.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 29 May 2013 16:44:16 +0200] rev 8992
merge with 3.16.x fixes
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Mon, 27 May 2013 15:39:56 +0200] rev 8991
[server] fix documentation of ZMQ options
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 May 2013 11:16:09 +0200] rev 8990
[zmq] set order for ZMQStartHook so other hooks don't need to
If an application wants to subscribe to some messages on the zmq bus,
that needs to happen after ZMQStartHook.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 23 May 2013 17:32:56 +0200] rev 8989
import merge_options directly from logilab.common
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 24 May 2013 15:10:50 +0200] rev 8988
[server] fix error messages in write_sources_file()
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 02 May 2013 12:22:14 +0200] rev 8987
[doc] a couple almost-typos
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 03 May 2013 17:26:23 +0200] rev 8986
[schemaserial] mitigate critical message during migration
We can't fetch extra_props because it is not yet there.
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Wed, 22 May 2013 06:30:16 +0200] rev 8985
[doc] typo
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 23 May 2013 18:57:25 +0200] rev 8984
[cw-ctl] fix help message for schemadiff In global help (closes #2888538)
The leading space make it appears on multiple line. The help content is a bit
improved in the process.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 14 May 2013 18:02:24 +0200] rev 8983
[dbapi] fix connect backwards compat harder
Passing None as group and host should result in
"pyro:///cubicweb.appid", not "pyro://None/None.appid". Followup for
2091d275fe5c. Closes #2882666.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 May 2013 12:35:02 +0200] rev 8982
[zmq] make publish address optional
It should be possible to use the zmq communication bus in a read-only
manner. Allow setting zmq-address-sub without zmq-address-pub.
Closes #2897178.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 May 2013 14:38:43 +0200] rev 8981
Fix documentation for zmq pub/sub hooks and configuration
Closes #2897177
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 17 May 2013 16:25:48 +0200] rev 8980
[entity] improve deprecation messages
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 14:42:50 +0200] rev 8979
[devtools] use self._parse so AssertionError is properly raised instead of lxml error (test failure introduced in 6711f78c18be)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 16:21:23 +0200] rev 8978
[testlib] fix page validator selection. Closes #2869456
* use a validator that checks XML well-formness for the html5 doctype
(as a convenient side-effect, it does not choke on e.g. a canvas tag
like the HTMLParser does)
* use a DTD validator if there is an xml declaration
* else use the HTMLValidator
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 14:22:51 +0200] rev 8977
[testlib] introduce a validator that check xml-well formness
This validator simply check XML is well formed and accept any entities
(think HTML defines much more entities than bare XML)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 15 May 2013 15:37:22 +0200] rev 8976
[view] return HTML5 doctype. Closes #2869426
We dropped xhtml support in 3.17 but we kept providing documents using the
XHTML strict doctype, while our content wasn't conform to the DTD since we
dropped proper namespaces definition as well as declaration of cubicweb DTD
extensions.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:16:45 +0200] rev 8975
[testlib] repreprocess content so contextual display has a chance to show the proper line. Closes #2869481
the context is calculated using position information relative to a preprocessed content,
not the original source
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 15:58:52 +0200] rev 8974
[web request] drop no more necessary request.document_surrounding_div method
This is awful and no more necessary since we dropped xhtml support
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:13:43 +0200] rev 8973
[testlib] unspaghettify Validator / PageInfo api
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 16:05:51 +0200] rev 8972
[testlib] update htmlparsers.VALMAP: stop using SaxOnlyValidator and add an entry for html
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 May 2013 17:26:16 +0200] rev 8971
[testlib] SaxOnlyValidator is deprecated, use XMLValidator instead
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 14 May 2013 15:26:24 +0200] rev 8970
[dataimport] minor typo in error handling
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Tue, 07 May 2013 00:29:42 +0200] rev 8969
[views] attempt to clarify the inline help system documentation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 06 May 2013 19:40:15 +0200] rev 8968
[sobject] fix notification operation
regression introduced in bf4003760e02 Operation use self. session. not self._cw.
I'm a bit surprised that its not tested.
closes ##2870077
David Douard <david.douard@logilab.fr> [Fri, 03 May 2013 16:36:42 +0200] rev 8967
Added tag cubicweb-debian-version-3.17.0-2 for changeset 09a0c7ea6c3c
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 03 May 2013 16:27:34 +0200] rev 8966
[pkg/debian] prepare release 3.17.0-2
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 03 May 2013 16:24:42 +0200] rev 8965
[pkg/debian] update yams runtime depends
Only the built depends were updated to 0.37.0.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 03 May 2013 16:23:08 +0200] rev 8964
[pkg/debian] expand all depends and co on multiple line
This is more readable and simplifies patching.
David Douard <david.douard@logilab.fr> [Thu, 02 May 2013 17:14:22 +0200] rev 8963
Added tag cubicweb-debian-version-3.17.0-1 for changeset 22be40c492e9
David Douard <david.douard@logilab.fr> [Thu, 02 May 2013 17:14:21 +0200] rev 8962
Added tag cubicweb-version-3.17.0 for changeset cc1a0aad580c
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 02 May 2013 15:58:57 +0200] rev 8961
[test/view] exclude some Blog entity from automatic view testing
Some Blog view requires the sioc cubes that we extracted in 3.17
we do not really want to test cubes view here. So we exclude
CWEtype
that really requires the sioc cubes.
David Douard <david.douard@logilab.fr> [Thu, 02 May 2013 14:30:36 +0200] rev 8960
[doc] fix: cubicweb.gmap.js has moved to the geocoding cube
David Douard <david.douard@logilab.fr> [Tue, 30 Apr 2013 08:17:10 +0200] rev 8959
[test/ldap] do not assume order
Do no assume a specific order is stable when testing group members
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 14:49:43 +0200] rev 8958
Added tags for version 3.16.4 on changeset 041804bc48e9
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 12:34:23 +0200] rev 8957
[notification] ensure official API is test
By using the official API in the hook we ensure it is tested.
Alain Leufroy <alain.leufroy@logilab.fr> [Mon, 29 Apr 2013 09:47:23 +0200] rev 8956
fix typo in notification causing NameError
introduced by: f5b40b66d36e
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 12:29:59 +0200] rev 8955
[test/notification] merge related test classe
They have no reason to be distinct.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 11:43:36 +0200] rev 8954
merge with stable
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Apr 2013 16:51:18 +0200] rev 8953
[server] add a looping task to free unused cnxsets capture by dead pyro
When a pyro client disconnects, we're not necessarily notified so they
can hang on to their session/cnxset forever. Don't let them do that.
The hacky looping task is only installed when pyro is enabled. This optional
activation save this very hacky patch from being rejected.
closes #2825380
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 11:22:21 +0200] rev 8952
[pkg/debian] update changelog to 3.17.0
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 29 Apr 2013 11:06:28 +0200] rev 8951
[devtools] Use XMLValidator instead deprecated SaxOnlyValidator
The renaming was introduced in 198fdadafed6.o
This prevent a meta class conflict introduced by logilab-common 0fcd2e050621.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 18:47:36 +0200] rev 8950
[pkg] update changelog
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 18:37:47 +0200] rev 8949
[pkg] prepare 3.17.0
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 18:21:18 +0200] rev 8948
[pkg] prepare 3.16.4
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Apr 2013 18:06:44 +0200] rev 8947
[repo] straightforward bootstrap sequence. Closes #2841188
* kill fill_schema method which was doing to much different things, in favor of
a deserialize_method which is simply reading schema from the db and returning
it
* set_schema doesn't bother with cubes
This allows to easilly follow what's going on and so to cleanup init_cnxset_pool
to get the following boostrap order:
1. load cubes (implies loading site_cubicweb)
2. load schema
3. init data sources
4. init cnx sets
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:49:49 +0200] rev 8946
[repo] minor cleanups to bootstrap sequence
* fix some docstring/comments
* move initialization of HooksManager to the __init__.py, this has nothing to
do with pool initialization / boostraping
Vincent Michel <vincent.michel@logilab.fr> [Fri, 26 Apr 2013 17:46:56 +0200] rev 8945
[schemaserial] serialize additional yams parameter for customs type
Yams have a new custom type feature. We add support for extra parameter on
CWAttribute in schema serialization handling.
Closes #2847151
Vincent Michel <vincent.michel@logilab.fr> [Tue, 23 Apr 2013 14:13:58 +0200] rev 8944
[sql] preprocess_entity uses lgdb helper's SQL converters.
The preprocess_entity does not yield anymore the conversion logic for different
base types, but relies on a new SQL_CONVERTERS dictionary of the db helper.
This will allow later inclusion of new base types.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:42:43 +0200] rev 8943
[repo] kill rebuildinfered feature from Repository.set_schema
This clutters thing and is useless in most cases: when schema just have been
readen from the database or from the file-system, infered relations have just
be calculated.
The only use-case where it should be rebuilt is on migration (ie schema
modification by editing the meta-model using rql), so move this feature there.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:51:06 +0200] rev 8942
[test] stop deepcopying for nothing
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 26 Apr 2013 12:10:37 +0200] rev 8941
drop xhtml content-type support (closes #2065651)
* HTMLStream does not care about xml any more
* reqquest.demote_to_html and .xhtml_browser are deprecated
* web config: drop force-html-content-type option
* adjust tests
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 11:53:47 +0200] rev 8940
[htmlparser] exclude <script> tag from html source
lxml are confused by them :-(
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 11:52:35 +0200] rev 8939
[htmlparser] store unaltered source in pageinfo.source
Do not store the parser to preserve the source aspect. Store the initial input
in the source argument instead.
This is very useful when parsing html. In such case we need to drop ``<script>``
tag.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Apr 2013 18:38:47 +0200] rev 8938
[htmlparser] rename SaxOnlyValidator to XMLValidator
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Apr 2013 17:46:28 +0200] rev 8937
[htmlparser] add missing deprecation message
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 16:55:12 +0200] rev 8936
[form] remove hard coded id
html id should be unique. It is clearly not achieved here.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 26 Apr 2013 11:08:06 +0200] rev 8935
[server/test] use server config in migration
This allows a lighter initialisation (no rtag needed).
Execution of those test move from 300 secondes to 220 seconds here. A 25%
speedup
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 22 Apr 2013 17:57:46 +0200] rev 8934
[session] deprecate `hijack_user` method
The semantic of this method is wicked and lead to very hard violation of sanity.
(multiple transaction using the very same cursors). We deprecated the API to be
able to drop it as soon as possible.
The method was added long ago for some notification trick. It is not needed
since we sent notification on ``postcommit_event``.
(closes #2781782)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 12:24:26 +0200] rev 8933
[mail] drop hijack_user usage
The transaction is now commited before notification. We can create a new session
directly and drop `hijack_user` usage.
This prepare #2781782
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 13:35:02 +0200] rev 8932
[notification] merge BaseNotificationView and NotificationView
They are in the same module now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 13:34:48 +0200] rev 8931
[notification] move notification view in ``sobject.notification``
It has no user outside this module. This enforce serversideness of
notification and allow future cleanup.
No backward compat is set up to prevent circular import. The class has no other user
anyway.
(closes 2845144)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 14:10:55 +0200] rev 8930
remove unused import
pyflakes say they are unused. Tests suite confirms.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 25 Apr 2013 17:30:09 +0200] rev 8929
one more merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Apr 2013 16:10:56 +0200] rev 8928
[notification] introduce an official `notify_on_commit` function
It provides a proper notification api instead of replacing it by yet another
clumsy one.
Closes #2837251
Vladimir Popescu <vladimir.popescu@logilab.fr> [Thu, 25 Apr 2013 10:57:01 +0200] rev 8927
[cubicweb/doc] Replace dc_type() by cw_etype
dc_type() is may be translated. Leading to terrible terrible damage.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Thu, 04 Apr 2013 11:58:41 +0200] rev 8926
[dataimport] backout 6947201033be (related to #2788402)
(and add a try: except to cache the intended error)
The problem actually comes from the ``MassiveObjectStore``
in the ``dataio`` cube, so it should be corrected there.
Here, we only protect it with a ``RuntimeWarning`` so that
the user can see the problem.
``value`` is set to ``None`` (whence to ``NULL`` from
a database standpoint), so that the data can be nevertheless
inserted in the database. However, only the keys present in
``row`` are actually non-'``NULL``'.
The real solution is to work out the issue in ``MassiveObjectStore``
directly.
The current try/except should only be a temporary hack.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Apr 2013 15:45:38 +0200] rev 8925
merge default heads
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Apr 2013 14:44:03 +0200] rev 8924
[c-c serverctl] import locally to speed up c-c
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 25 Apr 2013 12:12:15 +0200] rev 8923
[facet js] minor refactoring and cleanups
* extract facetCheckBoxSelect and facetCheckBoxUnselect
* use $ as prefix for jQuery variable (facet -> $facet)
* other minor rephrasing
David Douard <david.douard@logilab.fr> [Wed, 24 Apr 2013 18:11:37 +0200] rev 8922
[ldapfeed] Add support for LDAP groups (closes #2528116)
Groups from the LDAP server are imported as CWGourp entities, and in_group relationships are created between existing CWUsers and CWGroups
Unit tests have been refactored a bit, especially ti add helper methods to manage LDAP database.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 17:57:14 +0200] rev 8921
[test/ldap] small improvement to ldapfeed unit tests
better group testing and further testing of imported user life cycle.
David Douard <david.douard@logilab.fr> [Wed, 24 Apr 2013 17:48:08 +0200] rev 8920
[ldap] prepare import of CWGroup
All CWUser specific code is put in dedicated sections.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 17:40:49 +0200] rev 8919
[ldap] handle modification date
We are now able to import modification date from ldap.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 17:39:10 +0200] rev 8918
[ldap] refactor attributes mapping handling
* use explicit attributes lists when calling ldap search
* direct and reverse attributes maps contains now the same elements.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 14:00:52 +0200] rev 8917
[ldapfeed] add support for multiple email addresses from ldap
Multiple emails case was ignored before this change.
email test
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 15:37:43 +0200] rev 8916
merge 3.16.x fix in 3.17.x branch
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 15:33:49 +0200] rev 8915
[session] fix hooks_control backward compat
Session object have no ``hooks_control`` control method. it has
``allow_all_hooks_but`` and ``deny_all_hooks_but`` ones.
Regression introduced in bd5b5759c9b3.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 19 Apr 2013 16:25:45 +0200] rev 8914
[facet js] fix reordering of facet check boxes. Closes #2732947
Before this patch, when one select an element, it's moved to the top of
the select content. Fine. But when it's later deselected, it stays there
instead of moving back to its original location.
This patch fixes that by introducing a facetCheckBoxReorder function which
properly reorder the whole facet, instead of buggy attempt to locally reorder.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:40:09 +0200] rev 8913
[vreg]Â (re)build entity classes cache after registry initialization.
This fix potential memory fragmentation issue.
Closes #2719113
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Apr 2013 12:10:12 +0200] rev 8912
[task] allow negative intervals for add_looping_task (closes #2818280)
Instead of rejecting values < 0 with a ValueError, we ignore tasks with
a negative interval. This introduce a simple way to disable task from
configuration.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 24 Apr 2013 11:58:49 +0200] rev 8911
[task] allow interval=0 for looping tasks
There is valid usecase for perpetual running task.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:45:13 +0200] rev 8910
[portable dump] skip virtual relations, they have no table associated. Closes #2841199
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:37:48 +0200] rev 8909
[test] fix skipIf import, currently failing if unittest2 is not there
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Apr 2013 14:36:41 +0200] rev 8908
[test] fix bad merge
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 18:15:10 +0200] rev 8907
merge with other default head
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 16:07:02 +0200] rev 8906
[ldap] an empty 'user-base-dn' disable the user importation process,
The same semantic will be used for group. We start by using it for user for the
sake of consistency.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 15:46:09 +0200] rev 8905
drop commented print
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 16:50:18 +0200] rev 8904
[ldap] Major test refactoring
Mostly fix tests (previous refactoring), but also refactor a bit the base class
to have better/simpler interaction with the slapd server.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 17:58:20 +0200] rev 8903
[test/ldap] have RQL2LDAPFilterTC use its own database
I do not know what RQL2LDAPFilterTC is about and why it does this strange reuse
of LDAPUserSourceTC pre_setup_database but it is certainly a good idea to have it
use a dedicated database-cache.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 16:25:56 +0200] rev 8902
[ldap] quieter tests
Capture slapadd and slapd output if everything goes well.
Jérôme Roy [Wed, 10 Apr 2013 17:50:11 +0200] rev 8901
[test/ldap source] better source naming, some cleanups (prepares #2528116)
ldap uri becomes "ldap" in all cases
prepare separation of CONFIGs by source type
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 15:33:50 +0200] rev 8900
use cw_etype instead of __regid__
We have a clean public API now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 15:16:36 +0200] rev 8899
[entity] add an official ``cw_etype`` property for entity
This property holds the CWEtype id of the entity. This information was previously
available through __regid__ but this is an ugly public API. So we have a new
clean public API. The ``dc_type()`` method could not be used as it is
translated.
(closes #2793792)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 12:38:27 +0200] rev 8898
[notification] use new style operation for notification
This results in far less operations created. Operation creation is expensive.
We keep some compatibility with the previous API because some cubes have been
reported to use it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 22 Apr 2013 17:16:02 +0200] rev 8897
[cleanup] drop code deprecated since 3.6
The 3.6 API have been dropped some time ago. Those three lines survived the
purge. One of them is even deprecated since 3.5.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 22 Apr 2013 15:25:04 +0200] rev 8896
[notification] fix documentation
The doc say precommit, the code says postcommit. The code is right.
We also clarify the documentation of another related operation looking suspiciously
wrong but actually correct.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 23 Apr 2013 12:01:14 +0200] rev 8895
[ldapuser] Deprecated the source
We have ldapfeed for some time. maintaining both is cumbersome. This old style
source will be dropped in 3.18.
closes #2567712
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 19 Apr 2013 15:44:42 +0200] rev 8894
[rql2sql] Remove an XXX by explaining why Int non-substitution is desired
(in the current state of the API)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 19 Apr 2013 15:41:56 +0200] rev 8893
[rql2sql] Boolean values should be substitued like others. Closes #2829481
Furthermore lgdb 1.10 deprecate boolean_value method and this simplify
testing.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Mon, 22 Apr 2013 14:54:22 +0200] rev 8892
[toward-py3k] rewrite __cmp__ (closes #2715115)
In Python 3k `__cmp__` special method is no longer supported. So we split
it in `__lt__` and `__eq__`.
details on Python3k behavior here:
http://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Apr 2013 17:33:49 +0200] rev 8891
skeleton: add RPM spec template (closes #2800884)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 13:44:01 +0200] rev 8890
[clean_session] revert itervalues usage from 0bb18407c053
self.close(session) changes the self._sessions content. We need to create a full
list of value before starting closing them.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 15 Apr 2013 13:18:01 +0200] rev 8889
merge 3.16.x fix
Jérôme Roy <jerome.roy@logilab.fr> [Wed, 10 Apr 2013 16:46:18 +0200] rev 8888
[ldap] Use correct API for logging message
The good practice cat prefer logging to do the substitution himself.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Apr 2013 11:39:10 +0200] rev 8887
Fix obsolete docstring for add_looping_task
The docstring was telling lies since changeset cae198371548
"add_looping_task can be used any time"
Julien Cristau <julien.cristau@logilab.fr> [Thu, 11 Apr 2013 10:32:00 +0200] rev 8886
[devtools] prevent Xvfb resets
Seems like firefox opens more than one connection to the X server in
some cases, and things get utterly confused.
Jérôme Roy <jerome.roy@logilab.fr> [Wed, 10 Apr 2013 16:22:48 +0200] rev 8885
[LDAP] rename unittest ldapuser to ldapsource (prepares #2528116)
the tests involved are not only for ldapuser module but also for the more
general ldapfeed
Necessary to prepare LDAP patch for CWgroup
Julien Cristau <julien.cristau@logilab.fr> [Wed, 10 Apr 2013 15:34:18 +0200] rev 8884
[devtools] protect xvfb-run.sh against clean_up being called twice
David Douard <david.douard@logilab.fr> [Wed, 10 Apr 2013 10:44:55 +0200] rev 8883
Added tag cubicweb-version-3.16.3, cubicweb-debian-version-3.16.3-1, cubicweb-centos-version-3.16.3-1 for changeset ee860c51f56b
David Douard <david.douard@logilab.fr> [Wed, 10 Apr 2013 10:39:15 +0200] rev 8882
3.16.3
Julien Cristau <julien.cristau@logilab.fr> [Tue, 09 Apr 2013 14:23:24 +0200] rev 8881
[service] make sure synchronous call_service has a cnxset
Fixes regression in 3.16.2 (closes #2807720)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 09 Apr 2013 11:56:27 +0200] rev 8880
Merge testfunc testfunc resurrection Closes #2535377
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 09 Apr 2013 11:40:45 +0200] rev 8879
[web] move qunit test back into web and fix the hanging
qunit test can not work outside web. a lot of try/finally clause have been added
to prevent qunit to hang on error.
A not a test a indeed broken. But we at least put in them a running state again..
William Wordsworth [Mon, 08 Apr 2013 17:34:25 +0200] rev 8878
[test] drop forsaken windmill test (Closes 2535376)
* not run since multiple years
* windmill itself is in poor shape not even packaged in Debian.
The peace which other seek they find;
The heaviest storms not longet last;
Heaven grants even to the guiltiest mind
An amnesty for what is past;
When will my sentence be reversed?
I only pray to know the worst;
And wish as if my heart would burst.
David Douard <david.douard@logilab.fr> [Tue, 09 Apr 2013 09:03:12 +0200] rev 8877
Added tag cubicweb-debian-version-3.16.2-1 for changeset b3c1ad0cbf00
David Douard <david.douard@logilab.fr> [Tue, 09 Apr 2013 09:03:11 +0200] rev 8876
Added tag cubicweb-version-3.16.2 for changeset a2b4f245aa57
David Douard <david.douard@logilab.fr> [Mon, 08 Apr 2013 19:30:42 +0200] rev 8875
3.16.2
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Apr 2013 18:38:20 +0200] rev 8874
[server/test] remove dependency on a pyro name server (closes #2801737)
Use a direct pyroloc:// url instead of going through a NS.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Apr 2013 17:30:53 +0200] rev 8873
[packaging] add spec file to build RPMs (closes #2800850)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 08 Apr 2013 17:12:53 +0200] rev 8872
[predicates] keep making `yes` predicate importable from cubicweb (closes #2790319)
The `yes` predicate was moved out in CubicWeb 3.15 but it should have
remained importable from the cubicweb.predicates module, for bw compat
reasons and also because logilab.common.registry is an implementation
detail.
David Douard <david.douard@logilab.fr> [Mon, 08 Apr 2013 16:53:03 +0200] rev 8871
[views/tables|css] backout rev 895e34d9ae0d
This changeset introduced a GUI behaviour change that has usability side-effects
(eg. shows a non-undoable massive action as a first-class action).
The idea is good, but it requires a better implementation; tabs are not the proper
GUI solution to the original usability issue.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 16:43:26 +0200] rev 8870
[webconfig] cleanly handles ``fckeditor_installed`` when no uiprops
The previous version of the code relied on a default value with a dummy
``FCKEDITOR_PATH`` entry. The new code check if uiprops is initialized or not.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 16:19:29 +0200] rev 8869
[webconfig] fallback to default configs if https ones are not defined
When cubicweb serves a request with an https scheme, it tries to access
``https_uiprops`` and ``https_datadir_urls``. However if those are not defined we
should fallback to unsecure url instead of crashing with a traceback.
There are very valid usecases for undefined https url. For example if your
``base_url``, ``datadir_url`` and uiprops content are already https urls.
Closes #2786643
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 16:13:03 +0200] rev 8868
[webconfig] explicit some webconfig attribute
Explicit declaration of attribute are much clearer. Just do it.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 14:45:10 +0200] rev 8867
merge 3.16.x fix in 3.17.x branch
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 14:18:32 +0200] rev 8866
merge with 3.15.x fix
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 14:16:56 +0200] rev 8865
Added tag cubicweb-debian-version-3.15.11-1 for changeset 09d65bc1f025
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 14:16:46 +0200] rev 8864
Added tag cubicweb-version-3.15.11 for changeset 38c6a3ea8252
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Apr 2013 10:55:56 +0200] rev 8863
[querier] improve 'Password selection not allowed' error message
to report the involved variable name whose type is Password,
it usually help understanding the problem.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Apr 2013 11:09:50 +0200] rev 8862
[predicates] use select_or_none rather than select+try/except, expected to be more efficient
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 12:43:57 +0200] rev 8861
[pkg] prepare version 3.15.11 ?
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 12:42:36 +0200] rev 8860
merge 3.14.x fix into 3.15.x
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Apr 2013 10:51:15 +0200] rev 8859
[facet] ensure a facet DOM id is a valid jQuery identifier. Closes #2789089
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Feb 2013 14:39:55 +0100] rev 8858
[predicates] fix 'adaptable' implementation, used to return 0 on a rset with individualy adaptable entities of different types. Closes #2709663
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 03 Apr 2013 14:33:20 +0200] rev 8857
[cmd] fix exlog documentation (closes #2715913)
The table documentation was out of sync since 8a075bc94563.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 12:26:39 +0200] rev 8856
Added tag cubicweb-debian-version-3.14.10-1 for changeset 197bcd087c87
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 12:26:28 +0200] rev 8855
Added tag cubicweb-version-3.14.10 for changeset 0ff798f80138
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 08 Apr 2013 12:19:24 +0200] rev 8854
[pkg] prepare 3.14.10 release
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 08 Apr 2013 11:09:50 +0200] rev 8853
[querier] fix eid relations handling in SET queries (closes #2797052)
_extract_eid_consts() implementation must consider arithmetic operators
when trying to associate rql variables to specific eids.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 04 Apr 2013 17:45:09 +0200] rev 8852
[ext/rest] add directive bookmark to rest (closes #2545595)
David Douard <david.douard@logilab.fr> [Wed, 03 Apr 2013 12:17:24 +0200] rev 8851
[c-c create] make post-create step optional (closes #2712041)
In this context the "post-create" step refers to the database's creation and
initialization. We want to be able to create a new instance but skip the
database creation (`db-create` and `db-init` commands) in automatic setup.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 15 Mar 2013 12:11:29 +0100] rev 8850
[cwconfig] Add optional configuration param to load a UI cube before other cubes
Needed later on to load UI cubes such as legacyui, and one day squareui.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 02 Apr 2013 12:13:06 +0200] rev 8849
[web/views] Move massmailing to its own cube (closes #2788086)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 18:15:24 +0200] rev 8848
merge with stable fix
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 16:06:22 +0200] rev 8847
[req] explicit `user` attribute
The `RequestSessionBase` object needs a `user` attribute. It is initialized by
sub class, but having it explicitly declared is much cleaner.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 16:02:52 +0200] rev 8846
[test] use the right order in some assertEqual
The unittest2 function use ``(expected, got)`` order.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 18:00:37 +0100] rev 8845
[session/transaction] move resource accessors on Transaction
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 17:39:14 +0100] rev 8844
[session/transaction] move multiple utility on Transaction
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 17:25:56 +0100] rev 8843
[session/transaction] handle cnxset repository logic in transaction
Interacting with the repo is now handled by the Transaction code directly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 12:34:53 +0100] rev 8842
[transaction] keep a reference to the repo object
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 18:57:13 +0100] rev 8841
[session] make security_enabled API private
The doc already says "internal API". The old entry point is now officially
deprecated and the context manager have been made private.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 29 Mar 2013 12:47:04 +0100] rev 8840
[session] make hook_control API private
The doc already says "internal API". The old entry point is now officially
deprecated and the context manager have been made private.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 15:11:41 +0200] rev 8839
[service] split session retrieval and service execution
Internal session are not tracker by the repository and can not be retrieved
using _getsession. Moreover their session id is not unique…
Closes #2735700
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 15:11:21 +0200] rev 8838
[service] handle cnxset in the async case only
The service may be called by a session, we really do not want the call to
service to mess with the transaction state.
This does not apply to async were thread magic ensure a dedicated transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 02 Apr 2013 14:46:13 +0200] rev 8837
[service] extract session retrieval from "task" closure
The session was retrieved there because `set_cnxset` must be called in the same
thread as the code using it. We now retrieve the session beforehand and
explicitly call `set_cnxset`.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Tue, 12 Mar 2013 18:31:15 +0100] rev 8836
[cubicweb/doc] Add tutorial on data import in CubicWeb.
This involves creating the "tutorials/dataimport" directory
structure under "cubicweb/doc" and, inside the "dataimport" directory,
putting several files:
- a ResT file containing the tutorial *per se*; this tutorial addresses
the following issues:
* creating a CubicWeb schema for representing a given data set (here,
the Diseasome RDF data, for illustration purposes);
* parsing the data;
* importing the data, by using several stores:
+ the ``RQLObjectStore``, ``NoHookRQLObjectStore`` and
``SQLGenObjectStore`` from the ``dataimport`` module in CubicWeb;
+ the ``MassiveObjectStore`` from the ``dataimport`` module
in the ``dataio`` cube.
The tutorial also provides timing benchmarks of the various stores.
- a set of Python files illustrating the data import, in the context
of Diseasome RDF data parsing:
* a Diseasome RDF data parse module,
* a Diseasome data import module,
* a CubicWeb schema for representing Diseasome data.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Tue, 02 Apr 2013 12:05:51 +0200] rev 8835
[dataimport] Slight message modification in exception handling code.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Tue, 02 Apr 2013 12:04:22 +0200] rev 8834
[dataimport] Handle various data formats when creating buffers from data.
:note: On the long run, this should be addressed before, when these data are
created.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Tue, 02 Apr 2013 12:12:41 +0200] rev 8833
[dataimport] Add a ``flush`` method for all stores.
For ``ObjectStore``, ``RQLObjectStore`` and ``NoHookRQLObjectStore``
the method tries to call the ``commit`` method.
For ``SQLGenObjectStore``, the ``flush`` method is basically
unchanged with respect to previous changesets.
Vladimir Popescu <vladimir.popescu@logilab.fr> [Tue, 02 Apr 2013 12:11:44 +0200] rev 8832
[dataimport] Uniformize the API across the different stores.
This is achieved by modifying the ``relate`` method
so that it takes an extra ``**kwargs``.
More specifically, ``SQLGenObjectStore``'s ``relate`` method
needs the the type of the subject entity which is passed through
``**kwargs`` as the ``subjtype`` keyword argument.
Actually, it is the ``add_relation`` method of the
``SQLGenObjectStore`` who needs this argument. However, as
this method is not called directly (but via the ``relate``
method), the ``subjtype`` argument is passed to
``add_relation`` via ``relate``.
The other stores' ``relate`` methods do not need this
extra argument, hence for the other stores ``**kwargs``
is empty.
In this manner, the API is unified across the different stores.
Anthony Truchet <anthony.truchet@logilab.fr> [Thu, 28 Mar 2013 15:43:23 +0100] rev 8831
[data] Add a CSS for undo UI rendering
The nesting of ordered list and unordered list was badly handled. This has gone
unoticed becaused it was not used. But the undo feature use this markup to
render the changesets. That's why this minor change to ths CSS is introduced.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Dec 2012 14:03:56 +0100] rev 8830
[web/views] extract cube geocoding (closes #353000)
David Douard <david.douard@logilab.fr> [Mon, 11 Feb 2013 11:47:50 +0100] rev 8829
[c-c list] add an optional argument to the list command (closes #2709703)
This optional argument allows to restrict listing to only
a given type of items (cubes, instances, configurations).
Florent Cayre <florent.cayre@logilab.fr> [Wed, 13 Mar 2013 18:17:16 +0100] rev 8828
default base-url now uses fdqn instead of hostname only (closes #2542815)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 28 Mar 2013 15:01:02 +0100] rev 8827
[editcontroller] a small debugging help (closes #2518980)
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 28 Mar 2013 13:48:48 +0100] rev 8826
[doc] small doc improvement
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 28 Mar 2013 13:48:26 +0100] rev 8825
[doc] fix Pyro url
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 28 Mar 2013 13:47:54 +0100] rev 8824
[doc] fix Narval project url
Dimitri Papadopoulos <dimitri.papadopoulos@cea.fr> [Thu, 28 Mar 2013 13:46:50 +0100] rev 8823
[tutorial] minor documentation fixes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Mar 2013 12:41:14 +0100] rev 8822
merge 3.16.x fix in 3.17.x
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Mar 2013 12:32:26 +0100] rev 8821
merge 3.15.x into 3.16.x
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 28 Mar 2013 12:31:39 +0100] rev 8820
server/source/native: fix wrong usage of .lstrip that produce garbled error messages (closes #2777641)
Fixed an .rstrip(...) for the general case (untested).
Fixed an .lstrip(...) for the sqlite path (tested).
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Mar 2013 11:40:19 +0100] rev 8819
[doc] update 3.17 release note
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Mar 2013 11:45:17 +0100] rev 8818
[migration] fix bug in `CWAttributeAddOp.revertprecommit_event`
The `rdefdef` attribute is set during the operation execution. In some the
operation crash before this assignment. In such case `revertprecommit` raise an
attribute error crashing the whole process and shadowing the original error.
This changeset detect and Avoid this situation.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:41:45 +0100] rev 8817
[session] security context directly use transaction object when applicable
Most of the security logic have been moved on Transaction anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:43:34 +0100] rev 8816
[session] move context manager logic in the security context manager
The `init_security` and `reset_security` method have no other user that the context manager itself. Having dedicated public function is not useful.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:42:18 +0100] rev 8815
[session] hook control context directly use transaction object when applicable
Most of the hooks control logic have been moved on Transaction anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:17:21 +0100] rev 8814
[session] move context manager logic in the hook controls context manager
The `init_hooks_mode_categories` and `reset_hooks_mode_categories` have no other
user that the context manager itself. Having dedicated public function is not
useful.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:05:14 +0100] rev 8813
[session] drop the useless set_hooks_mode method
It has not external user and trivial code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 17:09:55 +0100] rev 8812
[session/transaction] move most undo support into transaction
A small part that need repo access has not been moved into transaction yet.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 11:42:13 +0100] rev 8811
[session] simplify mode property
We can delegate very thing to transaction utility
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 11:01:40 +0100] rev 8810
[session/transaction] pass the session object to the Transaction __init__
This simplify access to variables. As we are moving more and more logic and
states in the Transaction it will greatly helps in future commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 19:54:36 +0100] rev 8809
[session] use a dedicated class to track cnxset
We introduce a new CnxSetTracker to track `cnxset` used by Transaction and
allows to wait for them. This new class does not use Thread ID not thread
joining to work. This allows to use multiple transaction per thread and a
transaction in multiple thread.
The class itself is totally threadsafe by the Transaction is still not
thread safe.
The old _threads_in_transaction attribute is dropped in favor of a new logic
based on this object. The registration of cnxset used is not done by the
Transaction itself. tx.cnset is a property handling the Consistency of its value
with the CnxSetTracker instance.
Note: The CnxSetTracker instance only track transaction id, not transaction
itself, So not reference cycle are created.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 26 Mar 2013 15:26:29 +0100] rev 8808
[session] cleanup Transaction.cnxset
The attribute should always be there. It is None when not cnxset exists.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 17:50:11 +0100] rev 8807
[session] drop useless getter and setter for security
Those function have very few user and does not anything fancy. Internal user now
access tx.read/write_security directly. External user have been blessed with a
writable property. They are only interested in the write part of they did not
used the return of the removed function. They access it through the session
since I prefer the external world to not be aware of Transaction yet.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 19:40:09 +0100] rev 8806
[session/transaction] move read_security subtlety in transaction
This is transaction data, itshould be handled by the transaction itself.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:08:02 +0100] rev 8805
[transaction] initialize dbapi_request in __init__
There is not reason to have it implicitly declared.
The attribute is renamed to match its public name.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 17:00:25 +0100] rev 8804
[whatsnew] notify drop of deprecated code
Vladimir Popescu <vladimir.popescu@logilab.fr> [Wed, 27 Mar 2013 16:33:48 +0100] rev 8803
[web/views] extract cube embed (closes #1916015)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 26 Mar 2013 12:26:12 +0100] rev 8802
[skeleton] Update debian packaging to support only python 2.6 and up
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 27 Mar 2013 16:58:13 +0100] rev 8801
Drop iprogress code (closes #2777628)
Simon Chabot <simon.chabot@logilab.fr> [Wed, 27 Mar 2013 16:36:47 +0100] rev 8800
[web/views] extract cube sioc (closes #1916018)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 27 Mar 2013 15:36:41 +0100] rev 8799
[doc] Add 3.17 release notes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 15:38:05 +0100] rev 8798
[migration] mark all version prior 3.7 as non-migrable
API possible used by such old migration script are not supported in recent
Cubiweb.
Closes #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:53:40 +0100] rev 8797
[dataimport] drop checkpoint backward compat API
Deprecated since 3.7. See #2772958 for details.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:53:06 +0100] rev 8796
[dataimport] drop index support deprecated since 3.7
Dropping of pre-3.7 API decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:51:42 +0100] rev 8795
[utils] drop pre-3.7 compat in util
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:50:58 +0100] rev 8794
[migration] drop pre-3.7 utility
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:50:10 +0100] rev 8793
[entity] drop pre-3.7 api on session
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:49:12 +0100] rev 8792
drop dubious comment
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 15:03:14 +0100] rev 8791
[req] drop pre-3.7 api on request
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:46:55 +0100] rev 8790
[session] drop pre-3.7 api on session
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:35:18 +0100] rev 8789
[transaction] use set operation in the hook control code
We use direct operator on set instead of looping by hand, This simplify the
codes.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:08:48 +0100] rev 8788
[session/transaction] move hook management in transaction itself
This is transaction level code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 15:28:18 +0100] rev 8787
[session] allow writable tx_attr and use it for commit_state
This keep clarifying the code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:12:39 +0100] rev 8786
[session/transaction] move add operation in session code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:13:34 +0100] rev 8785
[session/transaction] move entity life utility on transaction
This access transaction related data and therefor should live in transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:20:25 +0100] rev 8784
[transaction] small simplification in ecache code
A single assignation is simpler.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:16:16 +0100] rev 8783
[session/transaction] move entity cache management on session
A new utility method is added for that. It is similar to the one used for
attribute access. code is copy pasted as his. Function documentation is added.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:17:31 +0100] rev 8782
[session] have a nice helper function to forward access to session
This allows a lighter and clearer code. This will also ease the addition of
deprecation warning in the future.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 12:41:13 +0100] rev 8781
[session] drop dead code
session._tx is never None. New transaction are created if necessary.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:14:08 +0100] rev 8780
[session] use tx.data directly in session code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:11:17 +0100] rev 8779
[transaction] rename transaction_data to data
Transaction.transaction_data is redundant. A transaction_data property is left
for backward compatibility. Deprecation mechanism will come in later changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:58:43 +0100] rev 8778
[session] document Session._tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:05:49 +0100] rev 8777
[session] split session creation from default session assignation
This is the first step for more independence for Transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:04:43 +0100] rev 8776
[session] make session lock reentrant
We are going to use it for other session related business. It is renamed from
_closed_lock to _lock in the same move.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:51:50 +0100] rev 8775
[session] document set_tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:49:57 +0100] rev 8774
[session] rename txstore variable to tx
This is a more accurate name
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:10:19 +0100] rev 8773
[session] rename `_threaddata` to `_tx`
The returned object is a Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:37:51 +0100] rev 8772
[session] rename self.__threaddata.txdata to self.__threaddata.tx
This is Transaction object now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:42:33 +0100] rev 8771
[session] rename _tx_data into _txs
The object inside are now Transaction object. Not TransactionData object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:32:25 +0100] rev 8770
[transaction] relocate method building transaction context manager
It is in the middle of methods going to be refactored.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:49:48 +0100] rev 8769
[transaction] move RQLRewriter in Transaction
This remove the last ``AttributeError`` magic. The ``RQLRewriter`` needs a Session. Its
reset is handled in ``Session`` code to handle that
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:38:56 +0100] rev 8768
[transaction] initialize security control attribute in Transaction
There is no reason to not initialize them in __init__ time. This simplify the
Session code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:33:53 +0100] rev 8767
[session] move security constant out of the class
There is no reason for it to not be global. This will ease it use by
``Transaction object``.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:27:34 +0100] rev 8766
[transaction] initialize hook control attribute in Transaction
There is no reason to not initialize them in __init__ time. this simplify the
transaction code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:34:04 +0100] rev 8765
[session] Move hook control constants out of the class
There is no reason for them to not be global. This will ease they use by
Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:20:10 +0100] rev 8764
[transaction] initialize transaction data and state related attribute.
There is not reason to not explicitly declare and initialize attribute in
Transaction.__init__. This change requires the introduction of a
Transaction.clear() method to get ride of some wicked ``AttributeError`` based
logic.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:51:03 +0100] rev 8763
[transaction] handle ``mode`` default value in Transaction
The transaction mode is now explicitly passed at creation time and always read
from the Transaction object.
Note that there is a slight behavior change. The transaction mode is now set at
the creation of the transaction. Changes made to the default value have no
longer any effect on existing transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:47:45 +0100] rev 8762
[transaction] explicit Transaction cnxset attribute
The Transaction object have a lot more attribute that those previously declared
in __init__. They are just dynamically assigned in Session code.
This changeset explicit the ``cnxset`` and ``mode`` attribute declaration.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:09:49 +0100] rev 8761
[server] rename TransactionData to Transaction
Transaction will become a full featured object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:31:21 +0100] rev 8760
[doc] update Session documentation
A major refactoring of Session/Transaction handling is commit. This is a good
occasion to improves the documention.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 19:08:07 +0100] rev 8759
merge 3.16 fix in default
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:52:13 +0100] rev 8758
[devtools] fix a couple issues with xvfb-run
xvfb-run didn't quite clean up correctly after itself, because:
- dash doesn't run EXIT traps on signals
- if we don't run the command in the background, a TERM handler doesn't run
until the command exits
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:37:06 +0100] rev 8757
[devtools/qunit] don't open-code subprocess.Popen.terminate
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:01:05 +0100] rev 8756
[devtools/qunit] get rid of unused variable
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 18 Oct 2011 16:55:16 +0200] rev 8755
[server] *init_repository* lookup the database instead of the schema to drop tables (closes #810743)
So, tables are dropped even if the schema was changed.
:note: if mssql, drop views before tables.
:note: because of table dependencies we try a second drop sequence
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 18 Oct 2012 15:52:05 +0200] rev 8754
[book] remove XXX to an old discussion about appengine
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 22 Feb 2013 12:20:59 +0100] rev 8753
[web publish] in case of error, ensure proper http status is set and Content-disposition header is reseted. Closes #2553066
Julien Cristau <julien.cristau@logilab.fr> [Tue, 12 Mar 2013 12:34:07 +0100] rev 8752
Add CubicWebRequestBase.content (closes #2742453)
This is the body of the HTTP request (stream)
David Douard <david.douard@logilab.fr> [Thu, 17 Jan 2013 14:55:07 +0100] rev 8751
add the match_http_method predicate (closes #2559932)
This aim at creating views which are selected on other HTTP methods
(PUT, DELETE, ...)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:35:19 +0100] rev 8750
[pkg] the previous commit requires new feature in yams.
Alexandre Richardson <alexandre.richardson@logilab.fr> [Fri, 30 Nov 2012 16:43:36 +0100] rev 8749
add a command to compare db schema and file system schema (closes #464991)
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2013 12:50:05 +0100] rev 8748
drop typed_eid() in favour of int() (closes #2742462)
typed_eid was introduced to abstract the eid type when running on Google AppEngine.
It is not used anymore and can be removed. Let's use int() instead.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:58:14 +0100] rev 8747
merge with stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:13:31 +0100] rev 8746
3.15 is the new old stable
Arthur Lutz <arthur.lutz@logilab.fr> [Mon, 17 Sep 2012 14:39:29 +0200] rev 8745
[web] don't link to None in author box (when author has been deleted) (closes #2409855)
Julien Cristau <julien.cristau@logilab.fr> [Tue, 19 Mar 2013 18:20:57 +0100] rev 8744
dbapi: try to restore compatibility of the connect api with 3.15
A few issues here:
- urlparse('foo').scheme is '', not None
- cnxprops is an optional argument
Regression from 62213a34726e ("[db-api/configuration] simplify db-api
and configuration so that all the connection information is in the
repository url, closes #2521848")
Closes #2754322
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:40:25 +0100] rev 8743
3.16 is the new stable
After discussion with David Douard I'm merging 3.16.x branches in stable and
starting 3.17 feature on default.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:46 +0100] rev 8742
Added tag cubicweb-debian-version-3.15.10-1 for changeset feca12e4a618
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:45 +0100] rev 8741
Added tag cubicweb-version-3.15.10 for changeset 89bdb5444cd2
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:28 +0100] rev 8740
prepare 3.15.10
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:32 +0100] rev 8739
Added tag cubicweb-debian-version-3.16.1-1 for changeset 84fbcdc8021c
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:31 +0100] rev 8738
Added tag cubicweb-version-3.16.1 for changeset d95cbb7349f0
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:53:57 +0100] rev 8737
prepare 3.16.1
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:30:06 +0100] rev 8736
[views/primary] some inner sections should use the `limit` by default to avoid a denial of service (closes #2719110)
Today, it is possible to call .related and get a huge unlimited
database-dos-inducing resultset that will be nevertheless limited a
bit further in pure python in the `autolimited` view.
While we cannot completely avoid potential denial of services such as
these we mitigate the problem with the default ui settings: if the
inner vid is `autolimited`, then the relation result sets is computed
using the user-defined limit.
This change respects the semantics of the `autolimited` view and
shouldn't break anything.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:18:22 +0100] rev 8735
[entity] ensure the .related(entities=False) parameter is honored all the way down (closes #2755994)
As of today, such a call will always fill the relation cache by
calling .entities() on every single related rset entry.
As a consequence, the `limit` parameter handling also had to be fixed.
It was bogus in the following ways:
* not used in the related_rql, hence potentially huge database
requests, but also actually
* foolishly used in the .entities()-calling cache routine we now
bypass (this changeset ticket's main topic)
Now:
* we set a limit on the rql expression, and
* forbid caching if given a non-None limit (as we don't want to make
the cache handling code more complicated than it is already)
With this, entity.unrelated gets a better limit implementation (so the
code in related/unrelated is nice and symmetric)
Risk:
* _cw_relation_cache disappears completely, which is good, but this is
Python, so you never know ...
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:17:34 +0100] rev 8734
[test/web] fix invisibly bogus test (prepares #2755994)
The test was wrong but that was cancelled out by a cache effect and
fuzzy naming.
Wiping the entity caches restores sanity: the choices list are the
same before and after the SET.
Also field.choices uses entity.unrelated but always returns related +
unrelated elements.
Hence `choice` replaces `unrelated` where it makes sense.
AssertIn is used in place of AssertTrue.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 08 Mar 2013 11:03:28 +0100] rev 8733
[cwconfig] Fix exception handling when building the cube dependency graph
UnorderableGraph exceptions do not have a 'cycles' property. A simple
cast to str does the job.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 12:25:18 +0100] rev 8732
[merge] backport stable fixes
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 18 Mar 2013 16:38:57 +0100] rev 8731
[test/sobject] fix test regression
Was complaining:
- * updated comment #EID (#EID)
? ^^^^
+ * updated comment #EID (duh?)
? ^^^^
in sobjects/test/unittest_supervising.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 Mar 2013 18:36:49 +0100] rev 8730
[web/request] Prune extraneous 'pageid' from generated ajax URL parameters (closes #2758130)
If 'pageid' is given through extraparams, it is sent twice to the
browser. On the JS side, the final URL loadxhtml() will end up using
will have 'pageid' set twice which CubicWeb will readily accept as a
list.
Pruning this parameter makes sure it is exactly once.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 Mar 2013 19:23:22 +0100] rev 8729
[web/component] Use global variable to point to ajax controller (part of #2758254)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 19 Mar 2013 12:24:40 +0100] rev 8728
[web] Use the new '/ajax' URL path to access the AjaxController (closes #2758254)
5a81fa526b30 took care of all the JS code, this patch cleans up the
remaining python bits.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 10:08:20 +0100] rev 8727
[devtools/httptest] fix syntax error introduced by ce5ae7b80d2c
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 12 Mar 2013 19:24:43 +0100] rev 8726
[component] Fix URL generation for navigation component (closes #2464832)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 12 Mar 2013 12:08:22 +0100] rev 8725
merge with another default heads
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 12 Mar 2013 12:04:51 +0100] rev 8724
Merge stable into default (NON-TRIVIAL)
- dropping __future__ statement added by d2472948da9c
- added migration from 407acc41beb5 to migration file for 3.16.1
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 08 Feb 2013 18:36:00 +0100] rev 8723
maintain python2.5 compatibility
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Jan 2013 11:36:21 +0100] rev 8722
[schema/workflow] one more typo fix
Also add proper migration.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 22 Feb 2013 11:17:02 +0100] rev 8721
[devtools] add http_publish to CubicWebTC (closes #2565882)
Fakes a http request, without overriding the normal error handling.
Returns the request object so the caller can check for errors.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Jan 2013 12:47:40 +0100] rev 8720
[testlib] url_publish should give url to the request and the rset returned by the path evaluator to ctrl_publish. Closes #2557468
Also, url_publish now accepts a `data` argument to simulate POST of values.