Skip to content

implement source versioning #70

@tripodsan

Description

@tripodsan

api

lists the versions of a resource

GET /<org>/sites/<site>/source<path>/.versions

get a version of a resource

GET /<org>/sites/<site>/source<path>/.versions/<version>

restore a version of a resource

POST /<org>/sites/<site>/source<path>?restore=<version>

storage

versions are stored below the source document, eg:

/org/site/index.html/.versions/1

A index.json is updated that records all versions for quick retrieval, eg:

/org/site/index.html/.versions/index.json

the index also contains:

  • timestamp when the version was created
  • user that created the version
  • operation that caused the version (create, preview, restore)
  • optional comment

other:

  • versions are only created on demand or when the document is previewed; but only if different than the version before
  • only text files are versioned (?)
  • never create an empty version
  • to be discussed if a collab log is needed, that records at what time, which users made changes (and not versions). but this can be independent of the versions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions