Designer Reference
Creating an electronic document
The electronic document will collect information about the process during its journey through the stations. It is an electronic "traveler sheet." At the time the document circulates within the process, each one is assigned a unique number called a "folio."
It is very important that when you study and plan this information before creating any process, you need to have a clear idea of all the information that will be needed so that the users' tasks can be carried out correctly. To exemplify this, let's imagine a process for processing product guarantees in a marketing company.
The minimum data that would be required are:
Field | Comment |
---|---|
Cliente ID | |
Client name | |
Client telephone | |
Product ID | |
Invoice number | |
Brand | |
Client failure description | |
Diagnostic | |
Currier | Company that will take the producto with the manufacturer |
Currier tracking number | |
Manufacturer | Name of the manufacturer that has to solve the claim |
RMA | Manufacturers tracking number in their system |
Once the fields to be included have been detected, we proceed to design the electronic document.
First we click on the Electronic Document menu and a list of the documents that already exist in the system appears and the process group to which they belong if the document is associated with any existing process. When creating a new document, it is not associated with any process and in these cases it appears at the end of the list.
If an existing document is selected then it will edit the one that already exists. Otherwise you can click on the "Create new document" link. When entering, if it is a new document we have a blank page and a message indicating that we have a new document.
At this moment or later you can give this document a name and click the icon to the right of the name to save the new document name.
Menu bar
In the upper section of the page you will have the menu bar with a set of icons
New field. Adds new fields to the electronic document. If you click on the top half of the icon the new field is inserted at the top of the document. If you click on the bottom half of the icon the field is inserted at the end of the document. It can later be dragged to a different position. If you leave the mouse pointer over the icon for a moment, it tells you which position will be used to insert.
After placing several fields on a document sheet, should look similar to the one below.
Column description
Each field in a row has two or three actions available.
Field edit. Edit the field properties.
CSS edit. You can edit some css properties, to add some formating to that particular field.
Field convertion . The document fields will eventually be converted to physically existing fields in a table within the eFlow databases. When this happens, it may be necessary to subsequently change the size of a field because the planned one grew. This option allows you to perform these conversions in the existing field.
Field edition
The data to type in this first window :
- Keyword The name you type here will be used to as the field name in the database table. Any name you type will be preceded by the string "ff_." Therefore, if you type the name age, the field in the table will be called ff_age. If you do not enter a name the field will be named by default with ff_ field_id
- Label long description that allows the end user to know what the field refers to
- Comments Instructions for the end user on how to use this field
- Filters and validations Field must contain a value when submitting the form
- Required Campo debe contener un valor al enviar el formulario.
- Index for searches Used to indicate whether this field should appear in folio search reports as a searchable value
- Record changes to variables When a field is editable at various stages of the process, certain fields are sometimes require to record which user gave which value when they performed their activity. Suppose we have a process for authorizing credit limits to clients. And the credit department assigns a credit line of 100,000 USD to client A and the director decides to increase the line of credit to 200,000 USD. If in the future there was a doubt about why a line of credit of 200,000 USD was authorized for client A, in the history of this folio it would be shown how each person involved assigned a specific amount.
Important note about field names
Not all mobile devices correctly handle field names outside the Latin1 character range, so it is recommended not to use them, or try the ones you are going to use if you want to create fields with characters outside this range. The errors are in the execution of JavaScript on mobile devices, if you don't mind losing some functionality with the JavaScript you can do so.
Field type and settings
The following types of fields are available
Type | Values |
---|---|
Boolea | true, false |
Date | |
Integer | 32 bits (-2000,000,000 a 2000,000,000) |
Numeric | number with decimal places |
Text | |
Time | hh:mm |
Attachment | Special field to save a file. The file is physically saved in a system directory, which may or may not be protected |
Digital signature | Field that requests the user's signature, if the signature is not correct, you can not move a task forward |
User selection | Field that displays a list of available users to whom a folio can be assigned |
Alarm | Allows you to set the time limit of the next stage |
User defined | Free type that user can program |
Link | Allows you to create a link so that the user can access external resources outside eFlow or the implement your own form handling routines |
Numeric
Requests the number of integers (data before the decimal point) and decimals (numbers after the decimal point) that this field will accept.
Text
Field size in number of characters. 0 is unlimited, 30 would be a maximum of 30 characters. It is important to determine a maximum number of characters when possible, as this makes the use of the database more efficient.
Attachment
Requieres to set a valid suffix for the files, this is very important to prevent invalid, incorrect files or files with unwanted formats from being uploaded into the process. That could generate errors forward. For example, if we want only jpg images to be uploaded (which are small in size), we must select as file ending: .jpg
Additionally, there is a second field that can be configured so that the file is presented online along with the folio or only a link appears so the user can download the file. It is important that if the option to display online is selected, the browser has both the support to do so (for example, if you want to present a Word or Excel document online, the user who opens the folio must have Word or Excel on his computer to view this kind of documents)
It is important to take into account that when the option to display online is selected, access to the folios becomes considerably slower, because there is a waiting time to load the file and program that can display the attached file. In general we can accept that jpg and gif image files are presented online without major delays in loading pages or compatibility problems.
Here is the difference between the same folio seen by a user online and offline.
Deploying Excel sheet online.
Without displaying online, only the icon to download the file appears. It takes up less screen space, is faster, but you have to make additional clicks to view the file.
Digital Signature
Selecting this option offers three types of control over the signature:
Depending on the selection, it will be established which users can sign the update. If the signature does not correspond to any of the authorized users, then the folio cannot be advanced.
User selection
In this case, a box appears showing the group from which we are going to obtain the list of users. To do this, we click on the icon. And this presents the list of groups registered on the server. Click on the desired group and accept.
If you select "All groups", a field will appear in the users' browser with the name of the user that has been selected and a "User" link that opens a window to search among all users (by group, first and last name).
If you select a group, then a combo will appear with the available users of this particular group.
To see the above more clearly, the browser images are presented with a selection of all users and with a particular group.
All users:
In this case the field appears (disabled, you cannot modify it), with the user's name. It is necessary to click on the user's link to open a window containing the users and select the one to be assigned.
Group selection:
In this case, only users belonging to a particular group appear.
User defined
The data to capture is: Type of field. This must be a valid expression in order to create a field in the document table, according to the field types available in the PostgreSQL database. Size, if the field requires a size it must be written in this second field.
Finally, in parameters the user can write fixed values that can be used to start or display their information.
It is important to note that in order for this field to display some information and be processed correctly, the user must create the necessary routines in station_def.pl and wf.pm
Details for programming a user-defined field are found in the programmer's manual.
IMPORTANT
eFlow does not validate that the field and parameters are valid, if you write invalid fields and parameters eFlow will create an error when trying to create it.
Link
This type of format displays a link within the electronic document. This allows when the user clicks on the link, a new window opens and an external program runs.
The fields that must be captured during the creation of a "Link" type field are:
Link text: It is the text that should appear as a link on the folio.
url: The URL of the program to be called. If you want to send parameters, write at the end of the url ?field=value&... When adding the question mark, the following fields and their values are automatically added: user, process, station, folio, user_int, user_char, access. If you want to send the values, you must end the URL with a question mark, example: /cgi-bin/proceso/programa.cgi?
icon: The URL of the image to be added to the link for an icon to appear.
Display options : If enabled, a link to the page will appear instead. The page opens directly in the folio within an IFRAME.
Window
Inline
Note
Description of values sent with the ending ?
user : position id
process : process number
station : stage number
folio : folio number
access : :Access type: 0 Read, 1 Edit
user_it : User int field
user_char : user char field
Date field
The date type field offers an additional option, allowing you to indicate whether it should only be a date type field or a date and time field.
The fields that are marked as date and time type, in addition to the date capture field and the calendar icon, offer an additional field for capturing the time, presenting it in the user form.
Additional fields requested for configuration based on Format and Data Source
Text
Allows you to write a value that appears by default when the field is displayed, in case it does not have a previous value.
Radio / CheckBox
Radio fields have the characteristic that one of the n available options is selected (they are exclusive).
In the case of checkboxes, it is not possible to select n values from a checkbox simultaneously. Therefore, the way values are stored in the database, and the way they are retrieved is as follows:
If the value is numeric, the selected values are added.
If the value is a character, the results are concatenated separated by |
For this reason, the information that is stored makes sense, in the case of numerical values it is recommended that values in powers of 2 (1,2,4,8,16,32,64...) be used so that at the same time Adding them each value is independent of the other values.
Data origin
Fixed array
In this case, the text that will appear in the combo, radio or checkbox is written in the label field and the data that represents this text is written in the value field. If the field is of numerical type, you must write numbers in the value, so that there is no conflict between the field type and the values that are inserted into the table. Click add to enter the value in the list.
To delete you must click on "Delete" this action always deletes the last option, it is normally used to correct an entry error immediately after giving the entry. There is no option to delete intermediate data or delete in between.
Access from Database. (local or external)
The second way to introduce a list is to declare a table in a database and get the values and field texts from this table. This is very useful to make the content of the lists more flexible, it also allows creating programs where the lists grow dynamically, however it requires connecting to a server and this penalizes the display time, although in many cases it is not perceptible.
Local server
- Database name. You must enter the name of an existing PostgreSQL database.
- Table Name. Name of an existing table within the selected database.
- Values field. Name of the field in the selected table from which the field values are to be extracted.
- Labels field. Name of the field in the table from which the label names are to be extracted.
- WHERE clause you can write a where order by clause to limit the values that the query will return.
External servers
The capture form for these cases is
- Connection motor. Select the type of connection, from among those available.
- Server. Domain name or IP of the server to which you are going to connect.
- Port.
- User
- Password
- Database name. Enter the correct DSN for the selected engine type according to the DBI::module manual.
- Table, Value Field, Labels Field and WHERE Clause are similar for the local type.
Validate connection
Upon completion of capturing the data required to make a connection. You can click on the "Verify Connection" button. And the program will try to connect to the external server and execute the parameterized query. The result of a successful connection should look like this.
Example of a failed connection.
Formatting
The available formats are:
Type | Description | View |
---|---|---|
Text | Text rectangle | |
Select | Combo | |
Radio | Radio button group | |
CheckBox | Checkbox selects | |
Password | Passord field | |
TextArea | Text area |
Depending on the format option, some extra configurations will be presented in the second part of the form.
Field validation
There are 4 possible validations for fields that have a text input format.
Type | Description | Example |
---|---|---|
None | Entrada libre de datos | |
Numeric | It is only allowed to type numbers, decimal points if they are of type Numeric and the minus sign (if the +- option is selected) | |
Alphabetic | Letters and numbers | |
Free | The user is allowed to type the characters that will be valid. For example with a sequence of characters: 0123456789 --(). You have the characters that are valid for a telephone number. | |
Mask | Data is allowed to be recorded but only in the order in which it is presented in valid characters. | |
n represents digits . a represents any character a represents alphabetic characters from a-Z z represents alphanumeric characters from a-z and 0 - 9 | ||
Filter | Allows you to select whether characters should be capitalized when entering them into the field. |
Field convertion
This icon is only active when the database structure has already been created (when the "Create Tables" button has been clicked).
If a field has been created, the process has started and after a while you want to modify the data type (a varchar makes it from 10 to 15 positions, a numeric increases it from 10.2 positions to 12.2). It is necessary to convert with this option.
Note
There are folio fields that do not have a field created in the folio table in the database (examples of these fields are: link, alarm, java, user selection, etc.) These fields can be modified simply by changing the combos in the Field Type tab.
As mentioned previously in the manual, this option currently allows field extensions, it does not convert from one type to another or decrease the size of an existing field.
Preview
At any time you can see a preview of the fields you have created and how they would display on the page for users. To do this click on the tab on the right side of the bar.
To return to your document layout, click the arrow tab at the far left of the command bar.
Position of fields in the capture form for users
You can modify the sequence in which fields are displayed by dragging the row in your document layout window at any time. Simply click on the line, and snap it vertically to the desired position.
The preview at document creation serves to validate that the fields appear as expected and that the validations work properly. Advancing the document only generates a message indicating that the preview cannot be run due to lack of information.
Create electronic document data table
After having reviewed and corrected all the data in the folio, we are ready to create the data table that will contain all the fields.
To create the data table, click on the Create Tables button.
If after creating it you need to make corrections, you can delete the data table with the "Delete Tables" button, make the changes and create it again.
IMPORTANT
This process completely eliminates the data table and all the information that is stored. If you want to make the modifications after having started the process and you want to modify fields in the database, the modifications will be limited to the actions described below.
Once the database is created, the only modifications that can be made without having to create the database again are:
You can
Modify name tab (all options)
Modify formats (all format options)
Modify validations
Modify the file type and whether it is deployed online
Add new fields
Modify the sizes of text and numeric fields.
You can not
Delete fields from the document
Change field type