Skip to content

contribution guidelines updates - Creating a New Schema Module #88

Description

@Raphael-Gazzotti

Creating a New Schema Module

1. Create a New Repository

  1. Navigate to the openMetadataInitiative organization repositories page and click New repository:

  2. Configure the repository:

    • Provide a repository name.
    • Set the repository visibility to Public.

2. Configure the Repository

Branch Setup

Create at least a v1 branch, which will be used for submissions. You may also create a dev branch, but it should only be used for developing new extensions or features. Before submitting, ensure that your submission is on the v1 branch.

GitHub Workflows

Add the following GitHub Actions workflow files:

  • openMINDS_upstream.yml: Synchronizes schema modifications with the central openMINDS repository.

  • schema_validator.yml: Validates newly submitted schemas through pull requests.

Repository Permissions

  1. Open the repository Settings.
  2. Navigate to Collaborators and teams.
  3. Add the user openMINDSautomation under direct access.
  4. Assign at least the Read role.

3. Add Repository Metadata

  1. On the repository homepage, click the gear icon next to About.

  2. Add the following topics:

    • openMINDS
    • schema-module
  3. Provide a concise description of the schema module.

4. Track Extension Development

Use the Discussions tab to document major schema changes and important design decisions throughout the development of an extension. This provides a simple record of the extension's evolution and makes it easier for collaborators to review and discuss changes.


Releasing a New openMINDS Version

1. Clone the Repository

Clone the pipeline branch of the openMINDS repository:

git clone -b pipeline https://github.com/openMetadataInitiative/openMINDS.git

2. Update versions.json

Add a new version entry using the following structure (elements prefixed with $ are placeholders):

"$Version": {
  "modules": {
    "$module_name": {
      "branch": "$branch_version",
      "repository": "$repository.git"
    }
  },
  ...
  "namespaces": {
    "instances": "https://openminds.om-i.org/instances/",
    "props": "https://openminds.om-i.org/props/",
    "types": "https://openminds.om-i.org/types/"
  }
}

3. Update Commit References

Run the following command (the script is available here):

python update_commits.py --version $Version

This updates the commit references associated with the specified version.

4. Submit the Release

  1. Create a new branch for your changes.
  2. Commit the updated files.
  3. Open a pull request targeting the pipeline branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    docuImprovements or additions to documentationenhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions