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.
- Fork https://github.com/OBOFoundry/obo-nor.github.io or make a copy (how to make a copy quickly) (probably better to make a copy)
- Modify the
dashboard-config.yml
file, in particular theontologies
section: - Important: Add your ontology ID to the ID 'id' field
- Add the path to your ontology to the
mirror_from
field. - Optional: use the
profile
section to overwrite the custom robot report profile and add custom checks!
profile:
baseprofile: "https://raw.githubusercontent.com/ontodev/robot/master/robot-core/src/main/resources/report_profile.txt"
custom:
- "WARN\tfile:./sparql/missing_xrefs.sparql"
-
Click on "Settings" > "Pages" to configure the
GitHub pages
. Set theSource
to deploy from branch, andBranch
to build frommain
(ormaster
if you are still using the old default) and/(root)
as directory. HitSave
. -
Click on the
Actions
tab in your repo. On the left, select theRun dashboard
workflow and click on theRun workflow
button. This action will rebuild the dashboard and make a pull request with the changes. - Review and merge the pull request. Once it is merged, GitHub will automatically rebuild your dashboard website.
- After 5 minutes, click on "Settings" > "Pages" again. You should now a new section with information where your site is deployed:
- Click on
Visit site
and you should find your new shiny dashboard page!
2021 Edition¶
Contributed by @XinsongDu
, edited by @matentzn
- 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 theobo-nor.github.io
repo is also copied to your new repo (it is frequently skipped or hidden from the user inFinder
or when using thecp
command) and push to everything to GitHub. - Pull the Ontology Development Kit from Docker Hub (can take a while):
docker pull obolibrary/odkfull
- Modify the
dashboard-config.yml
file, in particular theontologies
section: - Important: Add your ontology ID to the ID 'id' field
- Add the path to your ontology to the
mirror_from
field. - 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_)
- Add the base uri namespace to 'base_ns' field of your ontology in the dashboard-config.yml
- (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).
- In the Makefile uncomment the
#
beforepip install networkx==2.6.2
to ensure the correct network x version is installed. - Run
sh run-dash.sh
(make sure dashboard folder is empty before running, e.g.rm -rf dashboard/*
). - When run successfully, push all changes to GitHub.
- 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.