Documentation for Request Type usage

Introduction

This documentation introduce the RequestType usage and detail format.

Usage of RequestType

The RequestType define how to User Request store data in its data repository.

All RequestType have two blocks :

Commons fields ... The Five Ws

Commons fields are a serie of statics fields wich are always present to store the Request data.

All commons fields implied in all RequestType.

The Five Ws :

Commons fields (Who)

The 'who' is represented with the field applicationUser .

This field represent an 'User' into the client application. User Request can be share with different client, this possiblity implies that the Users for the client application X are completely different from the Users fro the client application Y

The ApplicatoinUser is define as follow :

No field are required, but it is recommended to fill them.

Commons fields (What)

The 'what' is represented with the field subject.

Commons fields (Where)

The 'Where' is represented with the field address.

The Address is define as follow :

No field are required, but it is recommended to fill them.

Commons fields (When)

The 'When' is is implied when Request is save with the today data-time

Commons fields (Why)

The 'Where' is represented with the field comment. This content a simple text block.

Commons fields ... others

All RequestType have a field attachment to store files into Request.

You can use this field like the email's attachments.

The customs fields

The customs fields are all other field not in the basic Five Ws.

You can add custom field by defining it in the RequestType.

Field definition is definied array of FieldDefnition. Each FieldDefnition lik this :

Workflow

Each RequestType must be associate with workflow.

Exemple of RequestType definition format :

{
  "id": "REQUEST_TYPE_1",
  "description": "Description of this RequestType",
  "fields": [
    {
      "code": "listOfUsage",
      "label": "List of usages",
      "fieldType": "selection",
      "configuration": {
        "data": [
          {
            "id": "usage1",
            "label": "Usage 1"
          },
          {
            "id": "usage2",
            "label": "Usage 2"
          }
        ]
      },
      "extraLabels": false
    },
    {
      "code": "visitDate",
      "label": "Type de visite",
      "fieldType": "date",
      "configuration": {},
      "extraLabels": false
    },
    {
      "code": "tags",
      "label": "Request tags",
      "fieldType": {
        "id": "multiSelection",
        "fieldType": "selection"
      },
      "configuration": {
        "data": [
          {
            "id": "tag1",
            "label": "Tag 1"
          },
          {
            "id": "tag2",
            "label": "Tag 2"
          },
          {
            "id": "tag3",
            "label": "Tag 3"
          },
          {
            "id": "tag4",
            "label": "Tag 4"
          }
        ]
      },
      "extraLabels": false
    },
    {
      "code": "controlDocmentsList",
      "label": "Document used by controler",
      "fieldType": "files",
      "configuration": [],
      "extraLabels": false
    },
    {
      "code": "isChecked",
      "label": "Is checked ?",
      "fieldType": "boolean",
      "configuration": [],
      "extraLabels": false
    },
    {
      "code": "numberOfControls",
      "label": "Number Of Controls",
      "fieldType": "number",
      "configuration": [],
      "extraLabels": false
    },
    {
      "code": "fileNumberLong",
      "label": "File number",
      "fieldType": "number",
      "configuration": [],
      "extraLabels": false
    }
  ],
  "workflow": "SIMPLE_WORKFLOW"
}