Skip to main content

No project description provided

Project description

ckanext-drupal-api

The extension helps synchronize the header and footer between CKAN and Drupal.

It uses two versions of the Drupal API - the core Rest API and the JSON:API.

The extension receives data from the Drupal portal through an endpoint (which can be configured in the case of the core REST API) and caches it for a certain time, which can also be changed using the Cache TTL config option, specifying the value in seconds. If you want to synchronize data more often, you need to set a smaller value.

Requirements

  • CKAN>=2.10
  • python>=3.7

Installation

To install ckanext-drupal-api:

  1. Activate your CKAN virtual environment, for example:

    . /usr/lib/ckan/default/bin/activate

  2. Clone the source and install it on the virtualenv

    git clone https://github.com/DataShades/ckanext-drupal-api.git cd ckanext-drupal-api pip install -e . pip install -r requirements.txt

  3. Add drupal_api to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/ckan.ini).

  4. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:

    sudo service apache2 reload

Config settings

The extension provides next configuration options:

# The URL of connected drupal instance
ckanext.drupal_api.drupal_url = http://drupal.com

# Request timeout for API calls in seconds
# (optional, default: 5)
ckanext.drupal_api.timeout = 10

# Cache TTL in seconds
# (optional, default: 3600)
ckanext.drupal_api.cache.duration = 60

# HTTP auth credentials (optional)
ckanext.drupal_api.request.user = username
ckanext.drupal_api.request.pass = password

# API versions, only two options: core & json
# Because, there are two supported API versions: JSON API & RESTful Web Services
ckanext.drupal_api.api_version = json

# If you are using the core API version, you might face the situation when your endpoint differ from the default one
# In this case, you can specify the menu export endpoint through the config, e.g.:
ckanext.drupal_api.core.menu_export_endpoint = /api/v1/menu_export

Developer installation

To install ckanext-drupal-api for development, activate your CKAN virtualenv and do:

git clone https://github.com/DataShades/ckanext-drupal-api.git
cd ckanext-drupal-api
python setup.py develop
pip install -r dev-requirements.txt

Tests

To run the tests, do:

pytest --ckan-ini=test.ini

Releasing a new version of ckanext-drupal-api

If ckanext-drupal-api should be available on PyPI you can follow these steps to publish a new version:

  1. Update the version number in the setup.py file. See PEP 440 for how to choose version numbers.

  2. Make sure you have the latest version of necessary packages:

    pip install --upgrade setuptools wheel twine

  3. Create a source and binary distributions of the new version:

    python setup.py sdist bdist_wheel && twine check dist/*
    

    Fix any errors you get.

  4. Upload the source distribution to PyPI:

    twine upload dist/*
    
  5. Commit any outstanding changes:

    git commit -a
    git push
    
  6. Tag the new release of the project on GitHub with the version number from the setup.py file. For example if the version number in setup.py is 0.0.1 then do:

    git tag 0.0.1
    git push --tags
    

License

AGPL

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_drupal_api-0.7.2.post1.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

ckanext_drupal_api-0.7.2.post1-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file ckanext_drupal_api-0.7.2.post1.tar.gz.

File metadata

File hashes

Hashes for ckanext_drupal_api-0.7.2.post1.tar.gz
Algorithm Hash digest
SHA256 5c4efc5d41ce3fea8f4daf661b6fe43672b78913fbb9ed9c78cc62e21f3297c8
MD5 75ce84c54fea7a93dc56b70c20816593
BLAKE2b-256 058b7355cfa8d54a4f66020eb50e33be551b98fd942bd933437215ff5cd1d344

See more details on using hashes here.

File details

Details for the file ckanext_drupal_api-0.7.2.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_drupal_api-0.7.2.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 070c923d8d2d61dcf7a4a13f456dde296f10ea2e8c4ef57ce7f4d69cb7c13982
MD5 d41b19dcccb69dc714a7be7adf35c274
BLAKE2b-256 b38e22936b706ebf1f90ec3d934a116fa229394c400c3250b4d5d9bcfc8cb3f8

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