1. 10 May, 2017 1 commit
  2. 10 Jul, 2017 2 commits
  3. 06 Jun, 2017 1 commit
    • Denis Laxalde's avatar
      [pyramid] Only expose 'cubicweb.bwcompat' setting for "all-in-one" configuration type · 36f1c7ab9010
      Denis Laxalde authored
      The "pyramid" instance configuration does not work with "cubiwceb.bwcompat"
      mode (on purpose). Yet, having the setting exposed in development.ini file
      (generate by `cubicweb-ctl create --config pyramid <cube> <instance>` command)
      is misleading and we want to remove it.
      
      Thus, we only query this setting when cubicweb configuration is "all-in-one" and
      drop the setting line from templated development.ini file. If the option is
      found and True for any other configuration type, we issue a user warning (and
      ignore the option).
      
      --HG--
      branch : 3.25
      36f1c7ab9010
  4. 27 Apr, 2017 1 commit
  5. 05 May, 2017 1 commit
  6. 19 Apr, 2017 1 commit
  7. 14 Apr, 2017 3 commits
  8. 13 Apr, 2017 3 commits
    • Sylvain Thénault's avatar
      [entities] Fix backward compat of IDublinCore adapter wrt dc_long_title · 608481168432
      Sylvain Thénault authored
      `entity.dc_long_title()` used to fallback to `dc_title()`, and most entity types
      were relying on this, thus only implementing the later.
      
      Since introduction of the IDublinCore adapter, if one call
      `entity.dc_long_title()` on an entity that only implements `dc_title()`, it will retrieve
      the adapter which will then call its own `title()` method instead of the
      `dc_title()` method of the entity as expected.
      
      Fix this by calling instead `entity.dc_title()` which will eventually kick in the
      backward compat layer if necessary.
      
      --HG--
      branch : 3.25
      608481168432
    • Denis Laxalde's avatar
      [web] Do not try to rmtree symlinks in rmtreecontent() · 8a1306c43656
      Denis Laxalde authored
      There is a symlink in data directory (created by generate_static_dir() method)
      and trying to rmtree() it will fail with an OSError. So we unlink() it
      instead.
      
      --HG--
      branch : 3.25
      8a1306c43656
    • Denis Laxalde's avatar
      [pkg] Version 3.25.0rc3 · 241bb09c67f7
      Denis Laxalde authored
      --HG--
      branch : 3.25
      241bb09c67f7
  9. 12 Apr, 2017 11 commits
  10. 05 Apr, 2017 1 commit
    • Denis Laxalde's avatar
      [server] Add source_by_eid and source_by_uri methods to repository · d540defa0591
      Denis Laxalde authored
      Most of the times we only need to retrieve one source (either by uri or eid)
      and querying sources_by_eid and sources_by_uri properties on repository just
      for one item is costly. So these methods query what's needed. We issue a
      ValueError (instead of KeyError for sources_by_{eid,uri} dict) in case the key
      is not found.
      
      --HG--
      branch : 3.25
      d540defa0591
  11. 04 Apr, 2017 1 commit
  12. 05 Apr, 2017 2 commits
    • Denis Laxalde's avatar
      [server] Inline _entity_update method into init method of AbstractSource · f54286c1cef5
      Denis Laxalde authored
      This _entity_update method does not make sense now that we do not update
      source from database information but always build them afresh.
      
      --HG--
      branch : 3.25
      f54286c1cef5
    • Denis Laxalde's avatar
      [server] Drop update_config method of source · a446124bcf3c
      Denis Laxalde authored
      It does not make sense anymore to update the config of a source instance
      (subclass of cubicweb.server.sources.AbstractSource) now that they are always
      built from database information (CWSource). In datafeed and ldapfeed, we
      move all code from "update_config" method in "init" method.
      
      This changeset fixes LDAPFeedUserDeletionTC.test_a_filter_inactivate() failure
      (unittest_ldapsource.py) introduces in previous changeset.
      
      --HG--
      branch : 3.25
      a446124bcf3c
  13. 04 Apr, 2017 1 commit
    • Denis Laxalde's avatar
      [server] Make "sources_by_uri" and "sources_by_eid" properties of repository · db2fc87348ab
      Denis Laxalde authored
      I.e. do not populate these dict as repo initialization (bootstrap step) but
      always use information from database. This is needed because when multiple
      instances of the same application run, if one instance adds a CWSource the
      other ones will not see it. In particular, when using a scheduler instance,
      new CWSource will be added by the web instance and not seen by the scheduler
      which is supposed to update them.
      
      We thus define properties for sources_by_eid and sources_by_uri instead
      attributes on repository instance. CWSource entities are thus retrieved from
      database every time these properties are accessed. We factor out
      initialization of the "source" instance (subclass of
      cubicweb.server.source.AbstractSource) in a _sources() method. Note that this
      method takes care of calling "init" method on the source as well as
      "set_schema" (previously done in repo.set_schema(), which now only touches
      system_source). Accordingly the "init_sources_from_database" method is dropped
      along with "add_source"/"remove_source" methods.
      
      In syncsources hook, we thus drop:
      
      * SourceAddedOp operation which called repo.add_source() so that the
        SourceAddedHook only cares about checking source configuration now;
      * SourceRemovedOp and SourceRenamedOp operations for the same reason;
      * SourceConfigUpdatedOp as updating the live config of source is
        meaningless once we rely on them being retrieved from the database;
      * SourceHostConfigUpdatedHook hook which is now useless without call to
        SourceConfigUpdatedOp;
      
      In 3.10 migration script, remove usage of sources_by_uri repo attribute which,
      unless I'm missing something, appears useless (at least now).
      
      In tests:
      
      * unittest_datafeed: remove test_update_url method since we dropped respective
        hook;
      * unittest_ldapsource: LDAPFeedUserDeletionTC.test_a_filter_inactivate()
        currently fails because it still relies on live config being updated, this
        will be fixed in the next changeset once all "live source" logic will be
        removed.
      
      --HG--
      branch : 3.25
      db2fc87348ab
  14. 21 Feb, 2017 1 commit
    • Denis Laxalde's avatar
      Add a "Contributing" section to README with patch submission guidelines · 29d032bb70d8
      Denis Laxalde authored
      For the CubicWeb project and its dependencies, we now prefer patches
      submission and review by email on a public mailing list. We are thus moving
      away from the previous vcreview-based workflow taking place on the forge.
      This change is motivated by the following points:
      
      - the current reviewer assignment mechanism (pick a random reviewer, rely on
        reviewer availability rather than on willingness to review, send related
        patches to distinct people, etc.) is inefficient if not counter-productive;
      - most of the times, discussion only happens between the patch submitter and a
        reviewer with no easy way to increase the audience;
      - cubicweb-vcreview has no concept of patch series;
      - cubicweb-vcreview is not actively maintained anymore and its usability keeps
        deteriorating.
      
      We expect that email-based submission and review of patches will circumvent
      these limitations. Anybody interested in the project is welcome to subscribed
      to the mailing list and participate to the review process.
      
      This patch documents the basic workflow of patches submissions by email.
      
      --HG--
      branch : 3.25
      29d032bb70d8
  15. 04 Apr, 2017 1 commit
  16. 03 Apr, 2017 1 commit
  17. 07 Apr, 2017 2 commits
    • Denis Laxalde's avatar
      [cwconfig] Add "pyramid" config type to MCOMPAT dict · 10a18c6c5e10
      Denis Laxalde authored
      I don't know what this is for exactly, but the accept_mode method below
      queries this dict with the configuration type name. And if the latter is
      "pyramid", it crashes since there's no key in MCOMPAT dict. So add one with
      the same value as "all-in-one". This code is called during "upgrade"
      migration in particular.
      
      --HG--
      branch : 3.25
      10a18c6c5e10
    • Denis Laxalde's avatar
      [pyramid] Avoid shutting down the repository at exit if it's already shutting down · 4db0f2251960
      Denis Laxalde authored
      For install `cubicweb-ctl pyramid` command will explicitly call
      `repo.shutdown()` so the atexit hook is redundant. Prevent the latter to be
      executed when the repository is already shutting down (otherwise one gets an
      assertion error).
      
      --HG--
      branch : 3.25
      4db0f2251960
  18. 05 Apr, 2017 1 commit
  19. 04 Apr, 2017 1 commit
  20. 05 Apr, 2017 3 commits
  21. 04 Apr, 2017 1 commit