Project Metadata

A project’s metadata typically contains a number of database connections (relational or NoSQL), logging configurations and so on. This metadata is stored on a project level and is available through the metadata perspective.

The way metadata typically is handled is:

  • metadata objects (connections, logging, …​) are defined on a project level. E.g. a CRM database connection is created in the project, using a number of variables for hostname (${CRM_HOST}) and database name (${CRM_DBNAME}), with corresponding variables for the port, username, password and so on.

  • the metadata object configuration is defined on an environment level, where a number of variable values are created the contain the ip address for ${CRM_HOST} etc.

A project’s metadata is stored in ${PROJECT_HOME}/metadata, but can be overruled by setting the project’s metadata base folder ${HOP_METADATA_FOLDER} property in the project configuration dialog or directly in the project-config.json file.

A basic project metadata folder will look similar to the one below:

  1. .
  2. ├── cassandra-connection
  3. ├── dataset
  4. ├── file-definition
  5. ├── git
  6. ├── mongodb-connection
  7. ├── neo4j-connection
  8. ├── neo4j-graph-model
  9. ├── partition
  10. ├── pipeline-log
  11. ├── pipeline-probe
  12. ├── pipeline-run-configuration
  13. ├── local.json
  14. └── Spark.json
  15. ├── rdbms
  16. └── crm.json
  17. ├── server
  18. ├── splunk
  19. ├── unit-test
  20. ├── web-service
  21. ├── workflow-log
  22. └── workflow-run-configuration
  23. └── local.json
  24. 18 directories, 4 files