Open ReflectGuide

Creating a Custom Form in Reflect

How to create or edit a custom form in Reflect.

Introduction

Reflect ships with a number of built-in forms. While they are an excellent introduction to how the app can be used, sometimes a bit more customisation is required!

If you need any help, advice or would like custom forms designed for you, please visit our support page for details, or use the Get Help command from the About menu within the app itself.

How it works

When the app is started, any reflect forms that you have created, or have been shared with you, will be loaded. They can then be filled in to create reports. If you wish to allow someone to fill in a form without directly sharing it with them, you must ensure that link-sharing is turned on, and that ‘everyone’ is granted read permission to the form. Then you can send the following link to those people you want to create a report based on the form (they will need a Google account):

https://educ.io/reflect/#create.report.{{ID of your FORM}}

You will need to replace {{ID of your FORM}} with the ID of your form from Google drive (this is the long sequence of letters and numbers you will find at the end of the sharing URL from Google Drive).

Using Existing Forms

The easiest way to customise a form is to base the new form on an existing one. This can be done in two ways, the first is to extend any existing form and the second is to edit a form to create a new one.

Extending

Using the Create command on the Forms menu, and select ‘New …’ from the options selector.

Create new Screenshot

The form which is being extended is specified by the __extends property.

You can then override individual properties on the original form, or add additional groups/fields. An example is shown below:

{
  "__extends": "Volunteering",
  "title": "Custom Volunteering",
  "groups": {
    "you": {
      "fields": {
        "group": {
          "template": "field_select",
          "title": "Your form group / class / div",
          "field": "Group",
          "default": "Please select ...",
          "options": [
            "Please select ...",
            "Class A [tutor-1@example.com]",
            "Class B [tutor-2@example.com]",
            "Class C [tutor-3@example.com]",
            "Class D [tutor-4@example.com]"
          ],
          "__meta": {
            "signatory": true
          }
        }
      }
    },
    "volunteering": {
      "fields": {
        "periods": {
          "increment": 0.5
        }
      }
    },
    "finally": {
      "template" : "group",
      "name" : "Finally",
      "fields": {
        "administrator" : {
          "template": "field_textual",
          "title": "Administrator",
          "field": "Volunteering Administrator",
          "help": "Email address of your Volunteering Programme Administrator",
          "value": "administrator@example.com",
          "icon": "assignment_ind",
          "large": true,
          "required": true,
          "readonly": true,
          "__meta": {
            "destination": true
          }
        }
      }
    }
  }
}
Editing

You can base your new form on an existing form by selecting the form from the ‘Create Dialog’ above. This will load the form details and allow you to edit them.

When you have made your changes, you can press ‘Save’ to save your form into Google Drive. Once it has been saved, you can share it with whomever you wish.

Creating Entirely New Forms

Creating a form from scratch is much the same as editing! Just create a new form and start writing your JSON. You should have a look at the existing forms to see how best to structure your new form and the types of fields that you can use.


© 2015-2019 educ.io