Skip to content

Latest commit

 

History

History
59 lines (48 loc) · 2.12 KB

specification.adoc

File metadata and controls

59 lines (48 loc) · 2.12 KB

Webapp / Openshift Cartridge for editing awestruct sites

The basic specification will probably end up becoming a living document. Please make use of the checkboxes to indicate what has been completed. The following are the different types of checkboxes:

{open}
{closed}
{working}

and look like this:

[{nbsp}] — open [✔] — closed [➜] — working

Adding a git treeish next to checkbox in parens as the work is done would also be a nice touch.

The UI of the editor

  • [{nbsp}] must display the list of actual files in the site

    • [{nbsp}] must allow the user to navigate to a specific file

    • [{nbsp}] should be easily available at all times

  • [{nbsp}] must display a preview of the site

    • [{nbsp}] may have a user interaction feature for displaying the preview on demand

    • [{nbsp}] should auto update the preview after content changes

  • [{nbsp}] must contain a content editing section

    • [{nbsp}] must be able to display the contents of the selected file

    • [{nbsp}] may be syntax aware (i.e. highlighting)

    • [{nbsp}] should detect changes and ask for saving / canceling upon navigation changes

    • [{nbsp}] must be able to save to a changeset

    • [{nbsp}] must support Markdown at launch

    • [{nbsp}] should be extensible to support other supported markup flavors

  • [{nbsp}] should be able to initiate a new changeset

    • [{nbsp}] detailed information about a changeset may be visible

    • [{nbsp}] files changed in a changeset must be visible

  • [{nbsp}] must allow importing from an existing repository

    • [{nbsp}] must allow importing from an existing clone on github

    • [{nbsp}] must support taking a url to a canonical repo, forking it, and using the fork

Backend

  • [{nbsp}] must support Git and Github

    • [{nbsp}] must possible to fork / clone a site

    • [{nbsp}] must be possible to send pull requests

    • [{nbsp}] must be able to push commits

    • [{nbsp}] must be able to make a git commit

    • [{nbsp}] must be able to create branches

    • [{nbsp}] must be able to add comments to pull requests

    • [{nbsp}] must be able to view pull requests