Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:15:03 +0200] rev 10626
[server] use sqls_create_multicol_unique_index to index entities.extid
SQL Server's UNIQUE is not standards compliant, it doesn't accept two
NULL values. Related to #7173702.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:11:29 +0200] rev 10625
[server] fix checkintegrity with pyodbc
"msg % row" dies with "not enough arguments for format string" if row is
a pyodbc.Row.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 14:23:57 +0200] rev 10624
[schema] remove unique constraint on unlimited String attribute
SQL Server doesn't allow indexing (and thus unique constraints) on
nvarchar(max). Related to #7173702.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Mon, 05 Oct 2015 16:36:49 +0200] rev 10623
[sources/native] fix potential NameError (closes #7364249)
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:15:47 +0200] rev 10622
[py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:10:20 +0200] rev 10621
[devtools/testlib] Port CubicWebTC.view() to py3k
testlib.TestCase.set_description's argument will eventually be printed
out to sys.stdout/stderr. On python 2, this object takes bytes-like
objects (eg, str) whereas python 3's takes unicode-like objects and
handles the encoding on its own.
Thus the 'str' type can used in both versions to eventually display the
description on screen.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:12:44 +0200] rev 10620
[devtools/testlib] port 'fake_form' test to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:45:03 +0200] rev 10619
[dataimport] port ucsvreader tests to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:56:29 +0200] rev 10618
[py3k] io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 11 Sep 2015 17:40:23 +0200] rev 10617
[py3k] io.StringIO
Rémi Cardona <remi.cardona@free.fr> [Tue, 15 Sep 2015 12:51:27 +0200] rev 10616
Port cw.Binary to io.BytesIO
And add plenty of tests too!
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:26:07 +0200] rev 10615
[py3k] execfile → exec
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:33:47 +0200] rev 10614
[py3k] file → open
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 09:52:06 +0200] rev 10613
[py3k] six.integer_types
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:03:07 +0200] rev 10612
[py3k] basestring → six.string_types
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:23:51 +0200] rev 10611
[py3k] import CookieJar using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:50:25 +0200] rev 10610
[py3k] import urllib2 from six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:56:57 +0200] rev 10609
[py3k] import range using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:07:13 +0200] rev 10608
[py3k] import queue using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:59:06 +0200] rev 10607
[py3k] import filter using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:58:52 +0200] rev 10606
[py3k] import zip using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:36:32 +0200] rev 10605
[py3k] import SimpleCookie using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:40:57 +0200] rev 10604
[py3k] import HTTP client constants and exceptions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 09:39:30 +0200] rev 10603
[py3k] import URL mangling functions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:19:48 +0200] rev 10602
[py3k] import 'pickle' using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 14:45:15 +0200] rev 10601
[pkg] Add dependency on six 1.4.0
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:32:09 +0200] rev 10600
[tests] Replace use of deprecated TestCase.assert_
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:30:25 +0200] rev 10599
[predicates] Simplify range(len()) iteration
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:34:09 +0200] rev 10598
[dataimport] Use pickle.dump instead of dumps
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:42:38 +0200] rev 10597
[web/facet] Simplify reversed/sorted calls
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Sep 2015 13:47:30 +0200] rev 10596
[web/test] Use TestCase.setUpClass instead of setUpModule
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:16:10 +0200] rev 10595
Use isinstance() instead of type comparison
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:10:59 +0200] rev 10594
Unused imports
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 16:01:10 +0200] rev 10593
[py3k] tuple unpacking in function args
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:52:18 +0200] rev 10592
[py3k] ur'' is gone
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:50:29 +0200] rev 10591
[py3k] octals and long
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:29:25 +0200] rev 10590
[py3k] Fix raise with embedded traceback
python 3 removed the raise syntax with 2 and 3 expressions.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:52:09 +0200] rev 10589
[py3k] print function
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:28:06 +0200] rev 10588
[py3k] except as
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:27:34 +0200] rev 10587
[py3k] backtick to repr
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Sep 2015 15:01:55 +0200] rev 10586
[hooks/syncschema] make sure CWUniqueTogetherConstraintDelOp happens before CWConstraintDelOp
SQLServer refuses to index an unlimited text column, so we should drop
unique_together constraints (which imply an index) before we drop size
constraints. Closes #5560601.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 23 Sep 2015 15:00:33 +0200] rev 10585
[hooks/syncschema] only call "ALTER TABLE" once when changing a size constraint
Until now we would:
- remove the old size constraint from the in-memory schema
- call update_rdef_column which removes the size restriction from the
column's type
- add the new constraint object
- call update_rdef_column which adds the size restriction back
This breaks on SQL Server when the column is involved in an index (e.g.
as part of a multi-column unique constraint), because in the
intermediate stage the column's type is "nvarchar(max)", which is not
indexable.
Of course we must still detect the case where a size constraint is
really dropped and update the db schema accordingly.
Closes #5557633.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 02 Sep 2015 15:24:46 +0200] rev 10584
[syncschema] only add to the `synchronized` set if all possible updates have been done
Otherwise a simple sync_schema(syncprops=False) turns the subsequent
sync_schema() calls into a no-op.
Closes #6510918.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Jul 2015 12:32:51 +0200] rev 10583
[qunit] remove unused 'data_files' parameter
Its use was removed when we stoppped pointing firefox at file://
web/test/jstests/ajax_url2.html has never actually been used, it's only
been ever mentioned in a QUnit comment.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 20 Jul 2015 13:55:54 +0200] rev 10582
[urlpublish] RESTPathEvaluator now use vid_from_rset
This avoid cases where vid may be unexpectedly overwritten. For instance when
you define a custom vid for a mime type in VID_BY_MIMETYPE, it will currently be
overriden by the URL publisher when you access to /<etype> with the proper
Accept header.
To do so, a new 'check_table' argument is introduced, which may cause bw
compatibility problems if the function has been monkey-patched.
Also pep8 a bit the tests.
Closes #5705835
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:19:39 +0200] rev 10581
[server/sources] use decode_extid in datafeed
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:15:17 +0200] rev 10580
[server/sources] add decode_extid method
avoids having the same dance in both eid_type_source variants
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:56 +0200] rev 10579
[server/repo] kill repo.pinfo()
session.cnxset is dead, this can't work.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:23 +0200] rev 10578
[web/sessions] simplify session cleanup
session.cnx.check() is no longer a thing. It dates back to dbapi.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:17:42 +0200] rev 10577
[server/repo] fix typo
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:29 +0200] rev 10576
[server/sources] AbstractSource.__ne__
Seems confusing to have __eq__ but not __ne__.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:37 +0200] rev 10575
[server/sources] fix docstring for eid_type_source
David Douard <david.douard@logilab.fr> [Mon, 27 Jul 2015 10:00:32 +0200] rev 10574
[views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
eg. with pyramid.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:21:58 +0200] rev 10573
[server/migractions] drop mock_object
It doesn't seem to have ever been used.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:24:16 +0200] rev 10572
[test] kill unused lgc.testlib imports
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 25 Aug 2015 11:09:22 +0200] rev 10571
[server/migractions] raising SystemExit sounds like a bad idea
Simply skip the action (rename_relation_type) with an early return.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jul 2015 09:27:18 +0200] rev 10570
[server/storage] rename 'session' variables to 'cnx'
We no longer deal with Session objects here.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 17:52:45 +0200] rev 10569
[migration] remove repo_connect and use config.repository() instead
One less more redundant path to the repo.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 16:32:14 +0200] rev 10568
[repoapi, cwconfig] give a convenience method to get a repository from a config
This is a very common need.
The private repoapi._get_inmemory_repo becomes config.repository(...)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 09 Jul 2014 15:50:23 +0200] rev 10567
[cwconfig] remove unused method
Not to be confused with serverconfig.migration_handler.
Rémi Cardona <remi.cardona@free.fr> [Tue, 19 Aug 2014 00:16:02 +0200] rev 10566
[captcha] Port to io.BytesIO
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 17:00:40 +0100] rev 10565
[web/sessions] the session managers are definitely not components
Component (or AppObjects) take a _cw at __init__ time.
The session managers want a repository.
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:43:33 +0100] rev 10564
[web] the AuthenticationManager is no more an appobject
It is now explictly instanciated by the session manager.
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 05 Dec 2014 16:22:02 +0100] rev 10563
[hooksmanager] remove very old unused module
Julien Cristau <julien.cristau@logilab.fr> [Fri, 31 Jul 2015 15:17:43 +0200] rev 10562
[devtools] fix CubicWebTC.assertDocTestFile (closes #5930028)
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:51:52 +0200] rev 10561
Added tag 3.21.1, debian/3.21.1-1, centos/3.21.1-1 for changeset a8a0de0298a5
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:59:14 +0200] rev 10560
[pkg] Let dh_installdocs deal with doc-base
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:57:21 +0200] rev 10559
[pkg] various debian packaging fixes
- stop using *.install.in files, just use wildcards in *.install
- switch to X-Python-Version (preferred for dh_python2)
- also call dh_python2 for /usr/share/cubicweb, not just public modules
- drop long obsolete ginco and erudi migration code from cubicweb-ctl.postinst
- fix cubicweb-ctl cleanup: purge code belongs in postrm, not prerm
- don't compress changelog.html
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 18:06:46 +0200] rev 10558
[pkg] 3.21.1
David Douard <david.douard@logilab.fr> [Tue, 28 Jul 2015 11:21:36 +0200] rev 10557
[web] fix AbstractSessionManager.clean_sessions (closes #5757240)
sessions were not closed if "last_usage_time = session.cnx.check()" actually
raises an AtributeError.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 14:29:42 +0200] rev 10556
[migration/3.21] ask fewer questions
Several questions per table is just unreasonable.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 11:26:47 +0200] rev 10555
[server] typo fix
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 11:15:36 +0200] rev 10554
[test] check that we reject an rqlexpression in computed relation perms
Julien Cristau <julien.cristau@logilab.fr> [Tue, 28 Jul 2015 09:25:26 +0200] rev 10553
Fix (de)serialization of ComputedRelation read permissions
For normal relation types, permissions don't need to be stored since
they're just default values for the relation definitions. However,
computed relations are serialized (as CWComputedRType), while their
relation definitions are added at schema finalization time, and are only
in memory. So add the 'read_permission' relation to CWComputedRType,
and the appropriate hooks to save and restore those permissions.
To avoid having to touch yams, we drop the 'add' and 'delete'
permissions from the default computed relation permissions; this should
probably be backported there. The actual permissions (set on the
relation definitions) are hardcoded in finalize_computed_relations
anyway.
In deserialize_schema, the CWComputedRType handling needs to be delayed
a little bit, until after we've called deserialize_ertype_permissions.
The rql2sql test is adjusted because CWComputedRType has a 'name'
attribute and the 'read_permission' relation, which generates ambiguity
vs CWEType.
We add an explicit CubicWebRelationSchema.check_permission_definitions,
since we need to check both that computed and non-computed rtypes are
defined properly.
Based on report and initial patch from Christophe de Vienne (thanks!).
Closes #5706307
Christophe de Vienne <christophe@unlish.com> [Fri, 17 Jul 2015 16:48:43 +0200] rev 10552
Copy read permissions on ComputedRelation rdefs
Closes #5694110
David Douard <david.douard@logilab.fr> [Wed, 22 Jul 2015 19:50:50 +0200] rev 10551
[datafeed] fix typo in DataFeedXMLParser.is_deleted (closes #5729755)
Julien Cristau <julien.cristau@logilab.fr> [Mon, 27 Jul 2015 10:51:29 +0200] rev 10550
[server/sources] make sure entity._cw is a Connection before calling Storages
The storage callbacks don't get an explicit Connection objects, so they
go through entity._cw to access the repo and schedule operations. Since
that entity object comes out of the entity cache, its _cw may be a web
request instead of a Connection. So fix it up around the storage
callbacks.
Closes #5753543
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 14:34:41 +0200] rev 10549
[hooks] base64-encode extid before inserting it into moved_entities
If we insert the wrong value we're never going to find these entities
again... Closes #5741105.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 18:17:31 +0200] rev 10548
[hook] remove assumption about entity cache vs cw_edited
We were assuming that if an entity is in the connection's cache, it has
a cw_edited attribute. This doesn't seem to always be the case. At
least in cubicweb 3.21, merging the web and repo-side caches makes this
more likely, but Denis says he's also seen this on 3.20.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 21 Jul 2015 18:09:12 +0200] rev 10547
[hook] don't open-code Connection.entity_cache
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 23 Jul 2015 09:43:36 +0200] rev 10546
[tox] Add missing dependency on webtest for devtools tests
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Jul 2015 11:32:24 +0200] rev 10545
[tox] Add missing dependency on webtest for wsgi tests
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 22 Jul 2015 10:55:39 +0200] rev 10544
[tox] Remove set of PATH environment variable
The : concatenation does not work actually so the resulting PATH was just
wrong (it did not contain the previous PATH). Anyways, the PATH environment
variable is passed by default by tox so it's probably better to let the caller
set it (thus avoiding to hard-code the specific postgres version and path).
http://tox.readthedocs.org/en/latest/example/basic.html#passing-down-environment-variables
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jul 2015 14:06:22 +0200] rev 10543
[doc] generalize info about debian/ubuntu repositories
That section was not kept up to date with recent distro releases; stop
trying.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Jul 2015 13:49:58 +0200] rev 10542
[doc] fix link to setup info in README
... and fix URL to the repository's gpg key.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 12:15:20 +0200] rev 10541
[server/session] remove unused cnx_meth function
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 11:03:09 +0200] rev 10540
[server] don't issue a warning for something expected
Creating an instance happens all the time in tests, there's no reason to
warn every time.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 12:37:47 +0200] rev 10539
[server] stick a _cw on internal connnection's user
Entity._fetch_restrictions goes through user._cw.vreg :(
Closes #5705769
Julien Cristau <julien.cristau@logilab.fr> [Mon, 20 Jul 2015 16:43:47 +0200] rev 10538
[migration/3.21] fix stupid error in migration script
str.join doesn't like a list of ints. Closes #5706359.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 15 Jul 2015 15:01:21 +0200] rev 10537
Added tag 3.21.0, debian/3.21.0-1, centos/3.21.0-1 for changeset 887c6eef8077
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 18:18:58 +0200] rev 10536
[pkg] various fixes
- add missing files to MANIFEST
- exclude doc/changes from dh_installchangelogs (it's a directory, which
dh_installchangelogs doesn't expect)
- fix doc build in debian package
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:40:08 +0200] rev 10535
[doc] fix broken symlinks
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:04:32 +0200] rev 10534
[pkg] update 3.21.0 release date
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 17:04:03 +0200] rev 10533
[doc/3.21] mention the postgresql-only state of the upgrade script
David Douard <david.douard@logilab.fr> [Fri, 10 Jul 2015 09:30:04 +0200] rev 10532
[datafeed] also catch EnvironmentError when trying to load the cwclientlib config file
means the config file has not been found, so fall back to the old implementation
instead of crashing.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 10 Jul 2015 09:35:52 +0200] rev 10531
[schema] Make syntax compatible with print_function
yams seems to exec() us sometimes (instead of __import__()), and
yams.reader uses print_function nowadays.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 17:03:50 +0200] rev 10530
[pkg] 3.21.0
Julien Cristau <julien.cristau@logilab.fr> [Thu, 09 Jul 2015 11:26:09 +0200] rev 10529
[test] use FakeFile instead of File in test_fulltextindex
File.data is no longer fulltextindexed.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 16:55:28 +0200] rev 10528
i18n update
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:13:39 +0200] rev 10527
[serverctl] fix schema-diff command
It hadn't been ported away from dbapi.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:13:10 +0200] rev 10526
[serverct] call server_{maintenance,shutdown} hooks around source-sync command
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 14:12:46 +0200] rev 10525
[serverctl] call server_{maintenance,shutdown} hooks around add-source
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 07 Jul 2015 14:57:24 +0200] rev 10524
Update hgignore
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 21:13:23 +0200] rev 10523
delete unmaintained clone_deps script
Closes #2517580.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 16:43:56 +0200] rev 10522
merge 3.20.9 into 3.21
Fix conflict in unittest_postgres.py by changing sources configuration
in PostgresTimeoutConfiguration.__init__ so it happens *after*
setUpModule().
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 15:13:10 +0200] rev 10521
Added tag 3.20.9, debian/3.20.9-1, centos/3.20.9-1 for changeset d477e6447582
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 09 Jul 2015 12:40:43 +0200] rev 10520
[pkg] 3.20.9
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 08 Apr 2015 09:27:26 +0200] rev 10519
[forms] don't display 'remove' link of inlined form for the first entity related using a '+' cardinality to its parent entity
Closes #5227394
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 08 Jul 2015 09:37:06 +0200] rev 10518
[tox] Update doc testenv to account for documentation restructuring
* Build doc from `doc` directory.
* Use `sphinx-build` directly instead of `make` as this now works and allows
to build within .tox temporary environment (instead of doc/_build),
preferable for a "test" action.
Related to #5447161.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 02 Jul 2015 11:46:57 +0200] rev 10517
[schema] drop old backward compat code
preventing yams to be itself fully cleaned
David Douard <david.douard@logilab.fr> [Thu, 11 Jun 2015 11:45:45 +0200] rev 10516
[datafeed] allow to use cwclientlib for datafeed's queries (closes #5456849)
HTTP based URLs will be handled by a CWProxy if:
- cwclientlib is available and
- the URL matches a cwclientlibrc config entry
Otherwise, fallback to previous implementation.
See https://www.cubicweb.org/project/cwclientlib
:Warning:
This comes with an API modification of DataFeedParser.retrieve_url: it used
to accept data and headers arguments to build GET or POST (if data was given)
queries, but this was not used by any known code and imply more complicated
code.
David Douard <david.douard@logilab.fr> [Thu, 11 Jun 2015 10:17:41 +0200] rev 10515
[cwxml parser] refactor url handling code to use urlparse and urlencode (related to #5456849)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 15:00:07 +0200] rev 10514
add use_extid_as_cwuri ext entity transform, that will be often necessary and not so easy to write at once
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 11:15:25 +0200] rev 10513
[dataimport] dispatch and deprecate old code
previously, the whole dataimport.py content has been copied in
dataimport/__init__.py, then dataimport/importer.py API has been introduced.
Following these changes, this cset:
* dispatch __init__ code into sub-modules
* dispatch unittest_dataimport accordingly
* deprecates functions and classes that are deprecated by the new API
Related to #5414753.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 30 Jun 2015 23:17:45 +0200] rev 10512
Add tox.ini file
* Factor out `commands` for most environments using {envname} substitution to
build pytest commande.
* Positional arguments are passed on to `pytest` (others may also be passed
after a `--`).
* Set PATH env variable for tests requiring PostgreSQL.
* Also added a `doc` target to build the book.
Also update .hgignore exclude .tox directory (where virtualenvs will be
created and cubicweb.egg-info created by sdist command).
Closes #5447161.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 29 Jun 2015 22:34:58 +0200] rev 10511
Add requirements.txt files in test directories
These files, located in each test directory (when needed), list test
dependencies supplementary to install requirements.
Some requirements.txt files include psycopg2 because it won't get installed by
logilab-database apparently.
Related to #5447161.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 09 Mar 2015 10:49:03 +0100] rev 10510
Spelling fixes in comments and docstrings
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 08 Apr 2015 11:29:24 +0200] rev 10509
[web/views] Clean up confusing backwards compatibility code
Dead code since fbb370195199, related to #4943392.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 09:25:45 +0200] rev 10508
[server/test] avoid lgdb warnings from str to unicode conversion
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 15:18:24 +0200] rev 10507
[web/test] Modernize unittest_propertysheet.py
- remove call to os.makedirs in global scope
- fold CACHEDIR as an instance attribute
- bonus: use unittest directly instead of lgc.testlib
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 12:20:48 +0200] rev 10506
[web/webconfig] Drop pre-3.9 backward compatibility method "has_resource"
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 03 Jul 2015 12:07:44 +0200] rev 10505
[web] Stop using negative indices with os.stat results
The python doc says:
More items may be added at the end by some implementations.
.st_mtime is also more readable than [-2].
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 13:43:40 +0200] rev 10504
[doc] small rst fixes and cleanups in changelog files
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 13:44:01 +0200] rev 10503
[doc] make the changelog chapter a one html page
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 12:18:56 +0200] rev 10502
[doc] reformat changes files headers
to remove the "what's new" phrasing and add the publication date instead.
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 12:07:29 +0200] rev 10501
[doc] remove mentions of pyro and reposity instance type
from the concepts chapter
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 11:37:58 +0200] rev 10500
[doc] put the tutorials between the intro and the `Repository development` toc of the book
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 14:07:53 +0200] rev 10499
[doc] move the documentations from docstring directly to the book.
and improve a bit API documentations.
Related to #4832808
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 15:23:14 +0200] rev 10498
[predicates] remove deprecated sentences in docstrings
David Douard <david.douard@logilab.fr> [Fri, 03 Jul 2015 14:06:57 +0200] rev 10497
[predicates] objectify the anonymous_user predicate
for the sake of consistency.
David Douard <david.douard@logilab.fr> [Thu, 02 Jul 2015 19:54:25 +0200] rev 10496
[doc] more fixes of warnings/errors in doc build
- move 3.21.rst changelog description at it's proper place
- include changelogs in the main index
- few typos
- add :noindex: for autoxxx directives not in api/
Related to #4832808
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 17:04:40 +0200] rev 10495
[doc] fix warnings/errors in doc build
- fix links to images
- fix a couple of typos
- re-add IDownloadableOneLineView doc
- rename documenting.rst back to .txt, it's intended as a doc of how to
write rst, not part of the rst doc
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:00:56 +0100] rev 10494
[doc] Start documenting the API
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:00:33 +0100] rev 10493
[doc] Remove useless indexes
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 23:06:12 +0100] rev 10492
[doc] Insert the dev docs in the toc
Related to #4832808
Christophe de Vienne <christophe@unlish.com> [Thu, 08 Jan 2015 22:11:06 +0100] rev 10491
[doc] Restructure the documentation
* Create a new index file
* Move the sphinx configuration files do the documentation root
* Move book/README to dev/documenting.rst
* Move book/mode_plan.py to tools/
* Move book/en/images to images
* Move book/en/* to book/
* Move changelogs to changes/*
* Adapt the Makefile
* Add a title to the javascript api index
Related to #4832808
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 17:39:35 +0200] rev 10490
[migration/3.21.0] performance and reliability fixes
- use EXCEPT instead of NOT IN, seems to improve performance
dramatically on postgresql
- delete rows from cw_<etype> tables whose eid is unknown
- deal with missing/dangling required inline relations (by deleting the
subject entities) instead of asserting
- fix/improve print statements
- don't ask for confirmation before running pure select queries
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Jul 2015 17:15:24 +0200] rev 10489
[serverctl] fix source-sync command
Closes #5491700
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Jul 2015 10:41:34 +0200] rev 10488
[server] missing import
Fixes NameError in an unlikely error case.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 10:15:47 +0200] rev 10487
[server/test] stop using email cube
- make unittest_migractions use a separate datadir, and add a fake email
cube there (we use it to test {add,drop}_cube, so need something that
looks like a cube)
- for the other test modules, just copy what we need from cubicweb-email's
schema to our test schema
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 16:13:05 +0200] rev 10486
[web/views] Remove unused variable
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 15:33:03 +0200] rev 10485
[server/session] bring anonymous_connection back
Fixes cubicweb-comment.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 15:31:48 +0200] rev 10484
[migration/3.21] idempotency fixes
Drop constraints before (re)creating them
This is postgresql-specific syntax, sqlserver needs work.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 02 Jul 2015 12:19:49 +0200] rev 10483
[migration/3.21] Make index and table creation idempotent
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 15:44:49 +0200] rev 10482
[migration/3.21] Add missing foreign keys when upgrading
Try to delete dangling relations, since there's no point in keeping
them.
Related to #4846892.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 01 Jul 2015 12:03:00 +0200] rev 10481
[schema2sql] properly consider skip_relations parameters.
This is the same bug as yams #286912. Also, introducing a unique function
telling if the relation should have a table or not unhide some other problems
related to computed relation, or missing skipped relations information.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 02 Jul 2015 09:20:02 +0200] rev 10480
[hooks/test] don't rely on RelationDefinition implicitly
Its presence in globals is deprecated and going away.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 11 Jun 2015 16:51:51 +0200] rev 10479
[web] write css_class to attrs on rendering and not on button creation
Because css_class attribute may be overriden by bootstrap after button creation and this
modification has to be taken into account.
closes #5457548
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:30:24 +0200] rev 10478
[statsd_logger] handle ipv6 addresses
David Douard <david.douard@logilab.fr> [Mon, 04 May 2015 17:37:43 +0200] rev 10477
implement a simple statsd logger (closes #5488711)
and add a few timing probes on:
- etwist.server.CubicWebRootResource.render_request()
- server.querier.QuerierHelper.execute()
- server.sources.native.NativeSQLSource:
- sqlexec()
- compile_rql()
- authenticate()
- doexec()
- doexecmany()
as well as a pair of counters on server.querier.QuerierHelper cache (hit/miss).
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 01 Jul 2015 21:00:13 +0200] rev 10476
[predicates] ExpectedValuePredicate now accepts a dict parameter
``match_form_params`` and ``match_kwargs`` benefit from that.
For instance, the following statements are valid::
__select__ = match_form_params('vid', 'subvid')
__select__ = match_form_params(vid='list', subvid='incontext')
__select__ = match_form_params(vid=('list', 'tsearch'))
In the latter cases, not only the parameters (``vid``/``subvid``)
must be in the request form but their corresponding value must also match
the expected values (or one of possible choices if `values` is a sequence).
closes #5484070
Christophe de Vienne <christophe@unlish.com> [Thu, 18 Jun 2015 18:26:02 +0200] rev 10475
[rql2sql] Fix iter_exists_sols() excessive cleaning of _state.tables
Closes #5503548
David Douard <david.douard@logilab.fr> [Thu, 25 Jun 2015 22:12:49 +0200] rev 10474
[cwctl] allow overriding config settings from the command line (closes #5557656)
eg.
cubicweb-ctl start -p port:8082 myapp
to overload the port parameter defined in the all-in-one.conf file.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 26 Jun 2015 13:04:25 +0200] rev 10473
avoid sanitizing warnings
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 14:04:16 +0200] rev 10472
[devtools] avoid warning about source['global-db-name']
sqlite and postgres db handlers store the db template name there.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:52:03 +0200] rev 10471
[skeleton] remove no-break space from skeleton setup.py
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:51:16 +0200] rev 10470
[server/test] drop unused import
Julien Cristau <julien.cristau@logilab.fr> [Fri, 26 Jun 2015 10:50:59 +0200] rev 10469
[doc] update 3.21 release notes
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:28:56 +0200] rev 10468
[devtools] Sort _cw_fields in fake_form
Try to generate a predictable string, to help testing with PYTHONHASHSEED=random.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:29:28 +0200] rev 10467
[entity] sort fetchattrs when generating rql
Try to generate a predictable rql query, to help testing with
PYTHONHASHSEED=random.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 26 Jun 2015 16:27:37 +0200] rev 10466
Update hgignore for temporary test databases
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 03 Apr 2015 17:59:10 +0200] rev 10465
[js] removed unused and broken SuggestForm Widget (closes #5213487)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 30 Jun 2015 15:06:36 +0200] rev 10464
[test] Fix unittest_i18n to run properly with "pytest -t" (closes #5576169)
When running "pytest -t", many tests modules will be imported and run
within a single python process. unittest_i18n fails when run after tests
such as unittest_webtest.py or unittest_httptest.py.
The main reason is that unittest_i18n does various tricks to add a test
cube to the search path, which badly fails when a previous test module
has already loaded "stuff" (for lack of a better word).
Instead, let's just call the 'i18ncube' command with subprocess.
The change from logilab.common.testlib to unittest is not directly
needed, but comes as a free cleanup with the above changes.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:58:43 +0200] rev 10463
[server/test] fix random error in unittest_security
When entering a new Connection, we cache the user and its 'login'
attribute (with no permissions checking).
This test makes 'CWUser.login' unreadable by guests, and then proceeds
to make sure the 'anon' user can actually not read any 'login'
attribute. However, due to the above cnx initialization, anon's login
is actually cached, hence readable. This happens to make the test fail
sometimes depending on the order in which CWUser entities are returned,
because one of them has .complete() called, which as a side effect sets
the attribute cache to None for unreadable attributes.
Call .complete() on both entities to reset the login cache. While this
is still highly debatable, at least it's consistent.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 29 Jun 2015 16:41:36 +0200] rev 10462
[entity] fix typo in comment
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 16:10:33 +0200] rev 10461
[doc] Add a tutorial and extend documentation for ExtEntityImporter
Related to #5414753.
Yann Voté <yann.vote@logilab.fr> [Fri, 26 Jun 2015 16:09:27 +0200] rev 10460
[dataimport] introduce the importer and extentity classes
This introduces the ``ExtEntity`` class which is a transitional state between
data at external source and the actual CubicWeb entities.
``ExtEntitiesImporter`` is then in charge to turn a bunch of ext entities into
CW entities in repository, using a given store.
This changeset also introduces ``SimpleImportLog`` and ``HTMLImportLog`` which
implement the CW DataImportLog interface in order to show log messages in UI
using simple text and HTML formats respectively, instead of storing these
messages in database.
Both have mostly been backported from cubes.skos.dataimport.
Closes #5414753.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 17:01:03 +0200] rev 10459
[test] Use store.prepare_insert_relation instead of deprecated relate method
Follow-up for 1f5026e7d848.
Related to #5040344.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jun 2015 23:30:47 +0200] rev 10458
[dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Yann Voté <yann.vote@logilab.fr> [Wed, 24 Jun 2015 23:23:57 +0200] rev 10457
[dataimport] Move stores to new API.
Here is the final store API:
* ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity
type, attributes and inlined relations, return the eid of the entity to be
inserted, *with no guarantee that anything has been inserted in database*,
* ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an
entity type and eid, promise for update given attributes and inlined
relations *with no guarantee that anything has been inserted in database*,
* ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a
relation ``rtype`` should be added between entities with eids ``eid_from``
and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no
guarantee that the relation will be inserted in database*,
* ``flush() -> None``: flush any temporary data to database. May be called
several times during an import,
* ``finish() -> None``: additional stuff to do after import is terminated.
**Warning:** ``prepare_update_entity()`` still needs to be implemented for
NoHookRQLObjectStore.
Related to #5040344
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 23 Jun 2015 13:08:48 +0200] rev 10456
[js] Using appropriate http method when calling a remote function to respect REST principles.
closes #5355952
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 10:28:23 +0200] rev 10455
[server/test] Add a test for db-statement-timeout option
Sadly I don't think there's a way to test that functionality without
adding sleeps which make the test suite longer :/
Related to #2547026
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 13:51:28 +0100] rev 10454
[datafeed] give an error message if a source is missing a parser id
Closes #3484231
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Jun 2014 16:54:35 +0200] rev 10453
[storage] use mkstemp to create files in bfss
Avoids race condition, at the cost of slightly less predictable file names.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Jun 2015 09:51:30 +0200] rev 10452
[test] Skip spa2rql tests when fyzz is not available
Closes #5456750.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 18:10:45 +0200] rev 10451
[web/staticcontrollers] fix docstring spelling
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:50:18 +0200] rev 10450
[server/rql2sql] fix spelling in comment
Not that I understand what that sentence means.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:17:31 +0200] rev 10449
[doc/book] fix rql syntax examples
"Any", not "ANY". "EXISTS" is a function.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 23:05:54 +0200] rev 10448
[migration] add sql constraints on upgrade
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:10:13 +0100] rev 10447
[schema] neuter check method for constraints we implement in sql
Closes #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 23:27:13 +0100] rev 10446
add IUserFriendlyError adapter for violation of check constraints
This way we get back the same error messages we get from the python
check.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 19:47:34 +0200] rev 10445
[hooks/syncschema] drop/add check constraints as appropriate
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:39:29 +0100] rev 10444
[schema2sql] support NOW and TODAY in check constraints
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 11:36:07 +0200] rev 10443
[schema2sql] insert some constraints into the backend
BoundaryConstraint, IntervalBoundConstraint and
StaticVocabularyConstraint can be implemented in SQL with CHECK
constraints.
Next steps, not part of this changeset:
- migrations
- removing no longer necessary pre-insertion work on the python side
- translating backend exception due to constraint violation into
ValidationError
Note: this means that these constraints can no longer be ignored by
disabling integrity hooks.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 10:05:34 +0200] rev 10442
[test] run unittest_syncschema with postgresql
Lets us test more things, since we can actually do ALTER TABLE.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:11:08 +0200] rev 10441
[test] run unittest_migractions on postgresql
sqlite's lack of support for a bunch of alter table functionality means
some thing just don't get tested otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:26:03 +0200] rev 10440
[devtools] Put pg sockets in /tmp
Makes for shorter paths (limited by sockaddr_un). Also use the default port,
since we're not listening on TCP sockets.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:44:49 +0200] rev 10439
[devtools] change the way we start/stop postgresql
Instead of having the test db handler start a cluster on demand, use the
test module's setUp/tearDown callbacks to do it. This allows to have
one data directory (and thus cluster) per test module, allowing
different test modules to run in parallel, each using its own database
cluster whose path is based on the test module.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:36:26 +0200] rev 10438
[devtools] make test db name for postgresql process-specific
In case we run two tests concurrently on the same cluster, better not
use the same db name for both.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:30:32 +0200] rev 10437
[devtools] extract functions to start/stop a postgresql cluster
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 20:00:06 +0200] rev 10436
[test] don't leave NULL columns around when making an attribute required
It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when
running this test on postgresql it fails to add the 'NOT NULL'
constraint otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:02:41 +0200] rev 10435
[server/session] Roll back in connection exit
This was changed in commit 8b35a898b334 "[server] remove cnxset
tracking, it is now unneeded".
When exiting a CubicWeb Connection, the database connection is put back
into the common pool. At that point anything done during the lifetime
of the CubicWeb Connection needs to be committed or rolled back.
Do a proper rollback to finish the transaction, as was happening before
the above-mentionned commit.
This showed up on testing with postgresql, when a DB schema modification
was blocked by an old connection that was still "in transaction".
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 20 May 2015 16:13:07 +0200] rev 10434
[web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074)
The `cubicweb:target` is a flag indicating that the form data (with
file input) shall be posted inside an iframe - this is a well known
"ajax-like" workaround to post files with browsers that do not support
`FormData` (a.k.a IE<10).
The `cubicweb:target` was introduced when CW used the "xhtml strict"
doctype. Now that CW uses the "html5" doctype, this namespaced
attribute is no longer necessary and the iframe can be generated
directly.
Before this patch, CW inserts the `cubicweb:target` attribute in the
form DOM element (server side) and `setFormsTarget()` updates the
DOM with a new `<iframe>` element (client side).
Now, CW inserts the `<iframe>` DOM element directly (server side),
making `setFormsTarget` useless.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 17:10:05 +0200] rev 10433
[js] lint : make it explicit that typeof is an operator, not a function.
Also, use === / !== except for null / undefined comparison
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 21 May 2015 16:20:04 +0200] rev 10432
[devtools] qunit: show helpful data when an assertion fails
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:25:40 +0200] rev 10431
[web/test] Use shorter $() instead of jQuery()
Consistency FTW.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:17:28 +0200] rev 10430
[devtools] qunit: use new async testing APIs
http://qunitjs.com/cookbook/#asynchronous-callbacks
QUnit keeps track of all the assert.async() objects created inside the
test functions and expects all done() functions to be called. Failure to
do so will result in the test being failed.
Unlike .start and .stop which were internal APIs, assert.async() is
stricter and fails tests if assert methods are used *after* all done()
functions are called (see "test callback execution order").
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:45:43 +0200] rev 10429
[devtools] qunit: use new assert APIs
test functions now accept an "assert" argument which exposes QUnit's
assert methods: assert.{expect,equal,deepEqual,ok}
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:04:43 +0200] rev 10428
[devtools] qunit: stop using global variables
test -> QUnit.test
module -> QUnit.module
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:12:58 +0200] rev 10427
[devtools] qunit: update to 1.18.0 (closes #5533333)
* the logging API has changed (register callbacks instead of setting
attributes on the QUnit object)
* the logging callbacks all have a single "details" object argument
* the "main" div was renamed to "qunit-fixture" (this change is
responsible for all the churn in our own JS test files)
* QUnit can now build the DOM elements it needs for reporting from a
single "qunit" div
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:33:01 +0200] rev 10426
[devtools] qunit: stop using deprecated assert functions
equals -> equal
same -> deepEqual
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:39:29 +0200] rev 10425
[devtools] qunit: remove useless window.close()
Modern browsers don't allow it anymore.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:38:04 +0200] rev 10424
[devtools] qunit: refactor functions into QUnitView
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:51 +0200] rev 10423
[devtools] qunit: only start firefox once per test
The separate profile initialization step doesn't seem necessary anymore.
This was due to the system-wide installation of the "Sage" Firefox
extensions which breaks -url on a fresh profile. Removing this obnoxious
extension allows us to launch Firefox in a standard way.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:00 +0200] rev 10422
[devtools] qunit: decrease test timeout
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:12:40 +0200] rev 10421
[devtools] qunit: increase resolution and depth of Xvfb screen
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:34:52 +0200] rev 10420
[web/test] Always call QUnit.ok with a message
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:43:03 +0200] rev 10419
[web/test] Fix remaining JS tests (closes #5533303)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:42:01 +0200] rev 10418
[web/test] Stop testing that exceptions raised in Deferred callbacks call errback
They no longer do as of changeset 7f1f7f710b16.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:38:28 +0200] rev 10417
[web/test] stop calling loadxhtml with a form.callback
It was deprecated in 3.9 (changeset 7b9553a9db65) and removed in 3.18.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:30:57 +0200] rev 10416
[web/test] Fix reset of loaded JS/CSS files
Name changed in commit ede740bd7077.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:46 +0200] rev 10415
[web/test] Use proper JSON syntax
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:12 +0200] rev 10414
[web/test] Update mock ajax reply from "render" ajaxfunc
CubicWeb transforms add_js() calls in AJAX context to <cubicweb:script>
tags since ede740bd7077 and cd5738fc440f. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:49:40 +0200] rev 10413
[devtools] Serve JS tests over HTTP (closes #5533285)
Instead of mixing file:// URLs with XHR.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 15:58:21 +0200] rev 10412
[web/data] Support Deferred objects outside XHR
JS tests actually use this. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:27:37 +0200] rev 10411
merge 3.20.8 in 3.21
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:15:16 +0200] rev 10410
[views] Revert previous changeset 8f05aaabf355
Breaks cubicweb/web/test/test_views.py as some views don't have a 'vid'
kwarg.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:51:28 +0200] rev 10409
Added tag 3.20.8, debian/3.20.8-1, centos/3.20.8-1 for changeset ec284980ed9e
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:50:30 +0200] rev 10408
[pkg] Prepare 3.20.8
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 16:11:46 +0200] rev 10407
[js] simplify cw.log implementation
There's no need to rebuild and array and join its content, just
call console.log with ``arguments``.
The only trick is that console.log must be called on a console instance.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jun 2015 11:28:16 +0200] rev 10406
[web/views] don't force http redirect on logout
We no longer forbid anonymous browsing on https, so we can keep the same
scheme when logged out. Closes #5507479.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 16 Jun 2015 00:26:55 +0200] rev 10405
[views/schema] extract a hardcoded css class attribute
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 03 Jun 2015 12:36:31 +0200] rev 10404
[formwidgets] move TextArea constants to the class level
This will make it easy to override them.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:23:50 +0200] rev 10403
[server/test] fix broken test
The first bad revision is:
changeset: 10396:82071f767cb8
user: Sylvain Thénault <sylvain.thenault@logilab.fr>
date: Thu Jun 11 17:35:11 2015 +0200
summary: [schemas] cwuri should be read-only
This changed the number of RQLExpressions to be more than the number of
CWRelations in the test's schema.
Related to #5457566.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:43:06 +0200] rev 10402
[test] typo in entities test comment
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:57:55 +0200] rev 10401
[cwconfig] typo in comment
Julien Cristau <julien.cristau@logilab.fr> [Fri, 19 Jun 2015 16:38:53 +0200] rev 10400
[serverctl] allow changing the log level for source-sync command
When calling this from cron we only want to see output if something
fails.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Thu, 30 Apr 2015 13:06:45 +0200] rev 10399
[web, urlrewrite] remove unused `cachekey` argument from `rgx_action` (closes #5355967)
this argument prevent from generating the resulting rset descripition
Katia Saurfelt <katia.saurfelt@logilab.fr> [Fri, 19 Jun 2015 17:54:04 +0200] rev 10398
[web] Fix the path to the `static directory` (closes #5355965)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Jun 2015 18:22:55 +0200] rev 10397
[web/json] Controller.publish must return encoded data
We were mixing binary from super() and text from our params, thus
wrongly returning text. Closes #5507573.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 15 Apr 2015 22:48:20 +0200] rev 10396
[entities] fix dc_title output for bool(value) == False
Closes #5194853.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:06:03 +0200] rev 10395
[hooks] manhandle the parsed rql query, not its string representation
... and add a groupby clause to make it actually work (the selection
might well use an aggregate function, so we need to tell the backend to
group on our target entity).
Closes #5362574
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 17:21:28 +0200] rev 10394
merge 3.19.12 in 3.20
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 16:05:27 +0200] rev 10393
Added tag 3.19.12, debian/3.19.12-1, centos/3.19.12-1 for changeset 5932de3d50bf
Alain Leufroy <alain@leufroy.fr> [Fri, 19 Jun 2015 10:53:23 +0200] rev 10392
[pkg] prepare 3.19.12
Alain Leufroy <alain@leufroy.fr> [Thu, 18 Jun 2015 15:35:08 +0200] rev 10391
[web/views/formrenderer] remove `cubicweb:target` attribute on form once the target <iframe> is inserted
For some unknown reason, IE9 does not want to submit the form inside
the <iframe> when the ``cubicweb:target`` attribute exists.
(closes #5377672)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Tue, 16 Jun 2015 18:01:58 +0200] rev 10390
[views] implement a custom json error view
If the client asked for ``(e)jsonexport`` view, answer
him with a json response rather than an error formatted
in a big HTML blob.
add a custom _requested_vid predicate. In cw 3.21, it will
be deprecated in favor of ``match_form_params(vid=('jsonexport', 'ejsonexport'))``
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 13 May 2015 17:49:45 +0200] rev 10389
don't override req.form['vid'] in the publisher's error_handler
closes #5359234
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:49:33 +0200] rev 10388
when some inlined relation is set using cw_edited, its security shouldn't be checked.
It's currently checked anyway because upon modification of `cw_edited`,
`entity.skip_security` is updated to avoid security checking, but this is only
considered for attributes, not relations.
Closes #5477315
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:46:49 +0200] rev 10387
[test] stop depending on the email cube for hooks test
Backport necessary part of its schema.