Skip to content

Implement Registry Storage Structure #155

@undead2146

Description

@undead2146

Description

Set up the repository file structure for storing CSV registries and implement versioning strategy for CSV updates.

Requirements

• Create docs/GameInstallationFilesRegistry/ directory structure
• Implement multi-CSV storage (Generals-1.08.csv, ZeroHour-1.04.csv)
• Add versioning strategy for CSV updates (new versions get new filenames, old versions remain)
• Ensure GitHub usercontent API accessibility
• Follow repository organization patterns

Versioning Strategy

File Naming Convention:

  • Generals-{version}.csv (e.g., Generals-1.08.csv, Generals-1.09.csv)
  • ZeroHour-{version}.csv (e.g., ZeroHour-1.04.csv, ZeroHour-1.05.csv)

Update Process:

  • New game versions get new CSV files with versioned names
  • Old CSV files are not overwritten - they remain for historical reference
  • index.json is updated to reference the latest versions
  • CSVDiscoverer always uses the latest version from index.json

Example GitHub Raw URLs:

https://raw.githubusercontent.com/Community-Outpost/GenHub/main/docs/GameInstallationFilesRegistry/Generals-1.08.csv
https://raw.githubusercontent.com/Community-Outpost/GenHub/main/docs/GameInstallationFilesRegistry/ZeroHour-1.04.csv

Acceptance Criteria

  • Repository structure created: docs/GameInstallationFilesRegistry/
  • Multi-CSV files stored correctly (Generals + Zero Hour)
  • Files accessible via GitHub raw content URLs
  • Versioning strategy implemented for updates
  • File organization follows repository conventions
  • CSV files compressed if needed for large sizes
  • Discovery via index.json (docs/GameInstallationFilesRegistry/index.json) is the primary mechanism

Technical Details

Directory Structure

docs/GameInstallationFilesRegistry/
├── index.json              # Metadata index
├── Generals-1.08.csv      # Generals registry
├── ZeroHour-1.04.csv      # Zero Hour registry
└── README.md              # Documentation

Versioning Strategy

File Naming: GameType-Version.csv (e.g., Generals-1.08.csv)

Key Rules:

  • New versions get new files
  • Old versions remain for reference
  • index.json always points to latest versions

GitHub URLs

https://raw.githubusercontent.com/Community-Outpost/GenHub/main/docs/GameInstallationFilesRegistry/Generals-1.08.csv
https://raw.githubusercontent.com/Community-Outpost/GenHub/main/docs/GameInstallationFilesRegistry/index.json

Implementation Steps

  1. Create directory structure in repository
  2. Set up .gitignore for generated files
  3. Implement versioning with timestamps and version numbers
  4. Test GitHub raw content access for all files
  5. Document storage procedures for maintainers

Cross-Cutting Sub-Issues (EPIC #108)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions