[go: up one dir, main page]

Skip to content

Interface to manage file templates

Problem to solve

File templates are useful to all kinds of people, not just developers adding LICENSE or .gitignore files. They should be easy to manage, not require knowledge of Git and support custom templates for creating blog posts, documentation or anything else.

Further details

File template repositories are simply Git repositories that store templates that can be used as templates. But using a Git repository or learning how easy templates are to manage should be very easy.

Proposal

Example with a LICENSE template

  1. The user creates an empty project.
  2. The user clicks on the Add License button (as seen on Figure 1)
  3. In the window that appears, we display a Choose your template dropdown.
    • It lists all the LICENSE templates already defined in the /license folder of the templates project.
    • The filenames of each template are used as titles.
    • It suggests to create a new one. (as seen on Figure 2)
  4. When we click on Create a new template, a modal appears. You can define a title (which will become the filename), and the body. (as seen on Figure 3)
  5. Upon save, the template is created in the templates project, under the folder /license, as a commit.
    • the filename is the title (blank spaces is replaced by underscores)
    • if the templates project does not exist, create one automatically, at the instance level.
    • if the templates project exists already, use it.
    • if the templates project exists in the group the project is in, use it instead.
    • if the folder /license is not found, create one automatically.
    • then commit the template.
    • the author of the commit will be the instance administrator.
  6. Upon save, the modal fades out and the body is populated with the body of the template we've just created.
Figure 1 Figure 2 Figure 3
Screen_Shot_2016-12-16_at_14.36.31 image image

What does success look like, and how can we measure that?

(If no way to measure success, link to an issue that will implement a way to measure this)

Links / references