Skip to content
Data Information System (DAISY) is a data bookkeeping application designed to help Biomedical Research institutions with their GDPR compliance.
Branch: master
Clone or download
Pinar Alper and neoflex Initial commit
Latest commit 8c903b3 Mar 25, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
core Initial commit Mar 25, 2019
data/demo Initial commit Mar 25, 2019
docker Initial commit Mar 25, 2019
elixir_daisy Initial commit Mar 25, 2019
log Initial commit Mar 25, 2019
notification Initial commit Mar 25, 2019
test Initial commit Mar 25, 2019
web Initial commit Mar 25, 2019
.gitignore Initial commit Mar 25, 2019
DEPLOYMENT.md Initial commit Mar 25, 2019
Dockerfile Initial commit Mar 25, 2019
LICENSE Initial commit Mar 25, 2019
README.md Initial commit Mar 25, 2019
conftest.py Initial commit Mar 25, 2019
docker-compose.yaml Initial commit Mar 25, 2019
manage.py Initial commit Mar 25, 2019
pytest.ini Initial commit Mar 25, 2019
setup.py Initial commit Mar 25, 2019
tox.ini Initial commit Mar 25, 2019

README.md

Elixir Daisy

Data Information System (DAISY) is a data bookkeeping application designed to help Biomedical Research institutions with their GDPR compliance.

Using Docker

Requirements

Installation

  1. Get the source code

    git clone git@github.com:elixir-luxembourg/daisy.git
    cd daisy
  2. Create your settings file

    cp elixir_daisy/settings_local.template.py elixir_daisy/settings_local.py

    Optional: edit the file elixir_daisy/settings_local.py to adapt to your environment.

  3. Build daisy docker image

    docker-compose up --build

    Wait for the build to finish and keep the process running

  4. Open a new shell and go to daisy folder

  5. Build the database

    docker-compose exec web python manage.py migrate
  6. Build the solr schema

    docker-compose exec web python manage.py build_solr_schema -c /solr/daisy/conf -r daisy -u default
  7. Compile and deploy static files

    docker-compose exec web python manage.py collectstatic
  8. Create initial data in the database

    docker-compose exec web python manage.py load_initial_data

    Initial data includes, for instance, controlled vocabularies terms and initial list of institutions and cohorts.
    This step can take several minutes to complete

  9. Load demo data

    docker-compose exec web python manage.py load_demo_data

    This will create mock datasets, projects and create an demo admin account.

  10. Optional - import users from an active directory instance

    docker-compose exec web python manage.py import_users
  11. Build the search index

    docker-compose exec web python manage.py rebuild_index -u default
  12. Browse to https://localhost
    a demo admin account is available:

        username: admin
        password: demo
    

Operation manual

Import projects

docker-compose exec web python manage.py import_projects -f ${PROJECTS_JSON}

where ${PROJECTS_JSON} is the path to a json file containing the projects definitions.
See file daisy/data/projects.json as an example.

Import datasets

docker-compose exec web python manage.py import_datasets -d ${DATASETS_FOLDER}

where ${DATASETS_FOLDER} is the path to a folder containing datasets and data declarations definitions.
See folder daisy/data/datasets as an example.

Without Docker - CentOS

See DEPLOYMENT.

Development

To be completed.

Import users from active directory

./manage.py import_users

Import projects from external system

./manage.py import_projects -f path/to/json_file.json

Import datasets from external system

./manage.py import_datasets -d path/to/folder_with_json

Install js and css dependencies

cd web/static/vendor/
npm install

Compile daisy.scss

cd web/static/vendor
npm run-script build

Run the built-in web server (for development)

./manage.py runserver

Run the tests

The following command will install the test dependencies and execute the tests:

python setup.py pytest

If tests dependencies are already installed, one can also run the tests just by executing:

pytest

Administration

To get access to the admin page, you must log in with a superuser account.
On the Users section, you can give any user a staff status and he will be able to access any project/datasets.

You can’t perform that action at this time.