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
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:Proposed Solution
Restructure the repository as follows:
Directory Structure
Future modules will follow the same pattern:
docs/environment/building/— IES Buildingdocs/sdnp/{module}/— SDNP modulesNew Root Files
registry.yml— Machine-readable index of all published modulesRELEASES.md— Documents composite releases (tested module combinations)Versioning Strategy
{module-id}/v{version}(e.g.,common/v5.0.0){module-id}/v{version}-rcNies-release-{yyyy.mm}{module-id}/v{major}.xFiles to Remove
VERSIONfile (version info moves to per-modulemodule.yml)CHANGELOG.md(content moves todocs/common/CHANGELOG.md)Implementation Notes
git mvfor file movesAcceptance Criteria
docs/common/with correct subdirectory structuremodule.ymlcreated with module metadataregistry.ymlcreated at repository rootRELEASES.mdcreated at repository rootdocs/index.mdupdated to reflect new structureREADME.mdupdated to reflect new structureVERSIONandCHANGELOG.mdremoved