Skip to content

Restructure repository to support multiple ontology modules #14

Description

@aigora-de

Summary

The current repository structure only supports publishing IES Common. As we prepare to publish additional domain modules (e.g., IES Building in the Environment domain, and modules in the SDNP domain), we need to restructure the repository to accommodate multiple self-contained ontology modules organised by domain.

Problem

The current flat structure under docs/ does not scale to multiple modules:

  • No clear separation between different ontology modules
  • Version information is global rather than per-module
  • No machine-readable module metadata or registry
  • Cannot easily add domain-specific modules (Environment, SDNP, etc.)

Proposed Solution

Restructure the repository as follows:

Directory Structure

docs/
├── index.md                    # Updated landing page
├── glossary.md                 # Shared glossary
├── assets/                     # Shared assets (unchanged)
└── common/                     # IES Common module
    ├── specification/          # Ontology files and spec docs
    ├── examples/               # Example usage and sample data
    ├── user-guides/            # Module documentation
    ├── module.yml              # Module metadata
    └── CHANGELOG.md            # Module-specific changelog

Future modules will follow the same pattern:

  • docs/environment/building/ — IES Building
  • docs/sdnp/{module}/ — SDNP modules

New Root Files

  • registry.yml — Machine-readable index of all published modules
  • RELEASES.md — Documents composite releases (tested module combinations)

Versioning Strategy

  • Use Git tags for versioning: {module-id}/v{version} (e.g., common/v5.0.0)
  • Release candidate tags: {module-id}/v{version}-rcN
  • Composite release tags: ies-release-{yyyy.mm}
  • Lazy maintenance branches when needed: {module-id}/v{major}.x

Files to Remove

  • Root VERSION file (version info moves to per-module module.yml)
  • Root CHANGELOG.md (content moves to docs/common/CHANGELOG.md)

Implementation Notes

  • Preserve Git history where possible using git mv for file moves
  • Update internal documentation links that may break due to path changes
  • Current version is 5.0.0 with status "release candidate"

Acceptance Criteria

  • IES Common files moved to docs/common/ with correct subdirectory structure
  • module.yml created with module metadata
  • registry.yml created at repository root
  • RELEASES.md created at repository root
  • docs/index.md updated to reflect new structure
  • README.md updated to reflect new structure
  • Root VERSION and CHANGELOG.md removed
  • All documentation links verified working

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions