The I-GUIDE Catalog is part of of the I-GUIDE Cyberinfrastructure Platform. The Platform supports collaborative research along with computation and data-intensive geospatial problem solving. Within the context of the I-GUIDE Platform, the goal of the Catalog is to allow users to find, explore, and share data, models, code, software, hosted services, computational resources, and learning materials. A major goal of the catalog is to make these resources "actionable" - e.g., once a user finds a resource, they should be able to interact with the content of the resource and/or launch it into an appropriate analysis or computational environment for execution and exploration.
The I-GUIDE Catalog is currently deployed at https://iguide.cuahsi.io/.
Please report any bugs or ideas for enhancements to the I-GUIDE Catalog issue tracker:
https://github.com/I-GUIDE/catalog/issues
The I-GUIDE Catalog is released under the BSD 3-Clause License. This means that you can do what you want with the code provided that you inlude the BSD copyright and license notice in it.
©2024 I-GUIDE Developers.
This material is based upon work supported by the National Science Foundation (NSF) under award 2118329. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF.
cp .env.template .env
make build
make up
make format
make schema
Files in api/models/schemas
are served at /api/schemas
(i.e. https://localhost/api/schemas/dataset.json)
For discovery to work the mongo db must be configured to use Atlas, search indexes created and a couple of adminstrative settings must be configured. Reach out to sblack@cuahsi.org if you need a db for development work.
- Update the .env file with Atlas credentials
OIDC_ISSUER=https://orcid.org/
DB_USERNAME={username}
DB_PASSWORD={password}
DB_HOST=cluster0.iouzjvv.mongodb.net
DATABASE_NAME=iguide_{user}
DB_PROTOCOL=mongodb+srv
HYDROSHARE_META_READ_URL=https://www.hydroshare.org/hsapi2/resource/%s/json/
HYDROSHARE_FILE_READ_URL=https://www.hydroshare.org/hsapi/resource/%s/files/
TESTING=True
- Login and submit a record to create all the collections
- Run
api/models/management/change_streams_pre_and_post.py
- Create the catalog and typeahead indexes from
atlas/
(TODO detailed instructions)
Triggers have their own docker image (docker/triggers/Dockerfile
). There are two triggers:
triggers/update_catalog.py
listens to the Submission collections and updates the discovery collection accordingly.triggers/update_typeahead.py
listens to the discovery collection and updates the typeahead collection accordingly.
The triggers have not been configured with a resume_token
yet.
A vue application. docker/frontend/Dockerfile
deploys a development version of the vue application and is slow to start up. Deployments should use frontend/Dockerfile
as it is configured to generate the static files and then serve them.