Schemas

  Other Functions, Technical

Schemas

All data within the TLP suite is managed through the use of data schemas which define the various data fields and the relationships between the various types of data.

Schema Categories

Schemas fall into three basic categories;

System Schemas Only These are schemas that can only be altered by the TLP Development Team these are used to provide specific functionality that the user cannot alter (eg: logging into the system)

System Schemas  Modify These are system schemas that are used to provide specific functionality that the user cannot modify (eg: rating). However additional data may be required to assist with functionality or the recording of information so the Administrator is able to add fields to these schemas.

Administrator Schemas These are Schemas that have been created and are managed by the System Administrator. Generally these will be used to record data that the company requires for their Logistics Operation that is not allowed for in the System Schemas provided.

Naming Conventions

The user is not restricted with regards to the naming of schemas with the exception that an underscore must be used to separate words, spaces are not permitted.

For example: Collect_Address

The same convention is used for fields within the schema. The unique identifier for any field in the database is the combination of the schema name and field name.

For example: Collect_Address.Address_Line_1

Schema Types

There are two types of schemas that are able to be created by the Administrator. The first of these is a Standard Schema as shown in the screen shot below.

Standard Schema

example Schema

A Standard Schema is set up by deciding that a unique identity field is required for each record, this being set in a field which must be named “_id”. In the example above the _id field would be used to store a driver code. Fields within a Standard Schema can be set up to link Standard Schemas. For example the Company field above is Linked to another Standard Schema. In this example it would be a Creditors Schema, containing names, phone numbers and other Creditor related data.

In Line Schemas

In line Schemas are used to record data which does not have a unique identifier. An example is collection or delivery time details which could require fields such as; Estimated Time, Actual Time and Slot Time.

By creating an Inline Schema with these fields you will make these available to be used repetitively from a number of Schemas, or fields within a Schema. In the Schema example shown on the previous page the “Audit” field uses an Inline Schema.

The screen shots that follow illustrate how this works. The Audit field is shown below the Customer ID. No details are shown but these can be displayed by clicking on the arrow symbol to the right.

Audit Field

This will open a display of the fields within the Inline Schema that relate to the Customer record we are viewing.

Schema3

The creation of an Inline Schema follows the same process as that for a Standard Schema with the exception that no _id field is defined within the schema.

Schema Management

The Schema Management functions are found in the Manage Schemas option on the Administration menu.

Schema4

Selecting this option will result in a list of schemas being displayed as shown above. The information conveyed in these columns is described below.
Schema The title of the schema. Titles in brackets are system schemas.
Update Schema The level of personnel who have permission to alter the schema.
Create Role The level of personnel who can create data records within the schema.
Update Role The level of personnel who can alter data records within the schema.
Read Role The level of personnel who can only read records within the schema.
Inline Denotes the type of schema.
From this point the User can select to Edit or Delete a selected schema or by selecting the option displayed at the bottom of the list (see below) can add a new schema.

Schema5

Creating New Schema

When creating a new schema you can chose to do so based upon a previous one. For example you may want to create a schema for Delivery Addresses which is identical to one you created for Collect Addresses, with the exception of the schema name. Do this by selecting an existing schema from the drop down list provided. If this is not required leave the display as “blank schema”.

Clicking on the “Add New” button will provide you with the following display.

Schema6

The schema header data that is displayed allows you to set the schema ID (title) and define the various permission levels for the schema. The default permissions are shown in the screen shot above.

Edit A Schema

When either editing an existing schema or adding a new schema a screen such as that shown below will be displayed.

Schema7

From this point the Administrator may chose to Add, Delete or Edit fields within the schema. Clicking on Save will record the changes made and return you to the main menu. Clicking on Cancel will not record the changes but return you to the main menu.

Schema Field Details

The creation or editing of any field is carried out within a screen as shown in the example below.

Schema8

The title of the field (“Type” in the example above) is the field ID. The next four fields are the permissions that have been set. The default permissions are displayed here. The Position determines the placement of the field in a Search Detail view. It is expressed in row, column, position format. The Type denotes the field type, these being described in depth below. In this example the field is linked to another table. This table is defined in the Sub Type field.

The UIComponent defines the appearance of the field. In this case the linked data will be viewed through a drop down menu.

Field Types

Every field must have a field type which determines its nature. The valid field types are listed below.

Auto ID

A unique value that is automatically generated by the system.

Boolean

The field is a Boolean variable.

Date

A field that will record a date. The date will be displayed as;

Day of Week eg: Tue

Day of Month eg: 19

Month eg: Nov

Year eg: 2014

Date & Time

A field that will record the date and time. This will be displayed as;

Day of Week eg: Tue

Day of Month eg: 19

Month eg: Nov

Year eg: 2014

Time eg: 9:30 am

ID

This type is used on the _id field to denote it as such a field.

Inline

This field is to be linked to a single occurrence of an Inline Schema. A sub type that identifies the schema to be linked is also set.

Linked

This field is to be linked to a single occurrence of a Standard Schema. A sub type that identifies the schema to be linked is also set.

List of Inline

This field is to be linked to multiple occurrences of Inline Schemas. A sub type that identifies the schema to be linked is also set.

List of Linked

This field is to be linked to multiple occurrences of Standard Schemas. A sub type that identifies the schema to be linked is also set.

List of String

This field will enable a list of string fields to be accessed. This is used for such items as Notes fields.

Money

This field is to record a monetary value. A sub type which identifies the currency is also to be set.

Number

A numeric field. For fields of this type the user can also select how many decimal places are to be made available.

Role

Allows you to apply a valid role against the schema. The values are;

Admin

User

Read Only

String

A text string.

Time

A field that will record the time in HH:MM format.