Package: ckanext-relationship
ckanext-relationshipThe extension adds an additional table to the database that stores relationships between
entities in the form of triples (subject_id, object_id, relation_type). The
relation_type parameter sets the type of relationship: peer-to-peer (related_to <=>
related_to) and subordinate (child_of <=> parent_of). Adding, deleting and getting a
list of relationships between entities is carried out using actions (relation_create,
relation_delete, relations_list). The description of the types of relationships between
entities is carried out in the entity schema in the form:- field_name: related_projects
  label: Related Projects
  preset: related_entity
  current_entity: package
  current_entity_type: dataset
  related_entity: package
  related_entity_type: project
  relation_type: related_to
  multiple: true
  updatable_only: false
  required: falseEntity (current_entity, related_entity) - one of three options: package, organization,
group.Entity type (current_entity_type, related_entity_type) - entity customized using
ckanext-scheming.Multiple - toggle the ability to add multiple related entities.Updatable_only - toggle the ability to add only entities that can be updated by the
current user.RequirementsTODO:For example, you might want to mention here which versions of CKAN this
extension works with.If your extension works across different versions you can add the following table:Compatibility with core CKAN versions:CKAN versionCompatible?2.6 and earliernot tested2.7not tested2.8not tested2.9not testedSuggested values:"yes""not tested" - I can't think of a reason why it wouldn't work"not yet" - there is an intention to get it working"no"InstallationTODO:Add any additional install steps to the list below.
For example installing any non-Python dependencies or adding any required
config settings.To install ckanext-relationship:Activate your CKAN virtual environment, for example:. /usr/lib/ckan/default/bin/activateClone the source and install it on the virtualenvgit clonehttps://github.com//ckanext-relationship.gitcd ckanext-relationship
pip install -e .
pip install -r requirements.txtAddrelationshipto theckan.pluginssetting in your CKAN
config file (by default the config file is located at/etc/ckan/default/ckan.ini).Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:sudo service apache2 reloadConfig settingsNone at presentTODO:Document any optional config settings here. For example:# The minimum number of hours to wait before re-checking a resource
# (optional, default: 24).
ckanext.relationship.some_setting = some_default_valueDeveloper installationTo install ckanext-relationship for development, activate your CKAN virtualenv and
do:git clone https://github.com//ckanext-relationship.git
cd ckanext-relationship
python setup.py develop
pip install -r dev-requirements.txtTestsTo run the tests, do:pytest --ckan-ini=test.iniReleasing a new version of ckanext-relationshipIf ckanext-relationship should be available on PyPI you can follow these steps to publish a new version:Update the version number in thesetup.pyfile. SeePEP 440for how to choose version numbers.Make sure you have the latest version of necessary packages:pip install --upgrade setuptools wheel twineCreate a source and binary distributions of the new version:python setup.py sdist bdist_wheel && twine check dist/*Fix any errors you get.Upload the source distribution to PyPI:twine upload dist/*Commit any outstanding changes:git commit -a
git pushTag the new release of the project on GitHub with the version number from
thesetup.pyfile. For example if the version number insetup.pyis
0.0.1 then do:git tag 0.0.1
git push --tagsLicenseAGPL