Skip to content

Workflows #4

@SteveALee

Description

@SteveALee

[Updated 2022/03/02]

Flows

(Implementation details are below).

  • Add new item
    • a visitor to the WAI website enters details (including their email with explicit permission grant) and submits
    • a reviewer inspects the submission and works with submitter to update if required
    • a reviewer accepts the submission and adds to the current list
    • a WAI site maintainer reviews and adds it to the WAI website
      • OR this could be semi-automated
  • Update existing item
    • a visitor to the WAI website enters updated details (including their email) and submits
      • could be using existing submission ref or a new one as long as can identify the updated submission
    • OR a reviewer works with submitter to update the submission as required
  • Remove item
    • a reviewer decides unilaterally or with submitter and decides removes
    • Q should all submissions be kept, but deleted ones are marked so as not to appear in the list?

Implementation elements

  • current submissions are JSON files in folder found in the GitHub repository for the W3C WAI Website list resource (eg wai-course-list)
    • a submission ref is assigned to each submission and this is used as the filename
  • Netlify integration provides CI/CD previews for PRs (eg after submission is made but before WAI site updated)
  • the list of current submissions on the WAI website is updated from GitHub when the WAI website is rebuilt and published
  • new submissions are created using a HTML form that is part of the list resource on the WAI site
    • support for the submission form is provided by the WAI website Theme and uses standard HTML form submission
    • a extra check is added for at least one checkbox selected in a required group
  • on submission, a process creates a GitHub PR with the form data (plus some extra metadata like submission ref)
  • GitHub PR features support all aspects of submission discussion, management and update.
  • merging the PR to the main branch will make updates appear when the WAI Website is next built ad published.
  • GitHub Auth is also used to limit access, with W3C WAI being the repository owners

Scope

  • The original project concept only covered Adding a new submission but subsequent Update and Removal are clearly required for on-going maintenance.
  • The above implementation allows for all flows but the HTML form is only used for new submissions, updates require working with the JSON data. This is due to a technical limitation of using a static rendered website, but is not insurmountable.
  • Similarly, once the HTML form is entered the user should be able to preview the new proposed entry before submitting.
  • Could add client side and/or backend validation of submission contents. There are few free text fields though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions