Skip to content

v0.13.0

Compare
Choose a tag to compare
@genie9 genie9 released this 07 Apr 11:34
· 16 commits to master since this release
ce026c3

Added

  • Submission endpoint update #371
    • Adds mandatory query parameter folder for submit endpoint POST
    • On actions add and modify object is added or updated to folder(submission) where it belongs with it's accession ID, schema, submission type, title and filename
    • Adds metax integration to submit endpoint
  • Integration with Metax service #356 #387
    • Adds new local container for testing against mocked Metax API
    • Introduces new env vars: METAX_USER, METAX_PASS, METAX_URL for connection to Metax service
    • Introduces new env var DISCOVERY_URL for creating link to dataset inside Fairdata SD catalog
    • Adds new key metaxIdentifier to Study and Dataset collections containing metax id returned from Metax API
    • Adds new handler MetaxServiceHandler to take care of mapping Submitter metadata to Metax metadata and to connect to Metax API
    • Adds new mapper class to adjust incoming metadata to Metax schema
  • Add patching of folders after object save and update operations #354
    • Adds mandatory query parameter folder for objects endpoint POST
    • Object is added or updated to folder(submission) where it belongs with it's accession ID, schema, submission type, title and filename in the case of CSV and XML upload
    • Adds configuration for mypy linting to VScode devcontainer setup
  • Templates API #256
    • use ujson as default json library
  • Creating draft Datacite DOI for folders #257 #332
    • created a mock web app, which would act similarly to DataCite REST API
    • altered publish_folder endpoint so that extraInfo containing the DOI data is added upon publishing
    • added datePublished key to folders which takes in the date/time, when folder is published
  • DOI Publishing and deletion to Datacite #332 #369
    • create draft DOIs for both Study and Datasets and add them to the folder extraInfo when published
    • delete draft DOIs on object delete
    • update DOI info at Datacite when folder is published
  • VScode Dev environment #287
    • Add VS Code development container
    • Update docker for development
  • Docker-compose and docker-compose-tls files changed to use variables from .env file. #301
  • Add folder querying by name #305
    • Add indexing on database initialization
    • Add new field text_name to folder collection
    • Python scripts for database operations. mongo_indexes.py for collections and indexes creation to be run if the database is destroyed and clean_db.py script with new functionality to only delete documents from collections
    • update github actions
  • Add folder querying by date #308
  • Add description to JSON schemas #323
    • add JSON schema spelling checker to pyspelling github action
    • optimise wordlist by adding regex ignore patterns
    • added pyspelling to pre-commit hooks (fixed syntax for scripts according to https://github.com/koalaman/shellcheck )
    • enum are sorted alphabetically, with the exception of other and unspecified values which are left at the end of the list
    • allow for accession key in referenceAlignment & process sequence as array, previously all accession keys were converted to accessionId which is not correct
    • add default gender as unknown
  • Project ownership #346
    • added new collection project
    • added new key projects to user
    • added new key projectId to folder and template-* collections
    • new mandatory /userinfo value from AAI at login time sdSubmitProjects
      • user is redirected to an info page by AAI if key is missing
    • new mandatory query parameter projectId in GET /folders
    • new mandatory JSON key projectId in POST /folders and POST /templates
    • new endpoint GET /templates to replace GET /users/current {"templates":[...]}
    • new JSON keys index and tags to PATCH /templates/schema/templateId, same values as were previously used in PATCH /user which is now removed
    • WARNING: breaking change that requires fresh database, because "project" is new information that did not exist before, and it can't be migrated to existing user-owned hierarchy
  • Multilevel add patch objects to support /extraInfo/datasetIdentifiers/- which needs dot notation for mongodb to work e.g. extraInfo.datasetIdentifiers #332

Changed

  • Refactor auth.py package by removing custom OIDC code and replacing it with https://github.com/IdentityPython/JWTConnect-Python-OidcRP. #315
    • New mandatory ENV OIDC_URL
    • New optional ENVs OIDC_SCOPE, AUTH_METHOD
    • Added oidcrp dependency
  • Use node 16+ #345
  • VScode Dev environment #287
    • Adds requirements-dev.in/txt files. Now pip dependencies can be managed with pip-tools
    • README updated with tox command, development build instructions, and prettify Dockerfile.
  • Update ENA XML and JSON schemas #299
  • Github actions changed the use of https://git.io/misspell to rojopolis/spellcheck-github-actions #316
  • Separated most of the handlers to own files inside the handlers folder #319
  • allow inserting only one study in folder #332
  • JSON schemas #332
    • introduce keywords required for Metax in doiInfo
    • dataset description and study studyAbstract are now mandatory
  • keywords will be comma separated values, that will require splitting when adding to Metax API

Fixed

  • Coveralls report #267
  • Typos for functions and tests #279
  • Fix spelling mistakes for JSON schemas #323
  • Oidcrp does not allow empty values, prefill them in mockauth so front-end can start #333
  • Fix development environment #336
    • Add env vars OIDC_URL and OIDC_URL_TEST to mock auth container
    • Adds logging configs for mock auth
    • Updates mock auth api's token endpoint with expiration configs
    • Adds config .pre-commit-config.yaml file required by pre-commit library
    • Redirect url in docker-compose is now default
    • Adds logging for doi mock api

Removed

  • Removed Authlib dependency #315
  • Project ownership #346
    • deprecated folders and templates keys from GET /users/current
      • as a side effect, deprecated items query parameter from the same endpoint
    • deprecated PATCH /user

Deprecated

  • Deprecated ENVs ISS_URL, AUTH_URL, AUTH_REFERER, JWK_URL #315