Saltar a contenido

Designer Reference

Process creation

The process editing window has the following icons:

  • Create a new station
  • Create a new connection
  • Create a new functional line
  • Create an external process

Below are some limits that the process designer currently has, regarding the number of stations, connections, etc.

Element Máximum Comments
Stages 65,536 Per process
Connection 2,000,000,000 System wide
Process 2,000,000,000 System wide
External process 2,000,000,000 System wide
Department lines 2,000,000,000 System wide

If you plan to create a process that exceeds these limits, you need to contact our company to evaluate how to adjust the parameters to your needs.

Open existing process

By clicking on the "Processes" menu link you see the collection of existing processes in the system grouped by the existing process groups.

You can click on the link with the name of an existing process or you can click on the link that says "New here" to create a desired process within the group.

If you click on a process name, the process that was previously developed finally opens, such as:

Before continuing with the explanation of the creation of processes, the meaning of the elements that appear drawn in a process will be detailed.

Recommendations on how to develop a new process

Below is a process with all the symbols described above.

The reading of this process would be as follows: A folio is registered at station 12 and there are two options, ending the folio or continuing the folio in parallel between stations 7 and 8. If it is decided to continue, the user at station 7 has two options, continue the folio to 9 or move it to station 15. The user at station 15 can only move the folio to station 17. And the user at station 17 can only advance it for processing by a program external.

The user at station 9 can finish the folio or advance it to station 11. The user at station 10 can only advance the folio to station 11.

The folio will appear available for processing at station 11 if and only if, the folio from station 10 has already arrived, and the folio from station 9 has also arrived. Therefore, if the user at station 9 terminated the folio, the folio will never appear in station 11.

The user at station 11 can only end the folio.

The easiest way to create a new process is:

  • All stations are placed in the order from left to right as they will be linked in the process. And they are located from top to bottom according to the departments that will exist.

  • When the configuration windows for each station appear, only the name of the stations is edited. All remaining options will then be edited.

  • When all the stations are finished creating, the creation of all the connections that exist between the stations begins.

  • When all connections are completed, the process properties are configured (see process properties section, mainly that of the electronic folio that will be related to the process).
  • Next configure the parameters of all stations. In order so that it does not leave any pending.
  • All folio views are edited station by station.
  • The functional lines that are considered necessary are created, external processes are added if there is a need to document them.

When you have finished all the previous steps, it is recommended to go to the Internet browser and validate all the steps of the process, registering folios, to ensure that everything is working as expected.

New stage

To add a new station, you click the new station icon, the station appears in the worksheet, and a pop-up window appears where data for the new station is captured.

If you later want to edit this data, double-click on the station to open its properties. In the case of Internet Explorer it is with a Triple Click.

Stage properties

  • Name of the station
  • Type: Manual: the user updates. Automatic: the system updates.
  • Cost: The cost of passing through this station, the folio accumulates the cost of passing through the stations that have a cost.
  • Email: to which email the notice is sent that there are pages with excess time in the station.
  • Destination display:: In what format will the destination options appear?
  • Automatic destination: If you select Automatic as the station type, here you can define where the document should be moved when the automatic process moves it.
  • Show update comments: Indicates whether or not the update comments option should appear when entering the station.
  • Inactivate: If the station is inactive, it is not presented in the designer and is not taken into account when presenting reports.
  • Multiple update: If several pages can be updated at the same time.
  • Confirm destination when updating: When the user selects an action, they are asked to confirm if it is correct, this prevents the desired path from being followed at some important point in the process and not one selected by mistake.
  • Group: Which positions process the received folios?
  • Support Group: Since it can help to process paperwork to cover vacations, absences, etc.
  • Supervisor Group: Since you access this station to supervise the work
  • Direct jump: User must directly continue to the next stage without going through the pending list.
  • Block user at station: the user is forced to end the station (the system constantly forces him to enter this station).
  • In what order are the folios assigned to the users of the work group.
  • Notify the user that they have received a new folio.
  • Alarm time in which the station must be resolved, otherwise notification emails are generated to supervisors.
  • Personal page. Programmer enters the code or web page that replaces the page layout
  • Post processes: Called before updating data and after having updated it.
  • Support group. Which group has the right to enter to support the movement of pages in case there is an absence or a lot of work accumulates for a responsible person.

Below is a more detailed description of the above configuration options.

Name

Descriptive name for this station (it is a good habit to write the same name as the status of a folio at that point), thinking that this is the name that the user will see in their pending list when they see the work accumulated in the station. For example, if the station is going to register when a user is performing judicial collection work on a bad account, the station could be called "judicial collection." Or if the station corresponds to the activity of sending a product by courier, the station can be called "Deliver product to courier."

Stage type

If the station is configured as manual. The folio is assigned to a user responsible for attending to it and the user must enter to process and advance the folio of this station.

If automatic, the folio is assigned to the system user and a date is calculated based on the entry date plus the amount of activation time. The activation time is captured in the "Alarm Time" field.

The activation time must be expressed in seconds. To facilitate the conversion, the form allows you to select a unit of time and the quantity.

Manual/automatic stations are useful for finishing documents that users ignore in the final stages of a process. In these stages do the Manual / Automatic station, give it a standard time of 5 days. If by expiration the user has not finished the folio, the system will do so. It also serves in conjunction with post-processes to escalate a document when it has not been resolved within a certain time.

Cost

It is a numerical value. No type of currency to accumulate as you go from station to station. It represents the fixed cost of passing through this station.

Delay email notifications

With the combination of the delays combo and the email field you can configure the different ways in which the system will notify delays in the folios. The options are :

  • Do not notify
  • Notify supervisory group
  • Notify a fixed email
  • Escalate notifications every day until you reach the General Directorate.

Display destinations

With this option you format the way in which the destination options of the folio will be displayed to the user, these options are:

  • Omitted No options are displayed
  • Hidden The destination that corresponds to the same station is hidden in a hidden label.
  • Select Destination options are presented with a select
  • Radio Destination options are presented with radio buttons

Automatic destination

When it is selected that the station moves automatically or Manual / Automatic, it is necessary to tell the system where the folio should be moved so that it ends up in a place desired by the program. If this field is omitted, it will default to the first destination that appears when this station is deployed. The programmer can detect the movement in the post-processes and correct the destination based on any algorithm he wishes. Read the programmer's manual for details on how to interact under this mode.

Show "Update Comments" legend

If this option is activated, the Update comments sign will appear among the destination options, otherwise only the rest of the options will appear.

This option helps the user not to advance the folio to any station, but it allows them to capture data and comments on the folio, so they can report the activities to be carried out and why they have not finished advancing this folio.

Confirm destination when updating

When you click on any of the destinations, a JavaScript window appears telling you which option you selected and whether you are asked to confirm your selection. If you decide to cancel your selection is cancelled, if you confirm it it remains active. This serves to avoid at some important points in the process that the user does not select the wrong destination due to a reading or destination selection error.

Multiple Update

By activating multiple updates, the system will allow the user to select several pages and advance them as a group. This saves the time of moving forward one by one.

Limitations

Because the form allows many pages to be advanced together, the values ​​that are captured must be shared with all the selected pages.

This means that this type of configuration only works if the pages to be advanced will share the same captured values ​​and actions.

If you want to do 2 different actions you will have to do it in 2 transactions.

The hidden values ​​that go into the configuration will be passed to the post-processing routines for each sheet moved individually.

Example of a stage with multiple update

In the same courier shipment, these 2 products go to the same supplier.

Working group

It is one of the groups that we registered in the group registration step. This group receives folios and is responsible for updating them to the next station

Access group

This group is the one that has access to view and move pages. Generally, it is the group that is above the work group in the hierarchy. This group cannot be assigned folios, but you can see all the folios under your responsibility and you can move, edit, and update them.

Support group

This group is the one that has access to view and move pages in the station in which it is authorized to support. This support group is made up mainly of people who belong to the same work group and who therefore know the operation.

Obligatory

This is important when a user enters a point within the process where it is necessary for them to continue and not leave work pending.

The normal sequence of steps to update a station is that the user first sees all the folios assigned to him, then selects one to process and finally updates it. If the next station is normal, then your window returns to showing you all the folios he is in charge of, but if the next station is marked as mandatory, then the next station appears without him selecting it from the list of assigned folios.

Use cases: In a real estate sales process. The seller updates a station where he says that he sold a property, the next station is to obtain documentation (to prepare a purchase and sale contract).

When the seller updates saying that he has collected the documents, then he is forced to go directly to the contract preparation station. Once he prepares it, he is sent to the contract printing and signing station. The seller is obliged to carry out these three steps in a row without leaving them for later.

Locked

If the station is mandatory but not blocked. When the user updates they are transferred to the next station window. But since it's not locked, he can click on another menu and do other things. However, if the station is mandatory and locked, the user will be held at that station until it is completed. If you decide to close the browser and log in later, you are still sent to the "locked" station to finish.

Allow cancell

This option, when active, adds a link to the right of the stage name, which allows the folio to be canceled at this station, if the user so wishes. This option cancels "all" the parallel documents that exist, not just the station one. Cancel is understood as aborting the entire procedure, not just that step within the process. If you want to cancel a parallel document at a particular step, create an end link labeled "Cancel."

Next user

This option designates the logical criterion to be followed to assign a folio to the group of users responsible for a station.

The general rules are: users with inactive or absent status are not taken into account.

Assignment Type Description Comments
Sequential all active users Assigns folios sequentially to all users who belong to a workgroup. It is a very quick method but folios can be assigned to users who are not working and causes the work to remain pending until the user between.
Sequential only registered users Assigns the folio in sequential order to the users who are registered If there are no users available, the station cannot be updated, delaying the work.
Previous station user Assign to the same user who has the folio on the station being updated. Good when you want one person to be responsible for several steps in the process
User defined on web page The selling user is assigned in the "user" variable of the web page. The web page must have a field where a valid user number is assigned. Useful when it is required to assign users manually from the web page
User queue The pages are assigned to a system queue and when there is a user available (registered and who has less than 5 pending pages) work is assigned to him/her It is the most convenient assignment method, but with a greater computing load, Very long system queues can occur. The folios are not visible to any user while they are in the queue, which prevents the work of any special case from being advanced while it is in the queue.
User who updates Useful when you want to make the user who moves the folio responsible for a process. Probably because when moving it he is soaked in the case.
User who registered the folio Useful when it is required to return information or a station to the person who initiated the folio, who is in many cases the interested party
Head of the user who updates It is widely used in cases where authorizations are required
Boss of the user who started the folio Useful when authorizations or notifications to bosses are required
Fixed user Useful when there is only one user who can resolve an activity. It is the fastest assignment.
Use getNextUser function The next user is obtained by calling the getNextUser function. This function must be declared in the postprocessing of the station where the folio comes from. Since this is the postprocess that is being executed at that moment when updating the station. You must create a function called getNextUser in the post-process of the stage and this must return a list with the user number ($user) and the real user number ($ruser) valid to assign the activity. (See programmer's manual).

Notify user of new folios

It is important to correctly select this option so as not to create unnecessary emails to users. The criteria is the following:

If a user uses the system often, pending jobs must be recorded and reviewed every day; it is not necessary to be notified of the arrival of new pages. Examples: line users where the daily job is to be in the system updating activities.

If the user does not register continuously or in a particular process if the intervention is very sporadic and is not going to register every day to see if there is something pending, then this user must be notified. Examples: authorization of a vacation, in this case the user will not log in every day to find out if someone has requested a vacation.

The notifications are made by email and are similar to the one presented below.

At that moment the user has two options, click on the first link and temporarily open the station or click on the second and register completely in the system. The options to notify are:

  • Do not notify: Do not notify anyone
  • User: Notify the user only.
  • User + Boss: Additionally notifies the direct boss.
  • User + Bosses: Notifies the entire chain of bosses above the user.

Alarm time

It is the time interval (in seconds) that a folio must have at this station before an alarm is generated (notice email to supervisors). The conversion to second is done internally, just select a unit of time and the quantity corresponding to the same unit, examples: 4 days, 1 month, 8 hours, etc.

Uses of the alarm: When you want to follow up on a group of clients n days, months or years later. The process can be automatic and the developer can create a routine to move the folio when a series of conditions have been met.

Personal page

The personal page space is used in case you have a routine that displays the station.

  • The main uses are:
  • Extend the functionality of the user capture page by adding JavaScript routines to make the page more interactive.
  • Perform connectivity or value validations in other systems before presenting the information.
  • Load information into eFlow from other systems

Example of the skeleton of a personal Page with a .pl ending:

sub main_page {
    print "Control before starting standard page";
}

sub main_page2 {
    print "Check before printing data from the page";
}

sub main_page3 {
    # In this section we can generate our JavaScript code.
    print "Control after printing the sheet and before comments";
}

sub main_value {
    print "Control before printing each field of the folio";
    if ($no_imprimir) {
        return 1;
    }
    return 0;
}

1;

Post process

To know when the post processes are executed during the folio update procedure, read the programmer's manual.

The most common use of postprocesses is to create validation codes that allow us to control the flow of the process, stop an update if certain requirements are not met, etc.

When we click on the post-processing icon, we are presented with the following work window:

If the station does not already have a postprocess assigned, then the text area presents us with the empty skeleton of the routines declaration. Otherwise, load the saved program for us to edit.

To understand the use, applications and how to take advantage of this functionality, you need to know Perl and read the programmer's manual in the post-processing section.

It is important to note that this functionality is offered to edit post-processing when there is no way to edit them directly on the server. Either because we do not have access to it or because we want to make a minor change.

When you save the process, a syntax check is run, if this check returns any errors, you are returned to the edit page with the error message returned by the Perl compiler. As shown in the following example:

Although the functions for editing code within a text area are very limited, using the tab key is useful for formatting code.

IMPORTANT

In order to edit and save a post-process, the path is required to be declared in the general variables of the process.

Another practical use is to create libraries that, inserted in a station, produce functions on the pages. For example, let's look at the following example:

A library called: print_doc.pl has been inserted

And the parameters are passed to it: warranty.htm,1,1

This library takes the name of the file (warranty.htm) and opens it. It reads it and replaces the fields (based on coding) with values ​​from the system and the folio being processed. The output is sent to the browser and activates printing.

With this library, printed documents can be generated at different points in the process without the user deciding to do so.

To edit the execution of a postprocess, click the gear icon to configure.

Thus we have finished with all the parameters that must be configured in a station for it to carry out the desired activities.

Example of the skeleton of a postprocess1 with a .pl ending:

use utf8;
binmode (STDOUT,':utf8');

sub main1 {
    # Run before moving the folio
}

sub main2 {
    # Run after moving the folio
}

sub getNextUser {
    # Run when next station has option assigned: getNextUser()
}

1;

Additional fields

When a user enters to see their list of assigned folios, a window like the following is presented.

This window was designed to have the greatest amount of information available at first glance and to allow pages to be processed in the most convenient order for the user. So, for example, depending on the station in which a folio is located, a user will require different data to do their work, following the example above:

Confirm receipt with the supplier

This station is assigned to a support user who must ensure that the product sent to warranty has been received, he needs to call the supplier, the guide # with which the product was sent, the messaging and supplier to contact with that particular provider.

Product with manufacturer

This station is assigned to support staff and is so they know that product X is with supplier Z and that there is an RMA that serves as a follow-up for the warranty process.

In each section there is the last comment, it is used to pass additional information, observations or recommendations to the person who will follow the next phase of the process, or to report progress on what is happening in the current station.

In additional fields you configure what data should appear in each column. This data is extracted from the folio database, or from an external database.

Select the fields you want to appear in the pending list and assign a title to the column.

Document view

This option is used to select which data of the electronic document should not be seen (nothing marked), if the data should be seen but cannot be edited

  • V(er) activated, if the information can be edited
  • E(edit) activated or if the data should be hidden on the web page
  • H(idden) enabled.

For example, in the case of a warranty shipment to the supplier, we are interested in the user being able to see the customer data, the support diagnosis and must capture the messaging, supplier and supplier invoice number.

The other fields could not be captured at the beginning and it would not make sense to deploy them.

Once selected, you can preview this station by clicking preview. In this case we are going to see what a sheet of paper looks like in the Send product to supplier station.

As you can see, only the marked fields appeared, and the editable ones are the only ones that have data entry controls.

hidden field

The hidden format is mainly used when the field should not be edited (is it visible or not) but we want it to be transferred with the form information. Whether as a reference for our post-processing or to validate the form, the field was probably changed via JavaScript in a pop-up window or via a data update in the database and the page was reloaded again.

Preview

If you fill out the fields and execute the update of the stage, it will execute a module that tracks an update of the document, this module will send its post-processes to execute (if they were programmed in the stage), it will validate the fields, it will calculate the user who should receive the document if there is sufficient information, etc. It is very good to execute these stages in preview because they allow us to validate if the document is going to be delivered correctly to the user it is responsible for serving, if our post-processes are executed correctly or have errors, etc.

Example of output from a executed preview.

* Validate that the folio is still available

* Execution of PostProceso1: /home/hans/Projects/pptest.pl

* Before moving the folio

* User selection:
User assigned in PostProceso (/home/hans/Projects/pptest.pl) getNextUser()

* Insert folio in:
Station: Product delivered to courier
Assign to user: Juan Gonzalo González

* Save folio data
Client # (ff11) -> ff11
Fault description (client) (ff16) -> ff16
Support Diagnostics (ff17) -> Post-process test
Supplier (ff21) -> 1
Supplier Invoice Number (ff22) -> 2342342
Serial number (ff66) -> 03948230948234820

* Other data
comments ->
ef_selection -> 1
folio ->
help ->
max ->
opt_station -> 12
process -> 2
req -> ff66|Número de serie|ff17|Diagnóstico
Soporte|ff21|Proveedor|ff22|Número Factura Proveedor|
search ->
station -> 5
supervise ->
view_process ->
view_station ->

* Calculation of folio time statistics

* Update log for station: 12

* Call to main2 from Postprocess1: /home/hans/Projects/pptest.pl

After updating the folio.

-- END OF UPDATE --

Form validation

The system has a JavaScript routine that performs basic validations: required fields, that the user has selected an action, and confirming the selected action if the system has been parameterized to request confirmation.

Custom validations with JavaScript

The system validates whether a "myvalidation()" function has been created.

If the function exists, it is executed to give your Javascript code a chance to perform any type of validation on the form elements. If validation is successful your routine should return "true", otherwise it should return "false".

It must additionally present an error message to the user.

Connection editing

Once you have finished creating all the process stations, you have to start creating connections. The connections will tell us the destination that a sheet of paper will follow from one station to the next.

To make a connection, we click on the "Connect Stages" icon. When you click on this icon the cursor changes to a cross.

Click on one station and then click on the second. The first station is considered the Origin station and the second the Destination station of the connection to be created.

When you click on the Destination station, a window will appear asking you to select the type of connection you are creating. You can cancel the creation by simply closing the window at that time.

Depending on the previous connections, origin and destination, one or more line type options may appear.

Connection types

  • Normal: An origin-destination relationship is created that will appear in the user's destination options when updating a station. When the station is normal, the program prompts you to type the name of the action the user must take to take this path. Enter descriptive names for an action such as: Authorize, Reject, Send for Review, Request Authorization, Confirm Order, etc.

Exclusive paths

Normal lines are represented with blue and are exclusive paths. That is: the folio can continue to path A, B or C.

  • Parallel: A normal connection must first exist before a parallel connection can be selected. When previous connections already exist, lines are added to an existing connection to be configured as parallel destinations. When you select this option, a combo will appear with all the normal lines previously created, so you can select which one you want to associate this connection with as parallel.

Parallel Paths

The parallel lines are represented with green, the folio is divided simultaneously into paths A, B and C.

  • Join: When you select a line as a union, the destination station is configured to receive two or more pages in parallel. The union stations receive sheets that come from parallel paths. What is indicated to the station is that it must wait until all the folios coming from the stations that are declared as "union" have arrived at this station so that it is accepted to continue with the folio. As long as this condition is not met, the folio will not be available to any user.

Join

The joints are represented in black. The receiving stage waits for all the pages from the different parallel paths to arrive to present the progress in the next stage. Important. If it generates 3 parallel paths and only creates 2 joining paths, the folio will be lost in the system. It must generate the same number of joining links as parallel paths.

  • End: An activity is created that allows creating an action to finish the procedure. In this case, it only requests the name of the action that will appear to the user.
  • External process: In this case, no option will appear to the user but the existence of a program that somehow moves the folio from one point to another will be registered in the process.

Once the connection has been created, the new line will appear joining the two stations.

Editing existing connections

If you want to edit existing connections, double click on the station to open its properties and one appears in the icon bar that says "Edit Lines"

The window looks like below.

To delete a connection, click the box marked with the checkbox and then select the Save button.

To change the name of an action, click on the text field of the action you want to modify and press the "Save" button. The program saves all the names that appear in the text boxes.

As an informative feature, this window gives you information on the destinations that have been programmed in the stage you are just editing.

General process settings

Finally, some general configurations of the process are missing before it is completely finished.

To access the process settings, click the first icon in the command bar, where the process name is located.

The fields to configure in this window are:

  • Name: The name of the process so that it can be identified in the system.
  • Version : You can declare a version number of the process. This field is not available if the ISO Control flag is active, since in these cases the version must be generated from the process.
  • Color: Mark defines a color to be displayed in the process. It helps to distinguish them visually in the system when there are many of them.
  • Security level: As mentioned above, eFlow has a series of rules to give access to both historical information and to access certain documents during the update. If security is "relaxed" these rules become less strict. This parameter can be configured per process.
  • Group: Allows you to reassign a process to a group different from the one it currently belongs to.
  • Associated document: Here you select the document that will be associated with this process. Once the process is active and has folios, it can no longer be changed. The combo contains a list of all documents that have not been used in another process. Once a document is assigned to a process it is no longer available to other processes.
  • Path: paths, separated by commas, where the system will search for libraries and programs that the programmer updates in the pre-process, post-process, etc. fields.
  • New Folio: The station to which a new folio is sent.
  • Delete folios when: Allows you to select the option of when the folios should be deleted from the historical data. Eliminating folios is important to maintain good database performance. The appropriate time will depend on the number of records that are accumulated. As much as possible, try to delete folios at a range that allows for fewer than 1,000,000 records in the folio tables. Mainly to reduce query times to the database.
  • Delete files when: Allows you to select when the attached files of an electronic folio should be deleted. This allows attached files to be deleted without losing the entire folio, this saves hard drive space.
  • Status
  • Active (folios can be processed and new ones can be registered)
  • Inactive (new ones cannot be processed or registered)
  • Active but unable to register new folios.

If the process already has an associated Document, then a list additionally appears with all the available elements of the document so that you can select the ones you want to be visible during a historical query.

External processes

The external processes icon has the sole function of documenting programs external to eFlow that are interacting with the system and are probably moving pages.

And their connections are only to symbolize the relationship they have with the stations with which they interact. When creating an external process, a comment is requested and it serves to remind us what this external process refers to and what function it performs, as well as leaving information on the name of the script, where it is located, etc.

Functional lines

These lines cross the entire design sheet horizontally. And all the stations that are below this line and before another functional line are classified within a functional group. This classification by departments is very useful visually to distinguish the functional areas involved, as well as classify the stations into areas of responsibility so that when viewing a bottleneck analysis, the areas of responsibility involved can be distinguished.

Documentation

In the "Reports" > "Company" menu there is a pre-installed program that helps integrate the documentation of the processes within the same system.

By clicking on the Company link and navigating to "Process Documentation" > "Documentation"

We arrive at a page like the following:

Depending on the user's permissions, more or fewer processes and actions may appear in the list.

By default, eFlow allows all users to see the documentation of all existing and active processes in the system.

The editing option to document processes is only available to users who meet the following requirements:

  1. That you have active administrator permission, or
  2. That you have the "Process Owner" permission active and that you participate in the process you want to edit.

If the user has editing permissions and clicks on the icon, the window displays a form similar to the following.

If you click Edit or change "Station", the bottom frame immediately opens a form that allows you to edit information regarding this stage.

The edit box allows you to edit the content to highlight paragraphs and lines, as well as align text or even add images that are stored on the server.

Click "Save" at any time to save the typed text. The save procedure saves the data and returns you to editing so you can continue where you left off.

If you want to add images to the document

Click on the image icon. This takes you to a form where you are asked to select the image from your hard drive to upload to the server.

Select the image, click "Upload" and most importantly, after the system has uploaded the image to the server, a list will appear with all the images related to the process. Copy the link of the image you want to link.

Example of image list:

Later in the editor click on the "Add Image" icon.
Enter the league (without the http:// data)

The image appears at the point where the cursor was at that moment. Save your document.

The end result

When you finish your documentation. You can click on the process link and then we obtain the image of the process and the documentation of all the stages that comprise it. In the documentation of the stages, the information generated by eFlow through parameterization and the information that the user adds when editing the stage documents is combined.

The format of the documentation can be completely adjusted to your needs by modifying the program process_report_def.pl located in eflow/reports

IMPORTANT

The export and import procedures do not guarantee that the imported process on the server will work without any modification or without the need to adjust its configuration parameters to the new server environment.

Although a significant effort has been made to implement an algorithm that allows migrating the programs associated with the processes, there may be conditions that prevent the imported process from working correctly: access to external servers with different databases, paths and passwords, use of names of variables, fields, etc. programmed by the user who created the process, which confuse the import process, not allowing it to modify the code correctly at the time of import. Always review the imported code to see that the import process was successful. Limitations and security issues to consider.

To export processes

Select a process from the existing process list. And the export sale appears:

The options to configure in this window are:

  • File name. Give a name to the export file. By default, the name of the process is presented with spaces converted to underscores.
  • Installation code. If your package requires actions before, during or after installation, you can select a file with the instructions you want to execute for this.
  • Files to include. Later, different lines appear with a search icon. Clicking on this icon opens a pop-up window that allows you to include files to export along with your process.
  • Comments. Finally, you can write comments, notices or instructions regarding the process you are exporting, so that they can be presented to the user who imports this process.
    In order to correctly export the files that are related to your process, you need to know the logic with which they are added to the export package.
  • Installation Code. This window allows you to locate in the cgi-bin directory, a file to be included within the package and that contains the instructions to carry out activities programmed by you. If the selected file has compilation errors or does not comply with the subroutine structure to be imported, then a warning will appear and it will not be attached to the package.

The installation file must be written in Perl as a library and must contain the following structure so that it can be appended normally.

sub before {
    # Run before starting the installation
}

sub after {
    # Run after installation
}

sub file_process {
    my $file = shift;
    my $filename = shift;
    my $CODE_ref = shift;
    # Run on each attached file before burning it to the hard drive
}

1;
  • eFlow, Crons and Other programs libraries. In all these cases the selection system allows you to select only files. The directories where these are located are created automatically when they are imported into the destination server. If in any of these cases you need to create a directory in these locations, you have two options:
    • Select an empty "dummy" file so that the directory is created automatically or you can create it with a custom setup program.
    • Web. Allows you to select directories. But this action does not mean that all the contents of the directory will be exported, but rather it is an instruction to tell the system to create that directory on the destination server.
    • Databases and Tables. In this case, the system presents you with a form with the local databases that are available and you can export a complete database or just some of its tables. In all cases the system does not export the data. If you need to export data you will have to do this using a custom installation code.

Once we have finished selecting all the files that we must include in our package so that the imported process on another computer works correctly. Then we click on "Create File".

At the end of the export procedure, the system presents the following window indicating that you can download the created package.

By clicking on the download link you can save the process on your computer and distribute it by email or any other means. The packages are compressed to occupy the smallest possible space.

Import processes

Select the group where you want the imported process to be added or click "Process Repository".

Process repository

When you click on this option, the system presents you with a list of groups or classes of processes that have been created in the repository.

The list presents the name of the category and the number of processes that are located in the corresponding category.

If you then click on the category name, a detailed list of the processes that have been uploaded appears.

The information in this list includes: Name of the process (in the author's local language and in English), the language in which the process is located, and the author of the process. The icons at the end allow us to download the process, its manuals or both.

Import process

If you selected a process group, the following form appears. If the group does not exist, you must create it first.

Select the file on your local machine and click the "Validate File" button

The next thing that appears is a form that allows you to see what actions the installer will take according to the instructions that have been programmed in the import package that we have selected.

If the process we are importing does not exist, the window we see will be similar to the one above.

On some occasions, processes share libraries or even database structures, in these cases the validator will present the files that are being imported and mark them as "Ignore", this means that we are left with the currently installed version. Unless the user who created the process indicates that we should replace the existing version, it is best not to replace existing files.

Databases when they already exist are not imported. Only new tables are imported, and this is only if the user who created the package selected them individually.

The following is an example of what a process looks like that has files that had already been previously imported by other processes.

If the package that we are going to import has a custom installation code, the system presents a window with the code that is included so that you can see it and decide if you want to continue with the import of the process.

Sometimes the package may contain comments with instructions, recommendations or notices that the creator of the package wants to make you aware of.

Once you are ready you can create the process on your computer by clicking on "Create process"