Skip to content
Snippets Groups Projects
  1. Jun 09, 2022
  2. Mar 16, 2022
    • Toni Sissala's avatar
      Release 1.0.0 · 3f090c14
      Toni Sissala authored
      Added
      ^^^^^
      
      * Support for deleted records. (Implements `#3`_)
      
        * The deletedRecords value (in response to Identify-verb) is configurable via
          ``--oai-pmh-deleted-records`` and defaults to value `transient`.
      
      * Configuration option to limit the list size of each metadataformat separately.
        (Implements `#2`_)
      * New metadataformat OAI Datacite with prefix `oai_datacite`.
      * Plugin architecture for developing arbitrary metadataformats & OAI-sets.
      * Support insecure (unverified SSL certificate chain) https connections in list_records.py
        via configuration flag ``--insecure``. Default is to reject insecure connections.
      * Generate setName values for ``language`` and ``data_kind`` sets which do not have one.
        (Implements `#24`_)
      * Command line entrypoint `kuha_list_records` outputs deleted record count and
        supports HTTP Basic Authentication. (Implements `#25`_)
      
      Changed
      ^^^^^^^
      
      * Require Kuha Common 1.0.0.
      * Plenty of API changes to facilitate the developing of metadataformats as plugins:
      
        * Delete configure.py. Serve-endpoint configuration is now declared in
          serve.py. Modules declare configurations via their respective add_cli_args
          functions.
        * Add controller.py. The controller is responsible for gathering
          the OAI responses from metadataformats.
        * Add http_api.py. This module declares the HTTP interface and dispatches
          requests to the configured controller. The module contains minimum
          amount of non-server imports and calls to controller.
        * Add metadataformats-package, which replaces the oai/metadata_formats.py
          and oai/records.py modules.
        * serve.py loads and configures metadataformats using entrypoint-group
          ``kuha.oai.metadataformats``. No metadataformats are directly imported.
        * oai/__init__.py now contains add_cli_args & configure methods to
          configure package classes. It defines a Protocol-class which
          wraps all OAI-PMH protocol objects.
      
      * Update dependencies in requirements.txt.
      
        * Tornado 6.1.0
        * ConfigArgParse 1.5.3
        * six 1.16.0
      
      Removed
      ^^^^^^^
      
      * Drop support for Python versions below Python 3.8.
      
      Fixed
      ^^^^^
      
      * Repeat EAD3 daterange element when a record has multiple date
        ranges. (Fixes `#20`_)
      * Metadata rendered by prefix `oai_ddi25` should place
        distrbtr-element before distDate-element in distStmt.
        (Fixes `#21`_)
  3. Dec 21, 2021
  4. Nov 11, 2021
  5. Sep 07, 2021
  6. Sep 06, 2021
    • Toni Sissala's avatar
      Release 0.14.0 · d57d05b2
      Toni Sissala authored
      Ensure future compatibility with CESSDA Data Catalogue
      
        * Require kuha_common 0.15.1
        * Include elements `/codeBook/docDscr/citation/titlStmt/titl` and
          `/codeBook/stdyDscr/holdings@URI` to DDI 2.5 serializations.
        * Use `study.document_titles` to populate
          `/codeBook/docDscr/citation/titlStmt/titl` and `study.study_uris` to
          populate `/codeBook/stdyDscr/holdings@URI`.
      
      Drop testing with Python interpreters below py38.
      d57d05b2
    • Toni Sissala's avatar
      Merged in feature/22-future-compatibility-with-cdc (pull request #1) · 60addc62
      Toni Sissala authored
      * Dev / CI maintenance
      
      Drop tests with Python interpreters below Py38.
      
      Bump VERSION to 0.14.0
      
      * DDI-C contains Study.document_title and Study.study_uri attributes
      
      Include elements `/codeBook/docDscr/citation/titlStmt/titl` and
      `/codeBook/stdyDscr/holdings@URI` to DDI 2.5 serializations. Use
      `study.document_titles` to populate
      `/codeBook/docDscr/citation/titlStmt/titl` and `study.study_uris` to
      populate `/codeBook/stdyDscr/holdings@URI`.
      
      * Require kuha_common 0.15.1
      
      Fix #22 at BitBucket.
      60addc62
  7. Feb 02, 2021
    • Toni Sissala's avatar
      Release 0.13.0 · ef376cc0
      Toni Sissala authored
      Changes to EAD3 mapping:
      
        /ead/archdesc/dsc/c01/c02/did/daoset/dao/@daotype value is now
        "unknown" instead of "derived"
      
        study.principal_investigators are now divided into corpname &
        persname elements. If a principal investigator has an affiliated
        organization the value is placed into persname and the
        organization is placed into corpname. If a principal investigator
        has no affiliated organization, it's value is expected to be an
        organization and the value is placed into corpname.
      
      Lock pip version to 20.3.4 in install script, which is the latest
      pip that supports Python 3.5. The install script should be
      compatible with Ubuntu 16.04, which defaults to Python 3.5. The
      latest pip does not support Python 3.5 and therefore cannot be
      upgraded into.
      
      Use ''python-latest'' in Jenkinsfile. It is guaranteed to point to
      the latest python on the CI server. Note that this is a CI specific
      configuration and is not portable to some arbitrary Jenkins
      instance.
      
      Add py39 to tox environments and use it in Jenkinsfile.
      
      Upgrade to latest genshi 0.7.5 in requirements.txt. Python 3.9
      introduced changes to ast module that were incompatible with
      previous genshi version 0.7.3 used.
      
      Add six to requirements.txt, since genshi 0.7.5 requires it.
    • Toni Sissala's avatar
      Prepare 0.13.0 · 0d22171b
      Toni Sissala authored
      CHANGES.rst: Add todays date to 0.13.0
      0d22171b
    • Toni Sissala's avatar
      CHANGES.rst: Add todays date to 0.13.0 · ce9d3f75
      Toni Sissala authored
      ce9d3f75
    • Toni Sissala's avatar
      Lock pip version to 20.3.4 in install script. · 277d36b4
      Toni Sissala authored
      The default pip (8.1.1) does not support upgrade-strategy, but we'll
      need it to upgrade dependencies. Lock the pip version to 20.3.4 when
      using the install script.
      
      Add six to requirements.txt, since genshi 0.7.5 requires it.
      
      Update documentation regarding versions of Python & Ubuntu
      277d36b4
  8. Feb 01, 2021
    • Toni Sissala's avatar
      Changes to EAD3 mapping: @daotype, corpname & persname · b3e8bec2
      Toni Sissala authored
      /ead/archdesc/dsc/c01/c02/did/daoset/dao/@daotype value is now
      "unknown" instead of "derived"
      
      study.principal_investigators are now divided into corpname & persname
      elements. If a principal investigator has an affiliated organization
      the value is placed into persname and the organization is placed into
      corpname. If a principal investigator has no affiliated organization,
      it's value is expected to be an organization and the value is placed
      into corpname.
      
      Remove 'pip --upgrade pip' from install script. Since we are
      supporting Ubuntu 16.04, upgrading pip will not work since pip no
      longer supports py35, which is the default in Ubuntu 16.04.
      
      Use 'python-latest' in Jenkinsfile.
      
      Add py39 to tox environments and use it in Jenkinsfile.
      
      Add 'unreleased' changelog entry.
      
      Bump version.
      
      Upgrade genshi to 0.7.5. Python 3.9 and genshi 0.7.3 don't work
      together. Upgrade genshi to 0.7.5 to try to fix the error.
      b3e8bec2
  9. Dec 08, 2020
    • Toni Sissala's avatar
      Release 0.12.1 · c543b601
      Toni Sissala authored
      * Fix unhandled AttributeError when requesting a list response with
        an unsupported set-parameter. Respond with OAI error code
        "noRecordsMatch". (Fixes #19)
    • Toni Sissala's avatar
      Fix AttributeError in request for unsupported OAI-set. · d529974b
      Toni Sissala authored
      Server now returns an OAI response with an error code "noRecordsMatch"
      when requesting a list response with an unsupported OAI-set. The fix
      treats the return value None of
      oai.records.get_record_query_field_by_setspec() as an unsupported
      set. If the returned value is None, the
      oai.records.get_query_filter_for_set() should also return None. Then
      the handler will handle the request correctly.
      
      Add unittests against the handler to confirm the fix.
      
      Bump version to 0.12.1
      
      CHANGES.rst: Add today's date to 0.12.1 entry.
      d529974b
  10. Jun 12, 2020
    • Toni Sissala's avatar
      Release 0.12.0 · 2b676d49
      Toni Sissala authored
      * Support Python 3.8
      * Require kuha_common 0.14.0
    • Toni Sissala's avatar
      Support Python 3.8 & require kuha_common 0.14.0 · 8dc59ce9
      Toni Sissala authored
      Support for Python 3.8 requires changes to test code and latest
      kuha_common. No new functionality, bug fixes or tests are introduced
      here.
      
      Require kuha_common 0.14.0 in requirements.txt and setup.py. Release
      versionlock of genshi in requirements-dev.txt.
      
      Update all copyright headers to 2020.
      
      Add py38 environment to tox.ini and use it in Jenkinsfile.
      
      Write changelog entry for 0.12.0.
      
      Bump version to 0.12.0
      8dc59ce9
  11. Jun 05, 2020
    • Toni Sissala's avatar
      Release 0.11.1 · 993e5c2d
      Toni Sissala authored
      * Check for query result item's set.record_field_setspec using
      item.get() since the item may not have such key and we wish to avoid
      KeyError. (Fixes #18)
      * Remove check for the record_field_setname since it is acceptable to
      have and OAI set without a setName.
    • Toni Sissala's avatar
      Check for query result item's setspec using item.get() · 370ff664
      Toni Sissala authored
      Use dict.get for checking item's setspec value since an item may not
      have the required key. This way such record won't result in a KeyError
      but will be discarded from ListSets response.
      
      Add test against such condition using study_group.
      
      Write changelog entry for 0.11.1.
      
      Bump version to 0.11.1
      370ff664
  12. May 07, 2020
  13. May 06, 2020
    • Toni Sissala's avatar
      Require kuha_common 0.13.0 · e81154f6
      Toni Sissala authored
      e81154f6
    • Toni Sissala's avatar
      Write changelog entry & bump version · 6636f680
      Toni Sissala authored
      Write entry to CHANGES.rst about release 0.11.0. Bump VERSION to 0.11.0.
      6636f680
    • Toni Sissala's avatar
      Add support for Study.related_publications to DDI templates · 20222dab
      Toni Sissala authored
      DDI templates, ddi_c.xml and oai_ddi25.xml now use
      Study.related_publications to serialize relpubl elements and
      contents. Add Study.related_publications to
      DDIMetadataFormat.record_fields. Add OAIRecord.iter_relpubls() to
      iterate over related_publications by distinct description and lang. This
      way the templates can serialize DDI so that a relpubl element may have
      multiple citation child elements if the relpubls share same
      description and lang.
      
      Add tests to make sure the serialization is correct and queries to
      document store include Study.related_publications field.
      20222dab
  14. Apr 29, 2020
  15. Apr 28, 2020
    • Toni Sissala's avatar
      Change to git · 8a791e70
      Toni Sissala authored
      Add .gitignore for Python-project. Jenkinsfile uses git to dig up
      commit authors. Update requirements.txt to use git instead of hg.
      INSTALL.rst instructs to use git instead of hg.
      8a791e70
  16. Apr 07, 2020
  17. Mar 23, 2020
  18. Mar 20, 2020
  19. Mar 19, 2020
Loading