Development Roadmap
This roadmap organizes upcoming work for the Michael J Wright archive into delivery buckets. Each bucket lists the core milestones and highlights the current focus. Update the status notes at the end of every sprint and regenerate the documentation site (npm run build:docs).
1. Repository Structure & Preservation
- Finalize Fedora container hierarchy (6 collections: paintings, drawings, sculptures, photographs, poems, notebooks + series structure).
- Document naming conventions for binaries, derivatives, and metadata payloads.
- Define RDF models for descriptive, technical, and rights metadata (Dublin Core + Schema.org).
- Introduce SHACL/JSON Schema validation and add runbook to
/docs. - Status: ✅ Complete. Container hierarchy implemented with all 6 collection types. Metadata templates created for each type.
2. Ingestion & Curation Workflow
- Build multi-file ingestion tool (submit-ingest worker with 6-step wizard supporting 100 files/50MB each).
- Automate metadata assignment (bulk + individual overrides, catalog ID generation).
- Capture provenance and creation metadata for each ingest.
- Publish curator onboarding guide with step-by-step instructions (submission-guide.md, curators-guide.md).
- Automate derivative generation (WebP, thumbnails, PDF conversions).
- Status: ✅ Core ingestion complete. Submit worker live at submit.michaeljwright.com.au with Azure AD SSO protection.
3. API & Public Site Integration
- Expose Fedora REST API via Cloudflare Worker (api.data.michaeljwright.com.au).
- Add security headers, CORS, and automatic authentication to Worker.
- Build archive management interface (manage worker at manage.michaeljwright.com.au).
- Deploy documentation frontend (Pages at data.michaeljwright.com.au).
- Add pagination, filtering, and cache headers to Worker responses.
- Provide IIIF Presentation manifests for high-value items.
- Connect michaeljwright.com.au to Worker endpoints for content pulls.
- Status: ✅ Worker infrastructure complete. API proxy live with Azure AD authentication. Management UI deployed.
4. Discovery & Syndication
- Mirror metadata into search index (OpenSearch/Algolia).
- Build partner export formats (JSON, CSV, METS) with scheduling.
- Evaluate OAI-PMH or other interoperability protocol requirements.
- Coordinate with partner institutions for pilot ingestion.
- Status: Partner outreach initiated; export format mapping underway.
5. Operations & Governance
- Configure Cloudflare Tunnel (no public IP architecture).
- Implement Cloudflare Zero Trust with Azure AD SSO for worker access.
- Deploy dual JWT authentication (Cloudflare Access + service tokens).
- Configure Docker isolation for Fedora + PostgreSQL.
- Document complete security architecture (defense-in-depth with 5 layers).
- Configure Prometheus + Grafana dashboards and alert thresholds.
- Automate nightly backups for Fedora binaries and PostgreSQL dumps.
- Establish quarterly secret rotation schedule.
- Status: ✅ Security infrastructure complete. Zero Trust live with Azure AD. Monitoring tools deployed but dashboards need configuration.
6. Documentation & Community
- Expand
/docswith comprehensive guides (11 documentation files):- Security architecture overview
- Curator's guide with complete workflows
- Submission interface guide
- Metadata standards
- Controlled vocabularies
- System architecture
- Azure deployment guide
- Production checklist
- Build automated documentation pipeline (build-docs.js).
- Deploy documentation frontend with navigation.
- Add contributor guidelines, coding standards, and issue templates.
- Record short walkthrough videos for curators and developers.
- Schedule quarterly roadmap reviews with stakeholders.
- Status: ✅ Documentation hub complete with automated build/deploy. 11 guides published at data.michaeljwright.com.au/docs/.
How to Update This Roadmap
- Edit this file to reflect progress or add new milestones.
- Run
npm run build:docsto regenerate HTML outputs. - Deploy the updated documentation with
npm run pages:deploy. - Note major shifts in the engagement plan so stakeholders stay aligned.