Business process design [Deprecated]
Introduction
This manual describes Qflow’s business process designer. The business process designer is the tool that allows you to design processes, define application data, roles, and other elements that form the basis of the processes that are executed.
Deprecated product warning
This designer is deprecated, and can only be used with the main workspace. For more information about workspaces, see the Qflow Admin manual.
Organization of this manual
This manual is divided into several sections.
“Basic concepts” briefly describes the most important concepts of process design with Qflow. Knowledge and understanding of these concepts are very important for the reader to understand the explanations in the rest of the manual.
“Instructions for use” contains instructions for designing processes with Qflow’s business process designer. It goes deeper into the concepts explained in the first part, examining them from a more practical point of view.
In Qflow, there are two types of process designs: classic Qflow templates and BPMN templates. The section “Referencia de los pasos de templates clásicos de Qflow” explains in detail how each of the steps that make up Qflow templates works. The section “Referencia de elementos de diagramas BPMN” does the same for the activities, events, and gateways used in BPMN templates.
Most of the manual uses language that can be understood both by people with technical knowledge and by people who lack this type of knowledge. However, some sections of the manual deal with topics with technical content that require certain computer knowledge to understand. In these cases, the manual explicitly indicates this.
Basic concepts
This section explains the basic concepts needed to understand the rest of the manual and learn how to use the tool. The section describes the concepts briefly, without going into detail. These will be covered later in the manual.
Process templates
A process template is the model of a process. It describes, among other things, the sequence in which the tasks and activities of that process are executed, the decisions that must be made, and the branches that may occur. Process templates are used as the model for processes. All processes are based on some template.
A template has one or more versions, which contain the information about the sequence of the process’s activities. A process can handle data, generally involves the participation of people, and can interact with various elements. A process template can include descriptions for all these elements: data, roles, interactions with applications, forms, etc.
Qflow handles two types of templates: Qflow templates, which are the tool’s classic templates, and BPMN templates, which use that notation.
Versions
When someone creates a template, Qflow automatically creates a version of that template. A template can have several versions, but only one is the “in production” version. When someone starts a process, the process uses the production version as its model. Later, if you want to modify a template, you can choose to modify the production version or create a new version.
If the production version is modified, the modifications can affect processes that are running, unless the version is unprotected in a compatible way (see “Change control”). But there are modifications that are not allowed if compatible unprotection was used. In addition, it is risky to modify a production version because the changes made can affect running processes without having been tested first.
Versions exist to avoid these problems. If, instead of modifying the production version, a new one is created, all the necessary modifications can be made without risking affecting running processes, and the version can be tested and modified until it works correctly. Then the version can be put into production, and from that moment on, all processes started based on that template will use the new version.
A version is made up of steps that represent the process’s activities. Versions can include all the elements a template can have, and they inherit the elements of the template they belong to (the concept of inheritance is explained in “Packages”).
New versions are considered drafts until they are put into production. A draft version can be protected even if it has errors, and can be explicitly validated if desired. On the other hand, if the version is or has ever been in production, it will be required to be valid in order to be protected.
Steps
A typical step represents an activity of a process. Steps are the basic building blocks that make up a version of a Qflow template. Steps can also represent more abstract concepts, such as a branch, but they are always related to the sequence of activities of the process modeled by the process template. Qflow offers several types of steps.
To build a version of a template, you start by defining which steps make up that version, and the sequence of those steps.
In BPMN templates, the elements equivalent to Qflow template steps are activities, events, and gateways.
Packages
A package is a container for templates, in the same way that a folder is a container for files. In addition to templates, a package can contain template roles, application data, event handlers, and other elements described in this manual.
Packages are used to organize templates in a hierarchical structure similar to a computer’s folder structure. A package can contain packages and, just as with folders, there is a root package.
Qflow uses the concept of package inheritance. This means that every package inherits the elements of the package that contains it, and that the templates of a package can use elements both from the package that contains it and from the elements inherited by that package. Versions inherit the elements defined in the packages they belong to. For example, if the “Divisions” package has a template role called “Manager” and two subpackages, “Finance” and “Operations”, both the templates in the “Finance” package and those in “Operations” will be able to use the “Manager” role, and all versions of these templates will be able to do so as well.
A consequence of this is that all the elements contained in the root package are available in all the other packages. Therefore, if you want an element to be available to all the templates in the organization, place it inside the root package.
When a package is inside another package, the first one is said to be a “subpackage” of the second. For example, if the “Finance” package is inside the “Divisions” package, the “Finance” package is a subpackage of the “Divisions” package.
Solutions
A solution is a set of packages that someone designing Qflow processes has grouped together because they want to modify elements that belong to them. Solutions are not stored in the Qflow database. They are files that a user creates using the business process designer. When creating a solution, the user chooses which packages will belong to it.
A solution can include the root package, but it does not have to. If it does not, the packages in the solution will still inherit the elements from the root. Package inheritance relationships are completely independent of solutions. A solution is simply a tool for organizing work on the computer of the person designing processes.
Application data and data domains
Application data is the data of a process. For example, if a process uses data about a customer and a product of a company, that data is stored as application data. Each application data item is associated with a domain, which specifies which values the data item can take and how it is displayed in Qflow Task. A simple example of a domain is one that specifies “Date” as the data type (so the data item can only take dates as values) and a date picker as the control. This and other basic domains come predefined in Qflow.
A domain can also be more complex: it can have specifications for fetching data from a database, for example, so that an application data item of that domain can only take values from a table in the database (for example, you can create the application data item “Customer”, which takes values from the “Customers” table in a company database).
Template Roles
Template roles are used to refer to users indirectly. This allows tasks to be assigned to people without having to specify exactly which person the task is being assigned to. For example, instead of assigning a task to Juan Pérez, you can assign a task to the template role “Approver”. During process execution, someone decides which user will play the role of “Approver”. In this way, the same template can be used to generate processes whose approver is Juan Pérez and processes whose approver is William Gómez.
In this way, template roles allow templates to be independent of the people participating in the processes generated from them. In addition, this makes it easier to maintain templates, since it avoids the need to modify a template every time the person performing one of its tasks changes. It is enough to change the user assigned to the corresponding role.
A template role can be performed by one or several users.
The package hierarchy allows roles to be organized according to where they are valid. Roles defined in the root package can be used in all Qflow templates. Therefore, roles that are valid for the entire organization (for example, “General Manager”, “Secretary”) should be in that package. Roles that are only valid for a set of processes should be defined in the package that contains the templates corresponding to those processes. For example, the “Approver” role could be in the “Approval templates” package.
System roles
The concept of a system role is similar to that of a template role, in that it is also used to refer to users indirectly. However, system roles are fixed. It is not possible to define new system roles. In addition, system roles do not belong to any template or any package.
The way a system role is used is also different. A task cannot be assigned to a system role. However, a system role can be assigned to a template role.
System roles are relative to some element of Qflow. The user performing a system role varies depending on the element to which the role is being applied. This is clearer if you consider what the system roles are:
Owner of the template version
Owner of the template
Owner of the package
User who started the process
For example, if you want to design a process with an “Approver” role, and you want the approver to be the user who started the process, you must assign the system role “User who started the process” to the “Approver” template role.
Custom forms
Qflow provides standard forms for processes. When a process is executed, Qflow uses the template’s data to generate the forms whenever they are needed. In some cases, it may be desirable to use more complex forms, or forms that include elements not originally provided by Qflow. This is what custom forms are for: they can be built by a developer to be used later by a process defined in Qflow.
Integrations
Integrations are used to define ways in which Qflow interacts with other applications or software components. The design of a template is independent of the definition of an integration. This is an advantage, because defining an integration requires technical knowledge that is not necessary for designing a template, so this independence makes it possible to separate technical work from template design work. A person with a technical profile can define an integration, and it is then ready to be used in several templates by those who design them, without them needing to know the details of the integration.
Event handlers
Event handlers are scripts that can be associated with events that occur during the execution of a process. Once associated with an event, when a process is executed and that event occurs, Qflow runs the script. For example, you can write a script and set it to run before the process finishes, or when an error occurs in the process.
Handlers can be synchronous or asynchronous. Synchronous handlers can modify process information. Asynchronous ones cannot.
Worklets
A worklet is a set of steps that can be used as a block in several templates. In this way, if several processes have similar parts, with the same steps, you can create a worklet with these steps and use it in all the templates that model those processes, saving work and making it easier to maintain those templates.
For example, there may be several processes that include review and approval tasks that follow the same pattern. In that case, it may be useful to create a worklet that contains what is common to all those processes.
In a template’s diagram, a worklet looks like a single step, but it actually consists of several steps. The person designing the template can choose to display all the steps of the worklet whenever they want.
Validations
Validations are small programs (scripts) defined to perform operations on the forms that interact with users. Users who interact with Qflow do so through forms that are shown in Qflow Task. Validations can be included in these forms to verify that the data entered by the user is correct, or to perform some operation on the data before or after the user modifies it. They are also a way of customizing Qflow’s forms without needing to use custom forms.
Application parameters
Application parameters store information needed to run integrations and other operations that need to obtain data from a database or a web service, or access a component. Although it is possible to define, for example, the connection to a database directly in the integration or step that uses it, if that connection is used in several places, it is better to store it in an application parameter and refer to that parameter from every place where that database needs to be used. That way, if the connection details change (for example, the database is moved to a different server), it is enough to modify the application parameter for all the operations that access that database to keep working normally. Application parameters can also be used to store passwords or other text that it is considered convenient to store in this way.
Change control
Qflow uses the concept of change control for modifying templates, packages, and versions. Change control ensures that a person can modify these elements exclusively, so that no one else can modify the same template, package, or version at the same time, thus preventing a person from accidentally overwriting someone else’s work.
Change control is based on three basic operations:
Check out: when a person wants to modify a template, package, or version, they must check it out. When a user checks out an element, it is copied to the user’s computer, where they can modify it. Only one person can check out an element at a time, so while an element is checked out by a user, no other user can modify it. There is a special option, called “Compatible check-out”, which checks out an element in such a way that Qflow will only allow certain modifications to be made to it, so that it does not affect processes that are running.
Check in: once the user has finished modifying a template, package, or version that they had checked out, if they want to save the changes made, they must check in the element. When a user checks in an element, the local copy of the element with all the modifications made is copied to the Qflow database. In addition, they are asked to enter a comment about the changes made. From that moment on, the element is free to be modified by any user, as long as they check it out.
Undo check-out: if the user checked out a template, package, or version, and modified it but does not want to save the changes made, they must undo the check-out. This will unlock the element, allowing other users to check it out to modify it, but it will not copy the changes to the Qflow database. The only ones who can undo the check-out of an element without having checked it out themselves are users who have the “Manage security” permission in the business process designer and edit permission on the checked-out element.
Remember that a template, package, or version can only be modified if it is checked out. This means that no item (application data, template roles, etc.) can be added to a template or package that is not checked out, and that when viewing a template or package that is not checked out, many operation options will not be enabled.
Instructions for use
This section explains how to use the Business Process Designer.
Configuring the connection to the server
The first thing that will appear when you try to open the designer for the first time is the window where the connection to the backend services server is configured (Connection to the server). The window shows the following options:
Server name: name of the server you want to connect to.
Sub address: server sub-address. The default is 6000. Do not change this value unless you know your company uses a different sub-address.
Login information:
Use my network credentials: uses the current user’s credentials.
Use the following credentials: allows you to specify a username and password that will be used to connect to the server.
Connect automatically: this option makes the tool connect automatically the next times, using this configuration.
Once all the options have been configured, click the “Connect” button to connect to the selected server.
Fig. 915 Connection to the server
Security options
Security options make it possible to determine who can and cannot access the business process designer, and, if they can, what operations they can perform.
To access the security options window, select, in the “Tools” menu, the “Options” option. Qflow will show a window like the one shown in Fig. 916.
Fig. 916 Security options
The first tab of the window shows various data:
Tool name
Tool version
Current user: user who is running the tool.
Connected to: name of the server the tool is connected to.
The second tab (Fig. 917) allows you to configure access to the tool:
Fig. 917 Security configuration
At the top of the window (where it says “Role or organizational member name”) the security roles, groups, and users that have access to the tool are shown. The “Add…” button allows you to add security roles, groups, and users to the list, and the “Remove” button allows you to remove the selected item from the list. For more information about security roles, see the manual on the organizational model.
The bottom of the screen shows the permissions of the selected element. There are two types of operation:
Access the tool: allows opening the business process designer.
Manage security: allows modifying the tool’s access permissions.
General description of the interface
Fig. 918 shows the designer’s screen with a template loaded and the windows in their default format and position.
Fig. 918 Tool’s main screen
The main elements of the interface are:
The menus: allow you to create and open solutions, and perform various operations
The operations bar: is the bar with icons, below the menu. It allows quick access to several menu operations.
Toolbar: is the bar that appears on the left. When a template is being edited, it shows Qflow’s steps and worklets.
Solution explorer: shows the open solution, with its packages and templates. It allows you to modify the solution and its elements.
My templates: (not shown in the figure) shows the templates owned by the user running the tool.
Minimap: shows a reduced-size view of the diagram of the version being edited, and makes it easy to choose the part of the diagram shown on the screen.
Properties: when a step or a connection between steps in a version’s diagram is selected, it shows their properties and allows you to modify them. Above this window there is a dropdown list showing all the steps sorted alphabetically by name. If you have a very large diagram and are having trouble finding a step, open the list, find the step’s name, and select it. That will select the step. The properties window also allows you to modify the properties of package items such as roles, application data, domains, etc. For example, if an application data item is selected, the window will show and allow you to modify the name of the application data item, in addition to other properties.
Results window: is at the bottom left. Clicking on the bar that says “Results window” shows the results window, which shows errors and results of operations performed in the tool. For example, if Qflow could not save a template because there are errors in its definition, a message about it appears in the results window.
Error list: is located at the bottom, next to the results window. The error list shows the process’s validation errors, and also allows you to access the step corresponding to each error with a single click.
In the middle of the screen, the diagrams of the open versions are shown.
Customizing the interface
The user can modify the interface to suit their preferences. For example, the toolbar is hidden by default, except for a tab that allows it to be opened by clicking. However, it can be configured to remain always open, by clicking the first icon that appears at the top right of the bar (Fig. 919).
Fig. 919 How to make the toolbar stay always open
If you click the same icon again, which will now be in a vertical position, the toolbar will automatically hide again whenever the mouse cursor moves away from it (Fig. 920).
Fig. 920 How to make the toolbar hide automatically when the cursor moves away
It is also possible to close the toolbar (or any similar window) by clicking the cross (Fig. 921). To show it again, select it from the “View” menu.
Fig. 921 How to close the toolbar
Another option is to keep the bar from staying fixed. To do this, double-click on the top of the bar (where the title, “Toolbar”, is). This can only be done if the bar is always open (if it hides automatically, it cannot be done). The bar will become floating, and you can move it anywhere on the screen (Fig. 922).
Fig. 922 The floating toolbar can be positioned anywhere
You can fix the bar again. To do this, start dragging it. Qflow will show several icons representing the places where the bar can be fixed. Drag it over the icon you want and release the mouse button once the bar’s format has adapted to its new location (Fig. 923 and Fig. 924).
Fig. 923 How to fix the toolbar again (1)
Fig. 924 How to fix the toolbar again (2)
If the place where the bar is dragged already has other windows, the bar can adapt to the size of these windows to take up less space (Fig. 925).
Fig. 925 Window with adapted size
All these mechanisms are valid for all the bars and windows that appear in the “View” menu, although by default they may appear in different ways. For example, the solution explorer, unlike the toolbar, is always open by default.
Working with packages
Initially, Qflow’s structure has only one package: the Root package. This section describes how to create packages to organize the processes being designed.
Creating packages
To create a package, open the “File” menu and select “New, Package”. Qflow will open a window like the one shown in Fig. 926.
Fig. 926 Creating a package
Modify the package’s properties:
Package tree: in the package tree, select the package inside which you want to create the new package.
Description: there are two boxes titled “Description”. You can only write in one of them. In that one, you can write a brief description of the package.
Solution: allows you to select one of two options:
Add to solution: creates the package and adds it to the solution that is currently open and active.
Create new solution: creates the package and a new solution, and adds the package to that solution. If you select this option, Qflow will enable the “Location” (location of the new solution’s file) and “Solution name” (the name of the new solution) properties.
If a solution already contains packages, an alternative and more convenient way to create a package is to use the solution explorer:
Right-click on the package where you want to create the new package. Qflow will open the package’s context menu.
Select “Add”, “Subpackage”.
Creating a solution
To create a new solution, open the File menu and select the “New, Empty solution” option (Fig. 927). This will make Qflow show the window shown in Fig. 928.
Fig. 927 Creating a new solution
Fig. 928 Properties of the new solution
At this point, the solution properties you can modify are as follows:
Name: the name of the solution.
Location: the folder where the file containing the solution will be saved. Remember that Qflow does not store solutions in the database. A solution is simply a local file with information about which packages, templates, and other elements belong to it.
When you click “Accept”, the new solution will appear in the Solution Explorer. To start working with the solution, you must add packages to it.
How to open a solution
To open a solution, open the “File” menu and select the “Open” option. Qflow will open a window where you can choose a solution to open.
How to add an existing package to a solution
It is possible to add a package to a solution when creating that package. However, it is often desirable to add packages that already exist to the solution.
To add a package that already exists to a solution, open the “File” menu and select the “Add, Existing package…” option. Qflow will open a window like the one shown in Fig. 929, similar to the one shown in Fig. 926.
Fig. 929 Add an existing package to a solution
In the package tree, select the package you want to add to the solution. When you select a package, Qflow will show that package’s description in the “Description” box that appears next to the package tree.
A package that contains a package already in the solution cannot be added to a solution. When you add a package to a solution, Qflow also adds all the elements belonging to that package, including the packages contained in it and all its descendants.
The solution explorer
The solution explorer shows the open solution as a tree in which the packages, templates, and template versions belonging to the solution appear. When the user right-clicks on a template, package, or version, a menu with several options appears. The following is the list of these options, with a brief explanation of each. The manual explains the more complex options in greater detail later on.
View items: this option allows you to view the items of the selected element. Through it, you can view, for example, the application data belonging to a given package. Qflow shows the items in a list (see “Items lists”).
Application data
Template roles
Data domains
Custom forms
Integrations
Event handlers
Worklet
Validations
Bots
Application parameters
Add: allows you to add an item to the selected element. When you select this option, Qflow opens a submenu that lets you select the type of item to add. These options are only available if the selected element is checked out, since otherwise it cannot be modified. For templates and versions, the possible items are the same as those that can be viewed with the “Ver ítem” option. For packages, in addition to those, you can add a subpackage and a process template. It is not necessary to check out a package to add a subpackage or a template to it. The “Add new item…” option is an alternative to any of the other submenu options. It opens a window that shows the types of items that can be created, lets you select one of them, and lets you write the name and description of the item to create.
Set as production version: this option is only available for versions. It makes the version become the production version, so that, from that moment on, all processes started based on the template that version belongs to will use that version as their basis.
Exclude from solution: this option is only available for packages, and only for packages that are not subpackages of other packages in the solution. It removes the package and all its descendants from the solution, but does not delete them.
Check out: this option allows you to check out the selected element to modify it. An element that is already checked out, whether by the same user or another user, cannot be checked out again.
Compatible check-out: this option is similar to the check-out option, but prevents certain modifications from being made. Use this option when you want to modify a template or version that running processes are based on, or when you want to modify a package that contains one of those templates but do not want to risk those processes stopping working due to the changes made. When a user checks out an element this way, Qflow will only allow them to make modifications that do not affect running processes. For example, it will not allow steps to be removed from the template.
Check in: this option is only enabled if the selected element is checked out. It checks in the selected element, saving the changes made to the database and unlocking it. When checking in, you can enter a comment to explain the changes made.
Undo check-out: this option is only enabled if the selected element is checked out. It unlocks the selected element without saving the changes made to the database.
Validate: this option is only available for template versions and is enabled if the selected element is checked out. It allows you to validate the modifications made to the version without checking it in.
Delete: permanently deletes the element. Packages containing subpackages or templates cannot be deleted. Nor can a template that has versions be deleted.
Rename: allows you to modify the name of the element.
Export: exports the element to an XML file, so that it can be imported elsewhere where Qflow is installed. More information is available in the section “Exportación de paquetes, templates y versiones”.
Import: imports an XML file containing the definition of packages or templates. More information is available in the section “Importación de templates, paquetes y versiones”.
Flow form: the flow form options are only available for versions. The flow form is a form that shows process data in Qflow Task.
Scope: allows you to define which application data, roles, and attachments can be viewed or modified in the process form. More information is available in the section “Alcance: acceso a los datos, roles y adjuntos de un proceso”.
Validations: allows you to view the list of validations available in the version and select those you want to be run in the process form. For more information, see “Validations”.
Custom form: allows you to select a custom form for the version. The version’s custom form is used as the process form, that is, the form shown in Qflow Task when a person clicks on a process. For more information, see the section “Custom forms”.
Flow edit form: the flow edit form options are only available for versions. They are the same as those for the flow form. The flow edit form shows flow data, but unlike the flow form, it can allow modifying it.
Handled events: shows the events handled in the version, and allows you to associate events with event handlers. For more information, see the section “Eventos y manejadores de eventos”.
Stages: allows you to define and modify the process stages. See “Etapas de un proceso”.
History: shows the history of all the changes made to the selected element. For each change, it shows the date, the user who made it, the action performed, and the comment if one was entered (Fig. 930).
Properties: opens a window that shows the element’s properties and lets you modify its security configuration. For more information, see the section “Propiedades de paquetes, templates y versiones”.
When you double-click on a version, Qflow will open that version’s flow diagram, also commonly called a “graph”.
Fig. 930 History of a package
My templates
The “My templates” window shows the templates owned by the current user. To view it, open the “View” menu and select the “My templates” option.
Item lists
Item lists appear when the user selects the “View items” option and then an item type (for example, “Template roles”) in the solution explorer. An item list shows a list with the selected items (for example, the roles of a given template).
Item lists allow you to create new items and modify existing ones. These operations are available in a context menu that opens when you right-click on the list or on an item. None of these operations can be performed if the package, template, or version that the item list belongs to is not checked out. For example, you cannot delete an application data item from a package that has not previously been checked out (see “Change control”). The menu options are:
New item: (“New template role” in the image) allows you to create a new item of the type the list corresponds to.
Delete: deletes the item. Selecting this option is equivalent to selecting the item and pressing the “Delete” key.
Rename: allows you to modify the item’s name. Selecting this option is equivalent to selecting the item and pressing F2.
Cut: allows you to cut the item to paste it into another template, package, or version, moving it.
Copy: allows you to copy the item to paste it into another template, package, or version.
Paste: allows you to paste a cut or copied item from another item list into an item list. With this option, you can, for example, move a role from one template to another template.
Select all: allows you to select all the items to perform an operation on all of them (for example, cutting and copying them all).
Properties: opens the item’s properties window. The properties windows are described in detail in the corresponding sections. For example, the properties window for template roles is described in the section on template roles.
Fig. 931 Item list
In addition to these operations, it is also possible to use the properties window to modify properties of the selected items. The available properties vary depending on the type of item in the list, but in all cases it is possible to edit at least the name and description.
Business Process Design
This section explains how to design a business process, starting with the creation of a template.
Creating a template
To start designing a business process, create a template. To create a template, right-click on the package in which you want to create the template and select the “Add, Process template” option from the context menu. Qflow will open a window like the one shown in Fig. 932.
Fig. 932 Creating a template
Select “Empty Qflow template” to create a Qflow template. To create a BPMN template, select “Empty BPMN template”.
Enter the template’s name and description in the window. Then click “Accept”. Qflow will add the new template and a new version in draft mode, as shown in Fig. 933. Both will appear in the solution explorer and in the “My templates” window.
Fig. 933 Template with version in draft mode
Creating a version
To create a new version of an existing template, right-click on the template you want to add a version to and select the “Add, New process version” option from the context menu. Qflow will open a window like the one shown in Fig. 934.
Fig. 934 Add version
If you want to create a new empty version, select the “Empty Qflow version” option (or select nothing, since that is the default option). If you want the new version to be a copy of an existing version, select the version you want to copy. If you want the new version to be of a different design type than the template (for example, if in a classic template you want to create a BPMN version), you can select the “Include all design styles” option, and versions of other design types will become available for selection.
Enter the version’s name and description in the window. Although it is common to use names such as “1.1”, “2.0”, or “3.0” for versions, the version can have any name. Then click “Accept”. Qflow will add the new version, which will appear in the solution explorer and in the “My templates” window.
Designing a template’s diagram
To start designing the template’s diagram, check out the version you want to modify and double-click on it. To check out the version, right-click on it and select the “Check out” option from the menu. You can also use the “Compatible check-out” option (see the description of the solution explorer for more details about the difference between the two modes). If the template has just been created, there is only one version, and it is version 1.0.
When you double-click on a version, Qflow opens that version’s flow diagram.
Adding steps
To add steps to the diagram, open the toolbar and drag the steps you want to add. Another way to add a step from the toolbar is to double-click on it. You can also add a step by right-clicking on the diagram. Qflow will show a context menu. Choose the “New” option. Qflow will show a submenu with all the steps. Choose the step you want to add from that submenu.
Every diagram must have a start step. When someone starts a process, its execution begins at the start step. There can only be one start step.
In addition, every diagram must have at least one end step. End steps indicate that a process has finished. When a process reaches an end step, its execution ends or, at least, if it is made up of several parallel threads, the execution of the thread that reached the end step ends, and it waits for the other threads to reach it in order to finish the process. The diagram can have several end steps.
Selecting steps and connections
To select a step, click on it. You can also select a step using the dropdown list that appears at the top of the properties window. All the steps are there, sorted by name. When you select a step in this list, the step becomes selected in the diagram.
You can select several steps, for example, to move several steps at once. To select several steps, click on the diagram’s drawing surface and move the mouse. Qflow will draw a rectangle. When all the steps you want to select are inside the rectangle, release the mouse button. The steps inside the rectangle will be selected. Another way is to hold down the “Control” key and click successively on each of the steps you want to select.
To select all the steps, you can press Ctrl + A or choose the Select all option from the “Edit” menu.
To select a connection, proceed the same way as to select a step.
Deleting steps
To delete a step, select it and press the “Delete” key. To delete several steps, select them and press the “Delete” key. An alternative to using the “Delete” key is to use the menu that opens when you right-click on a step, and choose the “Delete” option.
Moving a step
To move a step in the diagram:
Click on it, without releasing the button.
Move the mouse without releasing the button. Drag it to where you want to position it.
Fig. 935 Move step
To move several steps with the mouse:
Select several steps.
Then, click inside the selection, without releasing the mouse.
Move the mouse. Release the button when the steps are in the desired location.
To move one or more steps with the keyboard:
Select the steps you want to move.
Press the “Control” key, and hold it down.
Use the arrow keys to move the steps.
Connecting two steps
To connect one step to another:
Position the mouse cursor over the step from which you want the connection to start. This will make a small square appear at the bottom of the step. This square is the step’s output connector. Some steps may have more than one outgoing connector. In that case, more than one square will appear (:numref:`ConnectionStepToStep`b).
Position the mouse cursor over one of the squares that appeared when you positioned the cursor over the step.
Click and, without releasing the button, move the mouse. This will create a line. Move the mouse until the line reaches the step you want to connect to (:numref:`ConnectionStepToStep`c).
Release the mouse button. The steps will now be connected (:numref:`ConnectionStepToStep`d). In the figure, the step following the Start step is a question step. When the process runs, it will start at the start step and then execute the question step.
Fig. 936 Connecting one step to another
Disconnecting two steps
To disconnect two steps, select the connection and press the “Delete” key. You can also delete a connection by selecting the “Delete” option from the menu that appears when you right-click on it.
Modifying the size of a step
You can modify the size of a step by clicking on one of the squares surrounding the step and dragging it until the step has the desired size.
Fig. 937 The figure shows a step before increasing its size (a) and after (b).
Properties of a step
When you select a step, Qflow shows some of its properties in the properties window (Fig. 938). The properties that appear in the properties window are the step’s display properties (color, size, and position) and the properties that are common to all steps (such as the name) or to almost all of them (start flag). Each of these properties is described below:
Appearance
Background color: color of the step’s drawing.
Layout
Size: size of the step’s drawing, expressed in two numbers. The first is the horizontal size. The second is the vertical size.
Position: position of the step’s drawing, expressed in two numbers. The first is the distance in points between the leftmost point of the step and the left edge of the diagram’s drawing surface. The second is the distance between the top of the step and the top of the diagram’s drawing surface.
Qflow
(Description): brief description of the step.
(Name): name of the step. This is the name shown in the step’s drawing in the diagram.
Start flag: indicates the flag (mark) the process will have when it starts executing that step.
Flow importance: defines the importance the process will have while it is at that step. The flow importance defined in a step is valid for all subsequent steps, unless one of them explicitly changes it. In the start step, it is mandatory to specify a value for this property. In the others, it is not. It can be low, normal, or high.
Fig. 938 Step properties
You can change the order in which the properties are shown (see Fig. 938).
Properties of a connection
Connections also have properties. The properties of connections determine their appearance. These are as follows:
Line route: indicates the shape of the connection. It can be rectangular or linear. If the route is rectangular, the connection can only have right angles. If it is linear, the connection can have several angles of a size arbitrarily defined by the user, who can add points to the connection. There can be an angle at each of these points (see Fig. 940). The diagram’s properties (see below) define the default line route. This is the route all connections will have when created.
Line color: indicates the color of the connection.
Text: text of the connection’s label. This lets you label the connection with descriptive text.
You can change the order in which the properties are shown (Fig. 938).
Options for a connection
When you right-click on a connection, Qflow shows a menu with the following options:
New: lets you add a new step or other element to the diagram.
Delete: deletes the connection, disconnecting the steps it joined.
Select all: selects all the elements of the graph.
Change breakpoints: this option appears if the connection’s line route is rectangular. It modifies the connection, moving the position of the break angle.
Connection: this option appears if the connection’s line path is linear.
Add point: adds a point at the place where you clicked. This causes the line to break at that point. Afterwards, you can move the point, changing the angle of that part of the line.
Delete point: deletes the selected point.
Force external route: is a property that can be checked or unchecked. It modifies a connection as shown in Fig. 941.
Fig. 940 Types of line route for a connection
Fig. 941 Force external route
Diagram properties
The diagram also has properties. For the properties window to show these properties, click on any point of the diagram where there is no step and no connection. Fig. 942 shows the properties window with the diagram’s properties.
Fig. 942 Diagram properties
The diagram’s properties are described below:
Horizontal lanes: lets you define horizontal lanes for the diagram. Horizontal lanes divide the diagram into several zones defined by horizontal lines. Each zone has a title. For more information, see “Lanes”.
Vertical lanes: lets you define vertical lanes for the diagram. Vertical lanes divide the diagram into several zones defined by vertical lines. Each zone has a title. For more information, see “Lanes”.
Default connection route: defines the default connection route for connections. When connections are added to the diagram, they will have this connection route. The possible options are “Rectangular” and “Linear”. The meaning of both concepts is explained in the section “Properties of a connection”.
Show grid: lets you define whether Qflow should show a grid on the diagram. Fig. 943 shows a diagram with a grid (Show grid set to “True”).
Grid size: specifies the size of the squares defined by the grid points. Fig. 944 shows a grid with a smaller grid size than the grid in Fig. 943.
Fig. 943 Diagram with grid
Fig. 944 Diagram with smaller grid
Lanes
Lanes let you define zones in the template diagram to make it easier to understand. There are two types of lanes: horizontal and vertical. Fig. 945 shows a diagram with horizontal lanes. Fig. 946 shows a diagram with vertical lanes. It is possible to combine both types of lanes.
Fig. 945 Horizontal lanes
Fig. 946 Vertical lanes
To define lanes, select the diagram by clicking on any point where there is no step and no connection. This will make Qflow show the diagram’s properties in the properties window. Among these are the “Horizontal lanes” and “Vertical lanes” properties, which are collections.
To add or modify lanes:
Click on the “Horizontal lanes” or “Vertical lanes” property, depending on the type of lane you want to add or modify. Qflow will show a button with three dots (“…”) on the right side of the row that shows the property.
Click the “…” button. Qflow will show a window like the one in Fig. 947. This window shows a list with all the horizontal or vertical lanes (depending on which of the two properties you are editing) that are defined.
To add a lane, click “Add”. Qflow will add an item to the list representing a new lane, and will show its properties on the right side of the window.
Modify the properties of the lane you just created. These are:
Alignment: alignment of the lane’s title. There are three possibilities:
Near: if the lane is horizontal, the title appears against the top edge of the lane. If the lane is vertical, the title appears against the left edge of the lane.
Center: the title appears in the middle of the lane.
Far: if the lane is horizontal, the title appears against the bottom edge of the lane. If it is vertical, the title appears against the right edge of the lane.
Color: background color of the part of the diagram occupied by the lane.
Font: font of the lane’s title.
Text: title of the lane.
Width: specifies the width of the lane. It is easier to modify it outside the properties window, using the mouse to drag the lanes’ separator lines.
Fig. 947 Editing lanes
To modify the width of a lane using the mouse, click on one of its lines, within the area occupied by the lane’s title, and move the mouse while holding down its button (Fig. 948).
Fig. 948 Modifying the width of a lane
Editing steps
Once you have added a step to a template, you will want to modify its particular properties. For example, in the case of a task step, you will want to choose the people who will perform it (task recipients), the subject text of the message that will be sent to that person to inform them that a task has been assigned to them, and time control options to prevent delays.
Most steps share a certain set of properties that can be modified in the properties window (see “Properties of a step”), but in addition to these properties, each type of step has others. These determine the step’s behavior during the execution of a process.
To modify the properties of a step that are specific to its type, double-click on the step. This will make Qflow open the step editing window. This window shows and lets you modify the properties particular to that step, as well as some of the properties the step shares with steps of other types:
Name (all steps)
Description (all steps)
Start flag (conditional steps, such as evaluation steps, do not have it)
Flow importance (conditional steps, such as evaluation steps, do not have it)
For more information about these properties, see the section “Properties of a step”.
The section “Referencia de los pasos de templates clásicos de Qflow” explains all the properties of each step.
Below are described some elements and properties that can be found among the properties of steps of various types.
Tags
Many properties of Qflow steps let you use tags. This means that the values of these properties do not have to be determined while designing a template; instead, Qflow can obtain them from somewhere when it needs to use them. A tag is a reference to some value that, in general, is unknown at the time of designing the template, because the value does not yet exist and will only be determined when the process is executed.
An example of an element that can be used as a tag is an application data item.
An example of a property whose value can be specified using a tag is the message subject of a task step. Suppose there is a document creation process that includes a task consisting of translating the document. Since the translator receives many tasks of that type, it would be inconvenient for all their messages to have the same subject (for example, “Translation”). Instead, it is better for the subject to contain the name of the document to be translated, so that the translator, just by looking at the message subject, can know what it is about.
For this, an application data item can be used as a tag. The process designer could create a text-type application data item called “Title”, and, when editing the task’s properties, use that application data item as a tag. When the process starts, the user who starts it will enter the document’s title. The title will be stored in the “Title” data item. When Qflow sends the message to the translator, the message subject will be, for example, “Translation: Progress Report”, if the document’s title is “Progress Report”.
Fig. 949 shows a task step configured this way. In the figure, the message subject will be the word “Translation: ” followed by the document’s title. The figure shows that, to be recognized as a tag, text must be specified in a special way, using certain symbols and notation, although, as will be seen later, the person designing the template does not need to know this notation, since there is a way to add a tag without having to write the text shown in the figure.
The tag must start with the mark “#%” and end with the mark “%#”. After the first mark, the tag type must be specified, followed by a colon. In the example, the tag is an application data item, which is specified by writing “Data”. After the tag type, the element’s name is specified in quotes. In this case, the application data item is called “Title”, so “Title” is specified in quotes.
Fig. 949 Tag
To easily specify a tag, without having to remember the tag notation, click “Insert tag…”. Qflow will show a window that lets you choose an element to use as a tag (Fig. 950). In the example, the “Title” application data item appears as a possible choice, since it is the only data item defined in the template. When you select that data item, Qflow will automatically add to the message subject the text representing that tag, which is what is shown in Fig. 949.
There are four types of elements that can be used as tags. To choose one of these types, select it in the list where it says “Item type”. The possible types are:
Data: application data. If an application data item is used as a tag, Qflow will insert the value of that data item in the place where the tag is used.
Parámetros: parámetros de aplicación. Un parámetro de aplicación puede guardar un texto que puede ser utilizado como etiqueta.
Roles: roles del template. Si un rol del template es utilizado como etiqueta, Qflow insertará el nombre del usuario que esté desempeñando el rol en el lugar donde se utiliza la etiqueta.
Información del flow: algún dato del flow, como, por ejemplo, su nombre o su fecha de inicio.
Otros: otros tipos de etiqueta, como la fecha actual.
Fig. 950 Selección de una etiqueta
Creación y modificación de datos de aplicación, roles y otros ítems del proceso
Además del grafo, que representa la estructura del proceso y determina la secuencia de actividades que se ejecutarán, un proceso tiene ítems de varios tipos que sirven para especificar los datos que utiliza, los roles de las personas que participan en él, los formularios que deben llenar, etc. Los tipos de ítems son los siguientes (por una descripción sucinta de cada uno de ellos, vea “Basic concepts”; descripciones más detalladas pueden encontrarse en las secciones que siguen a ésta):
Application data
Roles de template
Data domains
Custom forms
Integrations
Event handlers
Worklets
Validations
Bots
Application parameters
Para crear un ítem, seleccione en el explorador de soluciones o en la ventana “Mis templates” el paquete, template o versión donde desea crearlo, y hágale clic con el botón derecho del ratón. Qflow mostrará el menú contextual del elemento seleccionado. En este menú aparecen las opciones “Agregar nuevo ítem…” y también una opción por cada tipo de ítem (“Dato de aplicación”, “Rol de template”, etc.). Si selecciona “Agregar nuevo ítem…”, aparecerá una ventana en la que deberá seleccionar el tipo de ítem, además del nombre (Fig. 952).
Si selecciona el tipo del ítem (por ejemplo, “Dato de aplicación”), solamente deberá ingresar el nombre (Fig. 953). El ítem se creará con propiedades por defecto (por ejemplo, los datos de aplicación siempre se crean del tipo “Texto”). Para modificar estas propiedades, debe después modificar el ítem.
Una vez creado el ítem, Qflow mostrará la lista de ítems en la que figura el que se creó recién, es decir, la lista de ítems del paquete, template o versión al cual agregó el ítem (Fig. 954). Allí podrá seleccionar el ítem y abrir su ventana de propiedades haciéndole doble clic para modificarlo. Si hace clic con el botón derecho en alguno de los ítems, podrá ver el menú contextual del ítem, que le permite eliminarlo, modificarlo, crear uno nuevo, copiarlo, cortarlo, etc.
Fig. 951 Menú que permite agregar un nuevo ítem
Fig. 952 Ventana que aparece al seleccionar “Agregar nuevo ítem…”
Fig. 953 Ventana que aparece al seleccionar “Agregar” y “Dato de aplicación”. Ventanas similares aparecen para otros tipos de ítem.
Fig. 954 Lista de datos de aplicación del paquete “Raíz”.
Fig. 955 Menú contextual de un dato de aplicación
Application data
Los datos de aplicación de un template definen los datos que serán utilizados en los procesos basados en ese template. Cada dato está asociado a un dominio, y éste está asociado a un tipo de dato y a un tipo de control que determina cómo el dato será mostrado en los formularios de los procesos.
Propiedades de un dato de aplicación
La ventana de propiedades de un dato de aplicación tiene las siguientes solapas:
General: nombre, descripción, dominio y otras opciones que definen el comportamiento del dato.
Valores por defecto: valores iniciales del dato. Cuando se inicia un proceso basado en un template que tiene definido este dato, Qflow creará el dato del proceso con esos valores iniciales.
Presentación: define cómo el dato se verá en Qflow Task.
Si el dato de aplicación pertenece a un dominio que obtiene datos de una base de datos, y la consulta de ese dominio tiene parámetros, aparece una solapa adicional: “Dependencias”.
Las propiedades de la solapa “General” (Fig. 956) son las siguientes:
Nombre
Descripción
Dominio de dato: es el dominio del dato, que define el tipo y el control (el elemento de interfaz de usuario) usado para mostrar el dato. El dominio de dato puede ser cualquiera de los dominios básicos provistos por Qflow, pero también puede ser un dominio creado por el usuario (ver “Data domains” por instrucciones sobre la creación de dominios). Los dominios básicos son:
Booleano: los datos de este tipo sólo tienen dos valores posibles: verdadero o falso.
Fecha: los datos de este tipo almacenan fechas.
Hora: los datos de este tipo expresan horas.
Número: los datos de este tipo almacenan números.
Texto: los datos de este tipo almacenan textos.
Área de texto: los datos de este tipo almacenan textos con varias líneas.
Dinero: los datos de este tipo pueden almacenar números no enteros con dos lugares después de la coma decimal (por ejemplo: 4,59). El valor mínimo de un dato de este tipo es 0.
Agrupador: nombre del grupo al que pertenecerá este dato. Agrupar datos es opcional. Al principio, la lista de grupos estará vacía. Para crear un grupo, simplemente escriba en esta propiedad el nombre del nuevo grupo. Cuando termine de modificar las propiedades del dato y haga clic en “Aceptar”, Qflow creará automáticamente un grupo con el nombre ingresado. A partir de ese momento, cuando modifique otros datos, el nombre del grupo aparecerá en la lista y podrá seleccionarlo. Los datos que están en el mismo grupo son mostrados juntos en la lista de datos cuando ésta está ordenada por grupo, con el nombre del grupo como título (se ordena por grupo haciendo clic en el cabezal de la columna “Grupo”). También son mostrados juntos en los formularios de Qflow Task. La Fig. 957 muestra un grupo llamado “Funcionario” con cuatro datos.
Bloque de línea: si el dato debe pertenecer a un bloque de líneas, indica el bloque de líneas al cual pertenece el dato. El concepto de bloque de líneas se explica más abajo.
Acepta múltiples valores: si esta opción está marcada, el dato puede tener varios valores. Es un conjunto de datos en lugar de un dato.
Fig. 956 Propiedades de un dato de aplicación
Fig. 957 Datos agrupados.
La solapa “Valores por defecto” (Fig. 958) permite definir una lista con los valores con los cuales comenzará el dato cuando se inicie un proceso. Si el dato no acepta múltiples valores, sólo se puede definir un valor por defecto.
Fig. 958 Definición de valores por defecto de un dato.
Para agregar un valor, haga clic en “Agregar”. Qflow mostrará una ventana en la cual usted podrá escribir o seleccionar un valor. Cuando usted haga clic en “Aceptar” en esa ventana, el nuevo valor será agregado a la lista. Para borrar un valor, selecciónelo de la lista y haga clic en “Eliminar”.
Si el dato acepta múltiples valores, la solapa permite definir también el valor por defecto para nuevos valores. Cuando los usuarios agreguen valores al dato en los formularios, éstos tendrán el valor inicial especificado aquí. Para ingresar un valor haga clic en “Seleccionar”. Al hacerlo Qflow abrirá una ventana donde podrá ingresar el valor. Esta ventana es igual a la mostrada para valores por defecto. Cuando ingrese el valor y haga clic en “Aceptar”, el valor ingresado se copiará al cuadro bajo la etiqueta “Valor por defecto para nuevas instancias”. Para borrar el valor ingresado haga clic en “Borrar”.
La tercera solapa (“Presentación”, Fig. 959) tiene las siguientes propiedades:
Etiqueta: es el nombre con el que se mostrará el dato en Qflow Task. Los usuarios no verán el nombre del dato; verán la etiqueta. La etiqueta puede tener símbolos que no están permitidos en el nombre del dato.
Tabulación: Indica el orden en el que los datos serán mostrados en los formularios por defecto en Qflow Task. Por ejemplo, el dato con el valor de tabulación 0 será el que se muestre primero; el que tenga el valor 1, el que se muestre segundo, y así sucesivamente. En el caso de los datos de bloques de líneas, en el que cada dato corresponde a una columna de una tabla, el dato que tenga índice 0 ocupará la primera columna, el que tenga índice 1 la segunda, y así sucesivamente.
Sugerencia: es el texto que se muestra cuando, en Qflow Task, el cursor del ratón se detiene sobre el dato.
Fig. 959 Propiedades de presentación de un dato de aplicación
Dependencias
La solapa “Dependencias” (Fig. 960) aparece cuando uno selecciona un dominio que utiliza parámetros de entrada para obtener datos de una base de datos o de un web service, o que tiene parámetros de salida. La sección “Configuración de los orígenes de datos” de este manual explica cómo definir dominios con parámetros de entrada y con parámetros de salida.
Si un dominio tiene parámetros de entrada, hay que especificar de qué datos de aplicación se tomarán los valores que se utilizarán en esos parámetros de entrada. Eso se hace en la solapa “Dependencias”: a cada parámetro de entrada del dominio se le asocia un dato de aplicación.
Lo mismo sucede con los parámetros de salida: cuando un dominio tiene parámetros de salida, hay que especificar en qué datos de aplicación se volcarán los valores de los parámetros de salida. Eso también se hace en la solapa “Dependencias”, asociando a cada parámetro de salida un dato de aplicación.
La solapa “Dependencias” muestra los parámetros del dominio en una tabla con tres columnas. En la primera columna se muestran los nombres de los parámetros. En la segunda, el tipo: Entrada o Salida. En la tercera se debe elegir, para cada parámetro, qué dato de aplicación se desea asociar a él.
La Fig. 960 muestra la ventana de dependencias de un dato del dominio “Clientes”, que es uno de los ejemplos que se mencionan en este manual (ver “Configuración de los orígenes de datos”). Este dominio tiene un parámetro de entrada (“País”) y cuatro de salida (el identificador y el nombre del cliente, y dos datos adicionales, “Dirección” y “Teléfono”). Al lado de cada parámetro se puede seleccionar un dato de aplicación. El dato de aplicación que se asocie al parámetro de entrada se utilizará para proveerle un valor a ese parámetro, de modo que el dominio utilizará ese valor en su consulta. En este caso concreto, traerá clientes del país que se indique en ese dato de aplicación. Una vez ejecutada la consulta, el valor de cada parámetro de salida se copiará en el dato de aplicación que se haya asociado a ese parámetro de salida.
Fig. 960 Dependencias de un dato
Bloques de líneas
Cuando un conjunto de datos pertenece a un bloque de líneas, esos datos aparecen en Qflow Task agrupados bajo el mismo rótulo. La Fig. 961 muestra cuatro datos que pertenecen al bloque de líneas “Funcionarios”. Los cuatro datos (Apellido, FechaNac, ID y Nombre) aparecen rodeados por un marco con el título “Funcionarios”, y tienen varias líneas. La figura muestra cómo un bloque de líneas es similar a una tabla o a una planilla. Un dato de aplicación que pertenece a un bloque de líneas representa una columna de esa tabla. Por ejemplo, suponga que un proceso debe manejar la lista de los funcionarios de una empresa, indicando su nombre, apellido, fecha de nacimiento y un número de identificación. Para esto bastaría con definir cuatro datos del mismo bloque de líneas: uno para el nombre, otro para el apellido, otro para la fecha nacimiento y otro para el número de identificación.
Cada línea ingresada tendría cuatro columnas, una por cada dato definido. La Fig. 961 muestra un bloque de líneas como el del ejemplo. En ese caso ya se han ingresado diez líneas. Como se puede ver, cada dato representa una columna. La pantalla que se muestra en la figura es lo que vería una persona en Qflow Task en el momento de iniciar un proceso basado en el template en el que se encuentran definidos los datos del ejemplo. El botón con el símbolo “+” permite agregar una nueva línea, la cual tendrá cuatro campos: uno para cada dato de ese bloque de líneas.
Fig. 961 Bloque de líneas
Visualización y modificación de los datos de aplicación de un proceso
Por defecto, los usuarios no pueden ver ni modificar los datos de aplicación al iniciar un proceso o durante la ejecución de éste. Para permitir que un usuario pueda ver o modificar los datos de aplicación, configure el alcance éstos en los pasos donde desea que puedan ser vistos o modificados, y en el formulario del proceso. El alcance de los datos también especifica, para el caso de los datos de bloques de líneas y datos que aceptan múltiples valores, si los usuarios pueden agregar o borrar líneas, y establece límites a la cantidad de líneas que pueden agregar o borrar. Para obtener información al respecto, consulte la sección “Alcance: acceso a los datos, roles y adjuntos de un proceso”.
Roles
Los roles representan uno o más usuarios que desempeñarán una determinada función durante la ejecución de un proceso. Cuando un template especifica que Qflow debe enviar una tarea a un usuario, no especifica un usuario concreto. Especifica un rol. Cuando Qflow deba enviar el mensaje correspondiente a la tarea, verificará qué usuarios están desempeñando ese rol, y enviará el mensaje a esos usuarios.
Propiedades de un rol
La Fig. 962 muestra la ventana de propiedades de un rol.
Fig. 962 Propiedades de un rol del template
La primera solapa de la ventana de propiedades de un rol muestra las siguientes propiedades:
Nombre
Descripción
Miembros del rol: lista de usuarios, roles, roles de sistema, grupos y colas de trabajo que desempeñan el rol. Sólo puede haber más de un miembro si el rol permite múltiples usuarios. Para que una cola de trabajo o un grupo pueda ser miembro de un rol, también es necesario que éste permita múltiples usuarios. Para agregar un miembro, haga clic en “Agregar miembros…”. Qflow mostrará una ventana donde podrá elegir usuarios, roles y roles del sistema (y grupos, nodos y colas de trabajo, si el rol acepta múltiples usuarios). Seleccione los elementos que desee y haga clic en “Aceptar”.
Permitir múltiples usuarios: si esta opción está marcada, el rol puede ser desempeñado por muchos usuarios al mismo tiempo. Esta opción permite también agregar grupos, nodos y colas de trabajo como miembros del rol.
Aplicar regla: aplica una regla que determina quiénes son los miembros del rol.
Supervisados por: si se aplica esta regla, entonces los miembros del rol no son los que están en la lista de miembros, sino que son aquellos usuarios que sean supervisados por ellos. Ejemplo: el usuario Pérez es supervisor de López y Gómez. Si Pérez está en la lista y se aplica la regla “Supervisados por”, los miembros del rol serán López y Gómez, y no Pérez. La regla, además, se aplica en el momento en el que el rol es utilizado. Es decir, si en el momento de definir el rol, López es supervisado por Pérez, pero poco antes de que un proceso le envíe una tarea a ese rol alguien le cambia el supervisor, entonces no recibirá la tarea, pues habrá dejado de ser miembro del rol.
Supervisor de: si se aplica esta regla, entonces los miembros del rol no son los que están en la lista de miembros, sino sus supervisores.
Usuario con menos tareas: si se aplica esta regla, Qflow toma como usuario que cumple con ese rol al usuario que tenga menos tareas pendientes al momento de utilizar el rol. Ejemplo: supongamos que el rol tiene como miembros a tres usuarios: Pérez, López y Gómez. Un paso de tarea tiene especificado ese rol como destinatario de la tarea y el rol utiliza la regla “Usuario con menos tareas”. Si, cuando el proceso llega al paso de tarea que utiliza el rol, de esos tres usuarios, Pérez es el que tiene menos tareas pendientes, entonces la tarea será asignada a Pérez.
Supervisor directo: si se aplica esta regla, Qflow toma como usuario que cumple con ese rol a cada supervisor directo de los miembros que se hayan agregado. Un supervisor directo de un usuario es aquel asignado como supervisor en el nodo organizacional donde se encuentra el usuario.
Usuario con menos tareas del template: si se aplica esta regla, Qflow toma como usuario que cumple con ese rol al usuario que tenga menos tareas pendientes pertenecientes al template en el que se basa el proceso que contiene el paso para el cual se está eligiendo el destinatario. Ejemplo: supongamos que el rol tiene como miembros a Pérez, López y Gómez. Un paso de tarea tiene especificado ese rol como destinatario de la tarea y el rol utiliza la regla “Usuario con menos tareas del template”. La tarea pertenece a un proceso basado en el template “Aprobaciones”. Si, cuando el proceso llega al paso de tarea que utiliza el rol, de esos tres usuarios, Pérez es el que tiene menos tareas pendientes que pertenezcan a algún proceso basado en el template “Aprobaciones”, entonces la tarea será asignada a Pérez. Nótese que esta regla es similar a “Usuario con menos tareas”, pero no se cuentan todas las tareas que cada usuario tiene pendientes en el sistema, sino solamente aquellas que correspondan a procesos basados en el mismo template que el proceso al que pertenece el paso cuyo destinatario se está seleccionando en el momento.
La segunda solapa de la ventana de propiedades, “Restricciones” (Fig. 963), permite restringir los usuarios que pueden ser seleccionados para este rol. Si desea restringir quienes pueden desempeñar ese rol a una lista de usuarios, marque la opción “Restringir selección de miembros del rol”. Entonces podrá agregar restricciones a la lista. Sólo usuarios que cumplen con las reglas especificadas en la lista podrán desempeñar el rol. Para agregar una restricción:
Haga clic en “Agregar”. Esto hace que aparezca una ventana como la de la Fig. 964.
En la ventana que aparece debe especificar la restricción. Esto se hace indicando un “Miembro de rol” y una regla. El miembro de rol es un usuario, grupo, nodo o cola de trabajo. La regla indica cómo se usa ese miembro para definir la restricción. Por ejemplo, la restricción más sencilla posible es seleccionar un usuario como miembro y utilizar la regla “Ninguna”. En este caso, la restricción indicará que el usuario seleccionado puede desempeñar el rol, pero otros usuarios no (a menos que alguna otra restricción indique que sí pueden). Las reglas posibles son:
Ninguna: el miembro de rol seleccionado puede desempeñar el rol.
Supervisor de: los supervisores del miembro de rol seleccionado pueden desempeñar el rol.
Supervisados por: los usuarios que tengan como supervisor al miembro de rol seleccionado pueden desempeñar el rol.
Miembros de: los miembros del miembro de rol seleccionado pueden desempeñar el rol. Por ejemplo, si el miembro de rol seleccionado es un grupo, la regla hace referencia a los miembros de ese grupo. Naturalmente, esta regla no se puede aplicar a un usuario.
Visualizadores de: esta regla sólo es válida si el miembro de rol es una cola de trabajo. Significa que usuarios que tengan permiso de visualización en esa cola de trabajo pueden desempeñar el rol.
Actuantes de: esta regla sólo es válida si el miembro de rol es una cola de trabajo. Significa que usuarios que tengan permiso de actuar en la esa cola de trabajo pueden desempeñar el rol.
Fig. 963 Restringir los miembros de un rol
Fig. 964 Restricción de un rol de template
Para modificar una restricción, selecciónela y haga clic en “Editar…”. Para quitar una, selecciónela y haga clic en “Quitar”.
La tercera solapa de la ventana de propiedades (“Presentación”, Fig. 965) permite definir cómo se ve el rol en Qflow Task. Las opciones son las siguientes:
Etiqueta: es el nombre con el que se mostrará el rol en Qflow Task. Los usuarios no verán el nombre del rol; verán la etiqueta. La etiqueta puede tener símbolos que no están permitidos en el nombre del rol.
Tabulación: indica el orden en el que se mostrarán los roles. Por ejemplo, el rol que tenga el valor 0 se mostrará primero; el que tenga el valor 1 se mostrará segundo, y así sucesivamente.
Sugerencia: es el texto que se muestra cuando, en Qflow Task, el cursor del ratón se detiene sobre el rol.
Fig. 965 Propiedades de presentación de un rol
Visualización y modificación de los roles de un proceso
Por defecto, los usuarios no pueden ver ni modificar los roles de un proceso durante su inicio o ejecución. Para permitir que los usuarios puedan ver o modificar los roles de un proceso, configure el alcance de los roles en los pasos donde desea que sean vistos o modificados, y en el formulario del proceso. El alcance de los roles también especifica, para el caso de los roles que aceptan valores múltiples, si los usuarios pueden agregar o borrar miembros, y establece límites a la cantidad de miembros que los usuarios pueden agregar o borrar.
Para obtener información al respecto, consulte la sección “Alcance: acceso a los datos, roles y adjuntos de un proceso”.
Data domains
El dominio de un dato es el conjunto de valores que puede tomar, y está asociado a un tipo de dato. Por ejemplo, si un dato sólo debe guardar valores correspondientes a fechas, el dominio de ese dato es el conjunto de todas las fechas posibles. En Qflow, cada dato de aplicación está asociado a un dominio, y éste está asociado a un tipo de dato.
El tipo de dato del dominio determina el tipo del dato de aplicación. Por ejemplo, si un dato de aplicación está asociado al dominio “Fecha”, su valor debe ser una fecha. Así, a través de su tipo de dato, el dominio define los valores que los datos asociados a él pueden tomar. Se puede limitar aún más estos valores si se asocia el dominio con una operación que defina un conjunto más restringido de valores (por ejemplo, el resultado de una consulta a una base de datos).
Un dominio define también la forma en que sus datos serán mostrados y editados en Qflow Task.
Qflow ofrece un conjunto de dominios básicos, pero es posible definir dominios adicionales.
Dominios básicos de Qflow
Los dominios básicos de Qflow son los siguientes:
Booleano: está asociado al tipo de datos “Verdadero/Falso” y al control “Check Box”.
Fecha: está asociado al tipo de datos “Fecha” y al control “Selector de fecha”.
Número: está asociado al tipo de datos “Número” y al control “Cuadro de texto”.
Texto: está asociado al tipo de datos “Texto” y al control “Cuadro de texto”.
Área de texto: está asociado al tipo de datos “Texto” y al control “Área de texto”.
Dinero: está asociado al tipo de datos “Número” y al control “Cuadro de texto”.
Hora: está asociado al tipo de datos “Hora” y al control “Selector de horas”.
Fecha hora: está asociado al tipo de datos “Fecha” y al control “Selector de fecha y hora”
Documento: está asociado al tipo de datos “Texto” y al control “Documento”.
Por más información acerca de los tipos de control de los dominios, consulte la sección “Control types”.
Propiedades de un dominio
La Fig. 966 muestra la ventana de propiedades de un dominio.
Fig. 966 Propiedades de un dominio
La primera solapa de la ventana de propiedades tiene las siguientes opciones:
Nombre
Descripción
Tipo de control: es el tipo de control que se usará para ingresar o mostrar valores de datos de ese dominio. Un control es un elemento de la interfaz de usuario, como una lista, una caja de texto o un botón, que le permite a éste interactuar con el sistema. Más abajo se describe en mayor detalle cada tipo de control.
Tipo de dato: tipo de los valores que tomarán los datos de aplicación asociados al dominio. No todos los tipos son compatibles con todos los controles. Por ejemplo, si el control es un selector de fechas, el tipo del dato debe ser, necesariamente, Fecha. Los tipos de dato son los siguientes:
Texto
Número
Verdadero/Falso
Fecha
Hora
Origen de datos: esta opción sólo es válida para algunos tipos de control. Permite seleccionar una base de datos, un web service, una lista de SharePoint o una lista con elementos fijos de la cual se extraerán los valores que podrán tomar los datos de aplicación asociados al dominio. Cuando un usuario esté por asignarle un valor a un dato de aplicación de ese dominio en Qflow Task, estos valores se cargarán en el control para que él elija uno de ellos. Una vez seleccionado el tipo de origen, haga clic en el botón “Configurar” para definir sus parámetros. Más abajo se explica cómo configurar un origen de datos.
La segunda solapa de la ventana muestra opciones de presentación.
Fig. 967 Propiedades de visualización
De estas propiedades, muchas se encuentran implementadas solamente para el sitio Web Forms. En dichos casos se marca con un “*” junto al nombre de la propiedad. Las propiedades son las siguientes:
Altura*: altura del control que muestra los datos asociados a ese dominio.
Ancho de borde*: ancho del borde que rodea el control que muestra los dados asociados a ese dominio.
Ancho*: ancho del control que muestra los datos asociados a ese dominio.
Atributos*: esta propiedad permite especificar atributos HTML para el control. La propiedad es una colección, por lo que permite agregar varios atributos. Cuando Qflow muestre un dato de aplicación asociado a este dominio, agregará los atributos al código HTML que genera el control. Esta propiedad es útil, por ejemplo, para agregar un script asociado a un evento del control. Para agregar un atributo, seleccione la propiedad, haga clic en el botón “…” que aparecerá una vez la haya seleccionado. Qflow mostrará una ventana que le permitirá agregar varios atributos, o borrar los que ya están.
Color de fondo*: color de fondo del control que muestra los datos asociados a ese dominio.
Color del borde*: color del borde que rodea el control que muestra los datos asociados a ese dominio.
Color delantero*: color de las letras con las que se muestra los valores de los datos asociados a ese dominio.
Dirección*: esta propiedad sólo está disponible para dominios cuyo tipo de control sea “Radio button” o lista de checkboxes. Permite especificar si los controles (radio buttons o checkboxes) deben ser mostrados uno al lado del otro (“Horizontal”) o uno arriba del otro (“Vertical”, opción por defecto).
Estilo de borde*: estilo del borde que rodea el control que muestra los datos asociados a ese dominio. Hay varios estilos disponibles.
Expresión regular: esta propiedad sólo existe cuando el tipo de dato del dominio es “Texto”. Permite especificar una expresión regular para validar los textos que se ingresen. Si un usuario ingresa un texto que no está contemplado en la expresión regular, Qflow le mostrará el mensaje de error especificado en la propiedad “Mensaje de error de formato”.
Fecha a comparar*: esta propiedad sólo existe cuando el tipo de dato del dominio es “Fecha”. Permite especificar una fecha con la cual Qflow, al validar valores de datos de aplicación del dominio, comparará las fechas ingresadas por los usuarios. La propiedad “Operador de la comparación” permite especificar qué comparación se hará.
Formato AM/PM: para dominios que usan el tipo de dato “Hora”. Si el valor de esta propiedad es “Verdadero”, los datos del dominio se mostrarán en el formato AM/PM (“una de la tarde” = 1:00 PM). De lo contrario, se mostrarán en formato 24 horas (“una de la tarde” = 13:00).
Fuente*: tipo de letra del control.
Hoja de estilos*: permite especificar una hoja de estilos (style sheet) para dar formato al control.
Largo máximo: esta propiedad sólo existe cuando el tipo de dato del dominio es “Texto”. Permite especificar un largo máximo para los valores de los datos asociados a ese dominio.
Mensaje de error de formato: texto del mensaje de error que se mostrará al usuario si ingresa un valor que no cumpla con la expresión regular definida en la propiedad “Expresión regular”.
Modo especial: permite agregarle una propiedad adicional al control con el que se muestran los datos del dominio, propia de HTML5, para aprovechar las funcionalidades de validación y semántica de este estándar. Los modos especiales disponibles son:
Correo electrónico
Teléfono
Número
Contraseña
Mostrar segundos: para dominios que usan el tipo de dato “Hora”. Si el valor de esta propiedad es “Verdadero”, los datos del dominio son mostrados incluyendo los segundos. De lo contrario, no se muestran segundos.
OnSelectedItemChanged*: esta propiedad indica el nombre de una función javascript que será utilizada para manejar el evento SelectedItemChanged, que se dispara cuando un usuario cambia el ítem seleccionado en un selector de ítems o lookup. Cuando ocurra el evento, Qflow ejecutará la función que tenga el nombre indicado, que debe estar en los formularios personalizados que utilicen este dominio.
Operador de la comparación*: permite especificar el operador que se utilizará para comparar una fecha ingresada por un usuario con la fecha especificada en “Fecha a comparar”.
Valor máximo: esta propiedad sólo existe cuando el tipo de dato del dominio es “Número”. Permite especificar un valor máximo para los valores de los datos asociados a ese dominio.
Valor mínimo: esta propiedad sólo existe cuando el tipo de dato del dominio es “Número”. Permite especificar un valor mínimo para los valores de los datos asociados a ese dominio.
Configuración de los orígenes de datos
En la mayoría de los casos, la configuración de un origen de datos implica especificar de dónde se traen los datos y qué datos se deben obtener. También se pueden definir parámetros de entrada y de salida.
Aspectos generales de la configuración de un origen de datos: conexiones y parámetros
A menos que el origen de datos sea una lista definida en Qflow, lo primero que hay que especificar es dónde Qflow debe obtener los datos. Esto se puede hacer con un parámetro de aplicación (“Usar un parámetro de aplicación”) o en la propia configuración del dominio (marcar “Definir en la configuración del origen de datos” y hacer clic en “Configurar…”). Se recomienda utilizar un parámetro de aplicación (por información sobre cómo definir parámetros de aplicación, ver “Application parameters”).
Si decide especificar la ubicación de los datos en la configuración del origen de datos, deberá completar los mismos datos de conexión que si estuviese definiendo un parámetro de aplicación. La sección “Application parameter properties” tiene instrucciones para hacerlo.
Fig. 968 Dos formas de especificar de dónde se obtienen los datos
Una vez especificado de dónde salen los datos, hay que especificar qué datos se traen. Por ejemplo, si el origen es una base de datos, se debe escribir una consulta en SQL. Cuando el dominio está asociado a los tipos de control Lookup, Selector de Ítems o Combo Box, esta consulta puede utilizar parámetros de entrada. Los parámetros de entrada toman sus valores de datos de aplicación. Qué dato de aplicación le provee el valor a un parámetro de entrada se especifica al editar las propiedades de un dato de aplicación del dominio que utiliza el parámetro (ver “Datos de aplicación”, “Dependencias”). La consulta debe traer por lo menos dos campos: un identificador y un dato apropiado para mostrarle al usuario (un nombre o una descripción, por ejemplo). Más abajo se explica cómo definir la consulta para cada uno de los tipos de origen de datos.
El botón “Parámetros de salida” permite definir parámetros de salida. Éstos se cargan con valores que se traen del origen de datos, para copiarlos en datos de aplicación. Supongamos, por ejemplo, que un dominio trae los datos de un cliente de la empresa. Como mínimo, la consulta debe traer el identificador y el nombre del cliente. Supongamos que, además, interesa guardar en datos de aplicación el teléfono y la dirección del cliente. En este caso, se incluyen estos datos en la consulta.
Al hacer clic en “Parámetros de salida”, Qflow muestra en una tabla los parámetros de salida, que son los cuatro campos que se obtienen mediante la consulta (Fig. 969). Al lado de cada uno de los nombres de los campos se puede escribir el nombre del parámetro que se desea asociar a ese campo. Más tarde, cuando se cree un dato de aplicación de este dominio, se debe indicar en qué datos de aplicación se guardarán los valores de cada parámetro (ver “Application data”, “Dependencies”).
Fig. 969 Parámetros de salida
Finalmente, en la mayoría de los casos, hay un botón, “Probar consulta”, que permite comprobar que los datos se traen correctamente. La excepción son los orígenes de datos de tipo Lista.
A continuación, se describe con más detalle cómo configurar un origen de datos según el tipo de origen.
Orígenes de datos de tipo Base de Datos
La Fig. 970 muestra la ventana de configuración de una base de datos como origen de datos. Esta ventana aparece cuando uno hace clic en el botón “Configurar” en la ventana de propiedades del dominio. Donde dice “Conexión a la base de datos” se especifican los datos de la conexión a la base de datos (ver “Aspectos generales de la configuración de un origen de datos: conexiones y parámetros”).
Fig. 970 Configuración de una base de datos como origen de datos
Donde dice “Consulta” se puede escribir la consulta SQL que Qflow debe ejecutar para obtener los datos del dominio. La consulta puede ser escrita manualmente, pero también hay herramientas para ayudar a escribirla. El botón “Crear consulta…” abre el constructor de consulta, que facilita el trabajo de escribir la consulta. El constructor de consulta es el mismo que el del paso de base de datos, y se describe en “Database”, “Consulta”. Recuerde que la consulta debe devolver al menos dos columnas (ver explicación más arriba). Además, para que la consulta pueda ser usada correctamente por Qflow, se recomienda cumplir los siguientes puntos:
No utilizar alias para las columnas seleccionadas, a menos que sea dentro de una subconsulta.
Si la consulta realiza un JOIN produciendo dos o más columnas con el mismo nombre, y una de ellas es seleccionada, se debe incluir la consulta dentro de una subconsulta.
Si se utiliza una subconsulta, asegurarse que de existir una sentencia WHERE en la misma, también exista una sentencia WHERE en la consulta principal.
Evitar usar comentarios (usando “–”) en la consulta.
Si el tipo de control del dominio es Lookup, Selector de Ítems o Combo Box, la consulta puede incluir parámetros de entrada. Para agregar un parámetro de entrada, haga clic en “Insertar parámetro…”. Esto hace que Qflow abra una ventana como la de la Fig. 971. En esa ventana, escriba el nombre del parámetro y haga clic en “Insertar”. Eso agrega un parámetro, que se representa con un nombre escrito entre llaves. Más tarde, al definir un dato de un dominio cuya consulta tiene un parámetro, se debe indicar qué dato de aplicación se utilizará para proveerle un valor (ver “Application data”).
De la misma forma, al definir un dato de un dominio que tiene parámetros de salida, se debe indicar en qué datos de aplicación se volcarán los valores de los parámetros de salida (ver arriba).
Fig. 971 Inserción de un parámetro
Orígenes de datos de tipo Web service
La Fig. 972 muestra la ventana de configuración de un web service como origen de datos.
Fig. 972 Configuración de un web service como origen de datos
Una vez que haya especificado los datos de la conexión al web service (ver “Aspectos generales de la configuración de un origen de datos: conexiones y parámetros”), haga clic en “Cargar métodos” para cargar la lista de métodos del web service (“Método web”). Entonces podrá seleccionar el método que desee invocar para obtener los datos del dominio. Al cargar estos métodos, sólo se muestran los que devuelven o bien un objeto de la clase DataSet de .NET Framework o bien un vector de objetos. El resultado del método seleccionado define los valores que pueden tomar los datos del dominio. Cuando usted selecciona un método, Qflow muestra sus parámetros en el espacio en blanco que aparece debajo de su nombre (Fig. 973). Si el método seleccionado devuelve un vector de objetos debe ingresar a “Mapeo de columnas” y especificar las propiedades del objeto que serán usadas en el origen de datos.
Fig. 973 Método de web service con parámetro cargado
A cada parámetro se le puede asignar un valor fijo. Si el tipo de control es Lookup, Selector de Ítems o Combo Box, también se puede establecer que ese valor sea parametrizable. Para ello, seleccione la fila correspondiente al parámetro y haga clic en “Insertar parámetro”. Esto hace que se abra una ventana de diálogo como la de la Fig. 974. La ventana es similar a la ventana en la que se definen los parámetros de un dominio que obtiene sus datos de una base de datos, pero tiene una propiedad adicional: el tipo de parámetro, que puede ser “Personalizado” o “Sistema”.
Un parámetro personalizado funciona como los parámetros de los dominios que obtienen sus datos de una base de datos: cuando se define un dato de aplicación de ese dominio, se especifica otro dato de aplicación como parámetro (ver “Application data properties”, donde se habla de la solapa “Dependencias” de la ventana de propiedades de un dato de aplicación).
Un parámetro de sistema no se asocia a un dato de aplicación, sino que tiene un nombre que se elige de una lista predeterminada y que le indica a Qflow qué valor le tiene que asignar al llamar el método del web service con el cual se utiliza.
Estos parámetros tienen como propósito reducir la carga de las llamadas a web services y son utilizados con web services diseñados especialmente para interactuar con ellos. Un método de un web service puede devolver muchos registros. En estos casos, un lookup o un selector de ítems, por ejemplo, pueden tener un funcionamiento muy lento. En el caso de un selector de ítems, a medida que el usuario escribe, Qflow filtra los resultados, pero primero obtiene todos los registros del web service, y después extrae de éstos los que le mostrará al usuario. Si estos registros son muchos, el rendimiento de Qflow Task puede ser muy bajo.
Los parámetros de sistema pueden ser los siguientes:
- Filtro por clave: útil si el método del web service recibe por parámetro una clave (identificador).Qflow lo utiliza, por ejemplo, con controles de tipo lookup.
Filtro por texto: útil si el método del web service recibe por parámetro una descripción. Qflow lo utiliza, por ejemplo, para pasar el texto ingresado en el diálogo del selector de ítems.
Filtrar por prefijo: indica si Qflow espera que se devuelvan solamente los registros correspondientes a descripciones que empiecen con el texto escrito por el usuario. Es útil sólo si se utiliza junto con “Filtro por texto”, que provee el texto a buscar en las descripciones. Qflow lo utiliza, por ejemplo, para indicar si el usuario seleccionó la opción “Comienza con” en el diálogo del selector de ítems.
Cantidad máxima de ítems: útil si el método del web service recibe un parámetro (de tipo “int”) que indica el máximo de elementos que debe devolver.
Fig. 974 Inserción de parámetros para dominio que usa web service
Para probar el método, haga clic en “Probar consulta”. Si ésta es exitosa, Qflow mostrará el resultado de la consulta en una nueva ventana (Fig. 975). Si la consulta no es exitosa, hay un problema con el data set. Por ejemplo, no tiene una data table definida. Recuerde que el data set devuelto por el método web debe tener como mínimo una columna (la primera) que corresponda a la clave de un dato y otra que tenga el valor correspondiente a esa clave.
Fig. 975 Resultado de una consulta a un Web Service
Orígenes de datos de tipo Lista
La Fig. 980 muestra la ventana de configuración de una lista como origen de datos de un dominio y la ventana donde se ingresa un nuevo par de valores para la lista. La primera muestra una grilla con dos columnas: una correspondiente a la clave del dato y otra al valor. Para agregar un dato, haga clic en “Agregar”, ingrese la clave y el valor en la ventana que Qflow abrirá y haga clic en “Aceptar”. Para eliminar un par de valores, selecciónelos de la lista y haga clic en “Eliminar”.
Fig. 980 Configuración de una lista como origen de datos
Tipos de control
Esta sección explica los tipos de control que pueden ser utilizados por los dominios de datos. Los tipos de control posibles son:
Área de texto
Check Box
Combo Box
Cuadro de texto
Cuadro de texto con sugerencias
Cuadro de texto enriquecido
Documento
Tag
Hipervínculo
Lista de Check Box
Lookup
Radio Button
Selector de fechas
Selector de fecha y hora
Selector de horas
Selector de ítems
Área de texto
Área donde se puede escribir varias líneas de texto. Es ideal para datos cuyos valores son textos largos.
Fig. 981 Área de texto
Check Box
Casillero cuadrado para marcar o desmarcar una opción. Sólo es útil para datos de tipo verdadero/falso.
Fig. 982 Checkbox
Combo Box
Lista que, al ser desplegada, muestra opciones de posibles valores del dato. Es adecuada cuando el usuario debe elegir sólo una entre varias opciones.
Fig. 983 Combo Box
Cuadro de texto con sugerencias
Un cuadro de texto con sugerencias permite a un usuario escribir parte de un texto y le muestra una lista de valores cuyos textos empiezan con lo que él escribió. Esos valores se obtienen de algún origen de datos. Por ejemplo, supongamos que un usuario tiene que seleccionar el nombre de un producto de entre los productos que ofrece una empresa. Si la empresa tiene muchos productos, tal vez no sea tan práctico tener un combo box. Tal vez sea más práctico que el usuario empiece a escribir el nombre del producto, y entonces una lista va mostrando los productos cuyos nombres se asemejan a lo que escribe el usuario, hasta que finalmente sean tan pocos que el usuario puede encontrar el que desea fácilmente y seleccionarlo.
Fig. 984 Cuadro de texto con sugerencias
Cuadro de texto
Caja de texto común con una sola línea (como la caja de texto donde se escribe el nombre de un dominio).
Fig. 985 Cuadro de texto
Cuadro de texto enriquecido
Similar al área de texto, pero permite modificar propiedades de formato del texto como usar negrita, cursiva, alinear el texto, agregar listas u otros elementos.
Fig. 986 Cuadro de texto enriquecido
Documento
Control que permite seleccionar un archivo del equipo local. Es útil cuando se requiere de ciertos documentos y es posible requerirlo en las distintas partes del formulario. Los documentos seleccionados serán agregados como adjuntos del proceso.
Fig. 987 Documento
Tag
Control que muestra un texto, pero no permite modificarlo, aun cuando el alcance del dato defina que existe permiso de edición para el dato en el paso que se está contestando o en el paso de inicio.
Fig. 988 Tag
Hipervínculo
Control que, cuando se le hace clic, navega hacia una página web. Es útil cuando los datos representan direcciones web.
Fig. 989 Un hipervínculo con su ventana de edición
Lista de Check Box
Conjunto de check boxes. Es útil cuando se le quiere presentar al usuario una lista de opciones y el usuario puede elegir varias de ellas. Los textos de las opciones son copiados en el valor del dato uno a continuación del otro, separados por saltos de línea (sólo dominios de tipo texto aceptan este tipo de control). En Qflow Task, los valores se ven separados por espacios. Por ejemplo, el dato cuyo valor está siendo editado en la Fig. 664 se vería como “Rojo Verde Negro” en el sitio.
Fig. 990 Lista de check boxes
Lookup
Control que permite obtener a partir de un identificador un valor correspondiente a ese identificador, sacado de una base de datos, de una lista o de un web service. El usuario escribe el identificador en una caja de texto y Qflow muestra el valor correspondiente a ese identificador.
Fig. 991 Lookup
Radio button
Similar al check box, pero cuando hay varios radio buttons en una misma área, sólo uno de ellos puede estar marcado, por lo que, cuando se marca uno, se desmarcan automáticamente los otros.
Fig. 992 Radio Button
Selector de fechas
Control que despliega un calendario para seleccionar una fecha.
Fig. 993 Selector de fechas
Selector de fecha y hora
Es un control que permite ingresar fecha y hora.
Fig. 994 Selector de fecha hora
Selector de horas
Es un control que permite ingresar horas y las valida automáticamente.
Fig. 995 Selector de horas
Selector de ítems
Lista que permite seleccionar un elemento particular de una colección con una gran cantidad de elementos (por ejemplo, sacados de una base de datos). Los elementos son mostrados en una lista y Qflow los filtra a medida que el usuario escribe el nombre del elemento buscado.
Fig. 996 Selector de ítems
Custom forms
Qflow permite utilizar formularios personalizados para sustituir los formularios que aparecen en Qflow Task. Qflow no posee una herramienta que permita diseñar estos formularios. Usted puede utilizar otra herramienta para diseñarlos (se recomienda Visual Studio o Visual Web Developer Express, que es gratuito), y luego incluirlos en Qflow Task. Según el sitio web utilizado (Qflow Task o Web Forms) los formularios deben consistir de diferentes elementos y utilizan diferentes técnicas para ser desarrollados. Información detallada de cómo desarrollarlos puede ser encontrada en los manuales de diseño de formularios personalizados de cada sitio, aquí se explica solamente la configuración a realizar en esta herramienta para poder utilizarlos.
Hay tres tipos de formularios en Qflow, y, en consecuencia, tres tipos de formularios personalizados:
Formularios de inicio: son los formularios que aparecen cuando un usuario hace clic sobre un template para iniciar un proceso. Permiten cargar su nombre y descripción, pudiendo permitir cargar valores de datos de aplicación, roles y archivos adjuntos.
Formularios de respuesta: son los formularios que permiten responder una tarea de Qflow.
Formularios de los procesos: son los formularios que muestran información propia del proceso, y no de alguno de sus pasos. Hay dos tipos:
Formularios del flow: muestran datos del proceso, pero nunca permiten modificarlos. Son los formularios que aparecen cuando un usuario hace clic sobre un proceso. Muestran información de un proceso.
Formularios de edición del flow: muestran datos del proceso, y permiten modificarlos. En un formulario de edición del flow se puede modificar, por ejemplo, el su nombre. También es posible modificar datos, roles y archivos adjuntos, si el alcance definido lo permite.
Los formularios estándar muestran agrupados por grupo los datos de aplicación (ver “Application data”). Para el caso del sitio Web Forms, Qflow incluye además tres formularios que funcionan como formularios personalizados y que tienen la misma apariencia que los formularios estándar, salvo porque muestran los datos de aplicación sin agrupar. Lo mismo se puede conseguir en Qflow Task si se definen los datos de aplicación sin un grupo. La Fig. 997 y la Fig. 998 muestran la diferencia entre un caso y el otro. En las dos se muestran los mismos cuatro datos. Dos de estos datos pertenecen a un grupo llamado “Datos profesionales” y los otros dos a uno llamado “Persona”. En el primer caso (Fig. 997), los datos aparecen agrupados en cuadros diferentes, y se indica, para cada cuadro, el nombre del grupo al que corresponde. En el otro (Fig. 998), los datos se muestran todos en un mismo panel titulado “Datos de aplicación”.
Fig. 997 Datos de aplicación en un formulario estándar
Fig. 998 Datos de aplicación en un formulario que no agrupa
Propiedades de un formulario personalizado
La Fig. 999 muestra la ventana de propiedades de un formulario personalizado. Por defecto, el formulario personalizado es creado como un formulario ASP.NET MVC de tipo vista, con un nombre de vista igual al nombre ingresado para el formulario personalizado.
En esa ventana se puede modificar el nombre y la descripción del formulario. Como Qflow mantiene actualmente dos sitios web, uno hecho con ASP.NET MVC y otro hecho con ASP.NET Web Forms, existen dos maneras de indicar cuál es el formulario a utilizar.
Si el formulario corresponde a Qflow Task, se debe marcar la opción “Usar MVC”. Existen dos tipos de formularios personalizados MVC: vistas y áreas portables. Para formularios de tipo vista sólo es necesario indicar el nombre de la vista a utilizar. En este caso se utiliza el área predeterminada para los formularios (“CustomForms”) y el controlador predeterminado (“Flow”). Si se desea utilizar un formulario de tipo área portable, se debe marcar la opción “Es área” e ingresar el nombre del área, del controlador y de la acción a utilizar.
En el caso de que el formulario corresponda al sitio Web Forms, se utiliza una URL relativa para indicar dónde se encuentra la página aspx asociada a al formulario. De manera predeterminada se asume que los formularios se ubicarán en la carpeta “CustomForms” de Qflow Task. En esta carpeta se encuentran los formularios que Qflow utiliza por defecto (los archivos correspondientes tienen el sufijo “Default”). Puede tomarlos como ejemplo, pero no los modifique, pues pondría en riesgo el funcionamiento de los procesos que usan esos formularios (todos los procesos que no usan formularios personalizados).
Fig. 999 Propiedades de un formulario personalizado
Fig. 1000 Propiedades de un formulario personalizado con configuración de área
Asignación de un formulario a un paso
Una vez creado un formulario, para utilizarlo hay que asignarlo al paso para el que fue diseñado, a menos que sea el formulario del proceso (ver más abajo, “Asignación del formulario del proceso”). Si el formulario fue diseñado para ingresar la información de inicio de un proceso, hay que asociarlo al paso de inicio del template. De lo contrario, hay que asignarlo a un paso interactivo (por ejemplo, un paso de tarea).
Hay dos formas de asignar un formulario a un paso. Una es mediante el menú contextual del paso. La otra es mediante la grilla de formularios, que resulta más cómoda cuando hay muchos pasos y muchos formularios, especialmente si varios pasos utilizan el mismo formulario.
Para asignar un formulario a un paso mediante el menú contextual:
Abra el diagrama del template y haga clic con el botón derecho sobre el paso para abrir el menú contextual del paso.
Seleccione la opción “Formulario personalizado”. Qflow abrirá una ventana como la que se muestra en la Fig. 1001. Esa ventana muestra la lista de formularios personalizados disponibles para el template.
Seleccione de la lista el formulario personalizado que desee.
Haga clic en “Aceptar”.
Fig. 1001 Asociación de un formulario personalizado a un paso
Para asignar un formulario a un paso mediante la grilla de formularios, haga clic con el botón derecho sobre alguna parte vacía del diagrama y seleccione, en el menú contextual, la opción “Grilla de alcance”. Eso hace que Qflow muestre una ventana con cuatro solapas. Seleccione la solapa “Formularios personalizados”, para que Qflow muestre una grilla que define la relación entre formularios y pasos (Fig. 1002).
La grilla muestra una fila por cada formulario disponible y una columna por cada paso del template. Si desea que la grilla incluya también los pasos pertenecientes a grupos usados en el proceso, seleccione la opción “Incluir pasos interactivos pertenecientes a grupos” (un grupo es un paso especial que contiene muchos pasos; ver “Grupo”). Cada celda de la grilla tiene una caja de verificación. Para asignar un formulario a un paso, marque la celda correspondiente. En el ejemplo de la figura, el formulario TareaPersonalizada fue asignado al paso “Tarea”.
Fig. 1002 Grilla de formularios
Asignación del formulario del proceso y del formulario de edición del flow
El formulario del proceso es el formulario que aparece al hacer clic sobre un proceso en Qflow Task. Muestra todos los datos, roles, archivos adjuntos y otros datos del proceso, y permite ver el grafo, hacer seguimiento y otras operaciones. El formulario de edición del flow es similar al formulario del flow, pero permite modificar datos.
Para asignar un formulario al proceso:
Si la versión a la que quiere asociar el formulario está protegida, desprotéjala.
Haga clic en la versión con el botón derecho. Qflow mostrará el menú contextual de la versión.
Si desea asignar el formulario del proceso, seleccione, “Formulario del flow”. Si desea asignar el formulario de edición del proceso, seleccione “Formulario de edición del flow”.
Dentro de la opción seleccionada, seleccione “Formulario personalizado”. Esto hace que Qflow abra una ventana como la de la Fig. 1001.
Seleccione de la lista el formulario personalizado que desee asociar al proceso.
Haga clic en “Aceptar”.
Diseño de formularios personalizados
El diseño de formularios personalizados es una tarea de mayor complejidad técnica, que requiere conocimientos de ASP.NET MVC o Web Forms según el caso. Los manuales de diseño de formularios personalizados MVC y Web Forms tienen información útil para los desarrolladores que necesiten realizar esa tarea.
Integrations
Las integraciones permiten que Qflow interactúe con otros sistemas mediante la ejecución de operaciones de componentes de software. Un proceso puede ejecutar las operaciones de una integración a través de un paso de integración (ver “Integración” en “Referencia de los pasos de templates clásicos de Qflow”).
La definición de una integración requiere conocimientos técnicos de informática. Por eso Qflow separa la definición de una integración de su utilización.
Para definir una integración, se deben definir una o más operaciones que serán ejecutadas por la integración. Una operación es un conjunto de llamadas a un componente externo a Qflow. Por ejemplo, si es una integración con un web service, es un conjunto de llamadas a métodos de ese web service.
Al definir una operación, tenga en cuenta que las integraciones son ejecutadas por Qflow en el servidor de backend. Si usted está ejecutando el diseñador de procesos del negocio en una computadora que no es la misma que el servidor de backend, entonces los componentes COM y .NET a los que haga referencia al definir una operación podrían no estar disponibles en el servidor de backend.
Propiedades de una integración
La ventana de propiedades de una integración se divide en las solapas “General”, “Parámetros” y “Operaciones”.
En la solapa “General” (Fig. 1003) se ingresan el nombre y la descripción de la integración. También se elige la operación que se debe ejecutar (“Operación en producción”). Inicialmente, la lista de operaciones está vacía. Para que aparezca alguna opción en esa lista, primero hay que definir alguna operación en la solapa “Operaciones” (ver más abajo). La opción “Ejecutar en transacción” permite especificar si la operación debe ser ejecutada en una transacción, o sea, en un contexto en el que muchas operaciones son ejecutadas y, si al menos una falla, entonces todas son canceladas y deshechas. Esto es posible solamente con algunas operaciones (por ejemplo, operaciones de bases de datos).
Fig. 1003 Propiedades generales de una integración
La solapa “Parámetros” (Fig. 1004) permite definir los parámetros de la integración. En los pasos de integración que la utilicen, se asociará cada parámetro con una entrada o salida, que según el caso puede ser un dato o un parámetro de aplicación. Hay tres tipos de parámetros:
De entrada: son parámetros cuyos valores pasan del proceso a la integración. Antes de comenzar a ejecutar la integración, Qflow toma el valor del dato o parámetro de aplicación asociado, y lo copia en el parámetro de integración.
De salida: son parámetros cuyos valores pasan de la integración al proceso. Cuando termina la ejecución de la integración, Qflow toma el valor del parámetro de salida y lo copia en el dato de aplicación asociado a él.
De entrada y salida: son una combinación de los anteriores. El valor se copia del proceso al parámetro antes de empezar la ejecución de la integración, y cuando ésta termina, el valor del parámetro se copia al dato de aplicación correspondiente.
Fig. 1004 Parámetros de una integración
La solapa “Parámetros” muestra la lista de los parámetros definidos para la integración. Para agregar un parámetro:
Haga clic en “Agregar…”. Qflow mostrará una ventana como la que se muestra en la Fig. 1005.
Ingrese los valores de las propiedades del parámetro:
Nombre: nombre con el cual desea identificar el parámetro.
Tipo de dato:
String: texto
Decimal: número
Boolean: dato con dos valores posibles: verdadero o falso
DateTime: fecha
GUID: identificador
Time: hora
Valor por defecto: el valor por defecto del parámetro. Ese valor es asignado si no se asocia ningún dato de aplicación al parámetro.
Dirección:
Entrada
Salida
Entrada y Salida (consulte más arriba el significado de cada uno)
Requerido: si esta opción está marcada, los procesos que ejecuten esta integración no podrán ignorar este parámetro, y estarán obligados a asociarle un dato de aplicación para que le proporcione un valor o para que guarde el valor devuelto.
Haga clic en “Aceptar”.
Fig. 1005 Creación de un parámetro
Para borrar un parámetro, selecciónelo de la lista y haga clic en “Remover”. El botón “Editar” le permite modificar un parámetro.
En la siguiente sección se explica cómo definir una operación.
Definición de operaciones
En la solapa “Operaciones” (Fig. 1006) se especifican los detalles de la operación que será ejecutada en la integración. Para definir una operación, haga clic en “Agregar operación…”. Qflow abrirá un asistente que le ayudará a definir una nueva operación (Fig. 1007). Para empezar a configurar la operación, haga clic en “Siguiente”.
Fig. 1006 Definición de la operación de una integración
Fig. 1007 Asistente para crear operaciones
En la pantalla de inicialización (Fig. 1008), introduzca el nombre y la descripción de la operación. Después haga clic en “Siguiente”.
Fig. 1008 Introduzca el nombre y la descripción de la operación
En la pantalla de selección de componentes (Fig. 1009) elija los componentes con los que desea que interactúe la integración. Más tarde, cuando esté definida la operación, Qflow generará un script con el código que implementa la integración. Por ejemplo, en el caso de un componente de software, se generará el código que llama los métodos de ese componente. Para agregar un componente, elija el tipo de componente en la lista y haga clic en “Agregar componente…”. Hay varios tipos de componente posibles:
Ad hoc: Esta opción permite definir una integración sin elegir ningún componente externo. En este caso, Qflow no generará ningún script, por lo que el código de la integración debe ser definido manualmente. Consulte el manual de referencia de la interfaz de scripting para averiguar cómo hacerlo. Un paso de integración que usa esta opción se comporta prácticamente como un paso de código. La diferencia es que el script es definido en la integración, y no en el propio paso, por lo que puede ser utilizado en varios pasos. Además, al igual que con otras integraciones, se puede asociar parámetros de la integración con datos de aplicación. El script de la integración puede acceder a los parámetros de la integración en lugar de acceder directamente a los datos de aplicación.
Assembly: un componente (DLL) hecho con .NET framework.
COM: componente (DLL) COM.
Database: un procedimiento almacenado, o un script para hacer consultas (Queries) o para insertar o actualizar datos (Upserts).
Qflow Assembly: un componente que tiene una clase derivada de CodeScriptBase. Esta clase define el método Execute() y es la clase base del código de los scripts y de las integraciones. Para usar esta opción, hay que desarrollar un componente con esas características.
SharePoint: una lista de SharePoint. Se puede subir documentos y crear elementos en una lista o biblioteca de documentos.
Web service: un web service.
Fig. 1009 Componentes
Cuando haya hecho clic en “Agregar componente…”, Qflow mostrará una ventana que le permitirá elegir el componente (salvo en el caso de componentes ad-hoc). La ventana que se muestra depende del tipo de componente que se haya elegido. A continuación, se describen las ventanas de cada tipo de componente.
Selección de componente de tipo Assembly o Qflow Assembly
La ventana para seleccionar un assembly es como la que se muestra en la Fig. 1010. Hay que especificar la ruta del assembly o seleccionar un parámetro de aplicación que la contenga. Para seleccionar un parámetro de aplicación, haga clic en “Parámetro de aplicación”.
Para especificar la ruta del assembly directamente, haga clic en “Explorar…” y seleccione el archivo del assembly en la ventana que aparece. Si marca la opción “Assembly en GAC”, cuando Qflow vaya a invocar el assembly, lo buscará en el GAC del servidor, y no en el sistema de archivos. Si no marca esa opción, el camino al assembly debe ser exactamente el mismo que en la máquina en la que usted está trabajando. El botón “Validar assembly” permite hacer una prueba para comprobar que la ruta del assembly es correcta y que éste puede ser cargado correctamente. Una vez que haya comprobado eso, haga clic en “Aceptar”.
Fig. 1010 Agregar un assembly como componente de integración
Selección de un componente de tipo COM
La ventana para un componente COM es como la que se muestra en la Fig. 1011. Muestra una lista con los componentes COM registrados en la computadora donde el diseñador de procesos del negocio está siendo ejecutado. Seleccione uno y haga clic en “Aceptar”. Una vez que haya seleccionado el componente COM, haga clic en “Aceptar”.
Fig. 1011 Agregar componente COM a integración
Selección de una base de datos como componente de la operación
La ventana para una base de datos es como la que se muestra en la Fig. 1012. En ella hay que especificar los datos de conexión a la base de datos sobre la cual se desean ejecutar operaciones. Se puede optar por obtener los datos de la conexión por medio de un parámetro de aplicación (“Usar parámetro de aplicación”) o especificar esos datos en la propia integración (“Definir en la propia integración”). En el primer caso, debe seleccionar el parámetro de aplicación del que se obtendrán los datos. En el segundo, debe hacer clic en “Configurar…” para especificar esos datos. La ventana de configuración de una conexión a una base de datos se describe en “Configuración de un parámetro de tipo Conexión a base de datos”. Una vez definida la conexión a la base de datos, haga clic en “Aceptar”.
Fig. 1012 Agregar base de datos como componente a la integración
Selección de un web service como componente de la operación
La ventana para un web service es similar a la que se usa para una base de datos. En ella hay que especificar los datos de conexión al web service. En este caso también podrá optar entre obtener los datos de conexión mediante un parámetro de aplicación o definirlo en la propia integración. La ventana de configuración de una conexión a un web service se describe en “Configuración de parámetro de tipo Conexión a web service”. Una vez definida la conexión al web service, haga clic en “Aceptar”.
Selección de comandos y mapeo de parámetros
Una vez seleccionados los componentes de la integración, haga clic en “Siguiente”. En la siguiente pantalla (Fig. 1013) debe seleccionar los métodos que desee llamar en la operación, y asociar los parámetros de esos métodos con los parámetros de la integración, para especificar qué parámetro de la integración le provee el valor a cada parámetro de cada método.
La lista de “ClasesDisponibles” muestra las clases de todos los componentes que fueron seleccionados. En el caso de componentes de software como assemblies o componentes COM, estas clases son clases públicas de esos componentes. En el caso de los web services, son clases de los proxies que se utilizarán para interactuar con ellos. En el caso de bases de datos y listas de SharePoint, representan comandos que se enviarán a las bases de datos y a las listas de SharePoint. Se describen detalladamente más abajo (ver “Clases y métodos disponibles para bases de datos” y “Clases y métodos disponibles para listas de SharePoint”).
Fig. 1013 Selección de clases y métodos
Al seleccionar una clase en “Clases Disponibles”, en la lista “Métodos disponibles” se muestran los métodos que se pueden invocar en la clase seleccionada. Para agregar un método a ser invocado por la integración, seleccione en “Clases disponibles” la clase a la que el método pertenece, y en “Métodos disponibles”, el método. A continuación, haga clic en “Agregar”. Qflow agregará el método a la lista “Métodos a invocar”. Esta lista muestra los métodos que la integración invocará. También los parámetros de cada método, tanto de entrada como de salida. La variable de retorno del método de un componente de software o de un web service aparece como un parámetro de salida bajo el nombre “$return value”.
A cada uno de estos parámetros del método se le debe asociar uno de los parámetros de la integración (los parámetros de la integración son los que fueron definidos en la solapa “Parámetros”). Para que Qflow intente asociar los parámetros de la integración a los parámetros del método, haga clic en “Auto mapear”. Qflow intentará asociar automáticamente a cada parámetro del método un parámetro de la integración, buscando para eso nombres coincidentes y teniendo en cuenta que ambos deben ser del mismo tipo (si hay solamente un parámetro de la integración y un parámetro del método, y los tipos coinciden, Qflow los asociará también).
Esta asociación puede ser modificada. Para desvincular un parámetro del método de un parámetro de la integración, haga clic en “Desvincular”. Para asociar un parámetro del método a un parámetro de la integración, seleccione el primero y haga clic en “Vincular”. Qflow mostrará una ventana que muestra todos los parámetros de la integración (Fig. 1014). Seleccione el parámetro que desee asociar al parámetro del método seleccionado, y haga clic en “Aceptar”.
Fig. 1014 Selección de parámetro para asociar a un argumento de un método a invocar
Una vez definidos los métodos a invocar y sus parámetros, haga clic en “Siguiente”. Qflow mostrará la pantalla que indica que la creación de la operación fue exitosa. Haga clic en “Finalizar” para cerrar el asistente.
Fig. 1015 Fin del proceso de definición de una operación
Script de la integración
Una vez terminado el asistente, Qflow habrá creado un script que implementa la operación. Para ver o modificar el script, seleccione la operación y haga clic en “Editar operación”. La Fig. 1016 muestra un script generado por el asistente. Si la integración sólo tiene una operación que invoca un componente “Ad hoc”, el método “Execute” queda vacío.
Fig. 1016 Script de integración
Las modificaciones realizadas al script pueden ser compiladas con el botón “Compilar”. Es posible probar el script utilizando el botón “Ejecutar”. Si hace clic con el botón derecho sobre el script, Qflow muestra un menú contextual que permite realizar operaciones de edición (deshacer y rehacer; buscar palabras; copiar y pegar código) e insertar parámetros, funciones y datos comunes en el código. Por más información sobre desarrollo de scripts de Qflow, consulte el manual de referencia de la interfaz de scripting de Qflow.
Clases y métodos disponibles para bases de datos
Esta sección explica las opciones que aparecen en los campos “Clases disponibles” y “Métodos disponibles” al configurar una operación que accede a una base de datos. En la pantalla de configuración de un componente de tipo base de datos, donde dice “Clases disponibles”, las opciones son las siguientes:
Queries: permite ejecutar una consulta sencilla generada automáticamente por Qflow. Cuando se selecciona esta opción, en la lista “Métodos disponibles” se carga un elemento por cada tabla de la base de datos. Cada uno de estos elementos representa un comando “SELECT” para traer los datos de la tabla correspondiente. Por ejemplo, si la base de datos tiene una tabla que se llama “Empleados”, en “Métodos disponibles” aparece el “método” “EmpleadosQuery”. Si además tiene una tabla llamada “Productos”, aparece el método “ProdutosQuery”, etc.
StoredProcedures: permite ejecutar un procedimiento almacenado. Cuando se selecciona esta opción, en la lista “Métodos disponibles” se cargan los procedimientos almacenados de la base de datos.
Upserts: permite ejecutar una secuencia de comandos SQL generados automáticamente por Qflow para actualizar una tabla. Cuando se selecciona esta opción, en la lista “Métodos disponibles” se carga un elemento por cada tabla de la base de datos. Cada uno de estos elementos representa un comando que inserta o actualiza un registro de una tabla, según si los valores que se le pasan corresponde a un registro que ya existe o no. Por ejemplo, si la base de datos tiene una tabla que se llama “Empleados”, en “Métodos disponibles” aparece el método “EmpleadosUpsert”.
Los “Métodos disponibles” si la clase seleccionada es “Queries” tienen dos grupos de parámetros:
Parámetros cuyos nombres terminan en “_Select”: son parámetros de salida. Una vez que se haya ejecutado la integración, Qflow volcará a estos parámetros los valores obtenidos de la ejecución de la consulta. Cada parámetro corresponde a una de las columnas especificadas en la cláusla “SELECT” de la consulta.
Parámetros cuyos nombres terminan en “_Where”: son parámetros de entrada. Qflow utilizará los valores de estos parámetros para filtrar los datos mediante la cláusula “WHERE” de la consulta. La consulta que arme Qflow utilizará la palabra clave “AND” para unir las condiciones de la cláusula “WHERE”, es decir, exigirá que se cumplan todas para un registro para incluirlo en el resultado.
Los “Métodos disponibles” si la clase seleccionada es “Upserts” tienen solamente parámetros de entrada. Cada uno corresponde a una columna de la tabla que se va a actualizar. Si la clase seleccionada es “StoredProcedures”, los parámetros son los del procedimiento almacenado que se seleccionó en “Métodos disponibles”.
Utilización de una integración
Para utilizar una integración, agregue un paso de integración al template donde desea utilizarla, y modifique sus propiedades para que el paso ejecute la integración deseada. Configurar un paso de integración no es una tarea que requiera conocimientos técnicos. Por más detalles acerca de cómo hacerlo, consulte la sección “Referencia de los pasos de templates clásicos de Qflow”, donde se explican los pasos de integración.
Eventos y manejadores de eventos
Los manejadores de eventos son scripts que Qflow ejecuta cuando ocurre un determinado evento durante la ejecución de un proceso.
Propiedades de un manejador de eventos
La Fig. 1017 muestra la ventana de propiedades de un manejador de eventos.
Fig. 1017 Propiedades de un manejador de eventos
Además del nombre y de la descripción, un manejador de eventos tiene las siguientes propiedades:
Método de ejecución: puede ser síncrono o asíncrono.
Síncrono: el manejador se ejecuta de forma tal que el proceso lo espera, y no continúa hasta que la ejecución del manejador termine. El manejador puede modificar datos del proceso.
Asíncrono: el manejador se ejecuta de forma tal que el proceso no espera que su ejecución termine. El manejador no puede modificar datos del proceso.
Orden: es un número útil para el caso en que haya muchos manejadores para el mismo evento. En este caso, los manejadores serán ejecutados en orden creciente de acuerdo con este número. Por ejemplo, si hay tres manejadores para el mismo evento, Qflow ejecutará primero aquel cuyo valor para esta propiedad sea 0, luego el que tenga como valor 1 y por último el que tenga como valor 2.
Usar integración: si se marca esta opción, el manejador utiliza el código de una integración que ya está definida, en lugar de utilizar código escrito específicamente para el manejador. Cuando esta opción está marcada, la pantalla cambia para que se puede seleccionar una integración, y desaparecen las opciones que permiten escribir el script (Fig. 1018). La parte inferior de la pantalla cambia para mostrar los parámetros de la integración, de modo que se pueda asociar datos de aplicación con ellos, de la misma forma que en un paso de integración (ver “Integración”).
Información del manejador: es el script con el código a ejecutar cuando ocurre el evento. Utilice el botón derecho del ratón para acceder a un menú que le permite realizar operaciones de edición e insertar porciones de código utilizadas frecuentemente.
Lenguaje de programación: indica el lenguaje que se utilizará en el código del manejador. Las opciones son C# y Visual Basic .NET (VB.NET).
Fig. 1018 Manejador de eventos que utiliza una integración
Asociación de un manejador de eventos con un evento
Para que Qflow utilice el manejador de evento, hay que asociarlo a un evento de modo que cuando éste ocurra, Qflow ejecute el script del manejador.
Hay dos tipos de eventos:
Eventos del proceso: estos eventos no están asociados a ningún paso en particular. La sección “Eventos del proceso” enumera y explica estos eventos.
Eventos de los pasos: son eventos que están asociados a pasos en particular. La sección “Eventos de un paso” enumera y explica estos eventos.
Para asociar un manejador a un evento del proceso:
Haga clic con el botón derecho del ratón sobre la versión. Qflow mostrará el menú contextual de la versión.
Seleccione la opción “Eventos manejados”. Qflow mostrará una ventana similar a la que se muestra en la Fig. 1019. La ventana muestra varias solapas. Cada una corresponde a un evento y posee una lista de los manejadores de eventos.
Para cada evento, marque los manejadores que desea que Qflow ejecute cuando se produce ese evento.
Haga clic en “Aceptar”. Cuando una versión de un template tiene asociados manejadores de eventos a eventos del proceso, Qflow muestra un ícono en la esquina superior izquierda del diagrama del proceso. El ícono representa un rayo, e indica que hay manejadores de eventos asociados a los eventos del proceso (Fig. 1020).
Fig. 1019 Eventos del proceso
Fig. 1020 Diagrama de un proceso que tiene manejadores de eventos asociados a eventos del proceso
Para asociar un manejador a un evento de un paso:
Abra el diagrama de la versión a la que pertenece el paso.
Haga clic con el botón derecho del ratón sobre el paso. Qflow mostrará el menú contextual del paso.
Seleccione la opción “Eventos manejados”. Qflow mostrará una ventana similar a la que se muestra en la Fig. 1021. La ventana muestra varias solapas. Cada una corresponde a un evento del paso y posee una lista de los manejadores de eventos.
Para cada evento, marque los manejadores que desea que Qflow ejecute cuando se produce ese evento.
Haga clic en “Aceptar”. Cuando un paso tiene asociados manejadores de eventos a alguno de sus eventos, Qflow muestra un ícono en la parte derecha e inferior del paso. El ícono representa un rayo, e indica que hay manejadores de eventos asociados a los eventos del paso (Fig. 1022).
Fig. 1021 Eventos de un paso
Fig. 1022 Paso con eventos asociados
Eventos del proceso
Los eventos del proceso son los siguientes:
Iniciar flow: ocurre cuando Qflow inicia el proceso.
Finalizar flow: ocurre cuando Qflow finaliza el proceso.
Cambio de estado del flow: ocurre cuando el proceso cambia de estado. Por ejemplo, si el proceso llega a un paso de tarea, hay un cambio de estado, pues el proceso adopta un estado en el que espera por la finalización o cancelación de esa tarea.
Iniciar hilo: ocurre cuando Qflow inicia la ejecución de un nuevo hilo.
Finalizar hilo: ocurre cuando Qflow finaliza un hilo.
Error en hilo: ocurre cuando se produce un error durante la ejecución de un hilo.
Cambio de estado de hilo: ocurre cuando un hilo cambia de estado. El concepto es similar al de cambio de estado del proceso.
Hilo en espera: ocurre cuando un hilo finaliza y espera la finalización de sus hilos hermanos.
Separación de hilo: ocurre cuando un hilo se divide en varios hilos, durante la ejecución de un paso de separación.
Unión de hilos: ocurre cuando dos o más hilos se unen, durante la ejecución de un paso de unión.
Etapa en tiempo: ocurre cuando la etapa actual del proceso supera el tiempo definido como esperado. Por más información de las etapas consultar la sección “Etapas de un proceso”.
Etapa retrasada: ocurre cuando la etapa actual del proceso supera el tiempo máximo definido.
Eventos de un paso
Los eventos de los pasos son los siguientes:
Iniciar paso: ocurre cuando comienza la ejecución del paso.
Novedades en paso: ocurre cuando hay novedades en el paso. Por ejemplo, en el caso de un paso de pregunta, cuando un destinatario contesta la pregunta. Nótese que el hecho de que haya novedades en un paso no implica necesariamente que el proceso o el hilo cambien de estado. Por ejemplo, si un paso de pregunta tiene varios destinatarios y el proceso espera que cinco de ellos contesten antes de continuar, el proceso no abandonará el estado de espera hasta que cinco destinatarios contesten, pero cuando el primero en contestar lo haga, estará generando una novedad en el paso.
Finalizar paso: ocurre cuando el paso termina su ejecución.
Error en paso: ocurre cuando se produce un error durante la ejecución del paso.
Worklets
Los worklets son conjuntos de pasos y relaciones entre esos pasos, agrupados en un componente de forma tal que puedan ser utilizados en muchos templates. Un worklet es similar al diagrama de un template, pero no es independiente, sino que debe ser utilizado como parte de un diagrama de alguna versión de un template. También puede ser visto como un paso que contiene varios pasos.
Una vez creado, un worklet aparece en la barra de herramientas como si fuera un paso más. Cuando un worklet es utilizado en un template, tiene la apariencia de un paso, aunque existen mecanismos para hacer que Qflow muestre todos sus pasos en lugar de mostrarlo como si fuera un paso solo. Más información sobre esto puede ser encontrada en la sección “Referencia de los pasos de templates clásicos de Qflow”, en la parte que trata de los pasos de worklet.
Cada paso de fin de un worklet debe estar asociado a un conector definido por el usuario, de modo que el paso que representa un worklet tiene tantos conectores como pasos de fin tiene el worklet. Esto permite definir varios caminos distintos dentro de un worklet y respetarlos una vez finalizada su ejecución. Cuando Qflow termine de ejecutar la porción del proceso correspondiente al worklet, utilizará el conector correspondiente al paso de fin donde terminó esa ejecución para continuar con la ejecución del proceso.
El menú contextual de un worklet en la lista de worklets de un paquete, template o versión tiene algunas opciones adicionales a las que suelen tener los menús contextuales de otros ítems:
Referencias: abre una ventana que muestra en qué versiones de template y otros worklets se utiliza el worklet. Es útil para evaluar el impacto de un cambio en el worklet.
Ver diseño: permite ver el diseño del worklet. Es equivalente a hacer doble clic en él.
Propiedades: permite ver la ventana de propiedades del worklet, en la que se puede modificar su nombre y descripción, y además modificar sus conectores (ver más adelante).
Propiedades de un worklet
De un worklet se puede querer modificar el diseño o sus propiedades (nombre, descripción y conectores).
Modificación del diseño de un worklet
Para diseñar o modificar el diseño de un worklet, seleccione el worklet en la lista de worklets y hágale doble clic.
Qflow mostrará el diagrama del worklet en una nueva solapa, igual a la del diagrama de un template, y le permitirá modificarlo de la misma forma que modifica el diagrama de una versión de un template. En la barra de herramientas, los pasos de inicio y fin son sustituidos por los de inicio de worklet y fin de worklet, pero en general dibujar el diagrama de un worklet es muy parecido a dibujar el diagrama de una versión de un template. Modificaciones hechas a un worklet se reflejan en todos los templates en los cuales se utiliza.
Un worklet puede tener varios pasos de fin, y en ese caso, debe tener varios conectores de salida. Cuando un proceso termina la ejecución de un worklet, sigue su ejecución a través del conector correspondiente al paso de fin en el cual terminó la ejecución del worklet. Qflow no permitirá guardar un worklet que tenga pasos de salida para los cuales no hayan sido definidos conectores. Los conectores se definen mediante la ventana de propiedades del worklet, y se asocian a un paso de fin mediante la ventana de propiedades del paso.
Modificación de nombre, descripción y los conectores de un worklet
El nombre, la descripción y los conectores de un worklet se modifican en su ventana de propiedades. Para acceder a esa ventana, vaya a la lista de worklets y haga clic con el botón derecho del ratón sobre el worklet para ver el menú del worklet. Allí, seleccione “Propiedades”.
La ventana de propiedades tiene dos solapas. En la primera puede modificar el nombre y la descripción del worklet. En la segunda, “Conectores” (Fig. 1023), puede agregar, editar y eliminar conectores.
Para agregar un conector, haga clic en “Agregar…”. Eso hace que Qflow abra una ventana que le permite ingresar un texto y una clave para el conector (Fig. 1024). Esa clave se utilizará más tarde para asociar el conector a algún paso de fin.
Fig. 1023 Conectores de un worklet
Fig. 1024 Agregar un conector a un worklet
Asociar un paso de fin de worklet a un conector
Para asociar un paso de fin de worklet a un conector, haga doble clic en el paso para ver su ventana de propiedades (Fig. 1025). En la propiedad “Conector de salida”, seleccione de la lista el conector que desee relacionar con ese paso.
Fig. 1025 Propiedades de un paso de fin de worklet
Utilización de worklets
Una vez creado, un worklet queda disponible en la barra de herramientas (Fig. 1026) y es posible utilizarlo en todos los templates donde el worklet esté disponible (aquellos que pertenecen a paquetes que descienden del paquete donde fue creado el worklet). Si el worklet no aparece en la barra de herramientas, intente cerrar la ventana del template que está editando y volver a abrirla.
Fig. 1026 Worklets en la barra de herramientas
Conversión de un paso de worklet en un grupo
Worklets y grupos de pasos (ver “Grupo” en “Referencia de los pasos de templates clásicos de Qflow”) son similares, pero un grupo pertenece a una versión de template determinada y no puede ser utilizado en otras versiones o en otros templates. Un worklet puede ser utilizado en varias versiones de template distintas, e incluso en otros worklets. A veces puede ser deseable modificar un worklet sin que esa modificación tenga impacto en alguna versión de un template. En este caso, se puede convertir el paso de worklet de la versión que se quiere mantener incambiada en un grupo. Para ello:
Haga clic con el botón derecho sobre el paso de worklet. Eso hace que Qflow muestre un menú.
Seleccione la opción “Convertir en grupo”. El paso cambiará de apariencia para mostrar que ahora es un grupo (el borde grueso de un paso de worklet pasa a ser fino, como el de un grupo).
Validations
Las validaciones son scripts que se definen para ejecutar operaciones en los formularios de los procesos. Para desarrollar validaciones es necesario poseer conocimientos de scripting del lado del cliente (Javascript o VB Script). Hay dos tipos de validaciones:
Las que se ejecutan cuando Qflow carga un formulario en la pantalla. Estas validaciones permiten modificar el estado de los datos del formulario antes de que el usuario pueda modificarlos.
Las que se ejecutan cuando el usuario hace clic en el botón del formulario (el botón que inicia el proceso en el caso de los formularios de inicio; el botón que responde la tarea en el caso de los formularios de respuesta; el botón “Editar flow” en un formulario de edición del flow). Estas validaciones pueden ser utilizadas para verificar la validez de los datos y emitir una alerta cuando éstos no son válidos, impidiendo así que el usuario cometa errores que perjudiquen el funcionamiento correcto del proceso.
Al igual que los formularios, las validaciones son definidas en un paquete, template o versión, y después son asociadas a los pasos en los que se desea utilizarlas. Una validación puede ser utilizada en varios pasos diferentes de varios procesos diferentes.
Propiedades de una validación
La Fig. 1027 muestra la ventana de propiedades de una validación.
Fig. 1027 Ventana de propiedades de una validación
Además del nombre y de la descripción, la ventana de edición de una validación permite modificar las siguientes propiedades:
Lenguaje de programación: es el lenguaje de scripting que se utilizará para escribir el código de la validación. Las opciones son Javascript y VB Script.
Código: el código de la validación se escribe en la caja de texto que aparece en la parte inferior de la pantalla. Si se hace clic con el botón derecho sobre esa caja de texto, Qflow muestra un menú que permite seleccionar porciones de código comunes (“code snippets”) que se pegan en la caja de texto. Por ejemplo, si se selecciona el elemento “Eventos de página, On Load”, Qflow pegará la estructura básica de un método que maneja ese evento. El menú también permite realizar operaciones de edición de código (copiar, pegar, deshacer, buscar una palabra, etc.).
Fig. 1028 “Code snippets”
Asociación de una validación a un paso
Las validaciones se asocian a pasos, de modo que cuando Qflow muestra en Qflow Task los formularios asociados a esos pasos, incluye las validaciones en sus formularios. Las validaciones pueden ser asociadas a pasos de inicio y a pasos interactivos (pasos de pregunta, tarea, notificación, y pregunta con evaluación).
Para asociar una validación a un paso:
Haga clic con el botón derecho sobre el paso al cual desea asociar la validación. Qflow muestra el menú contextual del paso.
Seleccione “Validaciones”. Qflow muestra una ventana como la de la Fig. 1029.
Marque el casillero correspondiente a la validación que desea asociar al paso y haga clic en “Aceptar”. Puede marcar varios casilleros para asociar varias validaciones simultáneamente.
Las validaciones también pueden ser asociadas al formulario del proceso.
Fig. 1029 Asociación de validaciones a un paso
Asociación de una validación a un formulario
Una validación puede ser asociada a un formulario del proceso o a un formulario de edición del proceso. Para eso, haga clic con el botón derecho en la versión en la que desea usar la validación. En el menú contextual del explorador de soluciones o de la ventana “Mis templates”, seleccione, dentro de la opción correspondiente al formulario al que desea asociar la validación (“Formulario del flow” o “Formulario de edición del flow”), la opción “Validaciones”. Qflow mostrará una ventana como la de la Fig. 1029. Marque las validaciones que desee asociar al formulario y haga clic en “Aceptar”.
Grilla de validaciones
Cuando un template tiene muchos pasos y hay validaciones que deben ser utilizadas en varios pasos, puede resultar trabajoso asociar a cada paso las validaciones que le corresponden. Para estos casos, Qflow ofrece la grilla de validaciones. La grilla de validaciones permite ver en una grilla las validaciones asociadas a cada uno de los pasos de inicio y pasos interactivos del template.
Para acceder a la grilla de validaciones, haga clic con el botón derecho sobre el diagrama del template para que Qflow muestre el menú del diagrama, y seleccione la opción “Grilla de alcance”. Eso hace que Qflow muestre la ventana con las opciones de alcance de datos (ver “Alcance: acceso a los datos, roles y adjuntos de un proceso”). Dicha ventana tiene cuatro solapas. La solapa “Validaciones” muestra la grilla de validaciones (Fig. 1030).
En esa grilla, cada fila corresponde a una validación disponible en la versión de template que se está editando, y cada columna corresponde a un paso de inicio o interactivo. Si desea que la grilla incluya también los pasos pertenecientes a grupos usando en el proceso, seleccione la opción “Incluir pasos interactivos pertenecientes a grupos”. Para cada celda de la grilla, se muestra si la validación está asociada a ese paso o no mediante una marca en un casillero. Para asociar una validación a un paso, basta con marcar la celda correspondiente a esa validación y a ese paso. Para desasociarla, hay que desmarcar el casillero.
También se pueden usar los botones “Seleccionar” y “Deseleccionar” para marcar y desmarcar casilleros. Estos botones son útiles cuando se seleccionan varias celdas simultáneamente, pues permiten marcar y desmarcar al mismo tiempo todos los casilleros correspondientes a las celdas seleccionadas.
Fig. 1030 Grilla de validaciones
Bots
Un bot es un proceso que realiza tareas que le son asignadas por procesos, con los cuales se comunica asíncronamente. En general, las tareas que son procesadas por bots son tareas pesadas, que requieren grandes cantidades de recursos, y que por eso deben ser realizadas por un proceso separado de los procesos que ejecutan los servicios de Qflow. Un bot puede incluso funcionar en un servidor diferente al que alberga los servicios de Qflow. Tareas sencillas pueden ser realizadas en pasos de código y de integración.
La interacción entre un proceso y un bot se da de la siguiente forma:
Un proceso crea una tarea para el bot mediante el paso de bot. La creación de la tarea consiste en almacenar en una cola la información de la tarea. Esa información incluye los parámetros de la tarea e indicaciones de cuál es el bot que debe ejecutarla.
El bot verifica si tiene tareas pendientes, y al hacerlo, encuentra la nueva tarea e intenta procesarla. El bot es un servicio, o al menos un proceso que verifica constantemente si tiene nuevas tareas en la cola. Para ello, utiliza el web service WebBot, que provee métodos para acceder a la cola y obtener los datos de las tareas pendientes para procesarlas. También le provee métodos para abortar una tarea y para indicar que una tarea ya fue completada. Cuando termina la tarea, el bot utiliza el web service para informar a Qflow de que terminó la tarea, o que la abortó porque no pudo procesarla. Como la funcionalidad de obtener tareas y actualizarlas es provista por un web service, el bot puede estar en un servidor distinto al de los servicios de Qflow.
Propiedades de un bot
La Fig. 1031 muestra la ventana de propiedades de un bot.
Fig. 1031 Ventana de edición de un bot
La ventana de edición de un bot tiene cuatro solapas que la dividen en las siguientes partes:
General
Parámetros
Notificación
Vencimiento
La solapa “General” permite ingresar un nombre y una descripción para el bot. Además, tiene la propiedad “Ejecutable por”, que permite definir la cuenta de usuario cuyas credenciales se utilizarán para invocar el web service WebBot y realizar cambios en procesos que asignen tareas al bot. Para seleccionar un usuario, haga clic en “Cambiar”. Qflow le mostrará una ventana que le permitirá seleccionar un usuario de Qflow. Seleccione el usuario que desee y haga clic en “Aceptar”.
Fig. 1032 Parámetros
La solapa “Parámetros” (Fig. 1032) permite definir los parámetros del bot. Los parámetros de un bot son similares a los parámetros de una integración, y sirven para pasarle datos al bot.
Para agregar un parámetro:
Haga clic en “Agregar…”. Qflow muestra una ventana como la de la Fig. 1033.
Ingrese los valores de las propiedades del parámetro:
Nombre
Tipo de dato
String: texto
Decimal: número decimal
Boolean: valor binario (verdadero/falso)
DateTime: fecha y hora
Guid: identificador único
Valor por defecto: valor que tendrá el parámetro si no se le asigna ningún valor en el paso un paso de bot.
Dirección: permite definir si el parámetro es de entrada, de salida o de entrada y salida.
Entrada: un parámetro de entrada permite pasarle información desde el proceso al bot antes de que el bot empiece a procesar la tarea que le fue asignada por el proceso.
Salida: un parámetro de salida permite pasarle información del bot al proceso cuando el bot termine la ejecución de la tarea.
Entrada/Salida: la información fluye en ambas direcciones. El proceso le pasa información al bot. El bot puede modificar el valor del parámetro y devolvérselo al proceso.
Requerido: si se marca esta opción, el proceso deberá especificar obligatoriamente un valor para el parámetro. De lo contrario, especificar un valor para el parámetro es opcional.
Haga clic en “Aceptar”.
Fig. 1033 Agregar un parámetro de un bot
Si marca la opción “Permitir acceso a información del flow”, el bot podrá acceder a datos del proceso. El grado de acceso que tendrá el bot dependerá del alcance que se defina. Para definir el alcance, haga clic en el botón “Alcance”, que queda habilitado una vez que se marcó la opción “Permitir acceso a información del flow”. La configuración del alcance se describe en “Alcance: acceso a los datos, roles y adjuntos de un proceso”.
La solapa “Notificación” (Fig. 1034) permite definir el mecanismo mediante el cual el bot detecta que tiene trabajo pendiente. Hay dos opciones:
No notificar: si se selecciona esta opción, Qflow no notifica al bot cuando le asigna un nuevo trabajo. El bot debe consultar el web service WebBot periódicamente para averiguar si tiene trabajo pendiente.
Notificar a cola de mensajes: en este caso, Qflow notificará al bot que tiene un nuevo trabajo pendiente mediante una cola de mensajes. El bot, en este caso, no debe consultar periódicamente el web service WebBot, sino que debe suscribirse a una cola de mensajes de MSMQ e implementar un manejador para el evento que se disparará cuando haya un nuevo trabajo. Si selecciona esta opción, debe especificar la ruta de la cola de mensajes que será utilizada.
Fig. 1034 Notificación
La solapa “Vencimiento” permite definir un plazo para que el bot procese la tarea. Una vez vencido el plazo, si el bot no terminó de procesar la tarea, Qflow considerará que se produjo un error. El proceso continuará su ejecución a través del conector de vencimiento del paso de bot en el que se le había asignado el trabajo al bot. Si el paso de bot no tiene definido un paso siguiente a través del conector de vencimiento, quedará en estado de error.
La configuración del vencimiento es igual que la configuración del vencimiento de un paso de sincronización (ver “Vencimiento”, bajo “Sincronización”).
Fig. 1035 Vencimiento
Utilización de un bot
Para utilizar un bot, agregue un paso de bot al template en el cual desea utilizarlo, y modifique sus propiedades para que el paso le asigne tareas al bot deseado. Configurar un paso de bot no es una tarea que requiera conocimientos técnicos. Por más detalles acerca de cómo hacerlo, consulte la sección “Referencia de los pasos de templates clásicos de Qflow”, donde se explican los pasos de bot.
Application parameters
Los parámetros de aplicación son entidades que permiten separar datos de configuración de las entidades que los utilizan. Por ejemplo, puede suceder que muchos templates utilicen el mismo servicio web por medio de un paso de web service. Resulta incómodo tener que especificar en cada uno de esos pasos la Url del sitio web. Además, si ésta cambia, hay que modificar todos los pasos. Por eso es más conveniente que ese dato se guarde en un lugar solo, y que para cada paso de web service, en lugar de especificarse la Url del web service, se especifique dónde está guardado ese dato. Los parámetros de aplicación permiten guardar datos como esos, y utilizarlos en pasos de web service, en pasos de datos, en integraciones, y como etiquetas o parámetros en otros pasos.
Propiedades de un parámetro de aplicación
La Fig. 1036 muestra la ventana de propiedades de un parámetro de aplicación.
La ventana de edición de un parámetro de aplicación permite, además de modificar su nombre y su descripción, definir el tipo del parámetro. Hay tres tipos de parámetro:
Contraseña: el valor del parámetro es un texto que se guarda cifrado en base de datos.
Texto: el valor del parámetro es un texto.
Conexión a base de datos: el parámetro tiene todos los datos necesarios para conectarse a una base de datos.
Conexión a web service: el parámetro tiene todos los datos necesarios para conectarse a un web service.
Conexión a SharePoint: el parámetro tiene los datos necesarios para conectarse a una lista de SharePoint.
Fig. 1036 Propiedades de un parámetro de aplicación
Para modificar los datos que contiene el parámetro, como por ejemplo su valor o los datos de conexión a una base de datos, haga clic en el botón “Configurar…”.
Configuración de un parámetro de aplicación de tipo Contraseña o Texto
Si el parámetro es de tipo “Texto”, la ventana de configuración es como la que se muestra en la Fig. 1037. Ingrese el texto que quiera asignar al parámetro y haga clic en “Aceptar”. Si el parámetro es de tipo “Contraseña”, no podrá ver texto que ingresa mientras escribe, como es usual con contraseñas, además, deberá ingresar la contraseña dos veces, la segunda para confirmar lo escrito en la primera.
Fig. 1037 Ingreso del valor de un parámetro de tipo texto
Fig. 1038 Ingreso del valor de un parámetro de tipo contraseña
Configuración de un parámetro de tipo Conexión a base de datos
Si el parámetro es de tipo “Conexión a base de datos”, la ventana de configuración es como la que se muestra en la Fig. 1039.
Fig. 1039 Propiedades de un parámetro de tipo “Conexión a base de datos”
Las propiedades de la ventana son las siguientes:
Tipo de proveedor: proveedor de acceso a la base de datos (por ejemplo, proveedor de SQL, OleDb, ODBC, Oracle). Depende del tipo de base de datos para el cual se está definiendo una conexión.
Servidor: nombre del servidor donde se encuentra la base de datos.
Seguridad integrada: Esta opción es para bases de datos SQL Server. Si esta opción está marcada, la conexión se hace utilizando seguridad integrada. De lo contrario, Qflow habilita las propiedades “Usuario” y “Contraseña” para ingresar el nombre de usuario de la base de datos y la contraseña correspondiente.
Parámetros adicionales: es una grilla en la que se pueden agregar parámetros a la cadena de conexión. La grilla tiene dos columnas, una para el nombre del parámetro y otra para el valor. Por ejemplo, si se quiere especificar un timeout de 60 segundos para la conexión a una base SQL Server, se puede agregar un parámetro adicional con nombre “Connection Timeout” y valor “60”.
Probar conexión: haga clic en este botón para comprobar que los datos ingresados son correctos. Si los datos son correctos, podrá elegir un valor para la propiedad “Base de datos”.
Base de datos: la base de datos a la cual desea conectarse.
Configuración de parámetro de tipo Conexión a web service
Si el parámetro es de tipo “Conexión a web service”, la ventana de configuración es como la que se muestra en la Fig. 1040.
Las propiedades de esa ventana son las siguientes:
Url: la URL del web service.
Credenciales de red: deje marcada esta opción si desea utilizar las credenciales del usuario cuya cuenta utilizan los servicios de Qflow. Si desea utilizar otras credenciales, desmarque esta opción e ingrese el nombre de usuario y la contraseña que desee utilizar.
Navegar: si hace clic en este botón, podrá verificar si la URL y las credenciales ingresadas son correctas. Si lo son, Qflow mostrará la página del web service en el explorador que aparece en la parte inferior de la pantalla.
Fig. 1040 Propiedades de parámetro de aplicación de tipo “Conexión a web service”
Utilización de un parámetro
Un parámetro se puede utilizar en varios contextos en los cuales es necesario especificar el tipo de información que se guarda en un parámetro de aplicación. En un paso de web service, por ejemplo, es necesario especificar la URL del web service. El usuario puede optar por especificar la URL en las propiedades del propio paso (“Definir en la configuración del paso”) o utilizar un parámetro de aplicación. Los parámetros de aplicación se pueden utilizar también en pasos de datos y en integraciones. Un parámetro de aplicación de tipo “Texto” se puede utilizar como etiqueta (consulte la sección “Tags”). Un parámetro de aplicación de este tipo también se puede asociar a parámetros de bots y de integraciones en pasos de bot y de integración respectivamente.
Fig. 1042 Utilización de un parámetro
Alcance: acceso a los datos, roles y adjuntos de un proceso
Qflow permite definir qué datos de aplicación, roles y archivos adjuntos los usuarios pueden ver o modificar durante la ejecución de un proceso, y dónde pueden hacerlo.
La herramienta que los usuarios utilizan para visualizar la información de un proceso es Qflow Task. Por lo tanto, para definir el nivel de acceso a los datos, roles y adjuntos de un proceso, hay que definir en qué formularios (páginas) de Qflow Task los usuarios pueden acceder a esos elementos.
Existen cuatro tipos de formularios que permiten acceder a información del proceso:
Formulario de inicio del proceso: es el formulario que aparece al iniciar el proceso.
Formularios de respuesta del proceso: son los formularios que aparecen al responder un usuario una tarea del proceso.
Formulario del proceso: es el formulario que aparece cuando alguien hace clic sobre un proceso para examinar su información.
Formulario de edición del flow: es un formulario similar al formulario del proceso, pero que permite modificar datos.
Por lo tanto, para definir el nivel de acceso a la información del proceso, hay que definirlo para cada uno de estos formularios, y en el caso de los formularios de respuesta, para cada uno de los pasos interactivos de Qflow. No es necesario definir el acceso a la información en aquellos formularios donde no se desee que estén disponibles datos, roles o archivos adjuntos, puesto que, por defecto, éstos no están presentes en el formulario de respuesta.
El formulario de inicio del proceso está asociado al paso de inicio, puesto que aparece cuando se está iniciando el proceso, que es cuando se ejecuta el paso de inicio del proceso. Para modificar el nivel de acceso a la información del proceso durante su inicio, seleccione el paso de inicio del template, hágale clic con el botón derecho del ratón y, en el menú contextual que aparecerá, seleccione la opción “Alcance”.
El caso de los formularios de respuesta es similar. Los formularios de respuesta de Qflow están asociados a los pasos interactivos de un proceso, puesto que aparecen cuando un usuario desea responder a una tarea asignada a él por uno de esos pasos. En este caso, se puede definir el nivel de acceso para cada paso interactivo, haciendo clic con el botón derecho sobre cada paso y seleccionando en el menú la opción “Alcance”. En el caso de los datos de aplicación y de los roles, también se puede especificar el alcance mediante la grilla de alcance (ver “Grilla de alcance”).
Para modificar el nivel de acceso en el formulario del proceso, haga clic con el botón derecho sobre la versión y seleccione, dentro de la opción “Formulario del flow” la opción “Alcance”. Para modificar el nivel de acceso en el formulario de edición del proceso, proceda de forma similar, pero seleccionando la opción “Alcance” que aparece dentro de la opción “Formulario de edición del flow”.
En cualquiera de los casos, Qflow mostrará una ventana similar a la de la Fig. 1043. La ventana está dividida en tres secciones, cada una correspondiente a una solapa:
Alcance de datos: permite especificar el nivel de acceso a los datos de aplicación.
Alcance de roles: permite especificar el nivel de acceso a los roles del template.
Alcance de adjuntos: permite especificar el nivel de acceso a los archivos adjuntos del proceso.
Los bots también pueden acceder a datos del proceso, y para ellos también se puede definir un alcance. Eso se hace al modificar los datos del bot, y el mecanismo es el mismo que para los formularios del proceso.
Alcance de datos
La solapa “Alcance de datos” muestra la lista de los datos de aplicación de la versión. Para cada dato se muestra:
El nombre del dato.
El alcance. El alcance especifica el nivel de acceso al dato en ese paso (si se está modificando el nivel de acceso en el formulario de inicio o en el formulario de respuesta a un paso) o en el formulario del proceso. Puede tener uno de los siguientes valores:
Ausente: el dato no está en el formulario.
Oculto: Qflow no muestra el dato, pero el dato está en el formulario. Aun cuando el usuario no lo pueda ver, el formulario puede realizar validaciones sobre el dato, porque el dato está presente. Esta opción es útil cuando se utiliza un formulario personalizado que hace validaciones sobre los datos.
Sólo lectura: Qflow muestra el dato en el formulario, pero no permite modificarlo.
Editable: Qflow muestra el dato y además permite modificarlo.
Requerido: el dato es editable y, además, es necesario ingresar un valor para continuar.
Oculto Editable: Qflow-muestra el dato como en el alcance “Oculto” pero éste es modificable por código y su valor será guardado.
Sólo lectura Editable: Qflow-muestra el dato como en el alcance “Sólo lectura” pero éste es modificable por código y su valor será guardado.
Grupo: grupo al que el dato pertenece.
Línea: bloque de líneas al que el dato pertenece.
Para modificar el alcance de un dato, selecciónelo y haga clic en el botón correspondiente a alcance deseado (Ausente, Oculto, Sólo Lectura, Editable, Requerido).
Fig. 1043 Alcance de datos, roles y adjuntos
Si el dato seleccionado pertenece a un bloque de líneas o acepta múltiples valores y, además, está marcado como editable, Qflow habilita el botón “Instancias…”.
Si hace clic en este botón, Qflow mostrará una ventana como la que se muestra en la Fig. 1044. Dicha ventana permite modificar permisos que son específicos de datos con muchos valores, y establecer límites a la cantidad de valores que el dato puede tener.
Las opciones de esta ventana son:
Permisos:
Permitir agregar: marque esta opción si desea que Qflow permita agregar valores al dato.
Permitir remover: marque esta opción si desea que Qflow permita eliminar valores del dato.
Límites:
Número máximo de instancias: indica el número máximo de valores que puede tener el dato. Qflow no permitirá agregar valores por encima de este número. Si no quiere que haya un número máximo, deje el valor en 0.
Número mínimo de instancias: indica el número mínimo de valores que puede tener el dato. Qflow no permitirá borrar valores cuando hacerlo implique que la cantidad de valores pase a ser inferior a este número.
Fig. 1044 Opciones de alcance para un dato que pertenece a un bloque de líneas o para un dato multivaluado
NOTA: en el caso de un dato que pertenece a un bloque de líneas, cambios en los permisos y límites de uno de los datos afectan a todos los datos del mismo bloque. Recuerde que un bloque de líneas es similar a una tabla. Cada dato del bloque representa una columna de la tabla. Cada línea del bloque, entonces, es una fila de la tabla. Por lo tanto, cuando se indica un valor máximo de líneas para un dato del bloque, este máximo se aplica a todos los datos, puesto que todos los datos del bloque tienen la misma cantidad de valores: cada dato del bloque tiene un valor por cada línea del bloque.
Alcance de roles
La solapa “Alcance de roles” (Fig. 1045) muestra la lista de los roles de la versión. Para cada rol se muestra el alcance. Para modificar el alcance de un rol, selecciónelo y haga clic en el botón correspondiente a alcance deseado. Dichos botones son los mismos que los que aparecen en la solapa de alcance de datos, y tienen los mismos significados. Para ver una explicación de cada uno de ellos, consulte la sección “Alcance de datos”.
Fig. 1045 Alcance de roles
Si el rol seleccionado acepta usuarios múltiples, Qflow habilita el botón “Instancias…”. Si hace clic en este botón, Qflow mostrará una ventana como la que se muestra en la Fig. 1044. Dicha ventana permite establecer límites a la cantidad de miembros que el rol puede tener. Las opciones son las mismas que las que se aplican a los datos de aplicación que aceptan múltiples valores.
Alcance de adjuntos
La Fig. 1046 muestra la solapa “Alcance de Adjuntos”. La solapa presenta las siguientes opciones:
Accesibilidad: esta propiedad indica el nivel de acceso que los usuarios tendrán a los archivos adjuntos. Las opciones posibles son:
Ninguno: Qflow no muestra los archivos adjuntos en el formulario.
Solo listar: Qflow muestra los archivos adjuntos, pero no permite abrirlos ni modificarlos.
Solo lectura: Qflow muestra los archivos adjuntos y permite abrirlos. También permite ver los valores de las propiedades de los archivos adjuntos, si es que hay propiedades definidas para ellos.
Editor: Qflow muestra los archivos adjuntos, permite abrirlos y modificarlos. También permite ver y modificar las propiedades de los archivos, si es que hay propiedades definidas para ellos.
Total: Qflow muestra los archivos adjuntos, permite abrirlos, modificarlos, borrarlos y ver y modificar sus propiedades.
Permitir agregado: si esta opción está marcada, los usuarios podrán agregar archivos adjuntos en el formulario.
Límites:
Número mínimo de adjuntos: indica el número mínimo de archivos adjuntos que puede tener el paso. Qflow no permitirá borrar archivos adjuntos cuando hacerlo implique que la cantidad de adjuntos pase a ser inferior a este valor.
Número máximo de adjuntos: indica el número máximo de archivos adjuntos que puede tener el paso. Qflow no permitirá agregar adjuntos por encima de este valor, a menos que éste sea 0, que significa que no hay un máximo.
Filtro de adjuntos: las opciones de filtros de adjuntos permiten definir diferentes niveles de acceso de acuerdo con condiciones que cumplen los nombres de los archivos. Para ello, se utilizan expresiones regulares (ver más abajo).
Mostrar solo documentos que coinciden con: hace que Qflow muestre sólo los archivos que cumplan con alguna de las expresiones regulares ingresadas en esta propiedad.
Editar solo documentos que coinciden con: hace que Qflow permita editar solamente los archivos que cumplan con alguna de las expresiones regulares ingresadas en esta propiedad.
Agregar solo documentos que coinciden con: hace que Qflow permita agregar solamente adjuntos que cumplan con alguna de las expresiones regulares ingresadas en esta propiedad.
Eliminar solo documentos que coinciden con: hace que Qflow permita eliminar solamente adjuntos que cumplan con alguna de las expresiones regulares ingresadas en esta propiedad.
Otros
Tamaño máximo de adjunto (KB): permite especificar el tamaño máximo, en kilobytes, que pueden tener los adjuntos (la opción por defecto, 0, significa que no hay límite). Si se especifica un valor, Qflow no permitirá adjuntar archivos con tamaño mayor al especificado.
Expresiones regulares de los filtros de los adjuntos
Los filtros de los adjuntos se especifican mediante expresiones regulares similares a las que utiliza Windows para su sistema de archivos, en las que el asterisco (“*”) sustituye cualquier cantidad de caracteres. Ejemplo: la expresión “*.zip” significa “todos los archivos con la extensión zip”.
Un filtro puede usar varias expresiones separadas por “;” o por “|”. Por ejemplo, si el filtro “Mostrar solo documentos que coinciden con” tiene la expresión “.zip;.rar;Licencia.pdf”, Qflow mostrará solamente los archivos con extensiones “zip”, “rar” y el archivo llamado “Licencia.pdf”.
El carácter “?” sustituye una ocurrencia de cualquier carácter. Ejemplos: la expresión “*.???” representa cualquier archivo que tenga una extensión de tres caracteres; la expresión “documento?.doc” representa cualquier archivo cuyo nombre empiece con “documento” y tenga un carácter adicional antes de la extensión (“documento1.doc”, por ejemplo, pero no “documento12.doc” ni “documento.doc”).
El carácter “!” permite negar una expresión. Sólo se puede utilizar al principio del filtro. Por ejemplo, si en el filtro “Mostrar solo documentos que coinciden con” se escribe la expresión “!*.exe;*.bat”, Qflow mostrará solamente los archivos que no tengan extensiones “bat” ni “exe”.
Fig. 1046 Alcance de adjuntos
Grilla de alcance
Cuando un template tiene muchos datos y muchos pasos, puede resultar trabajoso definir el alcance de datos para cada uno de los pasos interactivos del template. Lo mismo sucede con el alcance de los roles y con la asignación de validaciones y formularios a cada paso. Por eso Qflow ofrece las grillas de alcance.
La grilla de alcance de los datos permite ver en una grilla el alcance de todos los datos de aplicación en todos los pasos interactivos del template. Lo mismo pasa con la grilla de alcance de los roles. Las grillas de alcance de los formularios y de las validaciones facilitan la tarea de asignar formularios y validaciones a pasos cuando hay muchos pasos y cuando varios pasos utilizan el mismo formulario o la misma validación.
Para acceder a la grilla de alcance, haga clic con el botón derecho sobre el diagrama del template para que Qflow muestre el menú del diagrama, y seleccione la opción “Grilla de alcance”. Eso hace que Qflow muestre una ventana como la de la Fig. 1047.
Fig. 1047 Grilla de alcance
Cada fila de la grilla corresponde a un dato de aplicación, y cada columna corresponde a un paso interactivo del proceso. Si desea que la grilla incluya también los pasos pertenecientes a grupos usando en el proceso, seleccione la opción “Incluir pasos interactivos pertenecientes a grupos”. Una celda indica el alcance que el dato correspondiente a su fila tiene para el paso correspondiente a su columna. Por ejemplo, en la grilla de la figura, todos los datos son editables en el paso “Ingresar datos”, y sólo se pueden leer en el paso “Verificar datos”. Además, están ausentes del paso “Inicio”.
Para modificar el alcance de un dato en un paso, seleccione la celda correspondiente a ese dato y a ese paso, y haga clic en el botón correspondiente al alcance que le desee asignar al dato en ese paso. Se puede seleccionar varias celdas simultáneamente, dejando apretada la tecla “Control” mientras selecciona cada una de las celdas. Si se quiere seleccionar muchas celdas contiguas en una fila o columna, se puede hacer clic sobre la primera y arrastrar el ratón sobre las otras celdas sin soltar el botón hasta que se haya seleccionado todas las celdas.
Una vez que haya finalizado, haga clic en “Aceptar”.
La grilla de alcance de roles funciona de la misma manera. Las grillas de alcance de los formularios y de las validaciones no tienen botones para asignar permisos, sino que tienen cajas de verificación que permiten indicar si un formulario o validación está o no asignado un paso (ver “Asignación de un formulario a un paso” y “Asociación de una validación a un paso”). Los botones “Seleccionar” y “Deseleccionar” permiten marcar o desmarcar varios formularios o validaciones a la vez. Por ejemplo, si se seleccionan varias celdas de una fila y se hace clic en “Seleccionar”, todas las celdas quedan marcadas.
Búsqueda de ítems de paquete
El diseñador ofrece la posibilidad de buscar ítems en la solución, sin conocer a priori el paquete en el que se encuentran. Para acceder al buscador tiene tres opciones:
Seleccionar en el menú “Editar” la opción “Buscar…”.
Hacer clic en el ícono de lupa de la barra de herramientas.
Con el atajo por teclado Ctrl + F.
Fig. 1048 Acceder al buscador de ítems
Una vez abierto el buscador puede realizar la búsqueda de ítems utilizando los siguientes criterios: nombre, tipo y ubicación en la jerarquía de paquetes respecto al paquete actual.
Fig. 1049 Buscador de ítems sin criterio de búsqueda modificado
Para realizar la búsqueda se debe ingresar al menos una parte del nombre del ítem a buscar. Se recomienda acotar la búsqueda según el tipo de ítem buscado, seleccionándolo en la lista, como se muestra en la siguiente figura:
Fig. 1050 Opciones de selección para el tipo de ítem a buscar
El alcance de la búsqueda se selecciona de la lista “Buscar en:”, cuyas opciones son buscar en el paquete actual, en el paquete actual y paquetes padres o en toda la solución.
Fig. 1051 Opciones de selección para el alcance de la búsqueda
Para realizar la búsqueda presione Enter o haga clic en el botón “Buscar”. En el panel “Resultados” se muestran los resultados de la búsqueda que por cada ítem incluyen su nombre y ubicación (paquete, template, o versión de template). La siguiente figura muestra un ejemplo de búsqueda por nombre con el texto “tipo”:
Fig. 1052 Búsqueda por nombre
Finalmente, para acceder a un ítem resultado de la búsqueda, puede hacer doble clic sobre él o clic derecho y elegir la opción “Ir al resultado”.
Fig. 1053 Acceder a un ítem del resultado de la búsqueda
Importación y exportación de paquetes, templates y versiones
Qflow ofrece la opción de exportar e importar paquetes, templates y versiones. De esta forma, se puede exportar uno de estos elementos e importarlo en otro lugar donde esté instalado Qflow.
Exportación de paquetes, templates y versiones
Para exportar un paquete, template o versión, haga lo siguiente:
Haga clic con el botón derecho sobre el paquete, template o versión en el explorador de soluciones. Qflow mostrará un menú contextual.
En el menú contextual, seleccione la opción “Exportar”. Qflow le mostrará una ventana como la de la Fig. 1054.
Seleccione el formato en el que desea exportar. Las opciones son el formato nativo de Qflow y el formato BPMN XML. El formato nativo preserva todos los elementos del proceso, mientras que el formato BPMN XML exporta sólo el diseño.
Si no quiere exportar todos los descendientes del paquete, desmarque la opción “Exportar paquetes descendientes”.
Si desea exportar solamente algunos ítems del paquete, template o versión que seleccionó, haga clic en “Avanzado…”. Se abrirá una ventana como la mostrada en la Fig. 1055. Allí podrá especificar exactamente los elementos que desea incluir en la exportación.
Si lo desea, haga clic en “Cambiar…” para modificar la ruta del archivo donde quiere guardar la información exportada. Haga clic en “Exportar”.
Fig. 1054 Exportar
Fig. 1055 Exportación avanzada
Importación de templates, paquetes y versiones
Para importar un archivo producido por una exportación anterior, haga lo siguiente:
Seleccione el paquete o template donde desee importar el contenido del archivo y hágale clic con el botón derecho.
En el menú contextual, seleccione “Importar”. Qflow mostrará una ventana como la de la Fig. 1056.
Seleccione el formato del archivo a importar. Los formatos soportados son el nativo de Qflow y BPMN XML.
Seleccione el archivo a importar y marque las opciones que desee:
Actualizar los parámetros de aplicación existentes: si esta opción está marcada, los valores de los parámetros de aplicación serán sustituidos por los valores de los parámetros de aplicación importados. De lo contrario, no. Esto es útil porque los mismos parámetros pueden tener valores distintos en distintos ambientes.
Eliminar ítems no presentes en el paquete importado: cuando se importa un paquete que ya existe, puede pasar que el paquete que ya existe tenga algunos ítems que no estén en el paquete que se importa (los ítems pueden ser, por ejemplo, datos de aplicación, roles, validaciones, etc; pero no subpaquetes, templates y versiones). Si se marca esta opción, estos ítems se eliminan: el resultado va a ser un paquete que tiene los mismos ítems que el paquete que se importó.
Corregir referencias ausentes: esta opción le indica a Qflow que debe corregir referencias a elementos que no se encuentran en la base de datos en la cual se está haciendo la importación. Por ejemplo, si no se encuentra un usuario al que hace referencia un rol, Qflow ignorará ese usuario en la importación. Si no se marca esta opción, cuando Qflow encuentre una referencia a un elemento ausente, interrumpirá la importación, y dejará la base de datos en el mismo estado en el que se encontraba antes.
- Haga clic en “Importar”. Si el paquete, template o versión contenido en el archivo ya existe,Qflow le permitirá optar entre actualizar el paquete, template o versión ya existente con los datos importados, o crear uno nuevo. Esto permite actualizar procesos que habían sido importados desde entornos de desarrollo.
Fig. 1056 Importar
Exportación del diagrama de template como imagen o documento Word
Es posible exportar el diagrama de una versión de un template como imagen o como un documento Word. Cuando el diagrama es exportado a un archivo de imagen, sólo se exporta el diagrama propiamente dicho. Cuando se exporta a un documento Word, se exporta el diagrama, pero también información acerca de los roles del template y quiénes los desempeñan, además de datos de aplicación.
Para exportar el diagrama:
Seleccione en el menú “Archivo” la opción “Guardar como”.
La opción “Guardar como” contiene un submenú con las opciones “Imagen” y “Documento Word”. Seleccione “Imagen” si desea exportar el diagrama como una imagen. Seleccione “Documento Word” si desea exportarlo como documento Word (útil para exportar información adicional de roles y datos de aplicación).
Qflow mostrará una típica ventana de “Guardar”. Escriba el nombre del archivo en el que se guardará la información exportada.
Haga clic en “Guardar”.
Templates BPMN
Los templates BPMN son templates que utilizan la notación BPMN y tienen algunas diferencias con los templates Qflow, con los cuales pueden coexistir. Para que puedan ser fácilmente distinguibles en el explorador de soluciones, se los representa con íconos distintos. Al igual que los templates Qflow, los templates BPMN pueden tener varias versiones. Las versiones de estos templates también se representan con íconos distintos de los de Qflow.
Fig. 1057 Templates Qflow con su versión, y template BPMN con la suya en el explorador de soluciones
Los templates BPMN se diseñan de forma similar a los templates Qflow: sus elementos se pueden mover de la misma forma que los pasos de templates Qflow.
La disposición de los elementos del diagrama es más libre en un template BPMN que en un template Qflow, puesto que las formas de las conexiones no limitan las posiciones relativas de los elementos, de modo tal que dos elementos (equivalentes a pasos) conectados pueden estar dispuestos tanto a lo largo como ancho de la pantalla, mientras que en los templates Qflow, la forma de las conexiones tiende a favorecer una disposición vertical.
Otra particularidad de los templates BPMN es que las conexiones son más flexibles. Por ejemplo, en los templates Qflow, los pasos que pueden vencer tienen un conector especial de vencimiento, y una conexión que sale de uno de esos conectores es, necesariamente, una conexión de vencimiento. En un template BPMN, en cambio, no hay conectores específicos de vencimiento. Una conexión, entonces, puede ser de vencimiento o no, según la indicación del usuario, que puede convertir una conexión normal en una conexión de vencimiento y viceversa, mediante el menú contextual de la conexión. Lo mismo pasa con las conexiones por defecto y de error.
Elementos de un template BPMN
Los templates BPMN tienen elementos similares a los pasos de Qflow pero que se denominan de forma distinta. Hay tres tipos, que gráficamente se representan con distintas formas:
Actividades: representan tareas o trabajos; cosas que se hacen. El equivalente de un paso de tarea de un template Qflow, por ejemplo, es una actividad, porque una tarea es algo que se hace. Pero una actividad también puede ser un trabajo que no es hecho por una persona. La ejecución de código o la invocación de un web service es, también, una actividad. Las actividades se representan por medio de rectángulos redondeados.
Compuertas: las compuertas son elementos que controlan el flujo del trabajo. Por ejemplo, el equivalente de un paso de evaluación de un template Qflow es una compuerta en un template BPMN, porque según la evaluación que hace, determina qué camino seguirá el proceso. Las compuertas se representan con rombos y se pueden usar en pares. Por ejemplo, si se usa una compuerta paralela, que divide el proceso en varios caminos paralelos, se suele usar otra compuerta paralela para cuando esos caminos convergen (Fig. 1059; esto es similar a los pares de pasos de separar y unir de los templates Qflow).
Eventos: un evento representa la ocurrencia de algo, en oposición a algo que se hace, como en el caso de una actividad. El inicio de un proceso o un vencimiento son ejemplos de eventos. Los eventos se representan por medio de círculos.
Fig. 1058 Ejemplos de actividades, compuertas y eventos
Fig. 1059 Template BPMN con par de compuertas paralelas
Modificación del carácter de un conector (vencimiento, error, por defecto)
En un template BPMN, no hay conectores específicos de vencimiento, de error o por defecto. Cualquier conector de una actividad de tarea, por ejemplo, puede ser especificado por el usuario como conector de vencimiento de esa actividad.
Para modificar el carácter de un conector:
Haga clic con el botón derecho sobre el conector, o sobre la conexión que sale de ese conector. Esto hace que Qflow muestre el menú contextual del conector o de la conexión.
La última opción del menú permite cambiar el carácter del conector. Por ejemplo, en una compuerta inclusiva, esta opción es “Conector por defecto” (o “Conexión por defecto”, si se accedió al menú a través de la conexión, y no del conector), lo cual permite convertir el conector del que sale la conexión en conector por defecto de la compuerta. En una actividad, esta opción será “Conector de evento”, que tiene la subopción “Vencimiento”.
Para que puedan ser fácilmente identificados, los conectores especiales tienen apariencia distinta de los normales (ver Fig. 1060):
Fig. 1060 Conexiones especiales
Etapas de un proceso
Si se abre el menú contextual de un template y se selecciona la opción “Etapas”, aparece una ventana que permite definir etapas para un proceso. Una etapa define un “Tiempo esperado” y un “Tiempo máximo”, que determinan dos plazos para el fin de la etapa. Tanto para el tiempo esperado como para el tiempo máximo se puede especificar una lista de roles de template que serán notificados si, una vez transcurrido el tiempo especificado, todavía no se terminó la etapa. El tiempo esperado es cuánto se estima que debería durar la etapa en un caso normal. El tiempo máximo indica un plazo más importante que el tiempo esperado: se supone que el proceso no debería permanecer en la misma etapa por un tiempo superior al indicado por el tiempo máximo.
Cuando un proceso está dividido en etapas, tiene más opciones de seguimiento en Qflow Task.
Las etapas se vinculan a secciones del proceso mediante el paso de inicio y pasos de hito. Las propiedades de estos pasos incluyen la propiedad “Etapa”. Cuando un proceso llega a un paso en el que se especifica una etapa, se da por iniciada esa etapa. En los templates BPMN, el evento de inicio y el evento intermedio cumplen la misma función.
La Fig. 1061 muestra la ventana que permite definir las etapas del template. Cuando se hace clic en “Agregar…” o se selecciona una etapa ya existente y se hace clic en “Editar”, aparece una ventana con tres solapas (Fig. 1061). En la primera, se ingresan el nombre y una descripción para la etapa. En la segunda y en la tercera se definen, respectivamente, el tiempo esperado y el tiempo máximo, de una manera muy similar a cómo se definen alertas y recordatorios en general (ver “Alertas, recordatorios, delegaciones y vencimientos”). Para eliminar una etapa, selecciónela y haga clic en “Eliminar”.
La opción “Usar calendario” permite seleccionar un calendario para que sea utilizado al calcular los vencimientos. Si no se se marca esta opción, los vencimientos se calcularán sin tomar en cuenta fines de semana, feriados, etc.
Fig. 1061 Etapas
Fig. 1062 Propiedades de una etapa
Fig. 1063 Definición de tiempo esperado
Propiedades de paquetes, templates y versiones
La ventana de propiedades de un paquete, template o versión muestra datos del elemento y permite configurar los permisos sobre él, además de otras propiedades.
Para abrir la ventana de propiedades de un paquete, template o versión, en el explorador de soluciones o en la ventana “Mis templates” haga clic con el botón derecho sobre él y seleccione la opción “Propiedades”. Qflow mostrará una ventana como la de la Fig. 1064. La primera solapa (“General”) muestra propiedades generales del elemento seleccionado. En el caso de ser una versión de template, se indica si la versión es o no un borrador. Las otras solapas permiten configurar la seguridad y otras propiedades.
Fig. 1064 Ventana de propiedades de una versión de un template
Seguridad
La solapa “Seguridad” (Fig. 1065) permite definir qué usuarios tienen acceso a un determinado paquete, template o versión, y qué operaciones pueden realizar sobre él. La solapa muestra la lista de usuarios, grupos y roles de seguridad que tienen permiso de acceso al elemento seleccionado.
Para agregar un rol, usuario o grupo a la lista, y asignarle permisos, haga lo siguiente:
Haga clic en “Agregar…”. Qflow mostrará una ventana como la que se muestra en la Fig. 1065.
Seleccione la entidad que desee agregar. Por defecto, la ventana muestra usuarios, pero se puede hacer que la ventana muestre roles o grupos, cambiando la selección donde dice “Tipo de rol”. En la Fig. 1065, está marcada la opción “Roles”, por lo que la ventana muestra roles de seguridad.
Haga clic en “Aceptar”.
Fig. 1065 Configuración de seguridad de un template
Para quitar un rol, grupo o usuario de la lista, selecciónelo y haga clic en “Eliminar”.
Una vez agregados los usuarios, roles y grupos, es posible definir qué permisos tienen cada uno de ellos. Esto se hace marcando “Permitir” o “Denegar” al lado de cada permiso que aparece en la parte inferior de la pantalla. Para cada permiso también se puede marcar si es heredable o no. Si un usuario tiene un permiso heredable sobre un paquete o template, tendrá el mismo permiso sobre los descendientes de ese paquete o template. Los posibles permisos son:
Ver ítem: permite ver el elemento, pero no permite modificarlo.
Editar ítem: permite modificar el elemento.
Crear ítem: permite crear elementos dentro del elemento.
Eliminar ítem: permite borrar el elemento.
- Auditar: permite visualizar información de auditoría del
elemento.
- Administrar seguridad: permite agregar y modificar permisos sobre
el elemento a usuarios, grupos o roles.
Fig. 1065 Selector de roles, grupos y usuarios para la lista de acceso a una versión
Cuando hay conflictos entre permisos, Qflow considera que el permiso válido es el que niega el acceso. Suponga, por ejemplo, que un usuario pertenece a dos grupos. Si uno de esos grupos tiene permiso de acceso a un determinado paquete y el otro grupo tiene ese permiso explícitamente denegado, el usuario no podrá acceder al paquete.
Por más detalles acerca del manejo de permisos en Qflow, consulte el manual de Qflow Team.
Avanzado
La solapa “Avanzado” (Fig. 1066) permite cambiar el dueño del paquete, template o versión. Para ello, haga clic en “Cambiar…” y seleccione el nuevo dueño. El hecho de que un usuario sea el dueño de un paquete, template o versión hace que éste aparezca en la ventana “Mis templates” de ese usuario.
Bajo el título “Notificaciones”, hay un conjunto de casilleros. Cada uno de ellos corresponde a un evento relacionado con el template. Si marca el casillero correspondiente a un evento, Qflow le enviará un mensaje al dueño del template cada vez que ocurra ese evento. Los eventos que se pueden seleccionar para que se envíen notificaciones al dueño son los siguientes:
Cambios en el contenido: ocurre cuando alguien modifica el paquete, template o versión.
Flow en error: esta opción sólo está disponible para templates. Ocurre cuando se produce un error en alguno de los procesos basados en el template.
Fig. 1066 Solapa “Avanzado”
Referencia de los pasos de templates clásicos de Qflow
Esta sección describe cada uno de los tipos de paso de Qflow. Cada tipo de paso tiene propiedades diferentes, aunque hay propiedades que son comunes a muchos pasos (vea la sección “Editing steps”).
Pasos básicos
Esta sección describe los pasos básicos de Qflow.
Inicio
Un paso de inicio se representa con un círculo (Fig. 1067). Todo template debe tener un paso de inicio, y no puede tener más de uno. El único objetivo de un paso de inicio es indicar dónde los procesos basados en un template empiezan su ejecución.
Fig. 1067 Paso de inicio
Fig. 1068 Propiedades de un paso de inicio
La Fig. 1068 muestra la ventana de edición de un paso de inicio. La ventana tiene dos solapas. En la primera, “General”, están las propiedades que son comunes a los pasos que no son condicionales. Estas propiedades (“Nombre”, “Descripción”, “Bandera al inicio” e “Importancia del flow”) son descritas en la sección “Properties of a step”, dentro de “Diseño del diagrama de un template”. La propiedad “Etapa” permite asociar el paso a una etapa, de modo que se indica cuál es la etapa inicial del proceso. La segunda solapa, “Avanzado” (Fig. 1069), permite especificar un texto de ayuda para el paso y configurar la generación automática del nombre y la descripción para los procesos del template. Cuando un usuario esté iniciando un proceso en Qflow Task, podrá ver el mensaje de ayuda definido si hace clic en el ícono de ayuda. Este mensaje puede contener código HTML. En el caso de que se haya especificado un nombre o descripción para generar automáticamente, el campo correspondiente no aparecerá en el formulario de inicio del proceso en Qflow Task, sino que será cargado automáticamente por el sistema.
Fig. 1069 Solapa “Avanzado”
Fin
Un paso de fin se representa con un círculo doble (Fig. 1070). Los pasos de fin sirven para indicar dónde deben terminar los procesos. Cuando un proceso llega a un paso de fin, finaliza. Un proceso puede tener varios pasos de fin.
Fig. 1070 Paso de fin
La Fig. 1071 muestra la ventana de edición de un paso de fin. Además de las propiedades comunes a todos los pasos que no son condicionales (“Nombre”, “Descripción”, “Bandera al Inicio” e “Importancia del flow”; consulte “Properties of a step”, dentro de “Designing a template’s diagram” por más información), los pasos de fin tienen las siguientes propiedades:
Progreso: permite indicar un porcentaje de progreso para el paso.
Progreso = 100%: si esta opción está marcada, cuando el proceso termina, marca el progreso con 100%
Terminar todos los hilos y tareas en ejecución: si esta opción está marcada, cuando el proceso llega al paso de fin, no espera por los hilos y tareas que se están ejecutando, sino que finaliza el proceso sin esperar por ellos. Esta opción sólo tiene sentido cuando el proceso tiene varios hilos paralelos (ver paso “Separar”).
Fig. 1071 Propiedades del paso de fin
Hito, Inicio de Worklet y Fin de Worklet
Los hitos (Fig. 1072) son pasos que permiten marcar el avance de los procesos. Los pasos de inicio de worklet y fin de worklet tienen las mismas propiedades que los pasos de hito, excepto que no definen etapas.
Fig. 1072 Un paso de hito
La Fig. 1073 muestra un proceso de solicitud de cambio de un documento (por ejemplo, una corrección). Al comenzar el proceso, una o más personas quedan encargadas de evaluar el cambio y contestar la pregunta “¿Se aprueba?” (paso de pregunta). El rombo es un paso de evaluación. Si la respuesta a la pregunta “¿Se aprueba?” es “No”, el proceso termina. Pero si la respuesta es “Sí”, el paso de hito siguiente marca un avance de 50% en el proceso, puesto que la evaluación del cambio está lista y sólo falta realizar el cambio.
Fig. 1073 Ejemplo de uso de un hito
La Fig. 1074 muestra la ventana de edición del paso de hito. La propiedad “Progreso” indica el porcentaje de progreso del proceso al llegar al hito.
La propiedad “Etapa” permite asociar el paso a una etapa, indicando así que la etapa seleccionada empieza en ese paso. Iniciar una nueva etapa da por terminada la etapa actual. También se puede dar por terminada la etapa actual sin iniciar una nueva. Para eso, en lugar de seleccionar una etapa en la propiedad “Etapa”, seleccione la opción “[Terminar la etapa actual]”.
La opción “Reanudar la etapa si ya existe” está pensada para casos en los que existe una vuelta atrás en el proceso. Si esta opción está marcada, cuando se vuelva a ejecutar el paso, se reanuda también la etapa en la que se encontraba, de modo que al contabilizar el tiempo que se tardó en ejecutar la etapa se considera el tiempo sumado de todas las ejecuciones.
Fig. 1074 Propiedades de un hito
Las demás propiedades son comunes a casi todos los pasos, y son descritas en “Propiedades de un paso”, dentro de “Diseño del diagrama de un template”.
Separar
Los pasos de separación (Fig. 1075) sirven para dividir el flujo en varios hilos paralelos.
Fig. 1075 Separar
Suponga, por ejemplo, que una empresa tiene que elaborar documentos en varios idiomas. Cada documento es redactado en español, y más tarde un equipo de traductores se encarga de traducirlos al inglés, al francés y al alemán. No es posible realizar las traducciones simultáneamente a la elaboración del documento, puesto que éste tiene que existir para que pueda ser traducido. Pero las traducciones sí pueden ser realizadas simultáneamente. Para eso se puede usar un paso de separación (Fig. 1076).
Fig. 1076 Separación: las tres traducciones son realizadas simultáneamente
Nótese que en la figura aparece un paso de “Unir”. Los pasos de separación siempre vienen acompañados de pasos de unión, que sirven para volver a unificar el flujo. Mientras no se produzca la unión de los hilos hijos, el hilo padre permanecerá activo en el paso de “Separar”.
La :Fig. 1077 muestra la ventana de edición de un paso de separación. Un paso de separación posee las mismas propiedades que un paso de hito. Es posible especificar un porcentaje de progreso cuando el proceso llega a un paso de separación.
Fig. 1077 Propiedades de un paso de separación
Unir
Un paso de unión (Fig. 1078) sirve para unir hilos de ejecución paralelos que se formaron debido al uso de un paso de separación.
Fig. 1078 Unir
La Fig. 1079 muestra la ventana de edición de un paso de unión. Las propiedades de los pasos de unión se dividen en dos grupos:
General: estas propiedades son las mismas que las de un paso de separación. Un paso de unión permite también especificar un porcentaje de progreso cuando el proceso llega a él. Esto hace innecesario tener que utilizar un hito a continuación de un paso de unión.
Avanzado: las propiedades avanzadas permiten definir cómo debe actuar el proceso al unir varios hilos. Las opciones son:
Continuar después de:
Todos los hilos han finalizado: el proceso se detiene en el paso de unión y espera hasta que todos los hilos finalicen para continuar. Sólo cuando todos los hilos lleguen al paso de unión, Qflow ejecutará el paso siguiente.
Algún hilo ha terminado: el proceso continuará ni bien una cierta cantidad de hilos haya terminado, y no esperará la finalización de los otros hilos. La cantidad de hilos a esperar se especifica donde dice “Número de hilos”.
Los hilos provenientes de los pasos han terminado: permite especificar qué hilos el proceso debe esperar. La ventana muestra una lista que, al ser desplegada, muestra el nombre del último paso de cada hilo. Ésa es la forma de identificar cada uno de los hilos que se unen en el paso de unión. Si usted selecciona uno de esos pasos y hace clic en “Agregar”, Qflow agrega ese hilo a la lista que aparece más abajo. Para quitar un hilo, selecciónelo de esa lista y haga clic en “Eliminar”. Cuando el proceso llegue al paso de unión, esperará a que todos los hilos de esa lista hayan terminado, y una vez que lo hayan hecho, continuará la ejecución sin esperar la finalización de los hilos que no estén en la lista. En la Fig. 1080, Qflow esperará por los hilos correspondientes a los pasos “Traducción (Alemán)” y “Traducción (Inglés)”.
Finalizar hilos hermanos: si esta opción está marcada, todos los hilos que no hayan terminado serán finalizados antes de que el proceso continúe.
Fig. 1079 Propiedades generales del paso de unión
Fig. 1080 Propiedades avanzadas del paso de unión
Grupo
Un grupo es similar a un worklet. Es un conjunto de pasos que, en el diagrama del template, aparecen como si fueran un solo paso (Fig. 1081). Una vez agregado al diagrama, se puede editar el grupo como si fuera un diagrama independiente. Un grupo se diseña de la misma forma que un worklet, pero no puede ser reutilizado en un diagrama distinto a aquél en el que fue creado. Si desea agrupar un conjunto de pasos para utilizarlos como una unidad en varios templates o versiones, cree un worklet, y no un grupo. Visualmente, un grupo se ve de forma muy similar a un worklet, con la diferencia de que el borde del paso tiene un contorno normal, mientras que un worklet tiene un borde grueso.
Fig. 1081 Grupo
Para editar un grupo, haga doble clic sobre él. Esto abrirá el diagrama del grupo en una solapa igual a la del diagrama de una versión de un template.
Un grupo recién creado tiene un paso de inicio y un paso de fin. Cuando el proceso llega a un grupo, empieza a ejecutar sus pasos por el paso de inicio, y termina su ejecución al llegar a un paso de fin.
Cuando se está editando un grupo, la barra de herramientas cambia para mostrar los pasos especiales “Inicio de grupo” y “Fin de grupo” en lugar de los pasos usuales de inicio y fin.
Se puede ver el contenido de un grupo sin necesidad de hacerle doble clic y abrir su diagrama. Para eso, haga clic en el símbolo “+” del grupo, y Qflow mostrará todos los pasos del grupo, aunque no le permitirá modificarlos. Esto sólo funciona si el grupo ya fue guardado.
Fig. 1082 Grupo cerrado (izquierda) y abierto (derecha), de forma que se ve su contenido
Un paso de grupo tiene tantos conectores como pasos de fin tiene el grupo. Esto permite conectar un paso de grupo a distintos pasos. El paso siguiente al grupo es determinado por el conector correspondiente al paso de fin en el que la porción del proceso correspondiente al grupo terminó su ejecución.
Pasos interactivos
Los pasos interactivos de Qflow son aquellos que envían mensajes a los usuarios de Qflow. Los pasos interactivos son los siguientes:
Notificación
Pregunta
Pregunta con evaluación
Tarea
Mensajes
Todos los pasos interactivos poseen una solapa con el título “Mensaje” (Fig. 1083). Esta solapa contiene las propiedades que permiten configurar las opciones del mensaje que Qflow enviará a los destinatarios del paso.
Las propiedades son:
- Asunto: es el asunto del mensaje de e-mail que Qflow enviará a
los destinatarios. Para obtener el asunto de un dato de aplicación o de otro elemento, haga clic en “Insertar etiqueta”. Por más información sobre etiquetas, consulte la sección “Tags”.
Destinatarios: es el conjunto de roles a quienes estará dirigido el paso. Para agregar un destinatario, haga clic en “Seleccionar destinatario”. Qflow mostrará una lista de roles (Fig. 1084). Seleccione el rol que desea agregar como destinatario y haga clic en “Aceptar”. Para quitar un destinatario de la lista, selecciónelo y haga clic en “Quitar destinatario”.
Fig. 1083 Propiedades del mensaje de un paso de notificación
Fig. 1084 Selector de roles
Alertas, recordatorios, delegaciones y vencimientos
Salvo los pasos de notificación, todos los pasos interactivos poseen opciones para controlar vencimientos y plazos, y prevenir o mitigar atrasos mediante alertas, recordatorios y delegaciones. A las alertas, recordatorios, delegaciones y vencimientos se les llama, colectivamente, “acciones”.
La Fig. 1085 muestra la solapa de control de tiempos de un paso de tarea. Los pasos de pregunta tienen una solapa igual. En ella se muestra una lista de acciones a llevar a cabo cuando se vence un plazo. La lista tiene tres columnas:
Tipo: tipo de la acción (recordatorio, alerta, delegación o vencimiento).
Información de tiempo: información que indica cuándo Qflow ejecutará la acción.
Destinatario: rol a quien Qflow destinará la acción. Por ejemplo, si la acción es un recordatorio, entonces Qflow enviará el recordatorio al destinatario de la acción.
Fig. 1085 Control de tiempos en un paso de tarea
Para agregar una acción, haga clic en “Nueva acción…”. Qflow mostrará una ventana como la que se muestra en la Fig. 1086. Dicha ventana le permite configurar las propiedades de la acción a ejecutar. Éstas son:
Tipo de acción:
Recordatorio: Qflow envía un recordatorio al destinatario seleccionado.
Alerta: Qflow envía una alerta al destinatario seleccionado.
Delegación: una delegación reasigna la tarea a un usuario diferente del destinatario original. Al definir una delegación, hay que definir su destinatario.
Vencimiento: Qflow interrumpe la espera, abandonando la ejecución del paso y continuando con la ejecución del proceso por medio del conector de vencimiento. El conector de vencimiento es el que está a la izquierda del paso (Fig. 1087).
Información de tiempo: estas propiedades permiten indicar cuándo Qflow debe ejecutar la acción. Qflow puede manejar varios calendarios, y diferentes usuarios pueden utilizar distintos calendarios (esto se explica en el manual que trata del modelo organizacional). Cuando el momento de ejecutar una acción está especificado con un período de tiempo, los días y horas no laborables no cuentan, y Qflow utiliza el calendario asociado al usuario al que está dirigida la tarea cuyos plazos se desea controlar para determinar qué días y horarios son laborables. Si la tarea tiene varios destinatarios, Qflow utiliza el calendario del primero de los destinatarios.
Fecha fija: permite especificar una fecha.
Fecha variable: permite utilizar el valor de un dato de aplicación de tipo fecha. Qflow ejecutará la acción en la fecha indicada por el valor del dato de aplicación. Para poder elegir esta opción, debe tener definido un dato de tipo fecha.
Tiempo fijo: permite indicar un intervalo de tiempo en segundos, minutos, horas o días. Qflow ejecutará la acción una vez transcurrido ese intervalo a partir del momento en el que el proceso fue iniciado. Los días y horas no laborables no cuentan a efectos de realizar el cálculo.
Tiempo variable: esta opción es similar a la anterior, pero permite utilizar el valor de un dato de aplicación de tipo número para indicar el valor del intervalo. Este valor puede ser interpretado como expresado en segundos, minutos, horas o días. Para poder elegir esta opción, debe tener definido un dato de tipo número. Los días y horas no laborables no cuentan a efectos de realizar el cálculo.
Repetición: si esta opción está marcada, Qflow ejecutará la acción cada vez que pase un tiempo equivalente al intervalo especificado. Por ejemplo, si el intervalo es de un día, Qflow ejecutará la acción una vez transcurrido un día del inicio del proceso. Luego esperará otro día, y en caso de que el proceso siga atrasado, volverá a ejecutar la acción. Lo seguirá haciendo hasta que el proceso avance.
Destinatarios: lista de los destinatarios de la acción. Para agregar uno, haga clic en “Seleccionar destinatario…”. Para quitar uno de la lista, haga clic en “Quitar destinatario…”.
Fig. 1086 Ventana de creación de una acción
Fig. 1087 Tarea que utiliza el conector de vencimiento
En el caso de las tareas, Qflow utiliza el conector de vencimiento también para el caso en que la tarea es cancelada.
Notificación
El paso de notificación permite notificar a los usuarios de la ocurrencia de algún evento. Los usuarios suelen recibir las notificaciones por correo electrónico, pero también las pueden ver en Qflow Task. En ese sentido, el paso de notificación es similar a un paso de tarea o a un paso de pregunta, salvo por el hecho de que no requiere acción de su destinatario, que se limita a acceder al formulario que le presenta la información. Este formulario puede ser, como en el caso de otros pasos que utilizan formularios, personalizado.
Fig. 1088 Notificación
La Fig. 1089 muestra la ventana de edición del paso de notificación. Dicha ventana tiene dos solapas:
General: tiene todas las propiedades comunes a casi todos los pasos. Además, tiene la propiedad “Progreso”, que permite especificar un porcentaje de avance del proceso una vez que el paso haya sido ejecutado.
Mensaje: permite especificar las propiedades del mensaje a enviar:
Asunto: asunto del mensaje.
Destinatarios: destinatarios del mensaje.
Avanzado: permite especificar un texto de ayuda para los usuarios. Cuando vean la notificación en Qflow Task, podrán ver el texto de ayuda al hacer clic en el ícono de ayuda (“?”). El texto puede contener código HTML.
La Fig. 1090 muestra las propiedades del mensaje. Para una explicación más detallada, consulte la sección “Mensajes”.
Fig. 1089 Propiedades generales de un paso de notificación
Fig. 1090 Propiedades del mensaje de un paso de notificación
Pregunta
Un paso de pregunta (Fig. 1091) sirve para enviar una pregunta a un conjunto de destinatarios. Cuando un proceso llega a un paso de pregunta, envía un mensaje de correo electrónico a todos los destinatarios de la pregunta. Los destinatarios contestan la pregunta y el proceso puede continuar, tomando decisiones en función de las respuestas a la pregunta.
Fig. 1091 Pregunta
La ventana de edición del paso de pregunta se divide en cinco secciones:
General: tiene las propiedades comunes a todos los pasos. Además, tiene las siguientes:
Bandera al finalizar: marca del proceso al finalizar el paso.
Progreso: porcentaje de progreso del proceso al terminar el paso.
Mensaje: permite especificar las propiedades del mensaje. Por más detalles, vea “Mensajes”. Además de las opciones comunes de mensaje (el texto del mensaje y sus destinatarios), tiene la propiedad Enviar notificaciones, que permite definir si se desea que el paso envíe notificaciones por correo electrónico a sus destinatarios. Si la opción está desmarcada, Qflow no enviará mensajes de correo electrónico para notificar a sus destinatarios que tienen una tarea pendiente.
Respuestas: permite especificar las respuestas posibles al paso. También permite especificar cuándo el proceso debe continuar cuando la pregunta tiene muchos destinatarios. Se explica más abajo.
Control de tiempos: manejo de alertas, recordatorios y delegación. Por más detalles, vea “Alertas, recordatorios, delegaciones y vencimientos”.
Avanzado: Se explica más abajo.
Respuestas
La Fig. 1092 muestra la sección “Respuestas” de la ventana de edición del paso de pregunta.
Fig. 1092 Especificación de respuestas del paso de pregunta
En la parte superior, donde dice “Respuestas”, aparece la lista de respuestas posibles que se le presentarán a los destinatarios del paso. Esta lista está vacía inicialmente. Para agregar una respuesta:
Haga clic en “Agregar…”. Qflow mostrará una ventana como la que se muestra en la Fig. 1093.
Introduzca el texto de la respuesta y la clave de la respuesta. La clave de la respuesta es la respuesta en sí. Cuando algún paso de evaluación evalúe la respuesta, utilizará la clave para hacerlo. El texto de la respuesta es lo que se le muestra al usuario. Puede haber dos respuestas con textos iguales (aunque no tenga mucho sentido), pero la clave es única. Si la clave no es algo fácil de recordar, el texto puede ser una buena forma de presentar algo más amigable al usuario. La clave y el texto pueden ser iguales, y en los casos en que las respuestas no son valores numéricos, eso es bastante común.
Haga clic en “Aceptar”.
Fig. 1093 Crear respuesta
Para borrar una respuesta, selecciónela y haga clic en “Eliminar”. Para modificarla, hágale doble clic o selecciónela y haga clic en “Editar”. Los dos botones con flechas (una que apunta hacia arriba y otra que apunta hacia abajo) permiten cambiar el orden de las respuestas.
“Criterio de respuesta múltiple” es útil solamente cuando el paso tiene más de un destinatario. Permite determinar después de cuántas respuestas recibidas el proceso debe continuar. Los posibles criterios son:
Algún usuario ha respondido: el proceso continúa ni bien uno de los destinatarios contesta.
Todos los usuarios han contestado: el proceso sólo continúa cuando todos los usuarios hayan contestado.
Al menos “X” usuarios hayan contestado: el proceso continúa sólo cuando una cantidad especificada de los destinatarios contestó. Esta cantidad se indica más abajo, donde dice “Cantidad/Porcentaje”.
Al menos “X%” usuarios hayan contestado: el proceso continúa sólo cuando un porcentaje especificado de los destinatarios contestó. Este porcentaje se indica más abajo, donde dice “Cantidad/Porcentaje”.
Avanzado
Fig. 1094 Propiedades avanzadas del paso de pregunta
Las opciones de la solapa “Avanzado” son:
Modo de presentación: permite configurar cómo se muestran las respuestas a la pregunta en Qflow Task. Las opciones son las siguientes (la Fig. 1095 muestra cómo se ve cada una en Qflow Task).
Drop down list: Qflow muestra las respuestas en una lista que se despliega para mostrar todas las respuestas posibles, de las cuales el usuario selecciona una.
Radio buttons list: lista de radio buttons. Los radio buttons son casilleros circulares que pueden ser marcados. Sólo uno puede estar marcado por vez, de modo que, si se marca uno, se desmarca otro.
Command buttons list: lista de botones. Cada botón corresponde a una respuesta, y se elige una respuesta por medio de un clic del botón que le corresponde.
Texto de ayuda: aquí se puede escribir un texto HTML que contenga instrucciones para los usuarios que, durante la ejecución de un proceso, contesten el paso que se está editando. Cuando vean el formulario de respuesta en Qflow Task, podrán ver el texto de ayuda al hacer clic en el ícono de ayuda (“?”).
Encargado de la tarea: permite especificar un rol de template que será el encargado de la pregunta. El encargado puede responder por cualquiera de los destinatarios. También puede delegar la tarea y enviar alertas.
Destinatario alternativo: permite especificar un rol de template que sumará a la lista de usuarios a los que se puede delegar la tarea. Un destinatario alternativo tiene la particularidad de no es necesario que sea supervisado por el usuario que delega la tarea.
Fig. 1095 Resultado en Qflow Task de la selección de cada una de las opciones de visualización posibles en el paso de pregunta
Pregunta con evaluación
Un paso de pregunta con evaluación es como un paso de pregunta, pero además de todas las características del paso de pregunta, permite evaluar la respuesta a la pregunta sin necesidad de utilizar un paso de evaluación. Esto es especialmente útil en procesos muy complejos, puesto que permite simplificar el diagrama mediante la eliminación de pasos de evaluación.
Fig. 1096 Pregunta con evaluación
Sin embargo, las evaluaciones que un paso de pregunta con evaluación puede realizar son muy sencillas. Sólo se puede evaluar cuál fue la respuesta al paso, y de acuerdo con esta respuesta, decidir, cuál es el siguiente paso a ejecutar. Para evaluaciones más complejas, que involucran datos de aplicación o combinan varias expresiones, hay que usar un paso de evaluación.
Fig. 1097 Conectores de un paso de pregunta con evaluación
El conector principal del paso de pregunta puede ser conectado a varios pasos simultáneamente. Al definir la evaluación, se puede definir las condiciones para ejecutar cada uno de esos pasos. En la Fig. 1097, el paso de pregunta con evaluación tiene tres posibles pasos siguientes.
La ventana de edición de un paso de pregunta con evaluación tiene todas las propiedades de un paso de pregunta, más una solapa adicional que permite definir la evaluación (Fig. 1098). En esa solapa, se puede elegir qué respuesta conduce a qué paso.
Fig. 1098 Evaluación de una pregunta con evaluación
Para definir a qué paso conduce cada respuesta, proceda de la siguiente forma:
Haga clic en “Agregar…”. Qflow mostrará una ventana como la de la Fig. 1099.
Donde dice “Si la clave de la respuesta es”, seleccione la clave de la respuesta que desea agregar. Elija, donde dice “Entonces ir a” el paso al que desea que conduzca la respuesta seleccionada.
Haga clic en “Aceptar”.
Fig. 1099 Agregar una respuesta a la lista
La propiedad “Por defecto” (Fig. 1098) indica qué paso debe ser ejecutado si la respuesta dada al paso de pregunta no es ninguna de las que se agregó a la lista.
Tarea
Un paso de tarea permite asignar una tarea a uno o varios destinatarios. Cuando un usuario recibe una tarea, puede responderla y, mientras la lleva a cabo, puede informar de su avance.
Fig. 1100 Tarea
La ventana de edición del paso de tarea se divide en cinco secciones:
General: tiene las propiedades comunes a todos los pasos. Además, tiene las siguientes:
Bandera al finalizar: marca del proceso al finalizar el paso.
Progreso: porcentaje de progreso del proceso al terminar el paso.
Mensaje: permite especificar las propiedades del mensaje. Por más detalles, vea “Mensajes”. Además de las opciones comunes de mensaje (el texto del mensaje y sus destinatarios), tiene la propiedad Enviar notificaciones, que permite definir si se desea que el paso envíe notificaciones por correo electrónico a sus destinatarios. Si la opción está desmarcada, Qflow no enviará mensajes de correo electrónico para notificar a sus destinatarios que tienen una tarea pendiente.
Respuestas: permite especificar cuándo el paso debe continuar cuando tiene más de un destinatario. A diferencia del paso de pregunta, el paso de tarea no permite especificar un conjunto de respuestas, pero sí permite definir criterios para definir cuando el proceso debe continuar en base a la cantidad de destinatarios que contestaron el paso. Por detalles, vea la descripción del “Criterio de respuesta múltiple” en la explicación del paso de pregunta. La opción “Permite la cancelación de tareas individuales”, si se la marca, indica que los destinatarios pueden cancelar sus tareas sin afectar a los otros destinatarios, es decir, que la tarea es cancelada para ellos, pero los demás todavía la van a tener pendiente.
Control de tiempos: manejo de alertas, recordatorios y delegación. Por más detalles, vea “Alertas, recordatorios, delegaciones y vencimientos”.
Avanzado: Las opciones de la solapa “Avanzado” son las siguientes:
Modo de presentación: permite configurar cómo se muestran las respuestas a la pregunta en Qflow Task (las opciones son similares a los del paso de pregunta; vea la Fig. 1095 para ver cómo se ven).
Drop down list: Qflow muestra las respuestas en una lista que se despliega para mostrar todas las respuestas posibles, de las cuales el usuario selecciona una.
Radio buttons list: lista de radio buttons.
Texto de ayuda : aquí se puede escribir un texto HTML que contenga instrucciones para los usuarios que, durante la ejecución de un proceso, contesten el paso que se está editando. Cuando vean el formulario de respuesta en Qflow Task, podrán ver el texto de ayuda al hacer clic en el ícono de ayuda (“?”).
Encargado de la tarea: permite especificar un rol de template que será el encargado de la tarea. El encargado puede responder por cualquiera de los destinatarios. También puede delegar la tarea y enviar alertas.
Como todos los pasos interactivos, el paso de tarea posee, además del conector del paso siguiente (conector de la parte inferior del paso) un conector de vencimiento (conector de la izquierda). En el caso del paso de tarea, ese conector no se usa solamente para el caso en que haya vencimientos. También se utiliza para el caso en que la tarea sea cancelada.
Pasos condicionales
Los pasos condicionales permiten realizar evaluaciones del estado de algunos elementos del proceso (por ejemplo, la respuesta a una pregunta, el valor de un dato de aplicación) y, en base a esas evaluaciones, tomar decisiones acerca del camino que seguirá el proceso.
Evaluación
Las evaluaciones (Fig. 1101) son pasos que permiten evaluar condiciones (por ejemplo, cuál fue la respuesta a un paso) y decidir en base al resultado de las evaluaciones el curso que tomará un proceso. Las evaluaciones tienen dos conectores de salida: uno para el caso en que la condición evaluada sea verdadera (conector de abajo), y otro para el caso en que sea falsa (conector del costado, a la derecha).
Fig. 1101 Evaluación
La Fig. 1102 muestra un proceso de aprobación de gastos que usa un paso de evaluación para determinar si el gasto fue aprobado o no. Se supone que la información respecto del gasto que debe ser aprobado es ingresada durante el inicio del proceso (paso de inicio). Luego, el proceso ejecuta un paso de pregunta. El destinatario del paso de pregunta (la persona encargada de aprobar los gastos) contesta si aprueba o no el gasto. El paso de evaluación examina la respuesta dada en el paso de pregunta. Si la respuesta es “Sí”, el proceso termina en un paso de fin que indica que el gasto fue aprobado (Apr.). De lo contrario, termina en un paso de fin que indica que el gasto no fue aprobado (No apr.).
Nótese que, en este caso, la evaluación realizada en el paso de evaluación es sencilla y podría ser realizada en un paso de pregunta con evaluación. Otras evaluaciones más complejas, sin embargo, hacen necesario el uso del paso de evaluación.
Fig. 1102 Ejemplo de evaluación
La Fig. 1103 muestra la ventana de edición de un paso de evaluación.
Fig. 1103 Edición de un paso de evaluación
Además del nombre y de la descripción, el paso de evaluación muestra la expresión a evaluar. Ésta puede ser bastante compleja. Se puede armar una evaluación que consiste en muchas condiciones combinadas con operadores lógicos (Not, And y Or). Para agregar una condición:
Haga clic en “Agregar…”. Qflow mostrará una ventana como la de la Fig. 1104.
La ventana de la Fig. 1104 tiene las siguientes opciones:
Tipo de ítem: se elige una de dos opciones:
Dato de aplicación: la condición evalúa el valor de un dato de aplicación.
Respuesta: la condición evalúa el valor de una respuesta dada en un paso de pregunta o el estado de un paso de tarea (No iniciada, En progreso, Finalizada o Cancelada).
Ítem: permite elegir el dato de aplicación o el paso cuya respuesta se desea evaluar.
Criterio de votación: opción disponible sólo si el tipo de ítem es “Respuesta”. Permite especificar cómo evaluar la respuesta si los destinatarios del paso de pregunta son muchos (votación):
Algún usuario ha contestado: si algún destinatario contestó lo especificado por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa.
Todos los usuarios han contestado: si todos los destinatarios de la pregunta contestaron lo especificado por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa.
Ningún usuario ha contestado: si ningún destinatario contestó lo especificado por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa.
X usuarios han contestado: si X destinatarios contestaron lo especificado por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa. Si esta opción está seleccionada, se habilita un casillero para especificar el valor de X.
X% de usuarios han contestado: si X% de los destinatarios contestaron lo especificado por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa. Si esta opción está seleccionada, se habilita un casillero para especificar el valor de X.
La respuesta más seleccionada fue: Si la respuesta más seleccionada fue la especificada por las opciones “Operador” y “Valor”, la expresión es verdadera. De lo contrario, es falsa.
Operador: define el operador que se utilizará para evaluar la respuesta o dato de aplicación. Cuando el ítem a evaluar es una respuesta, las opciones son “=” (igual) y “<>” (distinto). Cuando es un dato de aplicación se agregan “>” (mayor), “<” (menor), “>=” (mayor o igual) y “<=” (menor o igual).
Valor: define el valor con el que Qflow debe comparar las respuestas dadas.
Valor: si el ítem evaluado es un dato de aplicación, escriba aquí el valor con el que quiere comparar el dato de aplicación (o utilice el botón “Seleccionar” para elegir un valor entre los posibles). Si el ítem evaluado es una respuesta a un paso de pregunta, seleccione, entre las posibles respuestas a ese paso, la respuesta deseada.
Dato de aplicación: Esta opción le permite elegir el valor de un dato de aplicación para comparar con las respuestas o con el dato de aplicación evaluado.
Respuesta: Esta opción le permite elegir un paso de pregunta, y se usa la respuesta dada a ese paso para comparar con la respuesta o dato de aplicación evaluado. Con esta opción se puede, por ejemplo, evaluar condiciones del tipo “La respuesta al paso X fue la misma que la respuesta al paso Y”.
Haga clic en “Aceptar”.
Fig. 1104 Construcción de una expresión
Para construir expresiones complejas, utilice los botones “Not”, “And”, Or” y “(…)” para combinar expresiones simples.
Not: niega el resultado de una expresión. Si la expresión es verdadera, la expresión formada por ella precedida por “Not” es falsa, y viceversa.
And: cuando dos expresiones están combinadas con un operador “And”, el resultado será verdadero si y sólo si ambas son verdaderas.
Or: cuando dos expresiones están combinadas con un operador “Or”, el resultado será falso si y sólo si ambas son falsas.
(…): los paréntesis permiten especificar el orden en el que se desea evaluar las expresiones. Las expresiones que están dentro de un paréntesis son evaluadas antes que las que están fuera.
Los botones con flechas, una que apunta hacia arriba y otra que apunta hacia abajo, permiten reordenar las expresiones de la evaluación.
Evaluación múltiple
El paso de evaluación múltiple es similar al de evaluación, pero tiene muchos conectores en lugar de tener sólo dos. El paso de evaluación común evalúa una expresión. Si ésta es verdadera, el proceso utiliza el conector de abajo para continuar. Si es falsa, usa el conector del costado.
El paso de evaluación múltiple, en lugar de evaluar sólo una expresión, evalúa varias expresiones. Cada una de esas expresiones está asociada a un paso. Si una expresión es verdadera, el proceso utilizará el paso correspondiente a esa expresión para continuar. Si todas las expresiones son falsas, el proceso utiliza el conector de falso (el del costado) para continuar. Si más de una de las expresiones es verdadera, el proceso utilizará el primer conector correspondiente a una de esas expresiones, empezando por la izquierda.
Para que se pueda empezar a definir las expresiones a evaluar, el paso de evaluación debe estar conectado a otros pasos por medio de su conector saliente. La Fig. 1105 muestra la ventana de edición del paso de evaluación múltiple antes de conectarlo con ningún paso posterior.
Fig. 1105 Ventana de edición del paso de evaluación múltiple. Aún no se puede definir expresiones.
Como se ve en la Fig. 1105, Qflow muestra un mensaje que advierte de la necesidad de conectar el paso de evaluación múltiple con algún paso destino para poder comenzar a construir las evaluaciones. La Fig. 1106 muestra un template en el que se conectó el conector de salida del paso de evaluación múltiple con tres pasos de tarea. El conector correspondiente a un resultado falso se conectó a otro paso de tarea. La Fig. 1107 muestra que en la ventana de edición del paso se generaron tres solapas, una para cada paso al que se conectó el paso de evaluación múltiple mediante el conector de salida. En cada una de esas solapas se define la expresión a ser evaluada para el paso correspondiente. La forma de armar cada evaluación es la misma que la del paso de evaluación común.
En este caso, si no se cumple ninguna de las condiciones definidas, se ejecutará el paso “Pintar de azul”, que es el que está conectado al conector correspondiente a un resultado falso. Es obligatorio utilizar ese conector: Qflow no permitirá guardar el template si no se lo utiliza.
Fig. 1106 Paso de evaluación múltiple conectado a varios pasos
Fig. 1107 Ventana de edición de un paso de evaluación múltiple con cuatro pasos siguientes
Evaluación por código
Un paso de evaluación por código (Fig. 1108) permite escribir un script para hacer una evaluación. Esto permite hacer evaluaciones más complejas y personalizadas que las que se puede hacer con el paso de evaluación, pero requiere conocimientos de programación.
Fig. 1108 Evaluación por código
La Fig. 1109 muestra la ventana de edición de un paso de evaluación por código. El script del paso contiene una función llamada “Evaluate” que devuelve un valor de tipo “bool”. Ésa es la función que debe ser implementada para realizar la evaluación por código.
Para compilar el código escrito, haga clic en el botón “Compilar”. Los errores de compilación aparecerán en la parte inferior de la pantalla, donde dice “Error”. También puede ejecutar el script, haciendo clic en el botón “Ejecutar”. La solapa “Resultados” indica el resultado de la ejecución (verdadero o falso). Mediante el botón derecho del ratón se puede acceder a un menú que permite insertar porciones de código comúnmente utilizadas y acceder a opciones de edición, como copiar, deshacer y buscar palabras. Por más información acerca de cómo desarrolla un script para pasos de este tipo, consulte el manual de referencia de la interfaz de scripting de Qflow.
Importante: no intente modificar datos del proceso en un paso de evaluación por código. Aunque el código se ejecutará correctamente, los cambios no serán guardados. Para modificar datos del proceso, utilice el paso de código.
Fig. 1109 Script de evaluación por código
Repetir
Un paso de repetición permite repetir la ejecución de una parte del diagrama mientras se cumpla una condición. El lector que tenga conocimientos de programación puede asociarlo a la estructura de control “For” y a la estructura “For each”.
Fig. 1110 Repetir
La Fig. 1111 muestra como ejemplo un template que usa un paso de repetición. En él hay un grupo que será ejecutado repetidas veces hasta que deje de cumplirse la condición definida en las propiedades del paso de repetición. Cuando esto suceda, el proceso ejecutará el paso de fin que sigue a la repetición.
Fig. 1111 Ejemplo de uso de un paso de repetición
Nótese que, si las condiciones de repetición pudieran ser representadas en un paso de evaluación, el paso de repetición sería innecesario, puesto que lo mismo podría ser hecho con un paso de evaluación. Sin embargo, el paso de repetición ofrece algunas funcionalidades adicionales que permiten realizar operaciones que no serían sencillas si este tipo de paso no existiera.
La Fig. 1112 muestra la ventana de edición del paso de repetición.
Fig. 1112 Propiedades del paso de repetición
Además del nombre y de la descripción, el paso de repetición tiene propiedades que permiten definir la condición de iteración. Las opciones básicas son tres:
Iteración fija: la repetición se hace una cantidad fija de veces. Hay dos formas de especificar la cantidad de veces:
Constante: permite especificar un número natural cualquiera. La repetición se hará una cantidad de veces igual al valor de ese número.
Dato: permite elegir un dato de aplicación de tipo número. La repetición se hará una cantidad de veces igual al valor que tenga el dato de aplicación en el momento de realizar las repeticiones, siempre y cuando el valor del dato de aplicación no varíe en cada repetición. En este caso, determinar la cantidad total de repeticiones que habrá es más complejo y depende del diseño del template.
Iteración sobre datos: Qflow toma un dato de múltiples valores y ejecuta una repetición por cada valor del dato. De esta forma, el proceso recorrerá todos los valores del dato, y podrá aplicarle una operación a cada uno de ellos.
Por cada: nombre de un dato de un solo valor. En cada repetición, este dato tomará un valor distinto de los múltiples valores del dato que está recorriendo. Esto permite que los pasos que estén dentro de la repetición utilicen el nombre de este dato para hacer referencia al valor correspondiente a la repetición actual.
en: nombre del dato de múltiples valores que se recorrerá.
Iteración sobre roles: es análoga a la iteración sobre datos, pero en lugar de ejecutar una repetición por cada valor de un dato de múltiples valores, se ejecuta una repetición por cada usuario de un rol de múltiples usuarios.
Separar con condición
Un paso de separación con condición divide un proceso en varios hilos de ejecución, al igual que el paso de separación. La diferencia es que un paso de separación con condición permite definir condiciones para la ejecución de los hilos.
Fig. 1113 Separar con condición
La Fig. 1114 muestra la ventana de edición de un paso de separación con condición. La ventana que se muestra en la figura fue abierta antes de conectar el paso de separación a otros pasos. Las propiedades son las mismas que las de un paso de separación común. Pero cuando se conecta el paso con tres tareas, dividiendo el proceso en tres hilos (Fig. 1115), se agregan tres solapas a la ventana del paso de separación con condición (Fig. 1116).
Fig. 1114 Propiedades de un paso de separación con condición antes de conectarlo con otros pasos
Fig. 1115 Paso de separación con condición que divide el proceso en tres hilos
Fig. 1116 Evaluaciones de un paso de separación con condición
La Fig. 1116 muestra la solapa correspondiente al primero de los hilos. Dicha solapa, al igual que las correspondientes a los otros hilos, permite definir una expresión. Cuando el proceso llega al paso de separación con condición, evalúa las expresiones correspondientes a cada hilo, y sólo crea los hilos cuyas expresiones hayan sido evaluadas como verdaderas. Por más detalles sobre la construcción de las expresiones de evaluación, consulte la descripción del paso de evaluación.
Pasos no interactivos
Los pasos no interactivos son aquellos pasos que realizan actividades en las que no interviene ningún usuario humano.
Archivo
El paso de archivo realiza operaciones con archivos.
Fig. 1117 Archivo
La Fig. 1118 muestra la ventana de edición de un paso de archivo. Además del nombre y de la descripción, un paso de archivo tiene las siguientes propiedades:
Operación: operación a realizar. Cada operación utiliza las otras propiedades (Origen, Destino y Resultado) a su modo. Las operaciones posibles son las siguientes:
Adjunto-Agregar: agrega como archivo adjunto al proceso el archivo especificado en “Origen”.
Adjunto-Copiar: copia el archivo adjunto especificado en “Origen” en la ubicación especificada en “Destino”.
Adjunto-Eliminar: elimina el archivo adjunto especificado en “Origen”.
Adjunto-Existe: verifica si el proceso tiene un archivo adjunto con el nombre especificado en “Origen”. Guarda el resultado de esta verificación en un dato de aplicación de tipo “Verdadero/Falso” especificado en “Resultado”.
Adjunto-Leer texto: copia el texto del archivo adjunto especificado en “Origen” en un dato de aplicación de tipo texto especificado en “Resultado”.
Adjunto-Renombrar: renombra el archivo adjunto especificado en “Origen” con el nombre especificado en “Destino”.
Adjunto-Exportar a sistema de archivos: copia un archivo adjunto (“Origen”) en la carpeta indicada (“Destino”) del sistema de archivos.
Archivo-Copiar: copia el archivo de un lugar (“Origen”) a otro (“Destino”).
Archivo-Existe: verifica si el archivo especificado en “Origen” existe. Guarda el resultado de esa verificación en el dato de aplicación de tipo “Verdadero/Falso” especificado en “Resultado”.
Archivo-Mover: mueve un archivo de un lugar (“Origen”) a otro (“Destino”).
Archivo-Leer texto: copia el texto de un archivo especificado en “Origen” en un dato de aplicación de tipo texto especificado en “Resultado”.
Archivo-Renombrar: renombra el archivo especificado en “Origen” con el nombre especificado en “Destino”.
Carpeta-Crear: crea una carpeta en la ubicación indicada en “Origen”.
Carpeta-Existe: verifica si la carpeta especificada en “Origen” existe. Guarda el resultado de la verificación en un dato de aplicación de tipo “Verdadero/Falso” especificado en “Resultado”.
Carpeta-Número de Archivos: cuenta cuántos archivos hay en la carpeta especificada en “Origen” y copia el número obtenido en el dato de aplicación especificado en “Resultado”.
Carpeta-Lista de Archivos: copia la lista de los archivos contenidos en la carpeta especificada en “Origen” en el dato de aplicación de tipo texto especificado en “Resultado”:
Carpeta-Renombrar: renombra la carpeta especificada en “Origen”, colocándole el nombre especificado en “Destino”.
Origen: Es el archivo o carpeta al que se aplica la operación. Para elegir un archivo, haga clic en “Examinar…”. Qflow le mostrará una ventana que le permitirá elegir un archivo. Para utilizar como origen el valor de un dato de aplicación u otra etiqueta, haga clic en “Insertar etiqueta…” y seleccione el elemento que desee. Para saber más acerca de las etiquetas, consulte “Etiquetas”.
Destino: para las operaciones que impliquen copiar o mover un archivo de un lugar a otro, indica dónde el archivo debe ser movido o copiado. Para utilizar como destino el valor de un dato de aplicación u otra etiqueta, haga clic en “Insertar etiqueta…” y seleccione el elemento que desee. Para saber más acerca de las etiquetas, consulte “Etiquetas”.
Resultado: algunas operaciones devuelven un resultado. Este resultado debe ser guardado en un dato de aplicación adecuado. La propiedad resultado indica cuál es ese dato de aplicación. Por ejemplo, la operación “Carpeta-Existe” da el resultado “Verdadero” si la carpeta especificada existe. Este resultado debe ser guardado en un dato de aplicación de tipo “Verdadero/Falso””.
Fig. 1118 Ventana de edición de un paso de archivo
Bot
Un paso de bot permite asignarle un trabajo a un bot. Un bot puede tener parámetros, al igual que una integración. Un paso de bot es muy similar a un paso de integración, con la única diferencia de que, en lugar de seleccionar una integración para ejecutar, se selecciona un bot al cual se le asigna un trabajo.
Fig. 1119 Bot
La Fig. 1120 muestra la ventana de edición de un paso de bot. Además de permitir ingresar un nombre y una descripción para el paso, la ventana permite seleccionar el bot al cual el paso asignará trabajos (propiedad “Bot”, que muestra los bots disponibles). También permite establecer la correspondencia entre los parámetros del bot y datos o parámetros de aplicación. Esta tarea es análoga a la de establecer la correspondencia entre los parámetros de una integración y datos o parámetros de aplicación en un paso de integración (ver “Integración”).
Fig. 1120 Ventana de edición de un paso de bot
Código
Un paso de código permite escribir un programa para que un proceso lo ejecute. El código puede ser escrito en los lenguajes C# o Visual Basic .NET, y debe implementar una interfaz definida en Qflow.
Fig. 1121 Código
Un paso de código tiene dos conectores de salida. El de abajo es el conector al paso siguiente. El de la izquierda es el conector de error. Si, durante la ejecución del código, se produce una excepción, y ésta no es manejada, Qflow intenta seguir la ejecución del proceso mediante ese conector.
La Fig. 1122 muestra la ventana de edición de un paso de código. Éste tiene las siguientes propiedades:
Nombre
Descripción
Lenguaje de programación: permite elegir el lenguaje de programación (C# o VB .NET).
Código: es el código del script.
El código contiene un procedimiento llamado “Execute”. Cuando un proceso ejecute el código, llamará ese procedimiento.
Para compilar el código escrito, haga clic en el botón “Compilar”. Los errores de compilación aparecerán en la parte inferior de la pantalla, donde dice “Error”. También puede ejecutar el código, haciendo clic en el botón “Ejecutar”.
Mediante el botón derecho del ratón se puede acceder a un menú que permite insertar porciones de código comúnmente utilizadas y acceder a opciones de edición, como copiar, deshacer y buscar palabras.
Por más información acerca de cómo desarrollar el script de un paso de código, consulte el manual de referencia de la interfaz de scripting de Qflow.
Fig. 1122 Ventana de edición de código
Base de datos
El paso de base de datos sirve para obtener un conjunto de datos de una base de datos y guardarlos en datos de aplicación del proceso. También sirve para realizar la operación inversa: guardar en una base de datos los valores de un conjunto de datos de aplicación de Qflow. Todo esto es realizado sin escribir código. Se requiere, sin embargo, tener conocimientos de SQL. Este paso es especialmente útil para generar reportes.
Fig. 1123 Datos
La Fig. 1124 muestra la ventana de edición del paso de base de datos.
Fig. 1124 Ventana de edición de paso de datos
Además del nombre y de la descripción, el paso de datos tiene propiedades que permiten definir cómo se debe realizar la conexión a la base de datos, y qué datos se deben traer o actualizar. Las propiedades están divididas en tres secciones:
Propiedades de la conexión
Consulta
Mapeo de columnas
Propiedades de la conexión
Estas son las propiedades que permiten definir la cadena de conexión a la base de datos. Hay dos opciones:
Usar un parámetro de aplicación: si marca esta opción, debe seleccionar un parámetro de aplicación. El paso de datos utilizará los datos de conexión que están almacenados en el parámetro de aplicación seleccionado.
Definir la configuración del paso: si marca esta opción, debe especificar los datos de la conexión. Para ello, haga clic en “Configurar”. Eso hace que Qflow muestre una ventana en la que puede ingresar los datos de la conexión (nombre del servidor, credenciales y otros parámetros). También podrá verificar que los datos ingresados son correctos. La ventana es igual a la que se usa para especificar las propiedades de un parámetro de aplicación de tipo “Conexión a base de datos” (ver “Application parameter properties”).
Una vez definidas las propiedades de la conexión, Qflow habilitará las propiedades que permiten definir la consulta y establecer una correspondencia entre los datos de la base de datos y los datos de aplicación.
Consulta
Consulta: consulta SQL para obtener los datos. La consulta puede ser escrita manualmente, pero también hay herramientas para ayudar a escribirla. El botón “Insertar etiqueta…” permite utilizar valores de datos de aplicación, roles y otros elementos como parámetros de la consulta. Se podría, por ejemplo, guardar la consulta en un dato de aplicación de tipo texto y utilizar el texto de ese dato de aplicación como consulta. Por más detalles al respecto, consulte la sección “Tags”. El botón “Crear consulta…” abre el constructor de consulta, que facilita el trabajo de escribir la consulta (Fig. 1125). Una vez escrita la consulta, haga clic en “Probar consulta” para comprobar que funciona correctamente y que no hay errores de sintaxis. Si la prueba es exitosa, Qflow mostrará una pequeña ventana con el resultado de la consulta (Fig. 1126).
Fig. 1125 Constructor de consulta
Fig. 1126 Resultado de probar la consulta
El constructor de consulta está dividido en cuatro secciones, una para cada parte de la consulta:
From: muestra una lista de todas las tablas de la base de datos. Seleccione aquellas que participarán de la consulta y que, por lo tanto, deben estar en la sentencia “From” de la consulta. Cuando seleccione una o más tablas, la lista de la sección “Select” mostrará todos los campos de las tablas seleccionadas, y dos de las tres listas de opciones de la sección “Where” serán cargadas con esos mismos campos.
Select: muestra la lista de todos los campos de las tablas seleccionadas en la sección “From”. Seleccione los campos que desea que aparezcan en el resultado de la consulta y que, por lo tanto, deben estar en la sentencia “Select” de la consulta.
Where: permite armar la sentencia “Where”. Para agregar una condición a la sentencia “Where”:
Seleccione un campo de la lista de opciones,
Seleccione un operador (<, <=, =, >, >=, <> o like)
Seleccione un valor con el que comparar. Ese valor puede ser una constante, escrita por usted mismo, o puede ser un campo de las tablas incluidas en la sentencia “From”.
Elija si quiere separarla de la anterior con “And” o con “Or”.
Haga clic en “Agregar”. Qflow agregará la condición a la lista.
Order by: permite construir la sentencia “Order by”. Debajo de la etiqueta “Order by”, a la izquierda, aparece una lista desplegable que permite elegir un campo para ordenar. A la derecha de esa lista hay otra lista desplegable en la que se puede elegir el orden a utilizar (ascendente o descendente). Para agregar una condición de ordenamiento, seleccione el campo, indique si el criterio es ascendente o descendente, y haga clic en “Agregar”. Qflow agrega la información del criterio ingresado en la lista de abajo (Fig. 1127). Si quiere utilizar más de un campo para el ordenamiento, repita la operación tantas veces como sea necesario. También puede quitar criterios de ordenamiento. Para ello, seleccione en la lista el criterio que desea eliminar y haga clic en el botón “Eliminar”.
Fig. 1127 Construcción de la sentencia “Order by”
Nota: El constructor de consulta no encierra automáticamente entre comillas simples los valores alfanuméricos. Por lo tanto, una vez construida la sentencia, si existe alguna condición de la sentencia “Where” que haga comparaciones con cadenas de caracteres, usted deberá manualmente encerrar estas cadenas entre comillas simples. Si al probar la consulta obtiene un error, ésta es una causa probable.
Cuando haya terminado de definir las sentencias, haga clic en “Aceptar”. Qflow escribirá la consulta donde dice “Consulta”.
Mapeo de columnas
En esta sección, podrá definir qué dato de aplicación corresponde a qué columna de la base de datos, para que Qflow copie los datos de la base en esos datos de aplicación, o copie los valores de los datos de aplicación en la base de datos. Para poder comenzar a asociar datos de aplicación con columnas de la base de datos, haga clic en “Cargar columnas de origen”. Esto hará que Qflow muestre en la parte inferior de la pantalla la estructura de las columnas obtenidas por la consulta definida previamente. A cada columna se le puede asignar un dato de aplicación. En la Fig. 1128 se asoció el dato de aplicación “ID” con la columna “EmployeeID” y “Nombre” con “FirstName”, por ejemplo.
Fig. 1128 Correspondencia entre datos de aplicación y columnas
A la derecha aparecen dos opciones excluyentes:
Cargar datos de aplicación: utilice esta opción si quiere extraer datos de la base de datos y copiarlos en los datos de aplicación.
Actualizar origen de datos: utilice esta opción si quiere actualizar los datos de la base de datos con los valores de los datos de aplicación. En este caso, necesariamente la clave primaria de los datos a actualizar debe estar entre los datos traídos por la consulta. IMPORTANTE: Esta opción está indicada para cuando se desea actualizar todos los datos de una tabla, y no solamente algunos. Si desea actualizar un registro solo, debe agregar a la consulta una cláusula “WHERE” para que se afecte únicamente el registro que desea modificar.
Nota: si una columna trae varios registros de la base de datos, recuerde asociarla a un dato que admita múltiples valores.
Fórmula
Un paso de fórmula permite realizar transformaciones y operaciones sobre valores o datos de aplicación.
Fig. 1129 Fórmula
La Fig. 1130 muestra la ventana de edición del paso de fórmula.
Fig. 1130 Ventana de edición del paso de fórmula
La única propiedad del paso, además del nombre y la descripción, es la fórmula con las operaciones a ejecutar. Para agregar una operación, haga clic en “Agregar…”. Qflow mostrará una ventana como la que se muestra en la Fig. 1131.
Fig. 1131 Constructor de expresión para fórmula
Dicha ventana presenta las siguientes opciones:
Dato donde almacenar el resultado: seleccione en la lista el dato de aplicación donde desea almacenar el resultado de la operación o transformación
Primer operando: seleccione el primer operando de la operación. El operando puede ser:
Valor: un valor fijo. En este caso, escriba el valor.
Dato de aplicación: un dato de aplicación de cualquier tipo. Si elige esta opción, debe seleccionar un dato de aplicación o rol de template donde dice “Ítem”.
Función: el resultado de una función. Si elige esta opción, debe seleccionar una función donde dice “Ítem”. Existen dos funciones disponibles, “GetDate” y “Vacío”.
Transformación: esta opción permite aplicar al operando una transformación antes de operar con él. Las transformaciones posibles dependen del tipo de dato del operando.
Datos numéricos: en general, estas transformaciones sólo tienen sentido si el operando es un dato que admite múltiples valores.
Average: calcula el promedio de los valores.
Count: cuenta la cantidad de valores.
Max: toma el máximo de los valores.
Min: toma el mínimo de los valores.
Sum: toma la suma los valores.
Datos de texto:
Left: toma sólo los primeros caracteres del operando. La cantidad de caracteres a tomar se especifica en la propiedad “Largo”.
Left Trim: corta todos los espacios en blanco que pueda haber al principio del operando.
Mid: toma sólo los caracteres del medio del operando. La posición a partir de dónde debe tomar los caracteres se indica en la propiedad “Inicio” (el 0 corresponde a la primera posición). La cantidad de caracteres a tomar a partir de esa posición se especifica en la propiedad “Largo”. Por ejemplo, si el valor del operando es “¡Hola Mundo!”, Inicio = 5 y Largo = 5, el resultado de la transformación será “Mundo”. Para el mismo operando, si Inicio = 0 y Largo = 4, el resultado será “Hola”.
Right: toma sólo los últimos caracteres del operando. La cantidad de caracteres a tomar se especifica en la propiedad “Largo”.
Right Trim: corta todos los espacios en blanco que pueda haber al final del operando.
Trim: corta todos los espacios en blanco que pueda haber tanto al principio como al final del operando.
Fecha:
GetDay: toma sólo el día.
GetHour: toma sólo la hora.
GetMinutes: toma sólo los minutos.
GetMonth: toma sólo el mes.
GetSeconds: toma sólo los segundos.
GetYear: toma sólo el año.
Operador: operador de la operación. Es posible no elegir ningún operador, y sólo aplicarle una transformación al primer operando, sin realizar ninguna operación.
+ (suma)
- (resta)
* (multiplicación)
/ (división)
mod (resto de dividir el primer operando entre el segundo)
AddDay: le suma a un primer operando de tipo fecha la cantidad de días indicada por el segundo operando. El segundo operando debe ser un número.
AddHour: le suma a un primer operando de tipo fecha la cantidad de horas indicada por el segundo operando. El segundo operando debe ser un número.
AddMinutes: le suma a un primer operando de tipo fecha la cantidad de minutos indicada por el segundo operando. El segundo operando debe ser un número.
AddMonth: le suma a un primer operando de tipo fecha la cantidad de meses indicada por el segundo operando. El segundo operando debe ser un número.
AddSeconds: le suma a un primer operando de tipo fecha la cantidad de segundos indicada por el segundo operando. El segundo operando debe ser un número.
AddYear: le suma a un primer operando de tipo fecha la cantidad de años indicada por el segundo operando. El segundo operando debe ser un número.
Segundo operando: seleccione el segundo operando de las opciones. Las opciones para el segundo operando son las mismas que las opciones para el primer operando.
Los botones con flechas permiten cambiar el orden de las expresiones.
Inicio de sub flow
Un paso de inicio de sub flow sirve para que un proceso inicie otro proceso. Cuando un proceso llega a un paso de inicio de sub flow, inicia otro proceso. Luego puede continuar o esperar a que el proceso termine para recién entonces continuar.
Fig. 1132 Inicio de sub flow
Las propiedades del paso de inicio de sub flow están divididas en cuatro grupos:
General: tiene las propiedades comunes a casi todos los pasos. Además, tiene las siguientes:
Bandera al finalizar: marca del proceso al finalizar el paso.
Progreso: porcentaje de progreso del proceso al terminar el paso.
Template: permite especificar el template en base al cual se va a iniciar el sub flow. Se explica con más detalle más abajo.
Mapeos: permite especificar la forma de intercambio de información entre el proceso padre y el sub flow. Se explica con más detalle más abajo.
Retardo: permite definir un retardo para el inicio del sub flow, de forma que no se inicie inmediatamente después de que el proceso padre llegue al paso de inicio de sub flow. Se explica con más detalle más abajo.
Template
Las propiedades agrupadas bajo el título “Template” son las siguientes:
Template: es el template a utilizar para iniciar el sub flow.
Versión de template: se puede indicar de utilizar siempre la versión en producción o elegir una versión particular que no sea borrador.
Nombre del flow: es el nombre del proceso a iniciar. Se puede utilizar una etiqueta para que el nombre sea, por ejemplo, el valor de un dato de aplicación. Por más detalles, consulte la sección “Tags”.
Descripción del flow: descripción del proceso a iniciar. Se puede utilizar una etiqueta para que la descripción tome el valor, por ejemplo, de un dato de aplicación. Por más detalles, consulte la sección “Tags”.
Esperar al fin del sub flow para continuar: si esta opción está marcada, una vez iniciado el sub flow, el proceso que lo creó no continúa su ejecución hasta que el sub flow no haya terminado. Sólo si esta opción queda marcada se puede actualizar los datos del proceso padre desde el sub flow.
Fig. 1133 Propiedades del paso de sub flow. Template.
Mapeos
Las propiedades agrupadas bajo el título “Mapeos” se dividen en las siguientes secciones:
Mapeo de datos
Mapeo de roles
Mapeo de adjuntos
El mapeo de datos consiste en definir relaciones entre datos de aplicación del proceso padre y datos de aplicación del sub flow. La ventana que permite definir los mapeos muestra una lista de los mapeos existentes. Cada uno tiene un origen (dato de aplicación del proceso padre), una dirección (tipo de mapeo) y un objetivo (dato de aplicación del sub flow). Hay tres tipos de mapeo de datos (direcciones):
Entrada: un dato del proceso padre se asocia a un dato del sub flow. Cuando Qflow inicia el sub flow, copia en el dato del sub flow los valores del dato del proceso padre.
Salida: un dato del proceso padre se asocia a un dato del sub flow. Cuando Qflow termina de ejecutar el sub flow, copia en el dato del proceso padre los valores del dato del sub flow. Este tipo de mapeo sólo funciona si el proceso padre espera a que el sub flow finalice antes de continuar.
Entrada/Salida: un dato del proceso padre se asocia a un dato del sub flow. Cuando Qflow inicia el sub flow, copia en el dato del sub flow los valores del dato del proceso padre. Después, cuando Qflow termina de ejecutar el sub flow, copia en el dato del proceso padre los valores del dado del sub flow. Esta última parte sólo funciona si el proceso padre espera a que el sub flow finalice antes de continuar.
La Fig. 1134 muestra la ventana que permite definir los mapeos.
Fig. 1134 Definición de mapeos
Para agregar un mapeo:
Seleccione un dato de aplicación del template al que pertenece el proceso padre (Fig. 1135 a).
Seleccione la dirección del mapeo (Entrada, Salida o Entrada/Salida, Fig. 1135 b).
Seleccione un dato de aplicación del template al que pertenecerá el sub flow (Fig. 1135 c). Sólo podrá seleccionar datos que tengan el mismo tipo del dato de origen y que tengan permiso de edición en el paso de inicio del template en el que se basará el sub flow. Por detalles sobre cómo cambiar los permisos de un dato de aplicación en un paso, consulte la sección “Alcance: acceso a los datos, roles y adjuntos de un proceso”.
Haga clic en “Agregar”.
Para borrar un mapeo, selecciónelo de la lista y haga clic en “Eliminar”.
Fig. 1135 Agregar un mapeo
El mapeo de roles funciona de la misma forma que el mapeo de datos.
El mapeo de adjuntos es diferente. Tiene tres opciones excluyentes, más otra opción que no depende de las otras. Las opciones son:
No agregar adjuntos: Qflow no copia los adjuntos del padre en el sub flow.
Agregar adjuntos al hijo: Al iniciar el sub flow, Qflow copia en él los adjuntos del proceso padre.
Agregar adjuntos al hijo y actualizar: al iniciar el sub flow, Qflow copia en él los adjuntos del proceso padre y, una vez que el sub flow termina su ejecución, si hubo cambios en esos adjuntos, los vuelve a copiar al padre, siempre y cuando el padre espere por el sub flow.
Incorporar adiciones del hijo: si esta opción está marcada, Qflow incorpora al padre todos los archivos que hayan sido adjuntados al sub flow durante su ejecución. Esto sólo se hace si el proceso padre espera por el sub flow.
Retardo
Las opciones de retardo sirven para especificar un período de tiempo que debe pasar entre que el proceso padre llega al paso de inicio de sub flow y el inicio del sub flow. Para señalar que el sub flow debe ser iniciado con retardo, marque la opción “Inicio retardado”. Las opciones para especificar el retardo son las siguientes:
Fecha fija: permite elegir una fecha. Qflow esperará hasta esa fecha para iniciar el sub flow.
Fecha variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo fecha que pueda ser utilizado por el template. Permite obtener de un dato de aplicación la fecha en la que Qflow debe iniciar el sub flow.
Tiempo fijo: permite especificar una cantidad cualquiera de segundos, minutos, horas o días. Una vez que el proceso padre llegue al paso de inicio de sub flow, Qflow esperará esa cantidad de tiempo antes de iniciar el sub flow.
Tiempo variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo número que pueda ser utilizado por el template. Permite obtener de un dato de aplicación de tipo número la cantidad de tiempo que Qflow debe esperar antes de iniciar el sub flow una vez que llegó al paso de inicio de flow. El valor del dato de aplicación puede ser interpretado como expresado en segundos, minutos, horas o días.
Fig. 1136 Definición de retardo para el inicio del sub flow
Integración
Un paso de integración permite ejecutar una integración dentro de un proceso. Este manual describe las integraciones en otra sección. Definir integraciones requiere conocimientos técnicos, pero utilizarlas, no.
Fig. 1137 Integración
La Fig. 1138 muestra la ventana de edición de un paso de integración. Además del nombre y de la descripción del paso, un paso de integración tiene las siguientes propiedades:
Integración: permite elegir una de las integraciones definidas. Por información acerca de cómo definir una integración, consulte la sección “Integrations”.
Mapeo de parámetros: es una grilla que muestra los parámetros de la integración. A cada parámetro requerido de la integración se debe asociar un parámetro o dato de aplicación del mismo tipo. Para elegir un dato de aplicación, seleccione “Datos” en la columna “Tipo de ítem”. Para elegir un parámetro de aplicación, seleccione “Parámetros”. Si un parámetro es de entrada, éste recibirá el valor del dato o parámetro de aplicación antes de la ejecución de la integración. Si el parámetro es de salida, sólo tiene sentido asociarlo a un dato de aplicación. Una vez ejecutada la operación de la integración, el valor del parámetro será copiado en el dato de aplicación asociado. Esta es la forma de que una operación devuelva resultados que puedan ser utilizados por el proceso. Si el parámetro es de entrada y salida, tampoco tiene sentido asociarlo a un parámetro de aplicación. El valor del dato de aplicación asociado es copiado al parámetro antes de la ejecución de la integración, y una vez ejecutada ésta, el valor del parámetro, que puede haber cambiado, es copiado al dato de aplicación.
Auto mapear: este botón permite intentar hacer automáticamente la correspondencia entre parámetros de la integración y datos o parámetros de aplicación. Al hacer clic sobre él, Qflow buscará, para cada parámetro de la integración, un dato (o parámetro, según el valor elegido en “Tipo de ítem”) de aplicación con el mismo nombre y tipo que éste, y si encuentra uno, lo asociará al parámetro. De este modo, el mapeo de parámetros se puede hacer automáticamente, siempre y cuando exista un dato o parámetro de aplicación igual a cada parámetro en nombre y tipo.
Fig. 1138 Ventana de edición de un paso de integración
Mail
Cuando un proceso llega a un paso de mail, envía un mensaje de correo electrónico a las casillas especificadas. La diferencia con el paso de notificación es que un paso de notificación sólo envía mensajes a usuarios de Qflow, mientras el paso de mail puede enviar mensajes a cualquier dirección.
El paso de mail utiliza la configuración del servicio SMTP para enviar sus mensajes.
Fig. 1139 Mail
Fig. 1140 Propiedades de un paso de mail
La Fig. 1140 muestra la ventana de edición de un paso de mail. La ventana tiene cinco solapas:
General: muestra el nombre y la descripción del paso, y permite modificarlos.
Origen: permite especificar los datos del remitente del mensaje de correo que se va a enviar.
Destinatarios: permite especificar los destinatarios del mensaje.
Contenido: permite especificar el contenido del mensaje.
Adjuntos: permite especificar una forma de indicarle a Qflow qué archivos adjuntos debe incluir en el mensaje.
A continuación, se describen en detalle las últimas cuatro solapas.
Origen
La solapa “Origen” (Fig. 1141) permite especificar los datos del remitente del mensaje. Hay dos opciones posibles:
Utilizar la configuración del sistema. Si se utiliza esta opción, el mensaje se enviará con el remitente que Qflow utiliza para enviar notificaciones. Esta es la opción por defecto, por lo que, para elegirla, basta con dejare marcado el casillero “Usar configuración del sistema”.
Especificar los datos del remitente. En este caso, deberá desmarcar el casillero “Usar configuración del sistema”, y completar los siguientes datos:
Origen
Nombre: nombre del remitente. Se puede utilizar una etiqueta para, por ejemplo, sacar este nombre de un dato de aplicación (ver “Tags”).
Dirección: dirección de correo electrónico del remitente.
Credenciales SMTP (Opcional): llenar los siguientes campos es necesario solamente si las credenciales son necesarias para enviar el mensaje:
Usuario: nombre de usuario correspondiente al remitente.
Password: contraseña del usuario.
Fig. 1141 Origen de los mensajes
Destinatarios
La Fig. 1142 muestra la solapa “Destinatarios”. A la izquierda se muestra la lista de los destinatarios a los que Qflow enviará el mensaje. Para agregar un destinatario a la lista, haga clic en “Agregar”. Al hacerlo se abrirá una ventana donde podrá ingresar la dirección de correo electrónico del destinatario, o utilizar una etiqueta haciendo clic en “Insertar etiqueta” (ver “Tags”). Luego de ingresar el destinatario haga clic en “Aceptar”. El destinatario será agregado a la lista.
Para quitar un destinatario de la lista, selecciónelo y haga clic en “Eliminar”.
Fig. 1142 Destinatarios
Contenido
La solapa “Contenido” (Fig. 1143) permite especificar el asunto del mensaje y el texto (“Cuerpo”). En los dos casos se puede utilizar una etiqueta, haciendo clic en el botón “Insertar” (ver “Tags”). Si desea utilizar HTML para especificar el contenido, marque la opción “Cuerpo HTML”.
Fig. 1143 Contenido del mensaje
Adjuntos
La Fig. 1144 muestra la solapa “Adjuntos”. A la izquierda se muestra la lista de los archivos que Qflow enviará con el mensaje. Para agregar un archivo a la lista, haga clic en “Agregar”. Al hacerlo se abrirá una ventana donde podrá ingresar el nombre del adjunto, o utilizar una etiqueta haciendo clic en “Insertar etiqueta” (por ejemplo, para obtener de un dato de aplicación el nombre o camino del archivo; ver “Etiquetas”). Luego de ingresar el destinatario haga clic en “Aceptar”. El destinatario será agregado a la lista. El texto que identifica el archivo puede ser:
El nombre del archivo, si se trata de un archivo adjunto del proceso.
El camino del archivo, si se trata de un archivo que se encuentra en el servidor que ejecuta los servicios de Qflow, o si el archivo está en una carpeta compartida.
Para quitar un archivo adjunto de la lista, selecciónelo y haga clic en “Eliminar”.
Fig. 1144 Adjuntos
Sincronización
Un paso de sincronización permite esperar un tiempo determinado o la ocurrencia de algún evento. Esto permite, entre otras cosas, sincronizar el proceso con alguna acción externa.
Fig. 1149 Sicronización
Las propiedades del paso de sincronización se dividen en tres grupos:
General: tiene las propiedades comunes a casi todos los pasos. Además, tiene las siguientes:
Bandera al finalizar: marca del proceso al finalizar el paso.
Progreso: porcentaje de progreso del proceso al terminar el paso.
Sincronización: permite definir qué esperar. Más abajo se explica en mayor detalle.
Vencimiento: permite especificar un vencimiento para la espera. Si pasa una cantidad determinada de tiempo sin que ocurra el evento por el que se está esperando, se abandona la espera. Más abajo se explica en mayor detalle.
Sincronización
La Fig. 1150 muestra la solapa de las propiedades de sincronización. Las opciones son:
Espera por archivo: si esta opción está seleccionada, el proceso esperará la creación de un archivo en el sistema de archivos o que se agregue un archivo adjunto al proceso, según si está marcada la opción “Sistema de archivos” o la opción “Adjunto”.
Archivo: nombre del archivo que se espera. Si es un archivo del sistema de archivos, es todo el camino que indica la ubicación del archivo, y si hace clic en el botón “Explorar…”, Qflow abrirá una ventana para que usted elija el archivo. Si es un archivo adjunto, es simplemente el nombre del archivo, y el botón “Explorar…” no estará habilitado. También puede utilizar como nombre del archivo el valor de un dato de aplicación de tipo texto o alguna otra etiqueta. Para ello, haga clic en “Insertar” para elegir una etiqueta. Por más información acerca de las etiquetas, consulte la sección “Tags”.
Sistema de archivos: seleccione esta opción para que el proceso espere que un archivo con el nombre especificado sea creado en el sistema de archivos.
Adjunto: seleccione esta opción para que el proceso espere que un archivo adjunto con el nombre especificado sea agregado.
Espera por tiempo: si esta opción está seleccionada, el proceso esperará una cantidad de tiempo que puede ser especificada de varias formas:
Fecha fija: permite elegir una fecha hasta la cual se debe esperar.
Fecha variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo fecha que pueda ser utilizado por el template. Permite obtener de un dato de aplicación la fecha hasta la que el proceso debe esperar.
Tiempo fijo: permite especificar una cantidad cualquiera de segundos, minutos, horas o días.
Tiempo variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo número que pueda ser utilizado por el template. Permite obtener de un dato de aplicación de tipo número la cantidad de tiempo que el proceso debe esperar. El valor del dato de aplicación puede ser interpretado como expresado en segundos, minutos, horas o días.
Esperar por paso: esta opción es útil para sincronizar distintos hilos de un mismo proceso. Permite esperar el inicio o la finalización de la ejecución de un determinado paso.
Paso: permite elegir el paso por el cual esperar.
Evento: permite definir si se desea esperar el inicio del paso o la finalización del paso.
Esperar por un paso iniciado luego de ese paso: si esta opción está activada, el proceso esperará el paso indicado, bajo la condición de que éste haya sido iniciado después del paso de sincronización.
Esperar por acción externa: esta opción hace que el hilo del paso se detenga hasta que ocurra una acción externa. Hay dos formas de indicarle a Qflow que esa acción ocurrió: mediante un paso de código que llame una función que hace eso (ver el manual de la interfaz de scripting) o mediante la invocación de alguno de los métodos del web service WebOperations, que es uno de los web services de Qflow. De este modo, es posible especificar que un paso de sincronización espere que una aplicación externa a Qflow ejecute una operación. Una vez ejecutada esa operación, la aplicación que lo hizo puede informar a Qflow mediante el web service.
Fig. 1150 Propiedades de sincronización
Vencimiento
La solapa “Vencimiento” permite especificar un momento en el que vence la espera. Para hacerlo, marque la opción “Habilitar vencimiento”. Luego especifique cuándo la espera debe vencer. Las opciones son:
Fecha fija: permite elegir una fecha de vencimiento para la espera.
Fecha variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo fecha que pueda ser utilizado por el template. Permite obtener de un dato de aplicación la fecha de vencimiento.
Tiempo fijo: permite especificar una cantidad cualquiera de segundos, minutos, horas o días. Transcurrida esa cantidad de tiempo, la espera vencerá.
Tiempo variable: esta opción no está disponible a menos que exista un dato de aplicación de tipo número que pueda ser utilizado por el template. Permite obtener de un dato de aplicación de tipo número la cantidad de tiempo transcurrido el cual la espera vencerá. El valor del dato de aplicación puede ser interpretado como expresado en segundos, minutos, horas o días.
Fig. 1151 Vencimiento de espera de paso de sincronización
Web service
Un paso de web service permite ejecutar varias funciones de un web service y almacenar en datos de aplicación los resultados devueltos.
Fig. 1152 Web service
La Fig. 1153 muestra la ventana de edición de un paso de web service. Un paso de web service tiene las siguientes propiedades:
Conexión del web service: estas propiedades permiten especificar la dirección del web service mediante una Url. Hay dos posibilidades:
Usar un parámetro de aplicación: si marca esta opción, debe seleccionar un parámetro de aplicación. El paso de web service utilizará entonces los datos de conexión que están guardados en el parámetro de aplicación indicado.
Definir en la configuración del paso: si marca esta opción, debe especificar los datos de la conexión. Para ello, haga clic en “Configurar”. Eso hace que Qflow muestre una ventana en la que puede ingresar la Url del web service y las credenciales que utilizará para invocarlo. También podrá verificar que los datos ingresados son correctos. La ventana es igual a la que se usa para especificar las propiedades de un parámetro de aplicación de tipo “Conexión a web service” (ver “Application parameter properties”).
Métodos disponibles: muestra los métodos del web service seleccionado. Para que Qflow cargue la lista de métodos disponibles, haga clic en el botón “Cargar métodos”.
Métodos a invocar: es una lista con los métodos del web service a ser llamados desde el paso. También muestra los parámetros de cada método y la variable de retorno. Para agregar un método, seleccione uno de la lista de métodos disponibles y haga clic en “Agregar”. Esto agregará a la lista “Métodos a invocar” una línea por cada parámetro del método, y otra línea correspondiente al valor retornado. Repita el procedimiento para todos los métodos que desee llamar. Cada parámetro se debe asociar a un dato de aplicación. Para que Qflow intente hacer la asociación automáticamente, en base a los nombres y los tipos de los parámetros, haga clic en “Auto mapear”. El botón “Eliminar” permite quitar de la lista el método correspondiente a la línea seleccionada.
Una vez configuradas las propiedades recién descritas, deberá proceder a asociar cada parámetro de los métodos del web service con un dato de aplicación. Cuando el paso de web service llame un método del web service, utilizará como valor de cada parámetro el valor del dato de aplicación asociado a él. También se debe asociar datos de aplicación a los valores de retorno. Los parámetros aparecen en la columna “Parámetro” de la lista de métodos a invocar. Los valores de retorno aparecen con el nombre “$ return value”.
En el ejemplo de la Fig. 1153, el parámetro “employeeId” del método GetEmployeeById está asociado al dato de aplicación “EmployeeId”. El valor de retorno aún no ha sido asociado a ningún dato.
Para asociar los parámetros a datos de aplicación, haga lo siguiente:
Seleccione un parámetro de la lista y haga clic en “Vincular…”, o haga doble clic en la línea correspondiente al parámetro.
Qflow mostrará una ventana con la lista de los datos de aplicación disponibles. Seleccione el que desee. Sólo se muestran los datos de aplicación cuyo tipo es el mismo que el tipo del parámetro.
Haga clic en “Aceptar”.
Para desasociar un parámetro que está asociado a un dato de aplicación, selecciónelo y haga clic en “Desvincular”.
Fig. 1153 Propiedades de un paso de web service
Xml
Un paso de Xml permite leer texto XML de un archivo o dato de aplicación, validarlo, aplicarle transformaciones y almacenar el resultado en un dato de aplicación o en un archivo.
Fig. 1154 Xml
La Fig. 1155 muestra la ventana de propiedades de un paso de Xml. Las propiedades, aparte del nombre y de la descripción, son las siguientes:
Xml de origen: es el dato de aplicación o archivo del cual el paso obtendrá el texto Xml para leer.
Dato de aplicación: si esta opción está marcada, el paso obtendrá el Xml del valor de un dato de aplicación.
Archivo de entrada: si esta opción está marcada, el paso obtendrá el Xml de un archivo. Haga clic en “Examinar…” para seleccionar el archivo. También se puede obtener el nombre del archivo de un dato de aplicación u otra etiqueta. Para ello, haga clic en “Insertar” y seleccione la etiqueta apropiada. Por más detalles sobre las etiquetas, consulte la sección “Tags”.
Validación: estas propiedades permiten utilizar un esquema Xml para validar el Xml obtenido. Si el Xml no valida contra el esquema la ejecución continúa por el conector izquierdo.
Habilitar validación: marque esta opción si desea que Qflow valide el Xml leído. Esto habilitará las opciones que le permitirán elegir el esquema que Qflow utilizará para hacer la validación. El procedimiento para seleccionar el esquema es similar al procedimiento utilizado para elegir el Xml de origen. Puede obtener el esquema tanto de un archivo (en general, un archivo XSD) como de un dato de aplicación.
Transformación: estas propiedades permiten utilizar una definición de transformación para transformar el Xml leído.
Habilitar transformación: marque esta opción si desea que Qflow aplique una transformación al Xml leído. Esto habilitará las opciones que le permitirán elegir la definición de la transformación a aplicar. El procedimiento para seleccionar la definición de la transformación es similar al procedimiento utilizado para elegir el Xml de origen. Puede obtener la definición tanto de un archivo (en general, un archivo XSL) como de un dato de aplicación.
Xml destino: es el dato de aplicación o archivo donde se guardará el Xml leído y, posiblemente, validado y transformado, de acuerdo con las opciones seleccionadas antes. El procedimiento para seleccionarlo es el mismo que el procedimiento para seleccionar el Xml de origen.
Un ejemplo sencillo de uso de un paso de Xml sería, por ejemplo, leer un archivo Xml y copiarlo en un dato de aplicación.
Fig. 1155 Propiedades del paso de Xml
Otros
Esta sección describe elementos del diagrama de un template que no corresponden a ninguna de las categorías anteriores.
Nota
Una nota no es un paso. No tiene ningún efecto sobre los procesos. Sirve para incluir textos en el diagrama de un template, por ejemplo, para explicar el proceso.
Fig. 1156 Nota
Para modificar el texto de una nota, haga doble clic sobre la nota. Qflow mostrará una ventana donde podrá escribir el texto (Fig. 1157). El texto puede ser alineado de tres maneras distintas, modificando la propiedad “Alineación” en la ventana de propiedades (Fig. 1158):
Izquierda: el texto se alinea a la izquierda.
Centrada: el texto es centrado.
Derecha: el texto se alinea a la derecha.
Fig. 1157 Edición del texto de una nota
Fig. 1158 Propiedades de una nota
Referencia de elementos de diagramas BPMN
Esta sección describe los elementos (actividades, eventos y compuertas) que se utilizan en los diagramas de templates BPMN.
Evento de inicio
Es donde inicia su ejecución un proceso, al igual que el paso de inicio de un template Qflow. Tiene las mismas propiedades que éste. Consulte la sección sobre el paso de inicio (“Inicio”) por información acerca de sus propiedades.
Fig. 1159 Evento de inicio
Evento de fin y fin terminal
Los eventos de fin y fin terminal finalizan la ejecución de los procesos. Tienen las mismas propiedades que un paso de fin de un template Qflow, salvo la opción “Terminar todos los hilos y tareas en ejecución”. El evento de fin equivale a un paso de fin en el que la opción “Terminar todos los hilos y tareas en ejecución” no está marcada, mientras el evento de fin terminal equivale a un paso de fin en el que esa opción sí está marcada. Por más información, consulte la sección sobre un paso de fin (“Fin”).
Fig. 1160 Evento de fin
Actividad de llamada
Corresponde al paso de inicio de flow de un template Qflow y tiene las mismas propiedades. Si el template de los procesos que se inician en esta actividad es también un template BPMN, se puede ver su diseño haciendo clic en el signo de “+” que aparece en el dibujo de la actividad. En esto, esta actividad funciona de la misma forma que un grupo o un worklet. Por información acerca de cómo configurarla, consulte la sección que describe el paso de inicio de flow (“Inicio de sub flow”).
Fig. 1161 Actividad de llamada
Al hacer clic en el símbolo de “+” el paso se agranda para mostrar el template BPMN de los procesos que se iniciarán.
Fig. 1162 Ventana de propiedades de una actividad de llamada
Compuerta exclusiva
Una compuerta exclusiva es similar a un paso de evaluación múltiple: se pueden conectar sus conectores salientes a varios elementos, y para cada uno se especifica una condición. El proceso seguirá el camino a través del conector correspondiente a la condición que se cumpla. Si no se cumple ninguna condición, el proceso seguirá su camino a través de la conexión por defecto, si es que ésta está definida. Para definir una conexión por defecto, seleccione una de las conexiones de la compuerta, haga clic sobre ella con el botón derecho y seleccione, en el menú contextual, “Conexión por defecto”.
Fig. 1163 Compuerta exclusiva
Esta compuerta se llama “exclusiva” porque tras pasar por ella, el proceso elige solamente uno de los posibles caminos. Para elegir más de uno se debe utilizar la compuerta inclusiva.
Por más información, consulte la sección sobre el paso de evaluación múltiple (“Evaluación múltiple”).
Fig. 1164 Compuerta exclusiva
Compuerta inclusiva
Una compuerta inclusiva es similar a un paso de separación con condición: se pueden conectar sus conectores salientes a varios elementos, y para cada uno se especifica una condición. El proceso seguirá el camino a través de los conectores correspondientes a las condiciones que se cumplan. Esta compuerta es inclusiva porque tras pasar por ella, el proceso puede seguir por varios de los posibles caminos, a diferencia de la compuerta exclusiva, que elige solamente uno, y de la compuerta paralela, que sigue su flujo a través de todos los posibles caminos.
Si no se cumple ninguna condición, el proceso seguirá su camino a través de la conexión por defecto, si es que ésta está definida. Para definir un conector por defecto, seleccione una de las conexiones de la compuerta, haga clic sobre ella con el botón derecho y seleccione, en el menú contextual, “Conexión por defecto”.
Como las compuertas paralelas, las compuertas inclusivas se utilizan en pares. La primera de las compuertas (compuerta inclusiva divergente) divide el proceso en varios caminos (hilos), y la segunda (compuerta inclusiva convergente) los une. La primera de las compuertas funciona como un paso de separación con condición de un template Qflow (ver “Separar con condición”) y su ventana de propiedades es similar a la de un paso de separación con condición y a la de una compuerta exclusiva: muestra una solapa para cada uno de los elementos que se conectaron a los conectores salientes de la compuerta, y en cada solapa se especifica una condición que será evaluada para evaluar si el proceso utilizará esa conexión para continuar su flujo. La segunda de las compuertas inclusivas funciona como la segunda de un par de compuertas paralelas, y su ventana de propiedades es parecida a la de un paso de “Unir” (ver “Unir”).
Fig. 1165 Compuerta inclusiva
Fig. 1166 Uso de compuertas inclusivas
Fig. 1167 Propiedades de una compuerta inclusiva divergente. Especifican condiciones para cada uno de los caminos posibles
Fig. 1168 Propiedades de una compuerta inclusiva convergente. Note la similitud con una compuerta paralela convergente.
Compuerta paralela
Las compuertas paralelas se utilizan de a dos: la primera (compuerta paralela divergente) divide el proceso en varios hilos (como un paso de separar de un template Qflow) y la segunda (compuerta paralela convergente) los une, como un paso de unir.
La ventana de propiedades de la compuerta que efectúa la separación es muy sencilla y sólo permite ingresar un nombre y una descripción para el paso. La de la segunda compuerta, que une los hilos, tiene una solapa de opciones avanzadas similar a la de un paso de unir. Por más información, consulte la sección sobre el paso de unir (“Unir”).
Fig. 1169 Uso de compuertas paralelas
Fig. 1170 Compuerta paralela
Evento de temporización
Un evento de temporización permite especificar una demora. Cuando un proceso llega a un evento de temporización, se detiene durante el tiempo especificado en él. En esto se comporta de la misma forma de un paso de sincronización de un template Qflow, cuando ese paso especifica una espera por tiempo. Especificar un vencimiento mediante un evento de temporización es parecido a especificar un vencimiento para un paso interactivo de un template Qflow. Consulte la sección “Alertas, recordatorios, delegaciones y vencimientos” por más información.
Fig. 1171 Evento de temporización
Fig. 1172 Propiedades de temporización
Evento intermedio
Un evento intermedio es similar a un hito de un template Qflow. Consulte la sección sobre el paso de hito (“Hito, Inicio de Worklet y Fin de Worklet”).
Fig. 1173 Evento intermedio
Evento de atrapar señal
Un evento de atrapar señal permite poner al hilo en espera hasta que se reciba una señal proveniente de un evento de lanzar señal. Se utiliza en escenarios donde es necesario sincronizar el trabajo de dos o más hilos que ejecutan en simultáneo. En este sentido cumple una función similar al paso de Sincronización del diseño clásico de Qflow. En las propiedades del evento (Fig. 1174), además de las propiedades estándar, se tiene en la sección “Señal” propiedades relacionadas con la espera de la señal:
Esperar señal de: evento de lanzar señal por el cual se espera.
Continuar si la señal ya fue lanzada: en caso de que la señal se haya lanzado previamente al intento de atraparla, especifica si se debe esperar una nueva señal o simplemente continuar.
Fig. 1174 Evento de atrapar señal
Evento de lanzar señal
Un evento de lanzar señal permite notificar a eventos de atrapar señal que lo están esperando para que continúen su ejecución. La configuración de este evento es similar a un hito de un template Qflow. Consulte la sección sobre el paso de hito (“Hito, Inicio de Worklet y Fin de Worklet”).
Fig. 1175 Evento de lanzar señal
Subproceso
Un subproceso de un template BPMN es equivalente a un grupo de un template Qflow. Por más información, consulte la sección sobre grupos (“Grupo”).
Fig. 1176 Subproceso
Tarea de código
Una tarea de código de un template BPMN es equivalente a un paso de código de un template Qflow (ver “Código”).
Fig. 1177 Tarea de código
Tarea de e-mail
Una tarea de e-mail de un template BPMN es equivalente a un paso “Mail” de un template Qflow (ver “Mail”).
Fig. 1178 Tarea de e-mail
Tarea de fórmula
Una tarea de fórmula de un template BPMN es equivalente a un paso “Fórmula” de un template Qflow (ver “Formula”).
Fig. 1179 Tarea de fórmula
Tarea de notificación a usuario
Una tarea de notificación a usuario de un template BPMN es equivalente a un paso “Notificación” de un template Qflow (ver “Notificación”).
Fig. 1180 Tarea de notificación a usuario
Tarea de servicio
Una tarea de servicio de un template BPMN es equivalente a un paso “Integración” de un template Qflow (ver “Integración”).
Fig. 1181 Tarea de servicio
Tarea de servicio asíncrono
Una tarea de servicio asíncrono de un template BPMN es equivalente a un paso “Bot” de un template Qflow (ver “Bot”).
Fig. 1182 Tarea de servicio asíncrono
Tarea de usuario
Una tarea de usuario cumple, en un template BPMN, la misma función que los pasos “Pregunta” y “Tarea” en los templates Qflow. La ventana de propiedades de esta tarea es muy similar a la de un paso “Pregunta” (ver “Pregunta”), pero cuando se define una respuesta, hay una opción adicional: se puede indicar si la respuesta es una “Respuesta final”. Una respuesta final termina la ejecución del paso y lleva el proceso al paso siguiente. Una respuesta que no es final mantiene el proceso en la tarea. Esto permite configurar la tarea de modo que su funcionamiento sea como el de una tarea de un template Qflow.
Una tarea de un template Qflow tiene cuatro respuestas posibles: “No iniciada”, “En progreso”, “Finalizada” y “Cancelada”. Las respuestas “No iniciada” y “En progreso” se pueden representar en una tarea de usuario de un template BPMN como respuestas que no sean finales, mientras que la respuesta “Finalizada” se puede representar con una respuesta final. La respuesta “Cancelada” no se puede representar sin una compuerta que evalúe la respuesta y lleve el proceso por otro camino. En Qflow Task, cuando un usuario responde la tarea, puede especificar un porcentaje de progreso, independientemente de si la respuesta que selecciona es final o no.
Fig. 1183 Tarea de usuario
Grupo
Un grupo es un artefacto que se puede incluir en el diseño para agrupar visualmente elementos del proceso. En este sentido, un grupo es similar a un subproceso y al igual que éstos, su uso no afecta la ejecución de los procesos. Sin embargo, el grupo no es colapsable y los elementos incluidos en él no tienen por qué estar conectados entre sí. El grupo sirve para marcar relaciones entre elementos que a priori no están relacionados en el diagrama.
Fig. 1184 Grupo
Para configurar el nombre de un grupo se puede cambiar el campo “Título” desde la ventana de propiedades o hacer clic derecho sobre el grupo y luego en la opción “Propiedades” del menú contextual desplegado.
Fig. 1185 Propiedades de un grupo
La siguiente figura es un ejemplo de diseño que incluye un grupo. Pueden incluirse los grupos que sean necesarios para clarificar el diseño.
Fig. 1186 Ejemplo de uso de un grupo en un diseño BPMN
Referencia a objeto de datos
Una referencia a un objeto de datos es un artefacto que se puede incluir en el diseño y conectarlo con el elemento al que se refiere. Por ejemplo, si un usuario utiliza determinado conjunto de datos para desempeñar una tarea, se puede incluir en el diseño una referencia a un objeto de datos qué indique cuál es el conjunto de datos (Fig. 1187 Ejemplo de uso de una referencia a objeto de datos en un diseño BPMN).
Fig. 1187 Ejemplo de uso de una referencia a objeto de datos en un diseño BPMN
Referencia a base de datos
Una referencia a una base de datos es un artefacto que se puede incluir en el diseño y conectarlo con el elemento al que se refiere al igual que con los objetos de datos. Por ejemplo, si una tarea de servicio actualiza una base de datos, se puede agregar una referencia a base de datos para indicar cuál es la base de datos que actualiza (Fig. 1188 Ejemplo de uso de una referencia a base de datos en un diseño BPMN). Para especificar un texto al artefacto se debe configurar en las propiedades del mismo.
Fig. 1188 Ejemplo de uso de una referencia a base de datos en un diseño BPMN
Anotación
Este artefacto permite tener un texto asociado a un elemento del diagrama. Dicho texto se modifica en las propiedades de la anotación. Se puede aumentar el tamaño de una anotación para que el texto quepa.
Fig. 1189 Ejemplo de uso de una anotación en un diseño BPMN









