Create Unit
From WebRatio WebML Wiki
Contents |
Introduction
The Create Unit is an Operation Unit and it's used to create instances of an Entity.
When the Create Unit is activated it physically creates one or more new rows of the physical table related to the selected Entity storing the data received as input.
Properties
- Id: The unique key automatically assigned by WebRatio to identify the Unit (e.g. cru1).
- Name: A meaningful name for the Unit, used as label (e.g. Create Employee).
- Bulk: A flag stating that the Unit is able to perform multiple Entity instance creations at once (expecting arrays as input parameters).
- Entity: The Data Model Entity on which the Unit is based (e.g. employee).
- Avoid Blank Records: A flag stating that the Unit should avoid the creation of records in case the provided input values are NULLs or empty.
- Blank Attributes: The list of Entity attributes used to verify the Avoid Blank Records condition (enabled only if the "Avoid Blank Records Property" is checked). In the case no attribute is selected the avoid blank records condition is verified for all Entity attributes.
- Delete All Before: A flag stating that the Unit removes all the already stored Entity instances before its execution (available only for volatile Entities).
- Home: A flag stating that the Create Unit must be executed as the first operation when the user enters in the related Site View.
- Default: A flag stating that the Create Unit must be executed as the first operation when the user enters the Area containing the Unit.
- Landmark: A flag stating that the link shown in the corresponding Landmark menu that will activate the Unit. If the operation or the operation chain has no outgoing link, the final target page will be the last page visited.
- Protected: A flag stating that the access to the Create Unit is granted only to users belonging to groups entitled to access to it.
- Secure: A flag stating that all the links that can activate the Create Unit are implemented using the Secure HTTP protocol, instead of the HTTP protocol.
- Custom Descriptor: A flag stating that the Unit uses a Custom Descriptor.
- Custom URL Name: The Custom URL Name of the Unit. It is possible to define a custom name that will be used as URL to reach the Create Unit, instead of the standard Id (used by default). The custom URL name must not contain whitespaces, non-ascii characters or other special characters like /, ?.
Configuration
A Create Unit can be configured through a context menu that can be reached right clicking on the Unit either in the Work Area or in the Outline View. The context menu contains the following options:
- Add Link: Adds an outgoing link (of Transport type) to the Unit, which can be used to transport information to other elements.
- Add OK Link: Adds an outgoing OK Link to the Unit. The OK Link is activated when the Unit performs its operation correctly and can be used to transport information. Moreover, the OK Link will cause the execution of its target element (opens a target page or activates other Operation Units).
- Add KO Link: Adds an outgoing KO Link to the Unit. The KO Link is activated when the Unit isn't able to perform its operation correctly and can be used to transport information. Moreover, the KO Link will cause the execution of its target element (opens a target page or activates other Operation Units).
- Add Property: Adds a custom property to the Unit. A Property is composed by Name and Value and permits to mark the element for different purposes.
Input and Output
The Input and the Output of the Unit are accessible through the Parameters Coupling window of incoming and outgoing Links respectively.
Input
The input of the Create Unit consists of all the Attributes and 1:N Relationship Roles of the Entity on which the Unit is defined. To access the input parameters, open the Parameters Coupling dialog with a double click or by selecting the "Coupling" property on an incoming link to the Create Unit. Here all the Entity attributes and 1:N Relationship Roles are listed.
In case of BLOB attributes the unit exposes an additional input parameter named "<attribute-name> [file name]" which permits to specify an alternative file name (valid only if the BLOB value is provided in input).
In case of bulk creation, the rules driving the creation of instances are the following:
- if all the attribute values are arrays of length L, the unit exactly creates L different instances.
- if arrays of length L are inter-mixed with either arrays of length one or plain values, again L different instances are created; single values are replicated all over the L instances.
- if arrays with different lengths (greater than one) are provided to the unit an error will be returned.
Output
The output of the Create Unit consists of all the Attributes of the selected Entity representing the actual values of the current Entity Instance. To access the Output Parameters, open the Parameters Coupling dialog with a double click or by selecting the "Coupling" property on an outgoing link from the Create Unit.
Here all the Output Parameters can be coupled with the Input Parameters of the target element.
Examples
The purpose of this section is to show the usage of the Create Unit through examples. This example is based on the Data Model shown in the following image.
| This Data Model consists of two Entities : "Company" and "Employee".
The "Company" entity has many attributes, such as "Name", "E-mail", "Nationality", and so on. The "Employee" entity has attributes such as "Name", "Surname", "Email", "Role" and so on. An Employee belongs to one Company while, obviously, a Company has many Employees. This is represented with the 1:N Relationship "Company_Employee". |
Example 1: Insert New Employee
|
Our goal is to give the possibility to the user to store new employees data in the application. The user will be able to define all the new employee data and save them in the Data Model. In order to accomplish this example, it is necessary to go through the following steps:
|
|
















