roadmap.md 3.7 KB

Pocket Archive Road Map

The first goal is to build a working prototype, with all the basic functional components, even if not entirely developed or only usable in a specific development environment, to demonstrate the overall workflows and functionality.

The second step is to produce a basic application, which is fully functional and available for use by the intended audience.

Beyond the basic application, new features and bug fixes will be driven by usage and opportunities for expanding adoption in relevant areas.

❏ = pending
⚒ = in progress
⎊ = blocked or on hold
✓ = complete
✖︎ = not implemented

✓ Prototype (design -> alpha)

  • Configuration + config parser
    • Application
    • Content model
      • Validation rules
  • Submission module
    • SIP building
    • Metadata from LL
    • Brick structures
    • Structure inference
  • HTML generator
    • Index
    • Resource
    • Static assets
  • Non-HTML generators
    • RDF (turtle)
    • Transformers
    • JS search engine index
  • CLI
    • Init archive
    • Deposit
    • Generate site
    • Generate LL (single resource)
    • Generate RDF (single resource)
  • Front end
    • JS search engine
    • Add collections to index page
    • Basic styling
      • Default type icons
  • QA
    • ~50 resource data set

⚒ Basic application (alpha -> beta -> v1.0)

  • ✖︎ Management UI & API
    • ✖︎ Deposit via single tar or zip file submission
  • ⚒ submission
    • ✓ Watch local folder and trigger submission
      • ✓ Option to regenerate site after submission
      • ✓ Option to clean up sources & LL on success
    • ✓ Submission report
    • ✓ Deleting resources
    • ✓ Allow updating a file's metadata if it's only present in the archive
    • ❏ Prevent modification of system properties
    • ❏ Protect some properties when updating resource
    • ❏ Define list of system-managed properties (user-provided data ignored)
    • ❏ Protect some properties when updating resource
      • Do not update: content_model, submitted, submitted_by
      • Do not delete existing: sub_id
  • ✓ Proper collection handling
    • ✓ Dedicated template
    • ✓ Link to markdown doc for presentation page
    • ✓ Handle artifacts as members
  • ✓ Content model
    • ✓ Generate content model documentation (HTML)
    • ✓ Content model dump (CLI)
    • ✓ Local overrides
  • ⚒ Documentation
    • ✓ Break main sections off README
    • ✓ Watchdog process guide
    • ✓ Submission guide
    • ✓ Content modeling introduction (archivist)
    • ⚒ Content model setup manual (sysadmin)
    • ✓ Glossary
    • ❏ Site generation guide
    • ✓ Migrate doc platform to Mkdocs & publish separately
    • ⚒ API documentation (ldoc + separate site)
  • ⚒ Testing
    • ⚒ Unit tests (Busted)
    • ⚒ Roundtrip submission, download LL, update, resubmission
    • ⚒ >100 resource data set
  • ⚒ Presentation
    • ⎊ Generate site for one collection only
    • ✓ Generate LL for submission
    • ✓ htmlgen option for local file or webserver URL generation
    • ✖︎ Generate RDF (multi) [addressed by dump archive RDF]
    • ✓ Mobile-friendly layout
    • ❏ Enhanced styling and access
    • ❏ Category browsing
    • ❏ Improve search indexing
  • ⚒ Preservation
    • ✓ Dump archive RDF
    • ❏ Backup full environment (including config)
    • ❏ Restore whole archive from RDF & data folder

❏ Post-release wishlist

(will be grouped into separate release plans)

  • Provided checksum verification
  • Multilingual support
  • Schema definition validator
  • Incremental build
  • Rebuild only site assets
  • Custom templating
  • Auto relationships inference
  • Markdown support for property values