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:

---
.
├── cassandra-connection
├── dataset
├── file-definition
├── git
├── mongodb-connection
├── neo4j-connection
├── neo4j-graph-model
├── partition
├── pipeline-log
├── pipeline-probe
├── pipeline-run-configuration
│   ├── local.json
│   └── Spark.json
├── rdbms
│   └── crm.json
├── server
├── splunk
├── unit-test
├── web-service
├── workflow-log
└── workflow-run-configuration
    └── local.json
18 directories, 4 files
---