Skip to content

Convert DP+ to a CKAN extension #98

Description

@jqnatividad

DP+ was forked from DP which uses ckanserviceprovider.

ckanserviceprovider was meant to be a general library for CKAN for making web services, and was originally created in 2013.

Right now, DP and DP+ are really the only users of the library, and in the 10 years since, a lot has changed.

DP+ 0.x will continue to use ckanserviceprovider so older CKAN installations using DataPusher can still use it.

However, especially now that CKAN v2.9 uses Python 3.8+ which DP+ requires to call qsv using subprocess options only available in Python 3.7+, v1.x of DP+ will work as a CKAN extension.

This has the following benefits:

  • easier to maintain as it just works as a regular extension
  • no need to maintain a separate web service running in its own virtualenv
  • we can drop the ckanserviceprovider dependency
  • we can use the ckan_default database to store DP+ job history instead of creating our own DP+ database
  • we can add additional UI elements beyond the existing Datastore tab. Here are some examples of what a DP+ extension can do:
    • Have the ability to set resource-specific DP+ job settings on the UI
    • Have the ability to see how the resource is stored in the Datastore (with datastore_info API)
    • Have a more advanced Data Dictionary interface that goes beyond setting label/description and overriding types

This is already WIP in the https://github.com/dathere/datapusher-plus/tree/dev-v1.0 branch and we hope to the make the first release summer 2023.

EDIT:

This is completed

Now main branch is the same as it was dev-v1.0 and all the contributions, bug fixes should be branched of main

In some time master branch will be renamed into legacy-datapusher-plus in case someone still uses the service version

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    1.xwill be done in DP+ 1.x - DP+ running as CKAN extensionenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions