Final steps

You can now address the warnings displayed after completing the cookiecutter initialisation procedure. You can run the following command to find all the TODO:

$ cd my-site/
$ grep --color=always --recursive --context=3 --line-number TODO .

Let’s address them one by one:

  1. Python packages require a MANIFEST.in which specifies what files are part of your application package. You can update the existing file by running the following commands in your site directory:

    $ git init
    $ git add --all
    $ pipenv run check-manifest --update
    
  2. Translations configuration (.tx/config). You can generate the necessary files to allow localization of the instance in different languages via the Transifex platform:

    # if you have activated the virtual environment skip `pipenv shell`
    $ pipenv shell
    (my-site)$ python setup.py extract_messages
    (my-site)$ python setup.py init_catalog -l en
    (my-site)$ python setup.py compile_catalog
    

    Transifex

    Make sure you edit .tx/config and sign-up for Transifex before trying below steps.

    Install the transifex-client

    $ pipenv install transifex-client
    

    Push source (.pot) and translations (.po) to Transifex:

    $ pipenv run tx push --skip --translations
    

    Pull translations for a single language from Transifex

    $ pipenv run tx pull --language en
    

REST APIs permissions

By default, a new Invenio instance has no permissions configured. This means that any user can perform operations to records such as read, update, create and delete. You can check the Managing access to records documentation to learn how to configure permissions in Invenio.

Testing

Tests are available in the tests folder. You can add your own tests and then run run linting checks and tests using the script run-tests.sh:

$ ./run-tests.sh
# ...or to run individual tests
$ pipenv run pytest tests/test_version.py

Documentation

A basic documentation structure and configuration using Sphinx is available in the docs folder. You build it to generate the final HTML files by running:

$ pipenv run python setup.py build_sphinx

Then, open the file docs/_build/html/index.html in your browser to see the generated documentation.