"Structured metadata extension for CKAN"
Project description
.. You should enable this project on travis-ci.org and coveralls.io to make
these badges work. The necessary Travis and Coverage config files have been
generated for you.
.. image:: https://travis-ci.org/espona/ckanext-composite.svg?branch=master
:target: https://travis-ci.org/espona/ckanext-composite
.. image:: https://coveralls.io/repos/espona/ckanext-composite/badge.svg
:target: https://coveralls.io/r/espona/ckanext-composite
.. image:: https://pypip.in/download/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi//ckanext-composite/
:alt: Downloads
.. image:: https://pypip.in/version/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Latest Version
.. image:: https://pypip.in/py_versions/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Supported Python versions
.. image:: https://pypip.in/status/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Development Status
.. image:: https://pypip.in/license/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: License
=============
ckanext-composite
=============
.. Put a description of your extension here:
What does it do? What features does it have?
Consider including some screenshots or embedding a video!
Allows to store structured dataset metadata, single or multiple fields. Only one level of subfields is possible. The subfields can be basic text, date type o choice dropboxes. Do not use dashes or numbers in the labels or values of fields.
------------
Requirements
------------
Developed for CKAn version 2.5.2. Requires the extensions ckanext-scheming and ckanext-repeating (using version from repository eawag-rdm).
------------
Installation
------------
.. 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-composite:
0. Install the ckan extensions ckanext-scheming and ckanext-composite
1. Activate your CKAN virtual environment, for example::
. /usr/lib/ckan/default/bin/activate
2. Install the ckanext-composite Python package into your virtual environment::
pip install ckanext-composite
3. Add ``composite`` to the ``ckan.plugins`` setting in your CKAN
config file (by default the config file is located at
``/etc/ckan/default/production.ini``).
4. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu::
sudo service apache2 reload
---------------
Config Settings
---------------
Additional config settings::
scheming.presets = ckanext.scheming:presets.json
ckanext.repeating:presets.json
ckanext.composite:presets.json
Add this to your schema.json file::
# Composite Field
{
"field_name": "maintainer",
"label": "Maintainer",
"preset": "composite",
"subfields":[
{
"field_name": "name",
"label": "Name",
"form_placeholder": "Joe Bloggs"
},
{
"field_name": "email",
"label": "Email",
"form_placeholder": "joe@example.com"
},
{
"field_name": "date",
"label": "Date",
"preset": "date",
"form_placeholder": "yyyy-mm-mm"
},
{
"field_name": "identifier_scheme",
"label": "Scheme",
"preset": "select",
"choices": [
{
"value": "orcid",
"label": "ORCID"
},
{
"value": "isni",
"label": "ISNI"
}
]
}
]
}
# Composite Repeating Field
{
"field_name": "author",
"label": "Authors",
"preset": "composite_repeating",
"form_blanks": 1,
"subfields": [
{
"field_name": "name",
"label": "Name",
"form_placeholder":"eg. John Smith"
},
{
"field_name": "type",
"label": "Type",
choices = [
{
"value": "collaborator",
"label": "Collaborator"
},
{
"value": "editor",
"label": "Editor"
}
]
}
]
}
------------------------
Development Installation
------------------------
To install ckanext-composite for development, activate your CKAN virtualenv and
do::
git clone https://github.com/espona/ckanext-composite.git
cd ckanext-composite
python setup.py develop
pip install -r dev-requirements.txt
-----------------
Running the Tests
-----------------
To run the tests, do::
nosetests --nologcapture --with-pylons=test.ini
To run the tests and produce a coverage report, first make sure you have
coverage installed in your virtualenv (``pip install coverage``) then run::
nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.composite --cover-inclusive --cover-erase --cover-tests
---------------------------------
Registering ckanext-composite on PyPI
---------------------------------
ckanext-composite should be availabe on PyPI as
https://pypi.python.org/pypi/ckanext-composite. If that link doesn't work, then
you can register the project on PyPI for the first time by following these
steps:
1. Create a source distribution of the project::
python setup.py sdist
2. Register the project::
python setup.py register
3. Upload the source distribution to PyPI::
python setup.py sdist upload
4. Tag the first 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
----------------------------------------
Releasing a New Version of ckanext-composite
----------------------------------------
ckanext-composite is availabe on PyPI as https://pypi.python.org/pypi/ckanext-composite.
To publish a new version to PyPI follow these steps:
1. Update the version number in the ``setup.py`` file.
See `PEP 440 <http://legacy.python.org/dev/peps/pep-0440/#public-version-identifiers>`_
for how to choose version numbers.
2. Create a source distribution of the new version::
python setup.py sdist
3. Upload the source distribution to PyPI::
python setup.py sdist upload
4. 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.2 then do::
git tag 0.0.2
git push --tags
these badges work. The necessary Travis and Coverage config files have been
generated for you.
.. image:: https://travis-ci.org/espona/ckanext-composite.svg?branch=master
:target: https://travis-ci.org/espona/ckanext-composite
.. image:: https://coveralls.io/repos/espona/ckanext-composite/badge.svg
:target: https://coveralls.io/r/espona/ckanext-composite
.. image:: https://pypip.in/download/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi//ckanext-composite/
:alt: Downloads
.. image:: https://pypip.in/version/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Latest Version
.. image:: https://pypip.in/py_versions/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Supported Python versions
.. image:: https://pypip.in/status/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: Development Status
.. image:: https://pypip.in/license/ckanext-composite/badge.svg
:target: https://pypi.python.org/pypi/ckanext-composite/
:alt: License
=============
ckanext-composite
=============
.. Put a description of your extension here:
What does it do? What features does it have?
Consider including some screenshots or embedding a video!
Allows to store structured dataset metadata, single or multiple fields. Only one level of subfields is possible. The subfields can be basic text, date type o choice dropboxes. Do not use dashes or numbers in the labels or values of fields.
------------
Requirements
------------
Developed for CKAn version 2.5.2. Requires the extensions ckanext-scheming and ckanext-repeating (using version from repository eawag-rdm).
------------
Installation
------------
.. 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-composite:
0. Install the ckan extensions ckanext-scheming and ckanext-composite
1. Activate your CKAN virtual environment, for example::
. /usr/lib/ckan/default/bin/activate
2. Install the ckanext-composite Python package into your virtual environment::
pip install ckanext-composite
3. Add ``composite`` to the ``ckan.plugins`` setting in your CKAN
config file (by default the config file is located at
``/etc/ckan/default/production.ini``).
4. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu::
sudo service apache2 reload
---------------
Config Settings
---------------
Additional config settings::
scheming.presets = ckanext.scheming:presets.json
ckanext.repeating:presets.json
ckanext.composite:presets.json
Add this to your schema.json file::
# Composite Field
{
"field_name": "maintainer",
"label": "Maintainer",
"preset": "composite",
"subfields":[
{
"field_name": "name",
"label": "Name",
"form_placeholder": "Joe Bloggs"
},
{
"field_name": "email",
"label": "Email",
"form_placeholder": "joe@example.com"
},
{
"field_name": "date",
"label": "Date",
"preset": "date",
"form_placeholder": "yyyy-mm-mm"
},
{
"field_name": "identifier_scheme",
"label": "Scheme",
"preset": "select",
"choices": [
{
"value": "orcid",
"label": "ORCID"
},
{
"value": "isni",
"label": "ISNI"
}
]
}
]
}
# Composite Repeating Field
{
"field_name": "author",
"label": "Authors",
"preset": "composite_repeating",
"form_blanks": 1,
"subfields": [
{
"field_name": "name",
"label": "Name",
"form_placeholder":"eg. John Smith"
},
{
"field_name": "type",
"label": "Type",
choices = [
{
"value": "collaborator",
"label": "Collaborator"
},
{
"value": "editor",
"label": "Editor"
}
]
}
]
}
------------------------
Development Installation
------------------------
To install ckanext-composite for development, activate your CKAN virtualenv and
do::
git clone https://github.com/espona/ckanext-composite.git
cd ckanext-composite
python setup.py develop
pip install -r dev-requirements.txt
-----------------
Running the Tests
-----------------
To run the tests, do::
nosetests --nologcapture --with-pylons=test.ini
To run the tests and produce a coverage report, first make sure you have
coverage installed in your virtualenv (``pip install coverage``) then run::
nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.composite --cover-inclusive --cover-erase --cover-tests
---------------------------------
Registering ckanext-composite on PyPI
---------------------------------
ckanext-composite should be availabe on PyPI as
https://pypi.python.org/pypi/ckanext-composite. If that link doesn't work, then
you can register the project on PyPI for the first time by following these
steps:
1. Create a source distribution of the project::
python setup.py sdist
2. Register the project::
python setup.py register
3. Upload the source distribution to PyPI::
python setup.py sdist upload
4. Tag the first 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
----------------------------------------
Releasing a New Version of ckanext-composite
----------------------------------------
ckanext-composite is availabe on PyPI as https://pypi.python.org/pypi/ckanext-composite.
To publish a new version to PyPI follow these steps:
1. Update the version number in the ``setup.py`` file.
See `PEP 440 <http://legacy.python.org/dev/peps/pep-0440/#public-version-identifiers>`_
for how to choose version numbers.
2. Create a source distribution of the new version::
python setup.py sdist
3. Upload the source distribution to PyPI::
python setup.py sdist upload
4. 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.2 then do::
git tag 0.0.2
git push --tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ckanext-composite-0.0.2.tar.gz
(12.4 kB
view hashes)