Skip to main content

Introduces or lifts restrictions (authorization) for managing data and metadata on DCOR

Project description

This module introduces/lifts restrictions (authorization) for the management of data and meta data on DCOR. The corresponding UI elements are modified accordingly:

  • Authorization (auth.py)

    • allow all logged-in users to create datasets, labs, and collections

    • do not allow deleting datasets or resources unless they are drafts

    • allow purging of deleted datasets

    • do not allow adding resources to active datasets

    • do not allow bulk_update_delete (e.g. datasets by organization admins)

    • dataset: do not allow switching to a more restrictive license

    • dataset: do not allow changing the name (slug)

    • resource: only allow changing the “description”

    • Do not allow uploading resources with the same name (ckanext-dcor_depot)

    • Allow adding resources up to 3h after creating dataset

    • Do not allow setting a resource id when uploading

  • Permissions (plugin.py)

    • Allow a user A to see user B’s private dataset if the private dataset is in a group that user A is a member of.

  • Validation (validate.py)

    • Do not allow setting a different resource name when uploading

    • Do not allow weird characters in resource names

    • Restrict to basic CC licenses

    • Author list “authors” is CSV

    • Parse DOI field (remove URL part)

    • Automatically generate dataset name (slug) using random characters if necessary (does not apply to admins)

    • restrict upload data extensions to .rtdc, .csv, .tsv, .pdf, .txt, .png, .jpg, .tif, .py, .ipynb

    • Force user to select a license

    • Do not allow non-admins to set the visibility of a public dataset to private

    • Configuration metadata (using dclab.dfn.config_funcs)

    • A dataset is considered to be a draft when it does not contain resources (validate.state)

    • Allow to delete draft datasets

  • UI Dataset:

    • hide “add new resource” button in templates/package/resources.html

    • remove url, version, author, author_email, maintainer, maintainer_email (templates/package/snippets/package_metadata_fields.html)

    • add field authors (csv list)

    • add field doi (validator parses URLs)

    • add field references (parses arxiv, bioRxiv, DOI, links)

    • add CC license file licenses.json (only show less restrictive licenses when editing the dataset)

    • hide name (slug) editing form

    • dataset visibility is public by default

  • UI Organization:

    • remove “Delete” button in bulk view

  • UI Resource:

    • Resource: remove “URL” button when creating a resource (only upload makes sense) (fanstatic/dcor_schemas_data_upload.js and templates/package/snippets/resource_form.html)

    • Add metadata key sha256 (and protect it with IResourceController.before_update)

    • Do not show variables these variables (because they are redundant): [‘last modified’, ‘revision id’, ‘url type’, ‘state’, ‘on same domain’] (templates/package/resource_read.html)

    • Show DC config data via “toggle-more”

  • Background jobs:

    • set the mimetype for each dataset

    • populate “dc:sec:key” metadata for each DC dataset

    • generates sha256 hash upon resource creation

Installation

Simply run

pip install ckanext-dcor_schemas

In the configuration file ckan.ini:

ckan.plugins = [...] dcor_schemas
ckan.extra_resource_fields = sha256

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanext-dcor_schemas-0.9.0.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

ckanext_dcor_schemas-0.9.0-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file ckanext-dcor_schemas-0.9.0.tar.gz.

File metadata

  • Download URL: ckanext-dcor_schemas-0.9.0.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for ckanext-dcor_schemas-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9a619d5e18daf6e232ec1745fac471a50090d7c89149da1efce147a65c8fbae7
MD5 535ee45e57c7df04c83149d1889510f2
BLAKE2b-256 5e33ed19a8f2c675bf7c7f6a725b732ac6ca447dc8d8251f9fd4d9c8a093ed08

See more details on using hashes here.

File details

Details for the file ckanext_dcor_schemas-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: ckanext_dcor_schemas-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for ckanext_dcor_schemas-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2cc4ca950d1cd0e77ec15887001a5c8f422740ac3867620edafcc71924109c7
MD5 06f57d541a98d91e78c6f29067bfc7f3
BLAKE2b-256 3c26a33297fe45d3ab60a37f6c1b60141e9628ebcb5c7e271fb92feff6b6a108

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page