Skip to content

How to deploy a custom OBO dashboard

Updated 2022 Workflow

We developed a completely automated variant of the Custom OBO Dashboard Workflow, which does not require any local installation.

deploy-custom-obo-dashboard workflow

  1. Create a repository using the Dashboard template repository. (How to create a repository from a template)
  2. Modify the dashboard-config.yml file, in particular the ontologies section:
    1. Important: Add your ontology ID to the ID 'id' field
    2. Add the path to your ontology to the mirror_from field.
  3. Optional: use the profile section to overwrite the custom robot report profile and add custom checks!

yaml profile: baseprofile: "https://raw.githubusercontent.com/ontodev/robot/master/robot-core/src/main/resources/report_profile.txt" custom: - "WARN\tfile:./sparql/missing_xrefs.sparql"

  1. Click on Settings > Pages to configure the GitHub pages. Set the Source to deploy from branch, and Branch to build from main (or master if you are still using the old default) and /(root) as directory. Hit Save.

    image

  2. Click on the Actions tab in your repo. On the left, select the Run dashboard workflow and click on the Run workflow button. This action will rebuild the dashboard and make a pull request with the changes.

  3. Review and merge the pull request. Once it is merged, GitHub will automatically rebuild your dashboard website.
  4. After 5 minutes, click on "Settings" > "Pages" again. You should now a new section with information where your site is deployed: image
  5. Click on Visit site and you should find your new shiny dashboard page!

Troubloushooting

Error on GitHub Action - Run dashboard section

Failed: make dashboard ROBOT_JAR=/tools/robot.jar ROBOT=robot -B with return code 2

There is a known bug at the moment requiring at least one ontology with a warning, error, info and pass, see https://github.com/OBOFoundry/OBO-Dashboard/issues/85.

  1. In your dashboard-config.yml, add a temporary ontology we created to make this work. This is already in the Dashboard template repository.
ontologies:
  custom:
    - id: tmp
      mirror_from: "https://raw.githubusercontent.com/monarch-ebi-dev/robot_tests/master/custom-dashboard.owl"

Error on GitHub Action - Create Pull Request section

remote: Permission to <name of the user or organization>/<name of the repository>.git denied to github-actions[bot].

You need to update the workflow permission for the repository.

  1. Click on Settings, then Actions on the left menu, then General.
  2. Scroll down to the 'Workflow permissions section. Select the option 'Read and write permissions'. Save.

Error: GitHub Actions is not permitted to create or approve pull requests.

You need to enable GitHub Actions to create pull requests.

  1. Click on Settings, then Actions on the left menu, then General.
  2. Scroll down to the 'Workflow permissions section. Click on the 'Allow GitHub Actions to create and approve pull requests' checkbox.

2021 Edition

Contributed by @XinsongDu, edited by @matentzn

  1. Clone https://github.com/OBOFoundry/obo-nor.github.io and copy all its contents to a new GitHub repo under your account. Ensure that the .gitignore from the obo-nor.github.io repo is also copied to your new repo (it is frequently skipped or hidden from the user in Finder or when using the cp command) and push to everything to GitHub.
  2. Pull the Ontology Development Kit from Docker Hub (can take a while):
docker pull obolibrary/odkfull
  1. Modify the dashboard-config.yml file, in particular the ontologies section:
  2. Important: Add your ontology ID to the ID 'id' field
  3. Add the path to your ontology to the mirror_from field.
  4. Get the "base uri namespace" of the ontology using the following steps: a. Open the ontology in Protégé b. Select a class and press "command + u" (MacOS), the stem of the path would be the base URI namespace (e.g., in EDAM ontology, the base uri namespace is http://edamontology.org/, for Uberon it would be http://purl.obolibrary.org/obo/UBERON_)
  5. Add the base uri namespace to 'base_ns' field of your ontology in the dashboard-config.yml
  6. (As of October 2021 make sure there are multiple ontologies in the dashboard-config.yml, otherwise errors would be reported while running the code. There are currently some bugs in the dashboard code that require at least 2 or 3 ontologies in the list).
  7. In the Makefile uncomment the # before pip install networkx==2.6.2 to ensure the correct network x version is installed.
  8. Run sh run-dash.sh (make sure dashboard folder is empty before running, e.g. rm -rf dashboard/*).
  9. When run successfully, push all changes to GitHub.
  10. Go to GitHub repo you just created, and go to Settings, then Pages, and select your main/master branch as "source", and your root directory. You will see a website URL highlighted in green, where your OBO dashboard is deployed.