BM Workflow Full User Guide
BM Workflow Full User Guide
BM Workflow Full User Guide
User Guide
No part of this publication may be reproduced in any form, or stored in a database or retrieval system, or transmitted or distributed in any
form by any means, electronic, mechanical photocopying, recording or otherwise, without the prior written permission of General Electric
Company. Information contained herein is subject to change without notice.
Trademark Notices
GE, the GE Monogram, and Predix are either registered trademarks or trademarks of General Electric Company.
Microsoft® is a registered trademark of Microsoft Corporation, in the United States and/or other countries.
We want to hear from you. If you have any comments, questions, or suggestions about our documentation, send them to the following email
address:
doc@ge.com
Contents
Chapter 1. Workflow IPI....................................................................................................................... 13
Release Notes.............................................................................................................................................13
Upgrade Workflow...................................................................................................................................... 20
Overview...............................................................................................................................................20
Upgrading Workflow............................................................................................................................23
Software Requirements..............................................................................................................................24
Hardware Requirements.............................................................................................................................33
Hardware Recommendations.............................................................................................................33
Compatibility............................................................................................................................................... 39
Installation Requirements...................................................................................................................48
Pre-Installation Consideration............................................................................................................52
Installation Procedures.......................................................................................................................76
Log On Overview...............................................................................................................................121
Upgrade Workflow.............................................................................................................................155
Chapter 3. Tutorials............................................................................................................................204
Tutorials.....................................................................................................................................................204
Create a work segment response for a work request using a workflow...................................... 214
Write work data for a work segment response using a workflow................................................ 216
Configure forms to view during run time after they have been completed or acquired............... 218
Orientation......................................................................................................................................... 225
User Interface....................................................................................................................................225
Resources..................................................................................................................................................233
Resources.......................................................................................................................................... 233
Expression Editor......................................................................................................................................239
Certificate Handling..................................................................................................................................309
Resolve Port conflicts between prior Proficy Workflow installations and Web HMI.................... 315
Chapter 6. Security.............................................................................................................................317
Material Model..........................................................................................................................................390
Material Inventory.....................................................................................................................................398
Equipment Model..............................................................................................................................402
Production Model..............................................................................................................................434
Work Definitions................................................................................................................................465
Events Model.....................................................................................................................................495
Event View.................................................................................................................................................533
Actuals.......................................................................................................................................................534
Contents | vi
Actuals............................................................................................................................................... 534
Aspects.............................................................................................................................................. 536
Data Sources.............................................................................................................................................558
Archives..................................................................................................................................................... 600
Transferring Workflow..............................................................................................................................605
Equipment Provisioning....................................................................................................................632
Reporting................................................................................................................................................... 635
Reporting........................................................................................................................................... 635
Designer Panels........................................................................................................................................682
Designer: Resources.......................................................................................................................1066
Navigate URI....................................................................................................................................1068
Form Templates..............................................................................................................................1127
Workflow Foundations....................................................................................................................1261
Task Configuration..........................................................................................................................1276
Global Subprocesses......................................................................................................................1371
Make Global/Local..........................................................................................................................1375
Third-party Activities.......................................................................................................................1382
eSOP Activities................................................................................................................................1481
Schedules................................................................................................................................................1485
Schedules........................................................................................................................................ 1485
Faults....................................................................................................................................................... 1510
Contents | ix
Faults............................................................................................................................................... 1510
Test Workflows.......................................................................................................................................1519
Debugging........................................................................................................................................1521
Track Data...............................................................................................................................................1527
Categories............................................................................................................................................... 1545
Categories....................................................................................................................................... 1545
Completion Codes..................................................................................................................................1548
Actuals.....................................................................................................................................................1552
Actuals............................................................................................................................................. 1552
Task Maintenance...........................................................................................................................1626
Home....................................................................................................................................................... 1638
Service Interfaces...................................................................................................................................1650
Workflow Methods..........................................................................................................................1653
IArchiveManagement......................................................................................................................1654
IAuditTrail.........................................................................................................................................1655
IDatabaseService............................................................................................................................ 1656
IDirectorySearch..............................................................................................................................1661
IEmailService................................................................................................................................... 1672
IEquipment.......................................................................................................................................1678
IEquipmentConfig............................................................................................................................1712
IEquipmentHistorian....................................................................................................................... 1712
IEvent............................................................................................................................................... 1720
IExtensionData................................................................................................................................ 1721
IITService......................................................................................................................................... 1722
ILicense............................................................................................................................................1724
IMaterial...........................................................................................................................................1725
Contents | xi
IOpcClient........................................................................................................................................ 1772
IOpcUa............................................................................................................................................. 1776
IPersonnel........................................................................................................................................1778
IProductionModel............................................................................................................................1797
IProductionReport........................................................................................................................... 1823
IProficyHistorian..............................................................................................................................1927
IPropertyGroup................................................................................................................................ 1936
IResourceLinking.............................................................................................................................1940
Equipment Context.................................................................................................................................1969
Documents.............................................................................................................................................. 1975
Documents...................................................................................................................................... 1975
Start Task................................................................................................................................................2007
Installation...............................................................................................................................................2020
Installation....................................................................................................................................... 2020
Workflow Performance...................................................................................................................2020
Persistence......................................................................................................................................2020
Memory............................................................................................................................................2022
Subprocesses..................................................................................................................................2024
Forms.......................................................................................................................................................2030
Forms............................................................................................................................................... 2030
Index...............................................................................................................................................
Chapter 1. Workflow IPI
About the IPI
The IPI (Important Product Information) provides a quick reference to what's new in the latest version of
Workflow.
Category Description
What's New or Changed in This Re This section outlines the new and updated product features that
lease are available for this release. Links are available to relevant docu
mentation.
Resolved Issues Resolved issues are those defects that have been fixed for the re
lease.
Known Issues Known issues are those issues that are documented in the defect
tracking system that affect this release, and may be fixed in a fu
ture release.
Release Notes
Provides a list of new and updated features for this release, as well as any resolved issues, limitations,
and known issues.
Release Information
Beginning with Workflow 2.6, information is available on a single page with links to relevant
documentation. Use the following links to navigate to each section on this page.
Workflow Full User Guide | 1 - Workflow IPI | 14
• Install Workflow Task Client from the InstallFrontEnd.exe file. The installer adds the task client
plugin to Operations Hub. See:
◦ Install the Task Client (on page 180)
• Workflow is updated to the latest released version of the Common Licensing software, v18.9.
• SQL Server 2019 is supported for Workflow. See:
◦ SQL Server Options (on page 26)
• Workflow is updated with the latest End User License Agreement (EULA) and copyright stamp,
where applicable.
• Workflow is migrated to the Visual C++ 2015-2019 Redistributable package for both 32-bit and 64-
bit operating systems.
• Workflow is integrated with the Web Help system to provide help documentation, which is
accessed using any regular browser.
Recommendations
Recommendations provide procedures that may be useful in specific circumstances.
• When installed on the same machine, GE Web HMI and Workflow both require port 8444 for
installations prior to Workflow 2.6. The Workflow 2.6 default port is now 8447, however during an
upgrade from versions earlier than 2.6, the port number is NOT changed, and remains 8444. For
information about resolution of port conflicts, see Resolve Port conflicts between prior Proficy
Workflow installations and Web HMI (on page 315).
• Upgraded Workflow 2.6 installations from earlier versions continue to use the existing configured
certificates, regardless of the operating system. If you are upgrading or installing Workflow on an
older operating system and you want certificates with SAN properties, you can use the Workflow
ConfigureCertificates tool to generate new certificates. See Install Certificates on older Operating
Systems (on page 59) to generate certificates with the SAN property.
• You can now configure Workflow to connect to a remote SQL Server instance using Windows
Authentication. Prior to Workflow 2.6, it was mandatory to configure the Workflow SQL Server
instance to use Mixed Mode Authentication. This requirement has been removed from Workflow
Workflow Full User Guide | 1 - Workflow IPI | 15
2.6 and it is now possible for Workflow to connect to a SQL Server instance configured for
Windows Authentication only. For security reasons, Windows Authentication is recommended as
it eliminates the need for Workflow to save the database user name and password to disk. See
Configure Windows Authentication for Workflow (on page 54).
Limitations
Limitations provide notifications about possible application and system constraints or restrictions in this
release.
• Beginning with the Workflow 2.6 release, Vision is not shipped as a part of Workflow. The Vision
help topics have not been updated, and only apply to prior Workflow versions. Note that Vision 6.3
can be installed separately and will function with Workflow 2.6.
Resolved Issues
Resolved issues are those defects that have been fixed for the current release.
Note:
These fixes are ported to 2.6 SP1 from 2.5 SP4 SIM 5, SIM 6, and SIM 7 releases.
Tracking ID Description
DE136625 Report synchronization failed due to a duplicate key issue in the Dim_Workflow-
Schedule and Dim_SegReqEquipmentSpecification packages. To resolve the issue,
data staging queries for the two reporting packages have been modified to ex
clude any duplicate records.
DE136672 There were no alerts or reminders for security certificates that are expiring within
a month. This issue has been resolved. Workflow certificates are checked daily for
their expiration period. If any certificate is due for expiry within a month, a warning
message is displayed to the logged in user.
DE136677 Errors occurred when saving class changes for model objects due to performance
issues. This issue has been resolved.
DE136635 Resolved performance issues related to export and import of materials in a model,
and also browsing these materials on the Client:
Workflow Full User Guide | 1 - Workflow IPI | 16
Tracking ID Description
• For Export: Fixed the redundant data creation, and optimized the export log
ic.
• For Import: Improving the export performance resulted in less number of
excel files for import. Import logic is also optimized while saving the GUIDs
in excel.
DE136627 After restarting the Proficy Server, Workflow calendar based time events do not
occur if the event's first occurrence date is in the past. This issue is resolved by
setting the Repeat event every __ day field value appropriately. It is set to 1 if the
recurrence is needed daily.
DE136631 Export/Import of user solutions failed without throwing any error messages. To fix
this issue, a validation logic has been added to check all the dependent displays of
the user solution that are added in the content.
DE136628 The communication object could not be used for communication. To fix the is
sue, the MaxMessageSize attribute needs to be configured in ProficyClient.exe-
.config and ProficyServer.exe.config by increasing the value from 10485760
to 15728640. The MaxItemsinObjectGraph quota is increased from 300000 to
1500000.
DE136630 Synchronizing tags from Historian to Workflow failed due to conflicts in SQL data
base collation. This issue has been resolved.
Tracking ID Description
US274688 The Full Name field can be entered for a Workflow user to display assigned task
user's full name in the Web HMI Task List. This field is used when displaying as
signment and performer information in the Web HMI Task List.
US287276 Enabled to import user's full name when synchronizing users from the Active Di
rectory. A user's full name is retrieved from the domain controller during the au
Workflow Full User Guide | 1 - Workflow IPI | 17
Tracking ID Description
thentication process, and is used to populate the Full Name field on the created
user account.
DE9510 Previously, you were not able to duplicate the jumps defined in the eSOP task
steps from the Task Editor screen. This issue has been resolved.
DE15101 Previously, on duplicating an eSOP task, the email configuration was not duplicat
ed correctly. To fix this, all email configuration is now preserved when duplicating
an eSOP task.
DE47848, DE82901 When importing model objects with aspects applied (such as when Plant Appli
cations is used in conjunction with Workflow), it lead to import failure. The import
process is fixed now to handle null values in the import file.
DE49185 Equipment provisioning script created records with invalid parents. To resolve the
issue, equipment creation commands are now validated for proper parent-child re
lationships before creating the equipment.
DE50264 Equipment provisioning script "create property" command (6) created property
with NULL data type. To resolve this issue, additional checks have been added to
ensure that a valid property data type has been specified.
DE52998 Communication exception occurred due to a faulty channel state. As a fix, the
communication channels are reclaimed if they are detected to be expired, or in a
non-opened state.
DE64489 The workflow instances screen displayed an error whenever a workflow instance
in the 'Stopped' state was selected. This issue introduced in 2.5 SP3 has been re
solved.
DE68886 Projects and Import/Export functions were allowing to import duplicate process
segment specifications. To resolve this issue:
DE79117 Previously, an exception was thrown when editing a Configure Event Activity. This
issue has been resolved.
Workflow Full User Guide | 1 - Workflow IPI | 18
Tracking ID Description
DE79380 Previously, keywords were not replaced in task level work instructions on the
desktop client. This issue has been resolved. Keywords are now replaced as ex
pected in the initial load of work instructions.
DE79400 The Edit Database connection screen was incorrectly limiting port number range,
and created incorrect connection string when the port is specified. This issue has
been resolved. The valid range for the SQL Server port number is now 1 to 65535.
The data source in the connection string excludes the instance name if a port
number is also specified.
DE79401 Previously, you were not able to save the database connection with Excel ODBC
data provider DSN. This error happened due to a missing database (worksheet)
property on the DSN. The error message has been updated.
DE82900 Exporting an equipment failed for the equipment that contained the property with
' (single quote) in its name. The S95 editor also failed to show any properties for
the equipment instance when such a property was created. This issue has been
resolved.
DE82902 Assigning tasks dynamically made the tasks visible to incorrect users. This issue
has been resolved. Assignment context is now correctly determined when the as
signed resource is not set until runtime.
DE89213 Previously, indexes duplicating the primary key existed on many SOADB tables.
The duplicate indexes are no longer created, and existing duplicate indexes will be
removed during an upgrade from earlier versions.
DE83062 Previously, importing personnel class failed if the target system was missing as
pects from the source system. Personnel objects can now be imported success
fully when the target system does not have all personnel model aspects present
on the source system.
DE83916 Configure Server was not updating the port numbers in the UserStartup.dita file.
This issue has been resolved. If the server HTTP or TCP ports are modified using
the Configure Server tool, the local client configuration is also updated to connect
on the new ports.
DE91292 You can now delete a lot or sublot and all associated material actuals from the
production responses. A new method has been added to the IMaterial interface:
DeleteMaterialLotOrSublotWithActuals. Use this method with caution!
Workflow Full User Guide | 1 - Workflow IPI | 19
Tracking ID Description
DE91394 Instance class cannot be found during process to create or update material defini
tion properties. This issue has been resolved.
DE95051 The default height of the navigator did not facilitate the visibility of all the mod
els. The navigator has been fixed with more vertical space to display all the default
models without the need to scroll through them.
DE95754 The Generate Web HMI Model process failed with the following error: "Unable
to cast object of type 'System.DBNull' to type 'System.String'' on Equipment in
stances with null descriptions." This issue has been resolved to correctly process
the equipment instances with null description fields.
Known Issues
Known issues are those issues that are documented in the defect tracking system that affect this release,
and may be fixed in a future release.
Tracking ID Description
DE8399 Browsing OPC Items from RSLinx Classic OPC Server - When browsing OPC items
from the server, branches show items from previously expanded branches.
Workaround: Reset the browser by clicking the Browse Server button again, then
browse the desired branch.
DE56348 After an OPC connection to a Cimplicity server is added in Workflow, new projects
added to the Cimplicity OPC server are not visible from the OPC Item browser in
Workflow.
Workarounds:
• Change the ProgID of the OPC connection to a different value and Save.
Then change the ProgID back to the original value and Save.
• Delete the OPC server connection from Workflow and re-create it.
• Restart Proficy Server.
Performing any of the above actions will cause the correct list of items to be re
turned from the Browse action.
DE76343 After installation on Windows 10 or Window Server 2016 "General Electric" Start
Menu has no content.
Workflow Full User Guide | 1 - Workflow IPI | 20
Tracking ID Description
Workaround: Log out of your current Windows session and log back in.
DE136938 Guest user privileges updated in Workflow are not getting updated to Operations
Hub task client. As a result, when guest users with no privileges are upgraded to
possess administrative rights in Workflow, they still are not able to access their
scheduled tasks in the task client widget in Operations Hub.
Upgrade Workflow
Overview
Important:
When you upgrade the application server, you must also upgrade all of the remote clients that
connect to that server to use the same version of Workflow. You can upgrade Workflow without
having to uninstall the program.
Upgrade Paths
The following upgrade paths are supported:
Note:
All versions of Workflow prior to version 2.5 SP1 must first be upgraded to version 2.5
before you can upgrade to Workflow 2.5 SP1.
Note:
All versions of Vision prior to version 6.3 must be uninstalled before being upgraded to
Workflow 2.5 SP1.
Note:
You must first upgrade Workflow 1.5 SP4 to Workflow 2.0.
If you are upgrading from an earlier version of Workflow, contact Technical Support.
Legacy Certificates
Starting with Workflow 2.5, legacy certificates are no longer supported.
®
Upgrading Microsoft .NET Framework 4.5 (Full Framework)
Note:
Custom display or form assemblies that target earlier versions of .NET will continue to function
as before. However, saving changes made to such custom assemblies requires that they be
upgraded, which is accomplished in different ways, based on the version of .NET:
• For an assembly that pre-dates .NET 4.0, you must upgrade the assembly when you open
it. Failure to do so results in an error and the inability to save the edited assembly.
• For an assembly that targets .NET 4.0, the assembly is upgraded automatically when
opened, and changes to such assemblies can be saved as before.
Service providers that target versions of the .NET framework before version 4.5 must be
recompiled targeting .NET 4.5.
Workflow Full User Guide | 1 - Workflow IPI | 22
Note:
This upgrading issue affects existing web-based forms only, and not HTML5 web forms that are
created in Workflow 2.2 SP1.
Password Security
During an upgrade installation, the account lockout capability is automatically enabled; all other password
security features are disabled, by default. To enable any of the other password security features, you must
use the Configure Security tool after the upgrade installation has successfully completed.
Windows Users
Workflow 2.0 supports Windows domain names with personnel names and login names. If you choose to
use the new functionality included with Workflow 2.0 (that is, active directory universal or global groups
mapped to Workflow groups), then when your Windows users log in, their personnel name and login
name will both be updated to include the domain name, and the personnel name will change to match the
login name. For example, the personnel name John Smith and login name johnsmith will both change to
<domain name>\johnsmith.
Warning:
If you were using Windows user accounts in a prior version of Workflow, any workflows that
reference individual users will no longer work! These personnel names will NOT be updated when
the Windows users log in. You must manually change these names to include the domain name
with a backslash character between the domain name and personnel name. However, if you
Workflow Full User Guide | 1 - Workflow IPI | 23
reference personnel classes in your workflows, no change is required; the workflows will work as
they did in the previous version of Workflow.
Upgrading Workflow
You can upgrade your Workflow software without uninstalling the previous version.
Note:
• If you are upgrading your database to SQL Server 2019, you must first upgrade Workflow to
v2.6 or greater, and then upgrade SQL Server.
• Administrative user names and passwords used during your initial installation are not
retained during the upgrade process. You can set these credentials again during this
process.
• Starting with Workflow 2.5, legacy certificates are no longer supported.
1. Run the installation software. If the splash screen does not appear, run InstallFrontEnd.exe
on the root directory of the installation folder.
2. Review the license agreement, and then click I Agree.
The Security page appears.
3. Specify the administrator's authentication credentials.
a. In the Name field, accept the default name or enter a new name.
Note:
▪ If password complexity is enabled and configured, the Administrator
password must follow the same rules as defined for user passwords.
▪ If you are using the Workflow Task List in Web HMI, select the Web HMI
Access check box, enter the Web HMI Host name or IP address, and then click
Next to view the Application Upgrade page.
Workflow Full User Guide | 1 - Workflow IPI | 24
Important:
When you use the Configure Security tool to make changes to password security,
you must re-enter and confirm the Administrator user's password before you can
save your changes.
4. Optional: If you do not want to back up your SQL Server database, or if you have performed your
own backup, select the Do not back up the database automatically check box.
Tip:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
5. Click Install.
The Installation page appears, displaying the status of each installation step.
6. When the installation is complete, click Exit.
Note:
If the installation fails at any point during the Database setup and configuration, you will have to
uninstall Workflow via the Windows Control panel, restore your database from backup, resolve the
database issue and perform the upgrade again.
If the installation fails at any point after the Database setup, or you want to change a
configuration setting after the installation completes, you can open the appropriate standalone
component to configure the required information. For more information, see: Post-installation
Configuration (on page 128).
Software Requirements
Application Server Software Requirements
This topic describes the software requirements for your installation.
Workflow Full User Guide | 1 - Workflow IPI | 25
Installation
Note:
In addition to the following material, see the Architecture Considerations in the web help for
information on options related to the operation mode when installing on a 64-bit computer.
Related information
Enable Connection between Workflow and SQL Server (on page 69)
® ®
• Microsoft Windows 10 (32- or 64-bit)
® ®
• Microsoft Windows 8 (64-bit)
® ®
• Microsoft Windows 7 Professional SP1 (32- or 64-bit)
® ®
• Microsoft Windows Server 2019 (32- or 64-bit)
® ®
• Microsoft Windows Server 2016 (32- or 64-bit)
® ®
• Microsoft Windows Server 2012 R2 (64-bit)
Note:
®
You must have the April 2014 updated rollup for Windows Server 2012 R2 (2919355)
installed.
® ®
• Microsoft Windows Server 2012 Standard (64-bit)
® ®
• Microsoft Windows Server 2008 SP2 (32-bit only)
Workflow Full User Guide | 1 - Workflow IPI | 26
® ®
• Microsoft Windows Server 2008 R2 SP1 (64-bit)
Note:
Terminal server environments are supported only on Windows Server 2008 R2 (64-bit)
Note:
• The Workflow project is installed into this SQL Server database. SQL Server can be
installed on a different computer that is also on the domain or workgroup; however, you
must ensure that network configurations allow appropriate machine communication.
• For security reasons, we recommend that SQL Server be configured with Windows
authentication, but Mixed Mode authentication is also supported.
®
• Microsoft SQL Server 2019
Note:
If you are upgrading your database to SQL Server 2019, you must first upgrade Workflow to
v2.6 SP1 or greater, and then upgrade SQL Server.
®
• Microsoft SQL Server 2017
®
• Microsoft SQL Server 2016
®
• Microsoft SQL Server 2014 (32- or 64-bit)
®
• Microsoft SQL Server 2012 Enterprise (32- or 64-bit)
®
• Microsoft SQL Server 2012 Business Intelligence (32- or 64-bit)
®
• Microsoft SQL Server 2012 Standard (32- or 64-bit)
® ®
• Microsoft Windows Server 2012 Essentials
Workflow Full User Guide | 1 - Workflow IPI | 27
Note:
®
In order for Workflow to connect to any edition of Microsoft SQL Server 2012 or later, you
must configure SQL Server to enable the sysadmin role for the applicable login account.
For more information, see Enable Connection between Workflow and SQL Server 2012.
®
• Microsoft SQL Server 2008 R2 with the latest service pack
®
• Microsoft SQL Server 2008 Standard or Enterprise Edition (32- or 64-bit)
®
• Microsoft SQL Server 2008 Express
Note:
If you are using SQL Server Express with the Workflow application server, you cannot use
the Reporting Database.
The Workflow installation automatically selects the default SQL Server instance. If SQL Server 2012 and
SQL Server 2008 are both installed, SQL Server 2008 may be the default instance. In this scenario, if you
want to use SQL Server 2012 instead, you must select this instance as the default as part of manually
configuring your SQL Server settings.
For more information, see the topic corresponding to the type of installation you will be performing.
.NET Requirements
.NET requirements apply to all servers that utilize Workflow.
Note:
.NET 4.7 (Full Framework) is mandatory if you are using FIPS or TLS 1.2.
Note:
Custom display or from assemblies that target earlier versions of .NET will continue to function
as before. However, saving changes made to such custom assemblies requires that they be
upgraded, which is accomplished in different ways, based on the version of .NET:
Workflow Full User Guide | 1 - Workflow IPI | 28
• For an assembly that pre-dates .NET 4.0, you must upgrade the assembly when you open
it. Failure to do so results in an error and the inability to save the edited assembly.
• For an assembly that targets .NET 4.0, the assembly is upgraded automatically when
opened, and changes to such assemblies can be saved as before.
Service providers that target versions of the .NET framework before version 4.5 must be
recompiled targeting .NET 4.5 or greater.
Other Requirements
Other requirements apply to all servers that utilize Workflow.
®
• Microsoft Excel 2007 or greater. To use Excel 2007, you must manually install the Primary Interop
Assemblies (for Import/Export operations). These assemblies are included in the Excel 2010
installation.
◦ http://msdn.microsoft.com/en-us/library/kh3965hw.aspx
◦ http://www.microsoft.com/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-
B864D8BFA513&displaylang=en
◦ http://technet.microsoft.com/en-us/library/cc179091.aspx
®
• Microsoft Internet Explorer 7 or greater
®
• For web-based forms, Microsoft Internet Explorer 10 or greater is required.
Note:
Internet Explorer 10 is supported only on the following operating systems:
®
◦ Windows 7 SP1
®
◦ Windows 8
®
◦ Windows Server 2008 R2 with SP1
®
◦ Windows Server 2012 R2
Note:
Proficy Portal and all features associated with this product are no longer supported with
Workflow.
Note:
VMWare servers are supported to use any of the supported operating systems.
Important:
Advanced features of ESX Server (that is, VMotion, VMWare VMFS, and Clustering support)
are not supported.
Optional Requirements
® TM
• Microsoft Silverlight Runtime 5.0 and the Silverlight SDK 5.0
Note:
Silverlight is required to access and develop forms and displays in the Silverlight Designer,
and to view Silverlight forms and displays in the Global Viewer.
Important:
Support for Silverlight and Silverlight forms will be discontinued with the next major
release of the software.
Workflow Full User Guide | 1 - Workflow IPI | 30
®
• Microsoft AD LDS (Active Directory Lightweight Directory Service) or ADAM (Active Directory
Application Mode) with SP1 (available from http://www.microsoft.com/downloads/details.aspx?
familyid=9688f8b9-1034-4ef6-a3e5-2a2a57b5c8e4&displaylang=en)
Note:
For all new deployments, it is recommended you use Simulated Directory instead of AD
LDS for increased performance.
A client-only machine contains only the Workflow client application and must connect to another machine
that has the application server installed.
Note:
If you have a client-only installation, it must be the same version as the server to which it is
connected.
The software requirements for a client-only installation are the same as for the application server.
The Reporting database must be installed on the same machine as the SQL Server instance which will
hold the database. A remote SQL Server instance is not supported.
Reporting database installation have the same software requirements as the main application server
installation.
Web Task List installations have the same software requirements as the main application server
installation.
In addition to the software requirements as the main application server installation, Workflow Task Client
installation also requires the following to be installed on the same machine.
® ®
• Microsoft Windows Server 2016 (32- or 64-bit)
® ®
• Microsoft Windows Server 2012 R2 (64-bit)
® ®
• Microsoft Windows Server 2012 Standard (64-bit)
® ®
• Microsoft Windows Server 2008 R2 (64-bit)
Other than the supported operating systems, the software requirements for Server clustering and failover
installations are the same as for the main application server installation.
Related information
Supported and Validated Cluster Configurations (on page 100)
Workflow and user extension servers have the same software requirements as the main application
server installation.
Related information
Enable Connection between Workflow and SQL Server (on page 69)
Workflow Full User Guide | 1 - Workflow IPI | 33
Hardware Requirements
Hardware Recommendations
This section describes the recommended hardware specifications which are needed for Workflow to
perform well.
The following table provides general guidelines for hardware recommendations based on sizing
specifications.
Recommended Server 8 GB 16 GB 32 GB
RAM
Workflow Full User Guide | 1 - Workflow IPI | 34
*Many systems do not use all of the capabilities of Workflow, so some projects may match some
specifications in the small system column with other specifications in the medium or large system
column. Choose the column that more closely matches the targeted system.
**Any running workflow that is waiting for user input in a task form can be considered paused and is
considered to be a running workflow but not an executing workflow.
Server recommendations may need to be increased when the application uses intensive processing or
significant disk access. Examples of these scenarios include reading and parsing data files from disk,
custom logging or writing to output data files, advanced mathematics in code activities, custom service
providers, communicating with third party products, and so on.
The hardware recommendations above are for servers where the SQL Server is not on the Workflow server
system. If you choose to run SQL Server on the Workflow server, then you must add RAM and CPUs to the
recommended amounts.
The hardware recommendations above are for a server that is not running in a virtualized environment.
For servers that are running in a virtualized environment such as a VMWare or Hyper-V image, the
recommended amounts must be exclusively allocated to the server image and have as much available
physical resources on the virtualization server. For example, if a server needs 8GB of RAM, then that
much RAM must be allocated to the image, and the virtualization server must have 8GB of physical RAM
available for that image. If the image runs out of physical RAM on the virtualization server, performance
degrades significantly.
All the hardware recommendations are assuming that the machine is dedicated to running the Workflow
server. If you are planning to run other applications on the machine, you will need to increase the CPU
and RAM requirements appropriately to handle running these applications. This includes other GE Digital
applications, such as Historian, CIMPLICITY, or iFIX.
Workflow Full User Guide | 1 - Workflow IPI | 35
Note:
® ®
When using Windows Server 2008 R2 or Windows Server 2012 as the operating system, keep
the following information in mind. Newer Microsoft operating systems have greater hardware
®
requirements than older ones. Windows Server 2008 R2 and newer use significantly more
memory and more CPU. For equivalent performance, add an additional 2 GB of memory and an
additional processor.
• Data throughput between the Workflow server and data sources such OPC servers, Historian, iFIX,
and CIMPLICITY.
• The number of client instances active on a single client machine
Server Deployment
Note:
These requirements apply whether you are installing a multiple server configuration (that is a core
server and a Workflow server), or a failover cluster.
TM
• 3 GHz Core 2 Duo processor with 8 GB RAM (minimum)
• 50 GB free hard disk space (minimum)
• DVD-ROM drive
• Network interface software for network communications, and TCP/IP network protocol
• One parallel port or free direct-connect USB port
• XGA or better color graphics monitor and a 100% IBM-compatible 24-bit graphics card capable of
1024x768 resolution and at least 65535 colors
• Minimum monitor support
• Two-button mouse with a scroll wheel or compatible pointing device (such as a touch screen)
Workflow Full User Guide | 1 - Workflow IPI | 37
TM
• 3 GHz Core 2 Duo processor with 8 GB RAM (minimum)
• 50 GB free hard disk space (minimum)
• Network interface software for network communications, and TCP/IP network protocol
• One parallel port or free direct-connect USB port
• XGA or better color graphics monitor and a 100% IBM-compatible 24-bit graphics card capable of
1024c768 resolution and at least 65535 colors
• Minimum monitor support
• Two-button mouse with scroll wheel or compatible point device (such as a touch screen)
TM
• 3 GHz Core 2 Duo process with 4 to 8 GB RAM (dependent on how much activity the server is
expected to manage)
• 50 GB free hard disk space (minimum)
• DVD-ROM drive
• Network interface software for network communications, and TCP/IP network protocol
• One parallel port or free direct-connect USB port
• XGA or better color graphics monitor and a 100% IBM-compatible 24-bit graphics card capable of
1024x768 resolution and at least 65535 colors
• Minimum monitor support
• Two-button mouse with scroll wheel or compatible pointing device (such as a touch screen)
TM
• 3 GHz Core 2 Duo processor with 2 GB RAM (minimum)
• 20 GB free hard disk space (minimum)
• DVD-ROM drive
• Network interface software for network communications, and TCP/IP network protocol
• SVGA or better color graphics monitor and a 100% IBM-compatible 24-bit graphics card capable of
1024x768 resolution and at least 65535 colors
• Two-button mouse with scroll wheel or compatible pointing device (such as a touch screen)
Workflow Full User Guide | 1 - Workflow IPI | 38
TM
• 3 GHz Core 2 Duo Processor with 3 GB RAM (minimum)
• 50 GB free hard disk space (minimum)
• DVD-ROM drive
• Network interface software for network communications, and TCP/IP network protocol
• One free direct-connect USB port
• XGA or better color graphics monitor and a 100% IBM-compatible 24-bit graphics card capable of
1024x768 resolution and at least 65535 colors
• Two-button mouse with scroll wheel or compatible pointing device (such as a touch screen)
The hardware requirements set by Microsoft for clustered server configurations must be met for systems
deploying Workflow with cluster support.
Important:
Custom services managed by clustering must maintain their state in shared persistent memory (typically
a database), and the state must always be in a consistent state because failover can occur at any time.
Related information
Supported and Validated Cluster Configurations (on page 100)
Workflow Full User Guide | 1 - Workflow IPI | 39
Compatibility
Compatibility and Upgrading with GE Products
If you plan to use one or more other GE products with Workflow, it is important to first determine whether
the version of each such product is compatible with the latest version of this application.
Compatible GE Products
Workflow may be used with a number of other GE products. Depending on the product or product version,
you may need to run Workflow in a particular architecture mode or take additional measures during set up
to ensure compatibility between the products. If so, the notes in the following table provide the necessary
details.
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 1.7 Not Sup Not Not Sup
ported Sup ported
8.2 5.0 5.1 6.3 SP1
ported
9.0 5.5 5.5 6.3 SP2
10 7.1 6.0
7.2 6.1
8.0
8.1
Workflow 2.6
Workflow Full User Guide | 1 - Workflow IPI | 40
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 1.7 Not Sup Not Not Sup
ported Sup ported
8.2 5.0 5.1 6.3 SP1
ported
9.0 5.5 5.5 6.3 SP2
10
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 Not Sup Not Sup Not 8.1
ported ported Sup
8.2 5.0 5.1 6.3 SP1
ported
9.0 5.5 5.5 6.3 SP2
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 Not Sup Not Sup Not 8.0
ported ported Sup
8.2 5.0 5.1 6.3 SP1
ported
9.0 5.5 5.5 6.3 SP2
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 Not Sup Not Sup Not 7.5
ported ported Sup
8.2 5.0 5.1
ported
9.0 5.5 5.5
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 Not Sup Not Sup Not Not ap
ported ported Sup plicable
8.2 5.0 5.1
ported
Workflow Full User Guide | 1 - Workflow IPI | 42
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
Workflow 2.5
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.3 Not Sup Not Sup Not 7.0
ported ported Sup
8.2 5.0 5.1 7.0 SP2
ported
9.0 5.5 5.5 7.0 SP3
7.0 SP5
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.2 Not Sup 2.2 3.5 6.3 SP1
ported
8.2 5.0 5.1 6.3 SP2
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
5.8
Workflow 2.2
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 2.2 6.2 Not Sup 2.2 3.5 6.3
ported
8.2 5.0 5.1
5.5 5.5
5.8
Workflow 2.1
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1 4.5 5.0 1.6 5.0 Not Sup 1.5 3.5 6.2
ported
8.2 5.0 5.1 6.0
7.1 6.0
7.2 6.1
8.0
Workflow Full User Guide | 1 - Workflow IPI | 44
CIMPLICITY Historian iFIX Open En Plant Ap Opera Plant Ap Profi Produc
terprise plications tions Hub plications cy tion Man
Service Portal ager
Provider
(PASP)
(PASP)
8.1
Note:
The following notes apply to product versions compatible with Workflow 2.5 and Workflow 2.6:
The following notes apply to product versions compatible with Workflow 2.2, 2.2 SP1, 2.5:
• CIMPLICITY 8.1 and 8.2: OPC is recommended for exchanging data between Workflow and
CIMPLICITY.
• Historian 5.0: Data types added to Historian 5.0 (ihUInt64, ihUInt32, ihUInt16, ihByte,
ihBool) are not supported for binding to parameters or local variables in Workflow.
Task List
Service Providers
MESCore SP Supported
Note:
Service providers that target versions of
the .NET framework before version 4.5
must be recompiled targeting .NET 4.5.
Related information
Architecture Considerations (on page 52)
Some DMS methods and fields are now obsolete, and have been replaced, in Workflow 2.5. The
deprecated fields should be replaced with the new fully qualified fields. If you do not use these new fields,
your code will not compile.
Note:
If you have an existing custom service provider that is both using the deprecated methods
and .NET Framework 4.5, you must compile your code again in order to ensure that your service
providers function as expected.
Table 1. ModelObject.cs
Obsolete Replacement
ModelObject.TableName FullyQualifiedTableName
Table 2. DataSetMap.cs
Obsolete Replacement
GetTableName() GetFullyQualifiedTableName()
GetTableNames() GetFullyQualifiedTableNames()
TableName FullyQualifiedTableName
HistoryTableName HistoryFullyQualifiedTableName
Tip:
If required, you may choose to use the Table Name that has no schema prefix, such as
BaseTableName.
Legacy Certificates
You must upgrade from Silverlight Runtime v4.0 to Silverlight Runtime v5.0, as well as from Silverlight SDK
v4.1 to Silverlight SDK v5.0. All forms will automatically be updated.
Custom applications that directly reference Log4Net for logging purposes may stop working with
Workflow version 2.2, which installs an updated version of Log4Net. To prevent such compatibility
problems going forward, we recommend that custom applications instead be designed to log messages
through the ILog interface in Proficy.Platform.Core.Diagnostics. If this is not feasible, you must
ensure that custom applications reference version 1.2.11 of Log4Net, and be prepared to update the
version of Log4Net referenced by custom applications upon upgrade to future releases of Workflow.
• Support for installing and running Workflow in Legacy (compatibility) mode has been discontinued.
It will be possible to upgrade legacy systems to non-legacy systems, but doing so may require
updating any service providers that rely on the previous service provider architecture to use the
new service provider architecture.
®
• Support for installing and running the Workflow on Microsoft Windows XP has been discontinued.
• Support for one-click installation of Workflow will be discontinued in a future release of the
software. The client installation should be used when one-click installation is discontinued.
• All Workflow assemblies are now compiled in .NET Framework version 4.5. Custom displays and
applications that reference an earlier version of .NET must change to instead reference .NET v4.5
in order to function properly.
• Starting with Workflow 2.5, legacy certificates are no longer supported.
Chapter 2. Get Started
Get Started Guide
Installation Requirements
Key Concepts
Workflow is a unifying architecture for our software products, and a framework to leverage existing
applications and functionality. The role of this product is to provide the components and services which,
when adopted by a product line, drives common operational behavior and support.
This product gives you a flexible foundation for building applications and interfacing with other software.
It contains the tools you need to create applications that can be used to facilitate the management and
analysis of activities in your enterprise.
Workflow also provides a configurable event engine that can trigger workflows and other code based on
different types of internal and external triggers.
If you designate a server as essential when configuring the system, all associated product options are
automatically designated as essential. If you designate any product option as essential, the server that
is hosting that option is automatically designated as essential, but the essential status of other product
options hosted by the server remains unchanged.
Note:
The servers hosting the Core and Workflow product options are designated as essential by
default, and this designation cannot be changed.
Workflow Full User Guide | 2 - Get Started | 49
The designation of servers as either essential or nonessential and the state and accessibility of servers
has implications for the health of the system and, therefore, the ability to log in and use the Workflow
program, as follows:
• When all servers, both essential and nonessential, are running and reachable, system health is
considered Complete. In this scenario, the site health indicator in the toolbar is green, users can log
in to the program, and all program and product option functionality is available.
• When one or more nonessential servers are not running or are unreachable, system health is
considered Partial. In this scenario, the site health indicator in the toolbar is yellow, active users
remain logged in to the program, and inactive users can log in, but program functionality tied to
product options hosted on compromised servers is unavailable.
Note:
Specifically, related displays become inaccessible, binding to related external data faults,
and related events stop firing. In addition, workflows that consume related data or monitor
related events fail (making it a recommended practice to wrap such operations in fault
handlers). Upon restoration of server availability, display inaccessibility and data-binding,
event-firing, and workflow failure are automatically reversed. However, any work that was
being performed using a display when a related server became unavailable may be lost.
• When one or more essential servers that do not host the Core product option are not running or are
unreachable, system health is considered Waiting. In this scenario, the site health indicator in the
toolbar is yellow, active users are logged out of the program, and inactive users cannot log in.
Note:
In this case, upon restoration of the essential server(s), users active at the time of
interruption are automatically logged back in to the program, and functionality is restored
to the level in accordance with the current health of the site.
• When the server that hosts the Core product option (typically, SOAServer) is not running or is
unreachable, system health is considered Unavailable. In this scenario, the site health indicator in
the toolbar is gray, active users are logged out of the program, and inactive users cannot log in.
Note:
In this case, upon restoration of the server that hosts the Core product option, users
active at the time of interruption are automatically logged back in to the program, and
functionality is restored to the level in accordance with the current health of the site.
Workflow Full User Guide | 2 - Get Started | 50
When system health is either Complete or Partial, you can use the System Status (on page 134) display
to monitor server configuration and status. In these states of site health, you can also move product
options between servers (on page 131) to accommodate changing conditions, as necessary.
Related information
Multiple Servers (on page 65)
Regional Settings
The following regional settings are supported.
Note:
Open Enterprise supports the same regional settings as Workflow.
Note:
The decimal symbol and the digit grouping symbol cannot be the same character. Also, the
time separator and the date separator cannot be the same character.
Avoid changing the time style or short date style in regional settings to values that are outside of
the standard styles provided. Changing these values to non-standard styles may result in improperly
formatted times and dates in some parts of Workflow.
This software supports the following short date formats, some of which may not be available in certain
language versions of Windows:
Workflow Full User Guide | 2 - Get Started | 51
• dd/mm/yy or dd/mm/yyyy
• dd/yy/mm or dd/yyyy/mm
• mm/dd/yy or mm/dd/yyyy
• mm/yy/dd or mm/yyyy/dd
• yy/dd/mm or yyyy/dd/mm
• yy/mm/dd or yyyy/mm/dd
We recommend that you reprogram or disable the software that operates such special buttons. Refer to
your computer's documentation for instructions on disabling these buttons.
Log Files
Workflow provides a number of log files that you can use to assist you in troubleshooting various aspects
of your system.
On all supported operating systems, the log files are located in: <installdir>\ProgramData
\Proficy\Logs.
Workflow Full User Guide | 2 - Get Started | 52
Tip:
To access the ProgramData folder, you must show the hidden folders on your system.
The log files for all installations are also accessible from the program group; that is, Start > All Programs
> Proficy > Proficy Workflow > Logs.
Pre-Installation Consideration
Architecture Considerations
If you are installing an application server or extension server (that is, Workflow or User) on a 64-bit
computer, you can configure the server for either 32-bit or 64-bit operation.
When installing for the first time, you indicate your preference at installation time, whereas when
upgrading, the installation maintains the existing configuration by default. In both cases, however,
components that enable either 32- or 64-bit server operation are installed to your system, and you can
subsequently use the Configure Server tool to change between 32- and 64-bit mode, as outlined under
Change architecture mode.
If you are using a 64-bit operating system and are installing to the default installation location, do not
remove (x86) from the default installation directory path. Windows detects that Workflow is a 32-bit
process, and defaults to C:\Program Files (x86)\Proficy…. If you remove (x86) from the default
installation location on a 64-bit operating system, your installation will fail.
Note:
Client-only installations are restricted to 32-bit operation, regardless of installation location.
Product option assemblies that are loaded by the Workflow client (for example, configuration screens and
displays) must target either Any CPU or x86, because Workflow client runs only in 32-bit mode.
• Service providers that were built using a target architecture of Any CPU, can be run in either 32- or
64-bit mode.
• Service providers that were built to target x86 (32-bit) architecture can be run only in 32-bit mode.
Note:
This is typically the case when the service provider references a C++/CLI library with 32-bit
dependencies.
• Service providers that were built to target x64 (64-bit) architecture can be run only in 64-bit mode.
Note:
This is typically the case when the service provider references a C++/CLI library with 64-bit
dependencies.
CAUTION:
If this update is missing, the Visual C++ 2015 Redistributable packages installed by the Workflow
installer will fail. These packages must be manually uninstalled, and then the necessary Windows
updates must be applied before you attempt the Workflow installation again. If you do not
uninstall the Visual C++ 2015 Redistributable packages before retrying the Workflow installation,
the installation will appear to be successful but the WorkflowServer service will fail to start.
Important:
®
These recovery steps also apply if you attempt to install Workflow 2.5 SP2 on Windows 7
®
Professional without SP1 or Windows Server 2008 R2 without SP1.
To configure Workflow to use Windows authentication, you must use the Windows Credential Manager to
create a credential specifying the Windows username and password that the Workflow server should use
to connect to the database.
The credential on the Workflow server machine must identify the remote SQL Server by IP or fully-
qualified domain name (FQDN) and may need to explicitly specify the port depending on the SQL Server
configuration.
During the installation of the Workflow server, you will have the opportunity to specify the hostname
and port exactly as it was specified in the credential. Use a comma to separate the hostname and port
number per the SQL Server connection string syntax.
Workflow Full User Guide | 2 - Get Started | 55
1. Click Start > Control Panel > All Control Panel Items > Credential Manager.
2. Select Windows Credentials, and then click Add a Windows credential.
The Credentials dialog box appears.
3. Enter values into the fields, as follows:
◦ Enter the hostname in the Internet or network address field. (e.g., sql2016server:49785)
◦ Enter the username that Workflow should use to connect to the database into the User
Name field.
◦ Enter the password associated with the username you entered into the Password field.
◦ Click OK.
4. In the Database Configuration section during the installation of the Workflow server, do the
following:
◦ Enter the hostname and port number in the Server field, just as you did for the credential.
(e.g., sql2016server,49785)
◦ Enter the database name in the Database field.
◦ Select Windows Authentication from the Authentication drop-down list.
◦ Click Save.
Note:
If these services do not start up automatically, you can manually start them, in any order, from the
Control Panel's Administrative Tools.
Workflow Server
Proficy STS
Publishes data to the active directory (Microsoft ADAM/LDS). It must be running if you are
using ADAM/LDS.
Workflow Certificate
SQL Server
This service runs on whichever machine the SQL Server is installed on, including the
machine the Workflow application server is installed on.
SOAAdam
Security Certificates
Security Certificates
Security certificates must be installed on all Workflow application server and client machines in your
system.
Security certificates are used to protect your identifiable information and to protect your computers from
unsafe software. A certificate is a statement verifying the identity of a person or the security of a website.
During the application installation process, certificates are automatically generated using the Workflow
Certificate service. Alternatively, you can select a security certificate for the ProficyPlatform, Proficy STS,
and SSL/TLS server services.
The Workflow client computer must verify and trust the identity of the server before it can securely send
a user's login and password credentials and complete the authentication process. To establish this trust,
the client must trust the root of the server's certificate. That is, the client must have the certificate of the
Certificate Authority (CA) that issued the server certificate in their Trusted Root Certificate Authorities
store.
When you generate new certificates or use existing certificates, the following steps will occur.
Workflow Full User Guide | 2 - Get Started | 57
Important:
The SSL/TLS Server Certificate must be unique to each server.
For information on changing or updating security certificates post-installation, see Modify security
certificates.
Related reference
Security Certificate Options (on page 57)
Related information
Modify security certificates (on page 130)
Note:
Starting with Workflow 2.5, legacy certificates are no longer supported.
Option Description
Generate new and unique certifi This option allows you to au
cates tomatically generate new self-
signed certificates. If you are in
stalling in a multiple server or
server failover cluster environ
ment, more configuration is re
quired on those servers.
Workflow Full User Guide | 2 - Get Started | 58
Option Description
Option Description
If the certificates on the server are modified in any way, each client connected to the server will also have
to be updated so that the certificates match those on the server.
Related information
Security Certificates (on page 56)
If you would like to use valid, self-signed certificates for a Workflow installation on an operating system
other than Windows 10 or Windows Server 2016, you can do the following:
Workflow Full User Guide | 2 - Get Started | 60
New-SelfSignedCertifi
Certificate Name
cate command parameters
New-SelfSignedCertificate -CertStoreLo
cation "cert:LocalMachine\My" -DnsName
"ProficySTS" -FriendlyName "ProficySTS"
-HashAlgorithm SHA256 -KeyExportPolicy
Exportable -KeyLength 2048 -KeySpec Key
Exchange -NotAfter $([datetime]::now.Add
Years(3)) -Signer $proficyCACert -Subject
"ProficySTS"
New-SelfSignedCertifi
Certificate Name
cate command parameters
New-SelfSignedCertificate -CertStoreLo
cation "cert:LocalMachine\My" -DnsName
"ProficyPlatform" -FriendlyName "Proficy
Platform" -HashAlgorithm SHA256 -Key
ExportPolicy Exportable -KeyLength 2048
-KeySpec KeyExchange -NotAfter $([date
time]::now.AddYears(3)) -Signer $proficy
CACert -Subject "ProficyPlatform"
New-SelfSignedCertificate -CertStoreLo
cation "cert:LocalMachine\My" -DnsName
"localhost","<ipAddress>" -FriendlyName
"localhost" -HashAlgorithm SHA256 -Key
ExportPolicy Exportable -KeyLength 2048
-KeySpec KeyExchange -NotAfter $([date
time]::now.AddYears(3)) -Signer $proficy
CACert -Subject "<hostname>"
2. Export the certificates from the Local Computer > Personal store, using the Microsoft
Management Console (MMC) certificate snap-in.
a. For each certificate, select export the private key.
b. On the Export File Format dialog, select Personal Information Exchange - PKCS #12 (.PFX)
format.
c. Uncheck the Include all certificates in the certification path if possible check box.
d. Check the Export all extended properties check box.
e. Export all of the certificates to the same directory, naming each .pfx file with the certificate
name (Issued To) of the certificate it contains. Use the same password for each certificate.
Workflow Full User Guide | 2 - Get Started | 62
f. Combine the certificates into a .zip file and copy the .zip file to the Workflow server
machine.
g. Unzip the file for use.
Note:
◦ If you leave the Include all certificates in the certification path if possible check
box selected, the ProficySelfSignedCA cert is re-imported into the Local Machine
> Personal store when you import the SSL certificate in a later step. You will then
have to remove it.
◦ Exporting using the same password and naming each file with the Issued To
name is mandatory for importing on the Workflow application server using
ConfigureCertificates.
c. Select the .zip file you copied for importing (not the individual .pfx files).
The three Proficy certificates are imported from the .zip files into the correct locations.
d. Click Save.
Once saved, an SSL certificate is generated and bound to the Workflow ports. This SSL
certificate must be removed before proceeding to the next step.
e. Using MMC, remove the SSL certificate from the LocalMachine > Personal store. You will
replace this certificate in the next step.
c. Select the Enable certificate import for advanced configuration check box.
d. Click the ellipses (…) in the Import column for the SSL/TLS Server Certificate, and browse
to the folder containing the exported certificates.
Workflow Full User Guide | 2 - Get Started | 63
e. Select the SSL certificate. This is the certificate with the Issued To equal to the Workflow
application server hostname.
Note:
You may need to change the file browser selection from .cer to All Files to see .pfx
file.
Related reference
Security Certificate Options (on page 57)
Related information
Use self-signed certificates for the web server (on page 63)
1. From the root certificate link, save the certificate file as Root.cer.
2. Open a command prompt window.
3. At the command prompt, enter mmc.
4. From the File menu, click Add/Remove Snap-in.
5. Select Certificates, and then click Add.
The Certificates snap-in dialog box appears.
6. Select My user account, click Finish, and then click OK.
7. Expand Certificates - Current User > Trusted Root Certificate Authorities > Certificates.
8. Right-click Certificates, select All Tasks, and then click Import.
The Certificate Import Wizard appears.
9. To start, click Next, and then in the File Name field, enter Root.cer.
10. Click Next.
11. Select Place all certificates in the following store.
Workflow Full User Guide | 2 - Get Started | 64
Note:
For Firefox users, perform the following steps:
◦ Navigate to your web server; for example, https://yourservername.
Note:
If this page does not refresh, clear the check box Permanently store this
exception, and then try again.
Related reference
Security Certificate Options (on page 57)
Firewall Ports
During server installations, the installation setup detects whether there is a firewall on the computer. You
must either disable the firewall or configure it to allow communication with remote clients.
The following is a list of the default inbound TCP ports you must open on the server computer to allow
communication:
• 8447
• 8012
• 8111
• 8112
• 8020
• 8201
Workflow Full User Guide | 2 - Get Started | 65
• 8202
• 8203
• 8204
Important:
As of Workflow version 2.6, the default port for REST services hosted by Workflow is changed
from 8444 to 8447. The REST service port is NOT changed during upgrade of existing
installations and remains 8444.
GE Web HMI and GE Workflow do not work together if installed on the same machine as both applications
require the use of port 8444. You must change the port number in your Workflow server information in
Web HMI. If no port information is provided, the default is used. For information about resolution of port
conflicts, see Resolve Port conflicts between prior Workflow installations and Web HMI (on page 315).
For existing Workflow installations prior to 2.6, Workflow and Web HMI ports are both set to 8444, making
applications installed on the same machine incompatible.
In addition to backing up and restoring your SQL Server database, maintenance plans can assist in
keeping your systems up and running. Refer to your SQL Server manual or the Microsoft web site for
additional information on backing up, restoring, and maintaining your SQL Server database.
Multiple Servers
Workflow provides the ability to install across multiple servers, each of which hosts a set of services. A
multi-server environment is transparent and appears to be a single server to remote clients.
Operational Overview
In a multi-server Workflow site, each installed product option may be hosted by a different server, and
each server must be able to determine where each product option resides. To accomplish this, the servers
refer to a shared configuration data model. Client programs, such as forms or custom clients, can connect
to any server and be redirected to the server that is hosting the service(s) required for the product option
in question. Because client programs communicate with product options using service methods and
events, neither the user nor the client program is aware of which server is hosting the product option.
Workflow Full User Guide | 2 - Get Started | 66
Multi-server Considerations
Configuring your system with multiple servers, whether on a single machine or on multiple machines,
provides various benefits.
• If you want to run a 32-bit service provider but your system is configured as 64-bit, you can
configure a user server to host the 32-bit service provider.
• If you want to run a non-essential service provider but doing so may cause your system to crash,
you can configure a user server to host the service provider, thus isolating it from the SOA Server
and preventing a system failure.
• If you want to conduct performance monitoring, you can configure a user server and divide the
service providers into groups to determine which service provider(s) is causing memory leaks.
• A user server that hosts custom service providers can be restarted more quickly than a single SOA
Server that hosts all of your service providers and product options. When new service providers are
added to the user server, only the user server needs to be restarted, reducing down time.
• 32-bit machines allow only 3 GB of memory per process. Running multiple servers provides a
workaround to this memory constraint.
Configuring your multi-server system on a single machine provides various benefits over configuring a
multi-machine system.
• Configuring multiple servers on a single machine is faster and easier, especially in terms of
security certificates. After the security certificates have been configured for the main SOA Server,
those certificates apply to all servers on that machine. If you configure servers on multiple
machines, you must configure security certificate on each machine.
• Communication times between servers and clients is faster on a single machine setup.
• Configuring multi-server failover clustering is faster and easier.
Configuration Overview
In addition to the primary SOA Server instance, which by default hosts both the Core and Workflow
product options, you can configure extension servers. All of these servers can be configured on either
separate machines or on a single machine. These servers can take the form of a Workflow server, to host
the Workflow product option, and/or one or more User servers, to host product options other than the
Core and Workflow options. Upon installing a Workflow server, the Workflow product option and related
services automatically move from the SOA Server instance to the Workflow server instance. Likewise,
upon installing a User server, product options other than the Core and Workflow options automatically
move to the User server instance.
Workflow Full User Guide | 2 - Get Started | 67
Note:
Workflow and User servers should not be installed at multiple sites across a WAN.
After installing extension servers, you can use the Configure Site tool Configure Site tool to move product
options and related services among server instances.
Note:
The Core product option and services must reside on the SOA Server instance.
Beginning with Workflow 2.1, you can also designate whether servers and/or product options are
essential to your use of the program, as well as disable any product options designated as nonessential.
Note:
The Core and Workflow product options and services and the servers that host them cannot be
designated as nonessential.
The designation of servers and production options as either essential or nonessential and the
state and accessibility of servers has implications for the health of the site and, therefore, the
ability to log in and use the Workflow program. For more information, see System Health and
Program Use.
For more information about implementing a multiple-server installation of Workflow, see Architecture
Considerations, Multiple Server Installation on Multiple Machines, and Server Clustering and Failover.
Related information
Architecture Considerations (on page 52)
Workflow allows you to configure a failover cluster to maintain a consistent image of the cluster on all
nodes. It also allows nodes to transfer resource ownership on demand.
A cluster is a group of independent computer systems working together as a unified computer resource.
A cluster provides a single name for clients to use, a single administrative interface, and guarantees that
data is consistent across nodes.
Workflow works with the Microsoft Failover Cluster Manager to ensure high availability of the Workflow
application server. If the primary server node in the cluster experiences difficulties, Workflow is
automatically started on another node to take over (a process known as failover). Server high availability
is managed through the Microsoft Cluster Manager.
The following information will guide you through the deployment of Workflow in a clustered environment.
Assumptions
It is assumed that the reader has a thorough knowledge of the following information:
®
• Microsoft Failover Clustering
• Microsoft Windows server environments
Additionally, it is assumed that the instructions and guidelines provided by Microsoft for deploying server
clusters using Microsoft Windows servers has been followed. For information about server clusters, visit
the Microsoft TechNet web site.
You can also visit the Microsoft Development Network web site to access information about the high
availability features supported by the various editions of SQL Server.
Related reference
Server Clustering and Failover Software Requirements (on page 31)
Microsoft Failover Cluster Manager for Windows Servers (on page 104)
Export server security certificates for an extension server (on page 88)
If you are using Windows authentication for Workflow, the default login account is NT AUTHORITY
\SYSTEM, which is predefined in SQL Server.
For increased security when using Windows authentication, you can modify the properties for the
Workflow Server service after installing Workflow, to define a custom login name and credentials.
®
(For more information, see Microsoft Windows help.) Another alternative is to select SQL Server
authentication when installing Workflow. In either of these scenarios, you must add the user-specified
login account to SQL Server, and then enable the db_owner role for that account.
For information on adding a login account to SQL Server, mapping a login to a database, and setting
®
database roles, see the Microsoft SQL Server help.
License Management
The GE License Client provides a single, easy-to-use tool to both view and manage online software
licensing.
Workflow Full User Guide | 2 - Get Started | 70
To access the online help for the GE License Client, perform the following step.
From the desktop Start Menu, select General Electric > License Help.
The License Client online help opens.
Note:
For more information regarding licensing, see http://support.ge-ip.com/licensing
Performance Counters
Performance Counters
Windows performance counters are exposed as objects with counters. The counters are grouped into two
categories: DTL and Events.
Installation
When the application server is installed, the performance counters are installed automatically and
uninstalled when the server is uninstalled.
DTL Counters
You can use DTL counters in Workflow.
DTL Received Packets Queued Monitors the queue from the Rx
Thread to PacketProcessThread.
If you are generating many
events with multiple clients, this
counter should increment.
DTL Received Packets Dropped DTL limits the size of the queue
from the RxThread to the Packet
ProcessThread to a maximum of
Workflow Full User Guide | 2 - Get Started | 71
Events Counters
You can use events counters in Workflow.
1. To add performance counting to your system, select the ProficyServer.exe.config file from
the following folder: <installdir>\Proficy\Proficy Workflow\Program.
2. By default, the performance counter key is false. To start logging performance, set it to true in the
following code.
<appSettings>
</appSettings>
Note:
When EnablePerformanceCounters is false, then the logging counters do not increment or
decrement. If the value of the key is changed (from either true to false or false to true) after
the server is started, the server must be re-started for this change to take effect.
1. From the following location, you can add or remove performance counters: <installfolder>/
ProficyServer.exe.
2. In ProficyServer.exe, enter the applicable command line.
Workflow Full User Guide | 2 - Get Started | 75
To... Enter...
stallperformancounters
stallperformancounters
Important:
If the counters are added/deleted (installed/uninstalled) after the server is started, then
the server and the performance monitoring tool (perfmon) must be re-started for this
change to take effect.
Related information
View performance counters (on page 75)
Related reference
DTL Counters (on page 70)
Installation Procedures
Note:
During this installation process, you are required to create an Administrator user. This user is
automatically assigned all permissions, which will allow you to create and define your user and
security permissions.
1. From the application splash screen, click Install Client and Application Server.
Note:
If the splash screen does not appear, run InstallFrontEnd.exe on the root directory of
the installation folder.
Important:
This is the installation location
for 32-bit components. Do not
install 32-bit components to the
64-bit installation directory; oth
erwise, the installation will fail.
Tip:
The default is 64-bit, but you
may also select 32-bit. If your en
vironment changes after installa
tion, you can use the Configure
Server tool to change the archi
tecture.
d. Click Next.
6. To integrate Active Directory Lightweight Directory Services (AD LDS), do one of the following:
Installed in a test and/or de Select the Do not use Microsoft Directory Ser
velopment environment vices check box, and then click Next.
Workflow Full User Guide | 2 - Get Started | 78
Note:
To create a backup copy of the database that you choose, select Back up your existing
database.
Note:
To use this option, the following
SQL Server conditions apply:
▪ Installed locally, AND
▪ Designated as default Lo
cal Host, AND
▪ Uses Windows Authenti
cation
a. In the Server field, enter or select the name of the SQL Server that you want to connect to.
Note:
If the SQL Server is installed locally with a default instance you may enter
localhost.
b. In the Database field, enter the name of your SQL Server database, or click the drop-down
arrow to search for all databases located on the specified server.
Note:
If the specified database does not exist, it will be created for you.
c. From the Authentication list, select the type of authentication that you want to use, and then
proceed based on your selection.
▪ If you select Windows Authentication, proceed to step 10.
▪ If you select SQL Server Authentication, proceed to step d.
d. Enter the User Name and Change Password that are configured for SQL Server
authentication, and then proceed to step 10.
Authentication:
◦ Password character restrictions: <, >, &, '
◦ The account used for SQL Authentication must have access to create new databases.
◦ To install the application server and related SIMs, the SQL Server Management Studio server
role, db_owner, is required.
◦ For regular database use during run time, the SQL server login account requires db_owner
and dbcreator privileges. After adding these roles in SQL Server Management Studio, run the
Configure Database tool to update log on credentials. For more information, see the Modify
your Workflow application server database section in the Workflow help.
11. Click Next.
The Security page appears.
Workflow Full User Guide | 2 - Get Started | 80
a. In the Name field, accept the default name or enter a new name.
Note:
If password complexity is enabled and configured, the Administrator password
must follow the same rules as defined for user passwords.
13. Optional: You can specify one or more advanced authentication settings. If you do not want to use
this feature, clear all check boxes, and then click Next.
Note:
Selecting this check box displays the SSO Authentication option when a user
logs on,
ii. Select an identify provider option that complies with the level of restrictions and
security required for your application.
Note:
The Production Identity Provider option provides greater security for your
application.
b. Select the Allow Password Change check box if you want to allow users to change their
login password at any time.
Selecting this check box displays the Change Password option when a user logs on.
c. Select the Enforce User Lockout check box, and then set the lockout threshold, duration, and
timeframe values. This check box is selected by default.
Tip:
The Administrator account is also restricted by the lockout settings.
Workflow Full User Guide | 2 - Get Started | 81
d. Select the Enforce Password Complex Rules check box, then select Simple, Normal, or
Advanced to determine the level of complexity for your passwords.
On new installations, this check box is selected by default. When upgrading versions, this
check box is cleared by default.
e. Select Web HMI Access and enter the Web HMI Host name if you wish to access the
Workflow Task List from your Web HMI installation.
Important:
If your system uses a firewall, you must follow the instructions on the Firewall Setting
page and open ports 8447, 8012, 8111, 8112, 8020, 8201, 8202, 8203, and 8204 to
incoming TCP traffic. For information on opening a port in your firewall, see online help for
your Windows operating system.
Tip:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
Note:
In certain situations, a system restart is required after installation. If this is the case, a
corresponding message is displayed among the listed status messages.
Workflow Full User Guide | 2 - Get Started | 82
Note:
If the installation fails, or you want to change a configuration setting after the installation
completes, you can open the appropriate standalone component to configure the required
information. For more information, see Post Installation Configuration.
The Web Task List is automatically installed with the Workflow application server installation. Users can
access the WebTask List using a web browser. For more information, see Connect to the Web Task List.
Note:
You must install the application server before you install a client because you require an available
server to connect to.
Prerequisites
1. From the application splash screen, click Install Workflow Client and Application Server.
Note:
If the splash screen does not appear, run InstallFrontEnd.exe on the root directory of
the installation folder.
a. In the Computer Name field, enter the name of the computer where the server you want to
connect to is installed.
▪ If you are configuring a full server or in a multiple server environment, enter the
hostname of the computer on which the Workflow server is installed.
▪ If you are configuring a server cluster environment, enter the cluster name used when
you set up your cluster.
Note:
You can also use the IP address for the server if the server uses a static IP
address.
b. In the Instance Name field, enter the name of the server instance you want to connect to.
c. In the HTTP Port field, enter the port number required to allow communication with the
server.
d. Click Next.
The Security Certificates page appears.
6. The security certificates are automatically downloaded from the Workflow server to which you are
connecting.
7. Click Next.
The Installation Confirmation page appears.
Tip:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
8. Click Install.
The Installation page appears, displaying the status of each installation step.
Note:
In certain situations, a system restart is required after installation. If this is the case, a
corresponding message is displayed among the listed status messages.
11. Click OK, and then, on the Workflow Update page, click Install Updates.
12. When the updates have finished installing, click Restart Client.
Important:
• You must exit all instances of Workflow that are located on the server that you are working
on.
• You must stop all running workflows on your system before creating a new server instance
and corresponding services.
• For each server instance, use a unique server name (see step 2b) and port number (see
step 2f).
You can configure multiple servers on a single machine for two main reasons.
• If your SOAServer must run on a 32-bit system and is approaching 3 GB of memory usage, then you
can move workflows or service providers to a separate server instance to reduce memory usage on
the SOAServer.
• If custom service providers are unstable and you must restart SOAServer frequently, you can move
customer service providers to separate server instances.
a. On the server machine, On the server machine, click Start > All Programs > General Electric
> Workflow > Configuration > Configure Server.
b. In the Name field, enter a name for the new server instance, such as WorkflowServer.
Workflow Full User Guide | 2 - Get Started | 85
Note:
We recommend that you use a 64-bit system unless your service provider requires
32-bit.
Note:
For the IP Address field: Peer servers will contact this server instance at the
specified IP address. If the specified address is 255.255.255.255, then the address
will be determined at server start as the first IPv4 address found in the DNS records
for the hosting machine's host name. If the address is incorrect, then an appropriate
address should be specified here.
g. Click Save.
The following service has now been created: Proficy Server - Workflow Server.
h. Click Back.
i. In the Name field, enter a new name for SOAServer, such as UserServer32.
m. In the Port field, enter the port number for the server instance. This value must be unique if
multiple server instances are run on the same machine.
n. Click Save.
Workflow Full User Guide | 2 - Get Started | 86
Important:
After saving the entered data, port numbers are validated to ensure that the same
one is not used more than once. To find a new port number, enter a number that is
close to the existing one. If a port is already in use, an error will occur. You are then
required to return to the entry fields and enter all data again.
The following service has now been created: Proficy Server - UserServer32.
3. Move service providers to the new server instances using the Configure Site tool.
a. On the server computer, click Start > All Programs > General Electric > Workflow >
Configuration > Configure Site.
The Configure Site tool appears.
b. In the Application Server Instances and Enabled Product Options pane, select the service
provider from SOAServer that you want to transfer to the new instances, and then drag and
drop it below the new host servers, WorkflowServer and UserServer32. Repeat this process
until all service providers have been moved.
c. Click Save.
Important:
You must exit all instances of Workflow that are located on the server that you are working on.
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Site.
2. In the Application Server Instances and Enabled Product Options pane, select the service
providers (for example, WorkflowServer and UserServer32) that you want to transfer back to
Workflow Full User Guide | 2 - Get Started | 87
SOAServer, and then drag and drop them. Repeat this process until all service providers have been
moved.
3. For each instance, select the Delete on save check box.
4. Click Save.
All services will stop running, the service providers will be reconfigured, and the unused server
instances and their services will be removed. The remaining services will then start again.
CAUTION:
If this update is missing, the Visual C++ 2015 Redistributable packages installed by the Workflow
installer will fail. These packages must be manually uninstalled, and then the necessary Windows
updates must be applied before you attempt the Workflow installation again. If you do not
uninstall the Visual C++ 2015 Redistributable packages before retrying the Workflow installation,
the installation will appear to be successful but the WorkflowServer service will fail to start.
Important:
®
These recovery steps also apply if you attempt to install Workflow 2.5 SP2 on Windows 7
®
Professional without SP1 or Windows Server 2008 R2 without SP1.
Workflow Full User Guide | 2 - Get Started | 88
1. On the main server computer, click Start > All Programs > General Electric > Workflow >
Configuration > Export Certificates.
The Export Workflow Application Server Certificates page appears.
2. In the Export Folder field, enter the folder path or browse to the location where the certificates are
to be exported.
3. In the Password field, enter a password to secure the exported certificates, which will be used
when importing the certificates to the extension servers.
4. Click Save.
A file with the extension .zip is created, which contains the certificates required on the extension
servers.
5. Click Exit.
Before you can install multiple servers, you must install a single application server and client and export
server security certificates for an extension server.
Important:
• If you are installing or upgrading an extension server (Workflow or User), you must have
already installed or upgraded an application server of the same version to host the Core
services on a separate machine.
• In a multiple server environment, eSOP is automatically installed on the Workflow server.
When you upgrade Workflow or install it again, all sample resource files are overwritten.
Prerequisites
Export server security certificates for an extension server (on page 88)
1. From the application splash screen, click Install Workflow Client and Application Server.
Note:
If the splash screen does not appear, run InstallFrontEnd.exe on the root directory of
the installation folder.
Note:
This is the installation location
for 32-bit components. Do not
install 32-bit components to the
Workflow Full User Guide | 2 - Get Started | 90
Tip:
The default is 64-bit, but you
may also select 32-bit. If your en
vironment changes after installa
tion, you can use the Configure
Server tool to change the archi
tecture.
d. Click Next.
Note:
These settings must be the same as for the core server.
a. In the Server field, enter or select the name of the SQL Server to which you want to connect.
b. In the Database field, enter the name of your SQL Server database, or click the drop-down
arrow to search for all databases located on the specified server.
c. From the Authentication list, select the type of authentication that you want to use, and then
proceed based on your selection.
▪ If you select Windows Authentication, proceed to step 7.
▪ If you select SQL Server Authentication, proceed to step 6d.
d. Enter the User Name and Password that are configured for SQL Server authentication, and
then proceed to step 7.
Workflow Full User Guide | 2 - Get Started | 91
7. Click Next.
The Security Certificates page appears.
8. Import the security certificates:
Important:
If you have not already exported the security certificates from the main server, you must do
so now before proceeding. For more information, see Export server security certificates
for an extension server.
a. In the Certificate File field, enter the path or browse to the location where you exported the
security certificates from the main server.
b. Select the ZIP file that you created on the main server, and then click OK.
c. In the Password field, enter the password that was set when you exported the security
certificates.
9. Click Next.
The imported certificates are listed.
10. Click Next.
If the installation computer has an enabled firewall, the Firewall page appears.
11. If required, make note of the port numbers to open in the firewall, and then click Next.
Important:
If your system uses a firewall, you must follow the instructions on the Firewall page and
open ports 8447, 8012, 8111, 8112, 8020, 8201, 8202, 8203, and 8204 to incoming TCP
traffic. For information on opening a port in your firewall, see the online help for your
Windows operating system.
Tip:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
Note:
In certain situations, a system restart is required after installation. If this is the case, a
corresponding message is displayed among the listed status messages.
Note:
If the installation fails, or you want to change a configuration setting after the installation
completes, you can open the appropriate standalone component to configure the required
information. For more information, see Post-Installation Configuration.
Related information
Post-installation Configuration (on page 128)
One-click Deployment
One-click deployment allows you to deploy Workflow to users without running a client installation on their
computers. It also provides the ability for a client to update itself when the server is upgraded.
Important:
Support for one-click installation of Workflow will be discontinued in a future release of the
software. The client installation should be used when one-click installation is discontinued.
Before you can use one-click deployment, you must complete the following prerequisites:
®
• Microsoft .NET Framework 4.5 (Full Framework)
Note:
Custom display or form assemblies that target earlier versions of .NET will
continue to function as before. However, saving changes made to such custom
assemblies requires that they be upgraded, which is accomplished in different
ways, based on the version of .NET:
Workflow Full User Guide | 2 - Get Started | 93
◦ For an assembly that pre-dates .NET 4.0, you must upgrade the assembly
when you open it. Failure to do so results in an error and the inability to save
the edited assembly.
◦ For an assembly that targets .NET 4.0, the assembly is upgraded
automatically when opened, and changes to such assemblies can be saved
as before.
Service providers that target versions of the .NET framework before version 4.5
must be recompiled targeting .NET 4.5.
When an administrator installs Workflow on a server computer, the files required for the one-click
deployment are installed when you perform a server installation.
On 32-bit computers, these files are located in a folder called Deployment in the following location:
On 64-bit computers, these files are located in a folder called Deployment in the following location:
An Administrator user must share this folder on the server computer, and then users can access it
through a web page. The file used for one-click deployment is:
ProficyClient.application
You can create a web page, a button, or any means of access you want to use to make one-click
deployment available to your users.
Each time a user invokes one-click deployment, it checks for any code updates, such as patches and
service packs, that have been applied to the server (and subsequently to the one-click deployment files)
and applies those changes to the one-click client. This allows your users to always be working with the
same version of code as the server.
Workflow Full User Guide | 2 - Get Started | 94
After installing Workflow on the server computer, you can copy the Deployment folder to another
location for users to access. If you copy the folder to another location, you must re-copy the folder
whenever code updates are applied in order for users to get the updates.
Important:
Do not move the Deployment folder from its install location. If this folder is moved, code
updates cannot be applied to it.
Note:
Support for one-click installation of Workflow will be discontinued in a future release of the
software. The client installation should be used when one-click installation is discontinued.
1. In the Workflow installation directory, go to the following folder to find the required certificate files:
<installdir>\Program Files\Proficy\Proficy Workflow\Certificates\Export.
2. Copy the following certificate files to your click-once computer:
◦ ProficySelfSignedCA.pfx
◦ ProficySTS.pfx
3. For a click-once client running on Windows, run mmc.exe.
4. From the Console window, go to the File menu, and then select Add/Remove Snap-in.
The Add or Remove Snap-ins dialog box appears. In Available Snap-ins, double-click Certificates.
5. In Available Snap-ins, double-click Certificates.
The Certificates snap-in dialog box appears.
6. Select Computer account, click Next, select Local computer, and then click Finish.
7. Click OK.
8. From Certificates (Local Computer), expand Trusted Root Certification Authorities
\Certificates, and then add ProficySelfSignedCA.pfx.
9. From Certificates (Local Computer), expand Personal\Certificates, and then add
ProficySTS.pfx.
Related reference
SSL Security Configuration (on page 1652)
Related information
Security Certificates (on page 56)
Display the host server name in the Proficy client for a one-click client
By default, the server name is displayed in the client, next to the server state icon. However, if you want to
display a more meaningful name for your server, you can configure an alias so that the alias is displayed
in the client rather than the actual server name.
You must install Workflow 2.5 SIM3 (or greater) before performing this task.
1. On the click-once Workflow client computer, navigate to the click-once installation folder;
for example, C:\Users\<username>\AppData\Local\Apps\2.0\ZJZ3X90C.HGM
\9AO5RKG3.TKC\prof..tion_15359f3836613cd4_0002.0005_14ea60ef7e3d4b0f
\Data.
Note:
The installation folder can be found in the updater log.
<ServerAliases>
<ServerAlias>
<Name>localhost</Name>
<Alias>QA Server</Alias>
</ServerAlias>
<ServerAlias>
<Name>Product-WIN81</Name>
<Alias>Development Server</Alias>
</ServerAlias>
<ServerAlias>
<Name>devwin7ex64dev</Name>
Workflow Full User Guide | 2 - Get Started | 96
<Alias>Product Server</Alias>
</ServerAlias>
</ServerAliases>
When you launch the Workflow client, the alias that you configured for the server is displayed next
to the state
icon.
Command-line Parameters
Note:
Starting with Workflow 2.5, legacy certificates are no longer supported. For new server
certificates, select the Generate new and unique certificates option.
Note:
The installation fails if the Proficy services
are running. See /fs.
/t filepath (where filepath is the user-defined file Runs the installation setup (SetupApplication-
name) Server.exe or SetupWebServer.exe), includ
Workflow Full User Guide | 2 - Get Started | 97
Note:
For security reasons, passwords are not in
cluded in the configuration data.
• AdministratorPassword=secret
• KspUserPassword=secret
• CertificatePassword=secret
• CertificateServicePassword=secret
Workflow Full User Guide | 2 - Get Started | 98
/c filepath (where filepath is the user-defined file Runs the installation setup (SetupApplication-
name) Server.exe or SetupWebServer.exe) and us
es the configuration data found in the configura
tion file. When used with the /s parameter, the in
stallation runs in silent mode.
Note:
You can use the configuration file that was
created using the /t command line parame
ter or you can use the sample configura
tion file provided in the install directory.
/l filepath (where filepath is the logging directory) Overrides the default location for the installation
log file.
SetupApplicationServer.exe
Note:
Uninstall Workflow
The following topic guides you though the process of removing Workflow software from your system.
Note:
If you generated security certificates or used pre-existing certificates from a previous version of
this application, those certificates are not removed when you uninstall your application server or
remote client.
There are three environments that have been validated and are supported.
Connecting the web server to the application server in a failover cluster environment is not currently
supported.
Related reference
Server Clustering and Failover Hardware Requirements (on page 38)
The following figure shows an example of two application servers in one cluster. Each application server
must run the Proficy Server, Proficy Publisher Service, and Proficy STS services.
Workflow Full User Guide | 2 - Get Started | 101
The following figures show examples of two application servers with two Workflow engines, in separate
clusters, and two application servers with two User servers, in separate clusters, respectively.
Workflow Full User Guide | 2 - Get Started | 102
Figure 2. Two Application servers and two Workflow engines, in separate clusters
Each application server must run the Proficy Server, Proficy Publisher Service, and Proficy STS services.
Each Workflow engine must run the Proficy Server service.
Workflow Full User Guide | 2 - Get Started | 103
Figure 3. Two Application servers and two User servers, in separate clusters
Each application server must run the Proficy Server, Proficy Publisher Service, and Proficy STS services.
Each User server must run the Proficy Server service.
The following figure shows an example of two application servers, two Workflow engines, and two User
servers, each in its own cluster. Each application server must run the Proficy Server, Proficy Publisher
Service, and Proficy STS services. Each Workflow engine and each User server must run the Proficy Server
service.
Workflow Full User Guide | 2 - Get Started | 104
Figure 4. Two Application servers, two Workflow engines, and two User servers, in separate
clusters
If failover clustering is not installed, use the Server Manager to install it.
Note:
Depending on your server requirements, visit the related Microsoft TechNet web sites for more
information.
The Microsoft Failover Cluster Manager is used to create two new DNS entries: one to manage your
server cluster, and one for the services you intend to cluster. For a application server cluster (even in a
multi-server environment), you must add the Proficy Server, Proficy Publisher Service, Proficy STS, and
Proficy Certificate services for clean installations, as well as upgrades.
If you are using clusters in a multi-server environment and clustering Workflow and/or User servers, only
the Proficy Server service needs to be added for those servers.
Workflow Full User Guide | 2 - Get Started | 105
1. On the server computer, click Start > Administrative Tools > Server Manager.
The Server Manager dialog box appears.
2. To configure the related server, select Add roles and features.
The Add Roles and Features Wizard appears.
3. Select Features > Failover Clustering > Next.
4. Click Install.
5. When the installation completes, click Close.
Important:
You must have installed application server on both cluster nodes, pointing to the same database,
before performing the following procedure.
Prerequisites
®
This procedure is based on a Windows Server 2012 R2 environment. If you are using Windows 2008 R2,
ensure that you add the Proficy Publisher Service and Proficy STS services as children of Proficy Server
service.
1. On the server computer, click Start > Administrative Tools > Failover Cluster Manager.
The Failover Cluster Manager dialog box appears.
2. From the Actions menu, select Create Cluster.
The Create Cluster Wizard appears.
3. Follow the wizard prompts to create your cluster, as follows:
b. Add the nodes that will be part of the cluster; that is, the primary and failover servers.
c. In the Failover Cluster Manager, expand the cluster from the left hand side, and then click
Roles.
Workflow Full User Guide | 2 - Get Started | 106
g. Enter a name for the server. This name is required when running various GE software tools.
h. Click Next, and then Next again to bypass the storage and registry settings.
a. In the Roles window, in the Status column, wait until the status changes to Running.
b. Right-click the role that you created, click Add Resource, and then select Generic Service.
g. In the Roles window, select the name you entered in step 3g.
After setting up the failover cluster, the services will be running on both servers. You must either manually
stop the services on the failover server, or move the service to the primary server. This enables the
services on only the primary server.
Note:
To run any post-installation configuration tools, you must turn off the cluster to avoid a failover.
For all tools, except Configure Server, you are required to run the tools on one node only of the
cluster. For configuring the server, you must run the tool on all nodes.
Workflow Full User Guide | 2 - Get Started | 107
Related information
Post-installation Configuration (on page 128)
1. On the server computer, click Start > Administrative Tools > Failover Cluster Manager.
The Failover Cluster Manager dialog box appears.
2. Select the cluster you want to configure.
Tip:
If the cluster you want to configure is not displayed, then in the console tree, right-click
Failover Cluster Manager, click Manage a Cluster, and then select or specify the cluster
you want to configure.
3. From the Actions menu, click More Actions, and then click Configure Cluster Quorum Settings.
4. Follow the instructions in the wizard to select the quorum configuration for your cluster.
If you choose a configuration that includes a disk witness or file share witness, follow the
instructions for specifying the witness.
5. Optional: After the wizard completes and the Summary page appears, click View Report to view a
report of the tasks that the wizard performed.
Prerequisites
1. On the primary server machine, On the primary server machine, click Start > All Programs >
General Electric > Workflow > Configuration > Configure Server.
The Configure Server tool appears.
2. Select the Create an Application Server Instance option.
3. Select the Make this machine a primary for a new failover cluster check box.
Workflow Full User Guide | 2 - Get Started | 108
4. In the Cluster Name field, enter the name of the cluster role (not the name of the cluster itself) you
created in the Microsoft Failover Cluster Manager.
5. Click Save, and then click Exit.
6. Regenerate the security certificates for the cluster by running the Configure Proficy Service
Certificates tool, and choose the Generate new certificates unique to this installation option.
Important:
After configuring the primary cluster server, you must complete the following procedures to finish
the clustering process.
1. Export the server security certificates in preparation for installing them on your failover and
extension servers.
2. Configure the Failover Cluster Server.
Related information
Modify security certificates (on page 130)
Export server security certificates for an extension server (on page 88)
Prerequisites
Export server security certificates for an extension server (on page 88)
1. On the backup server machine, click Start > All Programs > General Electric > Workflow >
Configuration > Configure Server.
The Configure Server tool appears.
2. Select the Make this machine a failover backup of an existing Server Instance option.
3. From the Choose existing cluster drop-down list, select the cluster that you want this machine to
be the failover backup for.
4. Click Save, and then click Exit.
Workflow Full User Guide | 2 - Get Started | 109
5. On the backup server machine, click Start > All Programs > General Electric > Workflow >
Configuration > Configure Certificates.
The Security Certificates page appears.
6. Select the Import certificates option, and then import the certificates, as follows:
a. In the Certificate File field, click Browse, and then locate and select the .zip file containing
the security certificates that you exported when you configured the primary server in the
cluster.
b. In the Password field, enter the password that you set when you exported the security
certificates from the primary server.
c. Click Next.
The page changes to indicate that the files contained in the exported certificate file have
been loaded.
d. Click Save.
Tip:
If your Workflow client starts but tries to update its product options and fails, then you must
restart the Proficy Server service. Restarting this service ensures that the client product options
are upgraded.
Prerequisites
Note:
It is recommended that you make a backup copy of this file before proceeding.
b. In the following two lines, change the old file name (UserStartup.dita) to the new file name
(UserStartupClient.dita).
▪ <add key="url" value="./Data/UserStartupClient.dita">
▪ <add key="UserStartupUrl" value="./Data/
UserStartupClient.dita">
Prerequisites
There are two methods to choose from to configure one-click deployment in a server cluster environment.
• Modify the userstartup.dita file on each client to use the cluster address.
• Update the userstartup.dita.deploy file on the server, in the Proficy Workflow
\Program\Deployment\1_5_0_0\Program\Data directory, and then regenerate the one-click
deployment install.
Workflow Full User Guide | 2 - Get Started | 111
Related information
One-click Deployment (on page 92)
Clustering Tips
Use the clustering tips to ensure your failover cluster runs smoothly.
Security Certificates
When setting up a clustered environment, you must regenerate and export Proficy security certificates
as part of configuring the primary cluster server, and then import the certificates when configuring the
failover cluster server. Symptoms of incorrect security certificate configuration include the inability to
create or display Silverlight forms and the Web Task List. For more information on setting up security
certificates for a clustered environment, see Configure the Primary Server Cluster, Configure the Failover
Cluster Server, and Modify Security Certificates.
Note:
If you have a cluster with multiple nodes, the cluster must be pointing to the client name, and
the server that each node is running on must state the role name for the cluster. For more
information, see Configure a local client for a cluster node (32-bit) and Configure a local client
for a cluster node (64-bit).
A reverse proxy is highly recommended when deploying the Web Task List, as it provides increased
security by limiting and controlling the exposure of internal servers and services. You can configure either
an Internet Information Services (IIS) reverse proxy or an Apache reverse proxy for use with the Web Task
List. In either case, you must also configure the necessary certificates before connecting to the Web Task
List.
1. In the Workflow installation directory, go to the following folder to find the required certificate files:
<installdir>\Program Files\Proficy\Proficy Workflow\Certificates\Export.
2. Copy the following certificate files to your web server:
◦ ProficySelfSignedCAPublicKey.cer
◦ ProficySTSPublicKey.cer
3. For a web server running on Windows, run mmc.exe.
4. From the Console window, go to the File menu, and then select Add/Remove Snap-in.
The Add or Remove Snap-ins dialog box appears.
5. In Available Snap-ins, double-click Certificates.
The Certificates snap-in dialog box appears
6. Select Computer account, click Next, select Local computer, and then click Finish.
7. Click OK.
8. From Certificates (Local Computer), expand Trusted Root Certification Authorities
\Certificates, and then add ProficySelfSignedCAPublicKey.cer.
9. From Certificates (Local Computer), expand Personal\Certificates, and then add
ProficySTSPublicKey.cer.
Related reference
SSL Security Configuration (on page 1652)
Related information
Security Certificates (on page 56)
Tip:
Before installing IIS Application Request Routing (ARR), it is recommended that you enable HTTP
Logging and Tracing features for IIS first. Tracing makes it possible to diagnose problems with
reverse proxy rewrite rules.
Note:
Before you make any changes to Internet Information Services (IIS), you may want to export your
existing configuration to review it. For more information on an existing Microsoft utility, refer to
https://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe
1. From the Control Panel, go to Windows Features to enable the following IIS settings:
◦ HTTP Logging
◦ Tracing
Tip:
To make it easier to diagnose problems, tracing must be enabled before installing
ARR.
◦ The ARR and URL Rewrite modules only install their trace providers if those IIS features are
already enabled. You can install them later by enabling the IIS HTTP Logging and Tracing
features and reinstalling or repairing ARR.
◦ Tracing is disabled by default.
2. Install the IIS ARR 2.5 (or later) module from http://www.iis.net/download/
ApplicationRequestRouting.
3. In the Install window, click Options.
Workflow Full User Guide | 2 - Get Started | 114
4. In the Change Options window, when asked which web server you want to use, click the IIS check
box.
5. Click OK, and then click Install.
Note:
The URL Rewrite 2.0 module installs automatically.
Note:
This is a server-wide setting.
a. From the Connections panel, select the server you want to configure.
b. From the IIS section in the central panel, double-click Application Request Routing Cache.
c. From the Actions panel, in the Proxy section, click Server Proxy Settings. Application
Request Routing opens in the central panel.
d. Select the Enable proxy check box, and then in the Actions panel, click Apply.
The URL Rewrite rules apply to a single web site. These instructions and rules assume that your server
already is configured with a web site, such as Default Web Site, with an HTTPS binding on port 443 that
uses a certificate that is trusted by the client machines.
1. In the Internet Information Services (IIS) Manager, in the Connections panel, under the server you
are currently configuring, expand the Sites node, and then select the web site that you want to
configure.
2. From the Actions panel, click Explore to open Windows Explorer to the physical directory on disk
for your web site.
◦ The default location for Default Web Site is C:\inetpub\wwwroot.
◦ In this location, you see a file named web.config.
3. Open another Windows Explorer window and navigate to your Workflow installation directory.
◦ On 32-bit systems, the default location is C:\Program Files\Proficy\Proficy
Workflow.
◦ On 64-bit systems, the default location is C:\Program Files (x86)\Proficy
\Proficy Workflow.
Workflow Full User Guide | 2 - Get Started | 115
4. In the Workflow installation directory, go to the folder Reverse Proxy Config (IIS) for the reverse
proxy configuration files.
a. From the Reverse Proxy Config (IIS) directory, copy the following files to your web site's
directory:
▪ rewriteMaps.config
▪ rules.config
▪ outboundRules.config
b. For a sample of the web.config showing how to configure the <rewrite> element under
<system.webServer>, go to the Reverse Proxy Config (IIS) directory.
If your web site's web.config has:
5. Update the rewrite.Maps.config file with the actual server names, as follows:
a. In the Internet Information Services (IIS) Manager, in the Connections panel, under the
server you are currently configuring, expand the Sites node, and then select the web site
whose rewriteMaps.config file you want to update.
c. From the Actions panel, click View Rewrite Maps. URL Rewrite Maps opens in the central
panel.
e. From the Original Value column, select a server, and then from the Actions panel, click Edit
Mapping Entry. The Edit Mapping Entry dialog box appears.
f. In the New Value field, enter the actual server name, as follows:
▪ For the WebServerHostName, enter the fully qualified name of the computer where
your Web Task List is installed.
▪ For all other server values, enter the fully qualified name of the computer where your
servers are installed.
g. Repeat steps 5e and 5f for each server listed in the Edit Rewrite Map panel.
Related reference
SSL Security Configuration (on page 1652)
Related information
Install a single application server and client (on page 76)
Configure an Apache reverse proxy for the Web Task List (on page 116)
Note:
This procedure assumes that the application server and Workflow are co-resident on the same
host.
Related reference
Inbound and Outbound Rules for Apache (on page 116)
Inbound Rules
SSLProxyEngine On:
SSLProxyEngine On:
Outbound Rules
SUBSTITUTE "s|<SOAServerName>.*</SOAServer
Name>|<SOAServerName>YourApacheServ
er.company.com</SOAServerName>|i"
Workflow Full User Guide | 2 - Get Started | 118
SUBSTITUTE "s|<StsServiceName>.*</StsServiceName>|<St
sServiceName>YourApacheServer.company
.com</StsServiceName>|i"
SUBSTITUTE "s|<StsSecurePort>.*</StsSecurePort>|<StsSecure
Port>443</StsSecurePort>|i"
SUBSTITUTE "s|<HttpsSamlPort>.*</HttpsSamlPort>|<Https
SamlPort>443</HttpsSamlPort>|i"
SUBSTITUTE "s|<WorkflowServerName>.*</WorkflowServer
Name>|<WorkflowServerName>YourApacheServ
er.company.com</WorkflowServerName>|i"
SUBSTITUTE "s|<WorkflowSamlPort>.*</WorkflowSaml
Port>|<WorkflowSamlPort>443</WorkflowSaml
Port>|i"
SUBSTITUTE "s|<HttpPort>.*</HttpPort>|<HttpPort>443</Http
Port>|i"
SUBSTITUTE "s|(.*)<a:anyURI>.*:.*?/(.*)</a:anyURI>(.*)|$1<a:any
URI>https://YourApacheServer.company
.com:443/$2</a:anyURI>$3|i"
Related information
Configure an Apache reverse proxy for the Web Task List (on page 116)
You can configure and use a dedicated reverse proxy for increased security when using the Web Task List
over the Internet.
Tip:
To improve performance, ensure that caching is enabled in Internet Explorer.
Prerequisites
Workflow Full User Guide | 2 - Get Started | 119
Configure an IIS reverse proxy for the Web Task List (on page 113)
When the Full Server installation and reverse proxy configuration have been completed, the Web Task List
can be accessed using the following URLs.
Note:
Assumes reverse proxy IIS web server is
externally accessible via host name myi-
isserver.example.com with an SSL
certificate specifying that host name lis
tening on standard port 443 (default).
Note:
Assumes reverse proxy Apache web serv
er is externally accessible via host name
myapacheserver.example.com with an
SSL certificate specifying that host name
listening on standard port 443 (default).
Direct http://mysoaserver:8020/Proficy/Workflow/Web
TaskList.html
Note:
The direct link is for intranet and testing
only. We recommend using reverse proxy
to use the Web Task List over the Internet
Workflow Full User Guide | 2 - Get Started | 120
Certificates
The machine running the Web Task List must trust the SSL certificates used by the server. If the SSL
certificate is signed by a trusted root certificate authority (CA), then the client (that is, the Web Task List)
machine must trust the signing CA by adding it to the Trusted Root Certificate Authority certificate store
for the machine.
Note:
SSL certificates purchased from a reputable certificate authority will already be trusted.
For a direct connection, the Web Task List machine must also install the Proficy STS security certificate
into the Personal certificate store for the machine.
For a reverse proxy configuration, the web server must trust the signing CA by adding it to the Trusted
Root Certificate Authority certificate store for the machine. The Web Task List machine only needs to trust
the SSL certificate for the web server and does not need to trust the SSL certificate used by the Workflow
server of the Proficy STS security certificate.
Related reference
SSL Security Configuration (on page 1652)
Related information
Security Certificates (on page 56)
Configure an Apache reverse proxy for the Web Task List (on page 116)
Log On Overview
Log On Overview
After installing Workflow, the primary administrator user configured during installation can manually log
into the program and configure system security. As part of this process, additional users are specified and
log in mode and authentication method are established.
Available log-in modes are manual and automatic; available authentication methods are Workflow users,
Windows users, and SSO (GE Single Sign on).
Related information
Security Concepts (on page 320)
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Prerequisites
Note:
You can also use this path if an
instance or Workflow is already
running on the workstation.
Select... If...
Important:
To log in using Windows Authentica
tion, your server and client(s) must be
on a domain. The domain field is pop
ulated using the domain that the com
puter joins. If the user logging in is from
a different domain, this field is populat
ed using the domain that this user be
longs to.
Select... If...
Note:
SSO Authentication is not available if it
has not been enabled.
Note:
If you are logging in using SSO Authentication, this field is labeled User ID.
Note:
To log in using Windows Authentication, your server and client(s) must be on a domain.
The domain field is populated using the domain that the computer joins. If the user
logging in is from a different domain, this field is populated using the domain that this user
belongs to.
6. Click OK.
Related information
Login and Logout Capabilities (on page 368)
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Prerequisites
Workflow Full User Guide | 2 - Get Started | 124
1. Launch the Workflow client using either the Start menu or desktop icon.
If automatic login is enabled and configured, the user credentials are authenticated and the
Workflow client appears.
2. If applicable, launch additional sessions of Workflow.
3. If you log out of any session for any reason, the Login dialog box appears. Click Auto Login to log
in again with the appropriate credentials.
Related information
Automatic Login Authentication (on page 373)
Note:
GE Single Sign On applies only to GE businesses.
Within GE, all employees are assigned an SSO ID that grants them access to internal GE web pages
and resources. When Workflow is installed within a GE business, you have the option to enable SSO
authentication, so that users enter their SSO ID and password to access the system.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Configuration Settings
GE SSO authentication can be configured during the installation process, or at any time after installation
using the Configure Security tool.
When setting up SSO authentication, you must select either the Production Identify Provider or Non-
Production Identity Provider option. During a new installation or an upgrade, when you select the Use
SSO (Single Sign On) check box, the Production Identity Provider option is selected by default.
Workflow Full User Guide | 2 - Get Started | 125
The Production Identity Provider option provides greater security for your application. The Non-Production
Identity Provider can be used for non-production environments, such as test environments.
You can also use the SSO Authentication Failed event to schedule a workflow that will create a Workflow
user account. That is, if a user with a valid SSO ID but no Workflow user account tries to log in to
Workflow, the SSO Authentication Failed event is triggered and causes the Workflow user account to be
created. The SSO Authentication Failed event contains the user's SSO ID, full name, and e-mail address.
Important:
Make sure that each user belongs to the SSO Users group before creating their SSO user account.
The SSO Users group is a default security group located within the Personnel model.
Related information
Workflow User Password Security (on page 379)
Authentication
The Workflow Login dialog box is used to log in to Workflow.
Authentication Types
The following information applies to all regular logins except the Mobile-sized Task List:
The computer you use to log in, stores the authentication type in the proficyclient.exe.config file.
When you start a new client on that computer, the authentication type that you had selected during your
previous login session is automatically selected. However, if another user had successfully logged in to
that computer with a different authentication type between now and the previous time you had logged in ,
then that authentication type will be selected.
If you attempt to log in using a different authentication type but the authentication fails, the authentication
type is not updated in the proficyclient.exe.config file.
Workflow Full User Guide | 2 - Get Started | 126
Important:
To log in using Windows
Authentication, your
server and client(s) must
be on a domain. The do
main field is populated
using the domain that
the computer joins. If the
user logging in is from
a different domain, this
field is populated using
the domain that this user
belongs to.
Note:
SSO Authentication is
not available if it has not
been enabled.
Login Properties
Note:
Your password must
conform to the defined
password complexity
rules.
Note:
This link is available only
if this feature is enabled.
Note:
This button is available
only when the Windows
Authentication option is
selected and automatic
login is configured.
Post-Installation Configuration
Post-installation Configuration
This section provides information about configuring your system after installing the application.
If the installation fails, or you want to change a configuration setting after installation completes, you
can open each of the installation wizard configuration pages as a standalone tool and make the required
changes.
CAUTION:
Changes to your installation configuration should be performed only by advanced users. If
you make changes on your own, unpredictable results and behavior may occur. Contact GE for
assistance.
• To provide the ability to load forms, ensure your users have permission to access C:\Program
Data\Proficy\Logs.
• To provide access to log files, ensure your users have permission to access C:\Users\<User>
\My Documents\Proficy Workflow.
When a form is opened, it is retrieved from the database and copied to the client computer to be
loaded into Workfkow. If the My Documents folder is in a network storage location, that location is
locked by user permissions, preventing the form from being created.
1. Configure Internet web proxy setting using BITSAdmin in one of the following ways.
Note:
For more information on BITSAdmin Tool, go to: http://msdn.microsoft.com/en-us/library/
aa362813%28VS.85%29.aspx
2. From an administrative command line window, run the commands for the account that you want to
change.
Related information
Add a web services definition (on page 1531)
• Copy security certificates and transfer the copies to your extension servers.
• Update the security certificates to match the server.
• For an extension server installation (that is, a multiple server or server failover cluster), you must
copy the ProficyPlatform and Proficy STS security certificates from the main server onto a disk
or other portable device, and then transfer those certificate copies to your extension servers. The
SSL/TLS Server Certificate must be unique to each server.
• If you change the certificate option on your servers, all remote clients connected to those servers
must have their security certificates updated to match the server. Use the Configure Client tool to
download the new versions of the certificates.
Upgrading
1. On the server machine, On the server machine, click Start > All Programs > General Electric >
Workflow > Configuration > Configure Certificates.
The Security Certificates page appears.
2. Select the appropriate certificate option. For full descriptions of the certificate options, see
Security Certificate Options.
3. Click Save, and then click Exit.
Related reference
Security Certificate Options (on page 57)
Related information
Install a single application server and client (on page 76)
Modify the server configuration for a remote client (on page 134)
Use self-signed certificates for the web server (on page 63)
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Site.
The Configure Site tool appears.
2. Modify the server configuration, as required.
Designate a server or a prod Select the Essential check box beside the serv
uct option as essential er or product option listing.
Note:
Essential servers must remain running
in order for users to access the pro
gram. If you designate a server as es
Workflow Full User Guide | 2 - Get Started | 132
Designate a server or a prod Clear the Essential check box beside the server
uct option as nonessential or product option listing.
Note:
If one or more product options as
signed to a server is designated as es
sential, you cannot designate the server
as nonessential. Nonessential servers
must remain running in order for the
program to be fully operational; howev
er, if a nonessential server stops run
ning, users can still access the pro
gram.
Move a product option between servers In the Application Server Instances and En
abled Product Options pane, click the product
option listing, and then do one of the following:
◦ Click the Move Up or Move Down button
until the listing is located below the serv
er that you want to host the option.
◦ Drag and drop it below the server that
you want to host the option.
◦ Click Disable.
◦ Drag and drop the listing to the Disabled
Product Options pane.
Note:
Disabled product options remain in
stalled but are deactivated. Essential
product options cannot be disabled.
Enable a disabled product option In the Application Server Instances and En
abled Product Options pane, select the server
that you want to host the product option, and
then in the Disabled Product Options pane, click
the listing for the product option and do one of
the following:
◦ Click Enable.
◦ Drag and drop the listing to the Applica
tion Server Instances and Enabled Prod
uct Options pane.
Note:
Only servers that are not hosting prod
uct options can be removed. To subse
quently add a server, use the Configure
Server tool.
The designation of servers and production options as either essential or nonessential and the state and
accessibility of servers has implications for the health of the site and, therefore, the ability to log in and
use the Workflow program. For more information, see System Health and Program Use.
Workflow Full User Guide | 2 - Get Started | 134
Related information
Configure a server instance (on page 138)
Note:
The System Status display is read-only. However, you can use the Configure Site tool to
modify site configuration, including designating whether servers or the product options
that run on them are essential, moving product options between servers, disabling product
options, and/or deleting servers that are not hosting product options.
Related information
System Health and Program Use (on page 48)
Important:
The Server Configuration tool is available only for client-only installations.
Workflow Full User Guide | 2 - Get Started | 135
1. On the client computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Client.
The Server Configuration tool appears.
2. Optional: In the Computer Name field, enter the name of the computer where the server you want
to connect to is installed.
◦ If you are configuring a full server or in a multiple server environment, enter the name of the
computer that the server you want to connect to is installed on.
◦ If you are configuring a server cluster environment, enter the cluster name used when you
set up your cluster.
3. Optional: In the Instance Name field, enter the name of the server instance you want to connect to.
4. Optional: In the HTTP Port field, enter the port number required to allow communication with the
server.
5. Click Save, and then click Exit.
1. On the server machine, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Directory Services.
The AD LDS Integration page appears.
2. To integrate Active Directory Lightweight Directory Services (AD LDS), do one of the following.
Installed in a test and/or de Select the Do not use Microsoft Directory Ser
velopment environment vices check box, and then click Next.
You must install SQL Server before you install Workflow. For more information, see Software
Requirements in the Workflow IPI documentation.
In order for Workflow to connect to Microsoft® SQL Server at runtime, you must configure SQL Server to
enable the db_owner role for the applicable login account. For more information, see Enable Connection
between Workflow and SQL Server.
The Workflow installation automatically selects the default SQL Server instance. For example, if SQL
Server 2012 and SQL Server 2008 are both installed, SQL Server 2008 may be the default instance. In this
scenario, if you want to use SQL Server 2012 instead, you must select this instance as the default as part
of manually configuring your SQL Server settings. For instructions, see steps 2 and 3 of this procedure.
1. Click Start > All Programs > General Electric > Workflow > Configuration > Configure Database.
The Database Configuration page appears.
2. Specify the SQL Server database settings for this application based on the configuration of your
environment.
Note:
To use this option, the following
SQL Server conditions apply:
Workflow Full User Guide | 2 - Get Started | 137
b. Proceed to step 4.
a. In the Server field, enter or select the name of the SQL Server that you want to connect to.
Note:
If the SQL Server is installed locally with a default instance, you may enter
localhost.
b. In the Database field, enter the name of your SQL Server database, or click the drop-down
arrow to search for all databases located on the specified server.
Note:
If the specified database does not exist, it will be created for you.
c. From the Authentication list, select the type of authentication that you want to use, and then
proceed based on your selection.
▪ If you select Windows Authentication, proceed to step 4.
▪ If you select SQL Server Authentication, proceed to step 3.d.
d. Enter the User Name and Password that are configured for SQL Server authentication, and
then proceed to step 4.
Important:
The default user setting for this service is Local System Account. When upgrading your
application, the user setting will return to the default setting.
Note:
If you are configuring servers for clustering, you must ensure that you run this tool on all nodes of
the cluster.
1. On the server machine, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Server.
2. Select the Create an Application Server Instance option.
3. In the Name field, enter a name for the server instance.
4. Optional: In the Description field, enter a description for the server instance.
5. Click the Advanced Configuration arrow.
6. Select or clear the Do not create Windows Service for this Server Instance check box, depending
on whether you want this server instance to run as a Windows service.
7. If you are configuring the server instance to run as a Windows service, and the architecture of
the computer you are configuring the instance on is 64-bit, configure the Run service under the
following architecture setting to indicate your preference for operational mode as either 32-bit or
64-bit.
8. In the Service Ports fields, enter the port numbers for each of the service port types.
9. In the P2P Configuration section:
Note:
Peer servers will contact this server instance at the specified IP address. If the
specified address is 255.255.255.255, then the address will be determined at server
start as the first IPv4 address found in the DNS records for the hosting machine's
Workflow Full User Guide | 2 - Get Started | 139
b. In the Port field, enter the port number for the server instance. This value must be unique if
multiple server instances are run on the same machine.
Related reference
Windows Services for Workflow (on page 55)
Related information
Server Clustering and Failover (on page 67)
Proficy services must be stopped on the server prior to configuring product options.
If you have created and packaged your service provider, you must copy it to an accessible location.
Note:
Refer to Architecture Considerations for guidelines on deploying service providers based on
architecture mode.
Important:
Product Options Installation Information. When using the ActiveX Task List, product option
updates made on the server are not automatically deployed to applications using the Task List.
The ProficyUpdater.exe application must be run manually, with administrative privileges, in order
to deploy production option updates on each client machine using ActiveX Task List.
Prerequisites
1. On the server machine, click Start > All Programs > Proficy > Workflow > Configuration > Configure
Product Options.
The Configure Product Options tool appears, displaying the product options currently configured
on the server, including those included by default as part of the server installation.
2. Proceed as applicable based on whether you are installing or uninstalling a product option:
3. Select the product option file you want to install, and then click Open.
Note:
You can select only one product option at a time to install.
The product option is installed, and then the Configure Site dialog box appears.
4. In the Application Server Instances and Enabled Product Options pane, select the server that you
want to host the product option.
5. In the Disabled Product Options pane, click the listing for the product option, and then do one of
the following:
◦ Click Enable.
◦ Drag and drop the listing to the Application Server Instances and Enabled Product Options
pane.
6. Indicate whether the product option is essential by selecting or clearing the Essential check box.
7. Click Save, and then click Exit.
Workflow Full User Guide | 2 - Get Started | 141
Related information
Architecture Considerations (on page 52)
Prerequisites
1. On the machine that the server is installed on, click Start > All Programs > General Electric >
Workflow > Configuration > Configure Server.
The Configure Server tool appears.
2. Select the Create an Application Server Instance option.
3. Click the Advanced Configuration arrow.
4. In the Run service under the following architecture section, select 32-bit or 64-bit to indicate the
operational mode you want to switch to.
5. Click Save, and click Exit.
1. From the following location, you can add or remove performance counters: <installfolder>/
ProficyServer.exe.
2. In ProficyServer.exe, enter the applicable command line.
To... Enter...
stallperformancounters
Workflow Full User Guide | 2 - Get Started | 142
To... Enter...
stallperformancounters
Important:
If the counters are added/deleted (installed/uninstalled) after the server is started, then
the server and the performance monitoring tool (perfmon) must be re-started for this
change to take effect.
Related information
View performance counters (on page 75)
You must install Workflow 2.5 SIM3 (or greater) before performing this task.
<ServerAliases>
<ServerAlias>
<Name>localhost</Name>
<Alias>QA Server</Alias>
</ServerAlias>
<ServerAlias>
<Name>Product-WIN81</Name>
<Alias>Development Server</Alias>
</ServerAlias>
<ServerAlias>
Workflow Full User Guide | 2 - Get Started | 143
<Name>devwin7ex64dev</Name>
<Alias>Product Server</Alias>
</ServerAlias>
</ServerAliases>
When you launch the Workflow client, the alias that you configured for the server is displayed next
to the state icon.
CAUTION:
Performance can be affected if values are adjusted in the configuration files.
The following steps apply to both client and server configuration files.
1. Determine which configuration(s) and value(s) you want to add to the applicable file.
2. Use the following XML element example to configure the file.
Note:
All new configurations must be added to the <appSettings> element.
<appSettings>
</appSettings>
Note:
◦ If the configuration is for a client, then start a new client for the new configuration to
take effect.
◦ If the configuration is for the SOA or STS service, then restart that service for the
new configuration to take effect.
Client Configuration
All client configurations are added to the ProficyClient.exe.config file.
Workflow Full User Guide | 2 - Get Started | 144
Configuration Description
Note:
GE recommends a value no greater than
168 hours (one week) for practicality and
to avoid possible overflow when convert
ing to milliseconds. It is significant be
cause channel creation is expensive when
the server is busy. Thus we want to reuse
channels where possible, especially where
sites have an expensive event or opera
tion occurring at a regular frequency. Set
ting this value to a period longer than the
site event frequency allows channels to
be maintained from the last occurrence so
that few, if any, channels need to be creat
ed to satisfy the operation.
Configuration Description
Note:
The time span value must be at least dou
ble the ChannelPoolMaxIdleAgeHours val
ue.
Configuration Description
Configuration Description
Note:
GE recommends a value no greater than
168 hours (one week) for practicality and
Note:
This configuration must enable tracing in
the configuration file:
<file value=%TraceDir%\ProxyClientDispatcher.log"/>
</logger>
Workflow Full User Guide | 2 - Get Started | 147
Configuration Description
Note:
The time span value must be at least dou
ble the ChannelPoolMaxIdleAgeHours val
ue.
Configuration Description
ue="1200" />
ue="1200" />
"%ProgramData%\Workflow Displays"
Configuration Description
The following steps apply to all server limits that you want to override.
1. Determine which server limit(s) and limit group(s) you want to override.
2. In the Program folder, (that is, <install dir>\Proficy\Proficy Workflow\Program,
create a file called <LimitGroup>.lim. For example, to change a limit in the SystemLimits group,
name the file SystemLimits.lim.
Workflow Full User Guide | 2 - Get Started | 149
3. Add the XML content to the file, as shown in the following example. Add a <limit> element for each
limit you want to override.
<limitOverrides>
</limitOverrides>
DmsLimits
Limit Description
Limit Description
ProductionLimits
Limit Description
ProductionModelLimits
Limit Description
Limit Description
Limit Description
SystemLimits
Limit Description
WorkflowLimits
Limit Description
Limit Description
Limit Description
FormLimits
Limit Description
Limit Description
Limit Description
Upgrade Workflow
Upgrading Workflow
Please refer to the WorkflowIPI PDF for information on upgrading Workflow, compatibility with
earlier versions and other GE Products. Read this topic for general information about upgrading your
applications.
Important:
When you upgrade the application server, you must also upgrade all of the remote clients that
connect to that server to use the same version of Workflow.
Upgrade Paths
You can upgrade Workflow without having to uninstall the program.
Note:
All versions of Vision prior to version 6.3 must be uninstalled before being upgraded to
Workflow 2.5 SP1.
Note:
You must first upgrade Workflow 1.5 SP4 to Workflow 2.0.
If you are upgrading from an earlier version of Workflow, contact Technical Support.
GE Historian
If you use GE Historian as a data source, then when you upgrade Workflow to v2.5 SP2 the existing GE
Historian server address is automatically displayed in the Server Name field in the Data Source Editor.
You cannot change the server's alias (that is the name displayed in the Historian Servers list in the
navigator). To change the alias, you must delete the connection, and then add a new one. For more
information, see Change the Historian Server and Add an Historian Server.
Legacy Certificates
Starting with Workflow 2.5, legacy certificates are no longer supported.
®
Upgrading Microsoft .NET Framework 4.5 (Full Framework)
Note:
Custom display or form assemblies that target earlier versions of .NET will continue to function
as before. However, saving changes made to such custom assemblies requires that they be
upgraded, which is accomplished in different ways, based on the version of .NET:
• For an assembly that pre-dates .NET 4.0, you must upgrade the assembly when you open
it. Failure to do so results in an error and the inability to save the edited assembly.
• For an assembly that targets .NET 4.0, the assembly is upgraded automatically when
opened, and changes to such assemblies can be saved as before.
Service providers that target versions of the .NET framework before version 4.5 must be
recompiled targeting .NET 4.5.
Note:
This upgrading issue affects existing web-based forms only, and not HTML5 web forms that are
created in Workflow 2.2 SP1.
Password Security
During an upgrade installation, the account lockout capability is automatically enabled; all other password
security features are disabled, by default. To enable any of the other password security features, you must
use the Configure Security tool after the upgrade installation has successfully completed.
Windows Users
Workflow 2.0 supports Windows domain names with personnel names and login names. If you choose to
use the new functionality included with Workflow 2.0 (that is, active directory universal or global groups
mapped to Workflow groups), then when your Windows users log in, their personnel name and login
name will both be updated to include the domain name, and the personnel name will change to match the
login name. For example, the personnel name John Smith and login name johnsmith will both change to
<domain name>\johnsmith.
CAUTION:
If you were using Windows user accounts in a prior version of Workflow, any workflows that
reference individual users will no longer work! These personnel names will NOT be updated when
the Windows users log in. You must manually change these names to include the domain name
with a backslash character between the domain name and personnel name. However, if you
reference personnel classes in your workflows, no change is required; the workflows will work as
they did in the previous version of Workflow.
Reporting Database
Workflow includes an option to install a reporting database. This database can be used with any
valid reporting tool, and allows you to build reports on up-to-date data that you synchronize from your
production database.
Note:
The user account used for reporting synchronization (this can be a different user than the SOA
database user), must have the following SQL server roles:
• SQLAgentOperatorRole for the msdb database, in order to initiate the SQL Agent job
• Db_owner on the reporting database
Related information
Reporting (on page 635)
You must have installed a supported SQL Serve version before you install the reporting database
(see Software Requirements). In addition, you must select the SQL Server Integration Service (SSIS)
component when you install SQL Server. Select the SQL Reporting Services component, as well, if you
want to use SQL as your reporting tool.
Note:
We recommend that you install the reporting database on a separate computer from the
production database to prevent performance issues on the production database. In this scenario,
additional configuration changes are required. Refer to Configure Component Services for
more information. However, if the application server computer meets the requirements for both
databases, they can be installed on the same computer.
If more than one version of SQL Server is installed, the integration services used for the reporting
database will be the most recent version.
Note:
If you plan on frequent synchronization for reporting purposes, we recommend that you replicate
your database and run reporting against the replicated database. This measure reduces the risk
of system timeout or shutdown due to locking of tables in the production database. If, upon trying
to save data after replication, you receive an error similar to "System.Data.SqlClient.SqlException
(0x80131904): Length of LOB data (88064) to be replicated exceeds configured maximum
65536," use SQL statements to increase the volume of data to replicate.
Example:
GO
RECONFIGURE
Workflow Full User Guide | 2 - Get Started | 160
GO
For information on setting up database replication, visit the Microsoft Developer Network website
and review the article, SQL ServerReplication.
Note:
If this splash screen does not appear, run SetupReporting.exe on the root directory of
the installation folders.
a. In the Server field, accept the default value if the reporting database is on the local machine
with the default instance. If the SQL Server named instance is used, enter the SQL Server
name and instance name; for example, <servername>\<instance name>.
Note:
The reporting SQL Server must be local.
b. In the Database field, enter the name of the reporting database. This creates a new
database; however, if a database of the same name already exists, this database will append
to the existing one.
c. From the Authentication list, select the type of authentication you want to use. If you choose
to use integrated security, select Windows Authentication; otherwise, select SQL Server
Authentication, and then enter the user name and password for the SQL Server.
5. In the Configure SQL Server area, perform one of the following actions:
◦ Leave the Use a local SQL database with Windows Authentication check box selected, and
then click Next.
◦ Clear the Use a local SQL database with Windows Authentication check box, enter the
following information, and then click Next.
Workflow Full User Guide | 2 - Get Started | 161
a. In the SQL field, enter the name of the SQL Server where the SQL database is located.
b. In the Database field, enter the name of the production (SQL) database that you will
connect to for synchronization.
c. From the Authentication list, select the type of authentication you want to use. If you
choose to use integrated security, select Windows Authentication; otherwise, select
SQL Server Authentication, and then enter the user name and password for the SQL
Server.
6. In the Workflow Server Configuration area, enter the following information, and then click Next.
◦ In the Server computer name field, enter the fully qualified name of the server computer.
7. In the Configure Security area, enter an administrator user name and password.
Important:
◦ You cannot use a Windows user name and password to configure security for
the reporting database; it must be a valid Windows administrator user name and
password.
◦ The Advanced user authentication settings (Use SSO, Allow Password Change,
Enforce User Lockout, and Enforce Password Complex Rules) do not apply when
installing the reporting database.
8. Click Install.
9. When the installation is complete, click Exit.
Related information
Reporting Database (on page 158)
Important:
You can perform these steps either before or after installing the Reporting Database;
however, you must complete these configuration changes before you run your reporting data
synchronization.
Note:
For this procedure, your production database server is the "server," while the reporting database
server is the "client."
1. Verify that the Distributed Transaction Coordinator service is running on both the server and client
computers.
a. From the Start menu, point to Administrative Tools, and then click Services.
b. If the Distributed Transaction Coordinator service is not running, right-click it, and then click
Start.
2. On the server computer, from the Start menu, point to Administrative Tools, and then click
Component Services.
3. In the left navigation tree, click Component Services, and then expand Computers.
4. Right-click My Computer and select Properties.
The My Computer Properties dialog box appears.
5. Click the MS DTC tab.
Important:
If you are using Windows 7, Windows Server 2008, or Windows Server 2012, you must
use the following path to retrieve these computer properties: Component Services>
Computers>My Computer>Distributed Transaction Coordinator>Local
DTC.
A message appears, stating that "MS DTC Service will be stopped and restarted. All dependent
services will be stopped. Please press Yes to proceed." Click Yes.
9. In the My Computer Properties dialog box, click OK.
10. If required, reboot your production database server.
Note:
We recommend that you reboot your production database server.
Server. For a complete uninstall of this application, these should be removed manually
4. Click OK.
Note:
For use later in this procedure, you must note the location of where you saved the scripts.
a. In the Subscriber/Distributor instance, right-click the Replication folder, and then click
Generate Scripts.
The Generate SQL Script dialog box appears.
b. To generate the Create script, in the Script the commands section, select To create or
enable the components, and then click Generate Script.
c. To generate the Drop script, in the Script the commands section, select To drop or disable
the components, and then click Generate Script.
a. In Microsoft SQL Server Management Studio, from the File menu, click File > Open File.
b. Navigate to the folder where you saved the scripts generated in step 3.
d. Locate the section denoted by this comment, /****** End: Script to be run at Publisher
Note:
You must change the name of the Distribution database and the user names to
match your system.
Workflow Full User Guide | 2 - Get Started | 165
USE [DistributionDB];
GO
N'QASYSTESTSQLSRV\SqlDistAgent';
N'QASYSTESTSQLSRV\SqlLogReaderAgent';
N'QASYSTESTSQLSRV\SqlSnapshotAgent';
8. Add all of the passwords back into the file. The Create Generation process does not write the user
account passwords to the file.
b. Replace null with the log on password that precedes it. If the preceding @job_login is also
null, do not edit the password so that it remains set to null.
-- Before:
@job_password = null
-- After:
@job_password = 'proficy'
Note:
This script will have some errors because it will try to publish database objects that were
removed from the database as part of the upgrade.
10. Re-enable the replication, and then add the new database tables and objects to the publication in
order to push them to the replicated database:
a. Expand your database directory and the Replication folder, right-click Local Publications,
and then select Properties.
b. Select Articles, and then select all unchecked items to include them in the publication.
Note:
The subscription must be re-initialized to include the new articles. We recommend
re-initializing all articles in the subscription using a full snapshot. For instructions,
read the Microsoft Developer Network article, Reinitializing a Subscription
11. After replication is working against the upgraded database, install the Reporting upgrade, and point
it to the replicated database.
12. Test reporting synchronization by running a manual Sync from the Workflow client.
Terminal Server
This information assumes familiarity with your network environment, as well as:
® ®
• Microsoft Windows Server 2008 R2
® ®
• Microsoft Windows Server 2012
®
• Microsoft Windows Licensing
®
• Microsoft Windows Remote Desktop Services
®
• Citrix technologies including licensing
Workflow Full User Guide | 2 - Get Started | 167
The Remote Desktop Session Host environment is a thin-client architecture where all application
processing occurs centrally on the server. By installing a small piece of thin-client software from
®
Microsoft or connecting through an Internet Explorer 7 (or higher) browser, thin clients can initiate and
run individual instances of Workflow on the server. Only graphic, keyboard, and mouse instructions are
sent back and forth between the client and the server, which minimizes network traffic.
Ease of maintenance
You install only one copy of Workflow on a server, from which multiple users can run clients.
Upgrades and SIMs need to be installed only on the server.
With Remote Desktop Communication (RDC) and Internet Explorer 7 or higher, clients from
Windows 7 can connect to the Workflow Remote Desktop Session Host to access Workflow.
Security
Encryption and other security measures protect the data exchanges between the Workflow
Remote Desktop Session Host and the clients.
The Workflow Remote Desktop Session Host locally processes the software that the clients
execute. Clients connecting to the server through a remote desktop session do not need the
processing power usually required to run Workflow.
Specialized environments
Remote Desktop Services allows you to tightly control user accounts. For example, you
can configure user accounts to start and execute a single program (Workflow). Workflow
automatically starts at log in, and the users do not have access to the Windows desktop.
When they exit Workflow, they log out of the Remote Desktop Session Host account.
Handheld environments
With Windows file protection, you can limit the directories users are allowed to access and
modify, such as for forms, displays, and import/export files.
Workflow Full User Guide | 2 - Get Started | 168
®
Thin clients access the Remote Desktop Session Host through Microsoft Remote Desktop Protocol
®
(RDP) or Citrix Independent Computing Architecture (ICA) protocol. No Workflow software is installed or
runs on the thin-client machine.
A separate session of Workflow runs on the Remote Desktop Session Host for each thin client. This
allows very thin clients with minimal client-side resources to execute an individual instance of Workflow.
The users' experience is nearly identical to running Workflow on their local machines. If you have clients
and servers in your Workflow Remote Desktop Session Host environment, you can access and manage
any of the servers from a thin client.
®
For the most up-to-date Remote Desktop Session Host information for Windows Server 2008 R2, visit
®
the Microsoft web site at:
http://technet.microsoft.com/en-us/library/dd647502(WS.10).aspx
Important:
Before installing the Workflow Remote Desktop Session Host, be aware of its limitations and
software and licensing requirements. You should also spend some time planning a sound
network and security strategy, and user and machine naming conventions.
• Location-based functionality in Workflow does not work with Remote Desktop Services. That
is, workflow tasks that are assigned to a location, key set permissions assigned to a specific
computer, and any computer configurations, including layout and auto login/logout, will not work
on a Remote Desktop Session Host.
® ®
• The Remote Desktop Session Host computer must have Windows Server 2008 R2 or Windows
Server 2012 installed.
®
• Workflow does not support running a Remote Desktop Session Host on Windows Vista.
Workflow Full User Guide | 2 - Get Started | 169
• Although Windows supports machine names of up to 15 characters, Workflow node names are
limited to eight characters.
• Depending on your settings, some keyboard shortcuts (such as Ctrl+Alt+Delete) may be disabled or
remapped.
• User accounts must be created with logins after installing Workflow.
Scalability
The number of clients supported by a server varies according to the server's processing power and
memory. If you use good optimization techniques, you should be able to run more clients with better
performance per server.
®
The Microsoft Performance Monitor can help you to determine the optimal number of Remote Desktop
Session Host sessions your server can handle.
• One 3Ghz CPU for every three clients connected to the Remote Desktop Session Host (minimum)
Note:
If the clients are expected to manage high levels of activity, decrease the number of clients
per CPU to two.
Note:
Ge Digital highly recommends that you install the latest Service Pack and Windows Updates.
Licensing Requirements
GE Digital recommends that you install your Remote Desktop Session Host on a computer that is not
a domain controller. Ensure that you back up the Remote Desktop Session Host licenses regularly to
prevent data loss.
Workflow Full User Guide | 2 - Get Started | 170
®
For the most up-to-date Remote Desktop Session Host license information on Windows Server 2008 R2,
®
visit Microsoft 's web site:
http://technet.microsoft.com/en-us/library/dd647502(WS.10).aspx
®
Workflow Remote Desktop Session Host Clients for Windows Server 2008
r2
®
When a Windows Server 2008 R2 client connects to the Remote Desktop Session Host with External
Connector Licensing disabled, the license from the client is used. The first time that you connect to the
server, that license is activated.
®
If you are running a non-Windows Server 2008 R2 client computer, you need to purchase Windows
®
Remote Desktop Services Client Access Licenses (RDSCALs) from Microsoft . When you first set up the
Workflow Remote Desktop Session Host, you have a 120-day temporary license to run a maximum of
10 client machines from the server. The first 10 Windows client machines that connect to the server will
reserve the licenses.
Note:
Remote Desktop Services Client Access Licenses (RDSCALs) are counted per device and are not
concurrent.
Important:
When you activate a RDSCAL, it is permanently associated with that machine. You cannot reboot
®
the machine to clear your license use. If you reformat the machine, you must contact Microsoft
to obtain a replacement license.
Workflow Licensing
All hardware and software keys distributed to run Workflow contain software to enable licensing for
Remote Desktop Session Host client computers.
For example, if you purchase a ten-client license, software embedded in the key allows ten concurrent
client users and prevents an eleventh client access to Workflow. When a client disconnects from Remote
Desktop Session Host, another client can then access it.
Workflow Full User Guide | 2 - Get Started | 171
Note:
You still need enough RDSCALs to license all the devices that will connect to the server. Be aware
that even if you have the appropriate number of Remote Desktop Session Host licenses enabled,
performance issues may prevent you from connecting.
Important:
These steps must be performed before you install Workflow.
For more information about Remote Desktop Session Host, refer to the Remote Desktop Services section
®
of the Windows Server 2008 R2 Help or visit Microsoft's web site at: http://technet.microsoft.com/en-
us/library/dd647502(WS.10).aspx.
®
1. On the Windows Server 2008 R2 computer, click Start > Administrative Tools > Server Manager.
The Server Manager dialog box appears.
2. Click Roles, and then click Add Roles.
The Select Server Roles page of the Add Roles Wizard appears.
3. Select Remote Desktop Services, and then click Next.
The Select Role Services page appears.
4. Select the Remote Desktop Session Host and Remote Desktop Licensing check boxes.
You can select additional role services, but no other services are required.
Important:
If your application server is configured to use AD LDS (Active Directory Lightweight
Directory Services), a warning message appears. Click Install Remote Desktop Session
Host anyway (not recommended).
5. Click Next.
The Specify Authentication Method for Remote Desktop Session Host page appears.
6. Select an option to indicate whether network level authentication is required, and then click Next.
The Specify Licensing Mode page appears.
7. Select an option to specify the Remote Desktop licensing mode that you want this Remote Desktop
Session Host server to use, and then click Next.
Workflow Full User Guide | 2 - Get Started | 172
The Select User Groups Allowed Access to this RD Session Host Server page appears.
8. Click Add to add the required users or user groups that can connect to this Remote Desktop
Session Host server, and then click Next.
The Configure Client Experience page appears.
9. Select the functionality you want to provide to the users connecting to a remote desktop session,
and then click Next.
The Configure Discovery Scope for RD Licensing page appears.
10. Optional: Select the Configure a discovery scope for this license server check box, and then
configure it as follows:
a. Select the appropriate option for the discovery scope.
b. Click Browse to select the location for the RD Licensing database.
11. Click Next.
The Confirm Installation Selections page appears.
Note:
At any time during the configuration process, you can click Previous to go to a previous
page to change your settings.
1. Click Start > All Programs > Accessories > Remote Desktop Connection.
The Remote Desktop Connection dialog box appears.
2. Enter or select a computer name, and then click Connect.
The Log On to Windows dialog box appears.
3. Enter a user name and password, and then click OK.
Related information
Configure a Remote Desktop to Connect to a Remote Desktop Session Host (on page 174)
Before you begin installing and configuring Workflow on a Remote Desktop Session Host, GE Digital
strongly recommends that you complete the following Windows administrative tasks on the Workflow
server machine.
Important:
If you do not follow the recommended steps for the correct Windows Remote Desktop Session
Host Configuration, your applications may not function correctly.
Specify the program that starts when the user logs on to the Remote
Desktop Session Host
You can create a secure environment that prevents operators from performing unauthorized actions, such
as using the Ctrl+Alt+Delete key combination to shut down the Remote Desktop Session Host. You can
configure this in Windows, with user properties and group policies.
Be aware that you can use Efficiency Analyzer security to define the rights each user has in Efficiency
Analyzer after logging in. For example, you can add further restrictions in Efficiency Analyzer by setting
permissions for the group the user is a member of.
Workflow Full User Guide | 2 - Get Started | 174
9. In the Start in field, enter the path of the Efficiency Analyzer product.
1. Click Start > All Programs > Accessories > Remote Desktop Connection.
The Remote Desktop Connection dialog box appears.
2. Click Options.
3. On the General tab, in the Computer field, enter or select a name from the drop-down list.
4. In the User name field, enter a user name and, if applicable, preface it with your domain name
followed by a backslash.
5. Click the Display tab.
6. Leave the default remote desktop size but, if required, change the color setting.
7. Click the Experience tab.
8. Select the performance options that your client requires. GE digital recommends that you clear all
check boxes except Persistent bitmap caching.
9. Select the Reconnect if connection is dropped check box.
10. Click Connect to connect to the Remote Desktop Session Host.
Workflow Full User Guide | 2 - Get Started | 175
• Faster processors
• More processors (dual, quad)
• More memory
• Reduced graphic refresh rate on clients
For more information, suggestions, and tips for troubleshooting your Workflow Remote Desktop Session
® ®
Host environment, refer to the Windows Server 2008 R2 Help and the Microsoft Remote Desktop
Session Host online documentation.
Problem Solution
Registry locks, behaves like "Duplicate Node You have started multiple sessions at the same
Names" on the network. time or multiple users have logged on using the
same account.
The text insertion cursor in a Workflow Text object The cursor blink rate in the control panel is set to
does not appear. the lowest setting for Remote Desktop Session
Host. Set the blink rate to 1 above the slowest set
ting.
Workflow task controls can be integrated into existing HMI applications, such as HMI/SCADA CIMPLICITY
and HMI/SCADA iFIX. Workflow tasks are displayed in your application so you can operate them from
within these applications. You use the ActiveX Task List and Task Indicator controls to interact with and
Workflow Full User Guide | 2 - Get Started | 177
view workflow tasks. The ActiveX Task List provides users with a list of tasks for a workflow. The Task
Indicator provides a user with relevant information regarding the status of the ActiveX Task List.
Before configuring the ActiveX Task List, note the following information:
• Each installation of the ActiveX Task List can connect to only one Workflow server at a time.
• At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
• Workflow task controls and GE HMIs are related, but work independently from each other.
Therefore, user names and logins are separate.
• Like the Workflow client, the NET. TCP Port Sharing service must be enabled to use the Task List in
a host application.
• To change the server name, use the Configure Client tool. For more information, see Modify the
server configuration for a remote client. If you install the ActiveX Task List on a different machine
than the application server, you must access the Configure Client tool from the following location:
../Program Files/Proficy/Proficy Task List/Program.
Important:
Product Options Installation Information. When using the ActiveX Task List, product option
updates made on the server are not automatically deployed to applications using the Task List.
The ProficyUpdater.exe application must be run manually, with administrative privileges, in
order to deploy production option updates on each client machine using ActiveX Task List.
Note:
At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
Workflow Full User Guide | 2 - Get Started | 178
1. From the application splash screen, click Install ActiveX Task List.
Note:
If the splash screen does not appear, double-click SetupTaskList.exe from the root
directory of the installation folders.
Note:
You must first configure users using the Configure Client tool.
Note:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
8. Click Install.
The Installation page appears, displaying the status of each installation step.
9. When the installation is complete, click Exit.
Workflow Full User Guide | 2 - Get Started | 179
Note:
To change the server name, use the Configure Client tool. For more information, see Modify
the server configuration for a remote client. If you install the ActiveX Task List on a different
machine than the application server, you must access the Configure Client tool from the following
location: ../Program Files/Proficy/Proficy Task List/Program.
Select... To...
Manual Login prompt the user to enter a user name and pass
word at each login.
Control Property allow the user to view the user name and pass
word in the host's object properties.
4. If you selected Password Encryption in the Server Authentication section, add user credentials in
the User Configuration section:
a. In the Users panel, click Add.
b. In the Details panel, in the User Name field, enter an existing Workflow user name.
c. In the Password field, enter your user account password.
d. In the Confirm Password field, enter your password again.
5. Click Save.
Overview
This topic provides an overview on how to install and start working with the workflow task client in the
Operations Hub application.
Workflow Full User Guide | 2 - Get Started | 180
• Install the workflow task client (on page 180) from the ISO file.
• Configure the task client (on page 187) widget in Operations Hub.
• Access the task client (on page 191) features in Operations Hub.
Related reference
Troubleshooting Task Client Issues (on page 196)
Related information
Install the Task Client (on page 180)
Install Operations Hub 1.7 on the machine you want to run the task client installer.
Note:
For instructions, refer to the Operations Hub UAA Installation Guide provided along with the
Operations Hub installation package.
The task client installer is shipped as a part of the Workflow 2.6 SP1 installation package.
1. Copy the Workflow 2.6 SP1 ISO file to the machine where you want to install the task client, and run
the file.
2. From the application splash screen, click Install Workflow Task Client.
Workflow Full User Guide | 2 - Get Started | 181
Note:
If the splash screen does not appear, run InstallFrontEnd.exe on the root directory of the
installation folder.
Field Description
REST Port Enter the Workflow port number that allows the
REST API calls. The task client widget in Oper
ations Hub uses this port to request data from
the Workflow application. 8447 is the default
Workflow port number.
5. Click Next.
The Operations Hub Server page appears.
6. Enter the details as specified in the following table:
Field Description
OpsHub Server Name Enter the Operations Hub server name (FQDN
or host name) as per the configuration of UAA
server.
Workflow Full User Guide | 2 - Get Started | 183
Field Description
Note:
Ensure that the auto populated OpsHub
server name is correct.
Port No. Enter the Operations Hub UAA server port num
ber. 443 is the default UAA port number.
Note:
The tenant username is case-sensitive.
7. Click Next.
The UAA Server page appears.
Workflow Full User Guide | 2 - Get Started | 184
8. Enter the UAA Server details for authenticating the users to access the Workflow task client as
specified in the following table.
Field Description
UAA Server Name Enter the Operations Hub UAA server name
(FQDN or host name) as per the configuration
of UAA server.
Note:
Ensure that the auto populated UAA
server name is correct.
UAA Admin Client ID Enter the client ID of the Operations Hub UAA
administrator.
Note:
The UAA admin client ID is case-sensi
tive.
UAA Admin Client Secret Enter the client secret of the Operations Hub
UAA administrator.
Workflow Full User Guide | 2 - Get Started | 185
Note:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
Workflow Full User Guide | 2 - Get Started | 186
installation.
12. When the installation is complete, click Exit.
The task client is added to the Operations Hub application.
The task client is added with the following information in Operations Hub:
Workflow Full User Guide | 2 - Get Started | 187
Configure the task client (on page 187) widget in Operations Hub.
Related reference
Troubleshooting Task Client Issues (on page 196)
Related information
Uninstall the Task Client (on page 195)
Install the Workflow and the Operations Hub applications on different servers.
To configure the task client widget, equipment models from the Workflow application are exported to
a .csv file, and imported into the Operations Hub application.
a. Select an equipment model you want to export, and then select Generate Operations Hub
Model.
The equipment model data is exported to a .csv file format, and saved in the specified
location.
a. Import the .csv file created in step 1 (on page 189) to Operations Hub.
b. In the main navigation menu, select APPS, and then select Workflow Tasklist application.
The Pages workspace appears.
Note:
Scroll down in the settings section to find the data settings after the general and
display settings.
Related information
Generate an Equipment Model for Web HMI (on page 403)
Ensure that the Workflow equipment models are exported to a Web HMI model .csv file.
An equipment model is configured in the Workflow application. For more information, refer to the
Equipment Model topic in the Resource Information and Configuration section of the complete Workflow
user guide.
Tip:
4. To import, browse and select the exported .csv file from Workflow, and select Import.
The imported information is visible under Objects and Object Types in the Admin workspace.
Related information
Generate an Equipment Model for Web HMI (on page 403)
1. In the main navigation menu, select MANAGE, and then select Developers or App Users.
2. Select Add new user.
The New Account window appears.
3. Enter values in the available fields as described in the following table.
Field Description
Username Enter the user name that the user will use to log
in to Operations Hub. The value must be unique.
Field Description
Repeat Password Enter the password that you have entered in the
Password field.
Only GE Groups Select this check box if you only want to view
groups associated with GE products in the
Groups list box.
4. Select Create.
The user is created. If you have created a developer, an application user is also created.
Create identical user accounts for the Operations Hub web server and the Workflow server. You must be
able to log in to both the servers using the same username and password combination.
The Workflow Task List is integrated with Operations Hub. You do not have to log in to the Workflow
application to manage your tasks. You can log in to the Operations Hub application, and connect to
Workflow with the help of the task client widget to manage tasks.
appears.
2. Enter the details as specified in the following table:
Workflow Full User Guide | 2 - Get Started | 192
Field Description
Status Description
Note:
All tasks in Operations Hub remain dis
abled until a connection is established.
The user login credentials are encrypted and stored under ENTITIES in Operations Hub. You will not
be prompted for login details again for the saved user accounts.
Workflow Full User Guide | 2 - Get Started | 193
Note:
Whenever the Workflow server is down, or if there is no internet, the lost connection
status is indicated in red. All tasks in Operations Hub remain disabled until a connection is
established.
5. Select or to navigate and select any of these equipment contexts: Big Enterprise, Big Unit,
or Big Area.
The equipment context set up shown in Operations Hub is created in the Workflow application.
The list of tasks for the selected equipment context appears. Based on the list of tasks, the task
Note:
Logged in users in Operations Hub can view only the tasks that are assigned to them in the
Workflow application.
Icon Description
Icon Description
Icon Description
Note:
You can load only HTML forms in the
Operations Hub Task Client. Windows
presentation framework (WPF), Sil
verlight, and .NET rich client forms are
not supported.
Note:
For added security, electronic signatures are configured in Workflow for specific tasks,
task steps, or forms. In such cases, a dialog box appears requesting you to sign in for
verification before accomplishing any task related action.
Related information
Create an User Account in Operations Hub (on page 190)
The uninstallation process verifies once again to confirm the task client removal as it may lead to
breaking any applications associated to it.
4. Click Yes to proceed with uninstallation.
Connection Errors
If this screen appears, either the internet connection is lost, or the Workflow server cannot be reached. On
inspection, the ERR_CONNECTION_CLOSED implies that the connection to the Workflow is not established.
Workflow Full User Guide | 2 - Get Started | 197
To troubleshoot the Workflow server connection errors, check for the following:
• Add the IP address of the Workflow server to your Windows hosts file: c:\Windows
\System32\Drivers\etc\hosts.
• Ensure the Workflow server URL entered under GETASKLIST PROPERTIES in the Operations
Hub administrative environment includes a trailing forward slash. For example, https://
taskclient:8447/
• Verify the Workflow server URL saved for user login credentials under ENTITIES in Operations Hub
also includes the trailing forward slash.
• In the browser inspect element, right-click the ERR_CERT_AUTHORITY_INVALID error link, and then click
Open in new
tab.
• In the new tab, click Advanced.
• Click the Proceed to task client (unsafe) link.
• Return to the task client application tab, and refresh the browser.
References to WebHMI
If using an older version of Workflow, you may come across these WebHMI references when you access
the task client plugin properties. The references appear only when you add new instances of the task
client plugin to application pages in Operations Hub.
• WebHMIUrl
• WebHMIUsername
• WebHMIPassword
To resolve the WebHMI references issue, upgrade to the Workflow 2.6 SP1 SIM 4 version.
To resolve the communication issue with Operations Hub 1.7, upgrade to the Workflow 2.6 SP1 SIM 4
version.
As a workaround to address VC++ (x64) failure, follow these steps to install Task Client on Operations
Hub 2.1.
1. Uninstall the VC++ 2015-2019 Redistributable (x64) version installed with Operations Hub 2.1.
2. Open the Workflow install media, navigate to the \Installers\Resources\Microsoft\2015_2019
a. Access the following registry paths and modify the DWORD value name SchUseStrongCrypto
with the value data as 1.
▪ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
▪ HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
b. If the registry value does not exist, then create a new one with the same value name and
value data.
3. Install the Workflow Task Client (on page 180) plugin from the Workflow installer on your
Operations Hub Server host.
Note:
For more information, refer to Microsoft suggested actions.
Installation Security
Installation Security
Security is the process of maintaining the confidentiality, integrity, and availability of a system.
• Confidentiality: Ensure only the people you want to see information can see it.
• Integrity: ensure the data is what it is supposed to be.
• Availability: Ensure the system or data is available for use.
GE recognizes the importance of building and deploying software with these concepts in mind and
encourages customers to take appropriate care in securing their GE products and solutions.
More information on security, including GE security advisories and security patch notifications, can be
found online.
Defense in Depth
Defense in depth is the concept of using multiple layers of security to raise the cost and complexity of a
successful attack.
To carry out a successful attack on a system, an attacker would need to find not just a single exploitable
vulnerability, but would need to exploit vulnerabilities in each layer of defense that protects an asset.
For example, if a system is on a network protected only by a firewall, the attacker needs to circumvent
only the firewall to gain unauthorized access. However, if there is an additional layer of defense such as a
Workflow Full User Guide | 2 - Get Started | 201
user name/password authentication requirement, the attacker needs to find a way to circumvent both the
firewall and the user name/password authentication.
Anti-Virus Software
GE encourages customers to use third-party anti-virus (AV) software of their choice and to keep it current
with the latest updates.
While GE does not specifically certify any particular AV supplier’s software, we do test our products with
GE’s corporate standard (currently McAfee) installed and running on all test and system lab machines. In
the event there is a Workflow product defect discovered while running any AV software, GE will make all
reasonable efforts to provide a solution. However, if the issue is found to be based on specific behavior
of the AV software, the customer might be advised to work with the AV software vendor and/or switch to
another AV software vendor to get resolution to their issue.
In the event there is a Workflow product defect discovered while running DEP, GE will make all reasonable
efforts to provide a solution.
Software Patching
Installing software patches is in integral part of security.
Patching GE Software
GE recommends that customers keep their software up-to-date by applying the latest Software
Improvement Module (SIM) to their deployed GE products. SIMs add new functionality, fix bugs, and
address security vulnerabilities. Security advisories and security-related SIMs can be found on the GE
website at https://digitalsupport.ge.com/en_US/Alert/GE-Security-Advisories. Customers can also sign up
for notification of new SIMs and security advisories on the website.
The following organizations publish best practices, checklists, benchmarks, and other resources for
securing systems:
Contact Information
If you purchased this product through an Authorized Channel Partner, please contact the seller
directly.
Technical Support
If you have technical problems that cannot be resolved with the information in this guide, please contact
us by telephone or e-mail, or on the web at https://digitalsupport.ge.com.
Workflow Full User Guide | 2 - Get Started | 203
Chapter 3. Tutorials
Tutorials
Configure access to specific equipment instance details
You can configure your environment to allow members of certain personnel groups to view the details of
only specific equipment instances or levels of the equipment hierarchy from the S95 Model Editor.
• When group members have permissions on an equipment instance, they also have the equivalent
permission on its child instances.
• When group members try to access levels of the equipment hierarchy that they do not have the
Read Equipment permission for, a message is displayed in the S95 Model Editor stating that the
user does not have permission to view the details of that equipment.
Note:
Any changes you make to a group's key sets take effect the next time the members of the group
log in.
1. If you are configuring a new key set, start here. If you are using an existing key set, skip to step 2.
a. In the navigator, click Personnel > Key Sets > S95 Configurator, and then select the new key
set.
b. In the Permissions list, in the Equipment Model Permissions group, select the Read
Equipment check box.
Note:
You can also provide the group members with the ability to add, update, and delete
equipment instances.
c. Click Save.
2. In the navigator, click Personnel > Groups, and then select the group you want to configure.
3. In the Displays panel, click Security Configuration > Security Editor .
4. Click Assign Key Sets.
5. In the Select a Group area, select the group that you want to configure.
6. In the Permission Details For area, select the Edit by Key Set option.
7. In the Edit by Key Set area, under the System Visibility key set:
Workflow Full User Guide | 3 - Tutorials | 205
Click... To...
Add Workstation Add a specific workstation to the key set for the
selected group.
Add All Workstations Add all workstations in the system to the key
set for the selected group.
8. Click Save.
9. In the navigator, select Equipment > Instances, and then navigate to and select the equipment
instance that you want to provide access to.
Note:
You can configure access for multiple instances and at various levels; for example, you can
configure access to a single production line at one site and all levels of the hierarchy at
another site.
10. In the Displays panel, click Security Configuration > Security Editor.
11. In the Select a Group area, select the group you are configuring equipment access for.
12. In the Permission Details For area, select the Edit by Key Set option.
13. In the Edit by Key Set area, under the Equipment Configurator key set or another key set that you
created for this purpose:
Click... To...
Add Workstation Add a specific workstation to the key set for the
selected group.
Add All Workstations Add all workstations in the system to the key
set for the selected group.
Note:
The group members can access the selected instance and its child instances.
The following procedures indicate the basic steps involved in creating a simple workflow with a web form.
Tip:
Text fields can be used to display read-only information, such as headings or titles on your
form. Text boxes can be used for processing operator input.
Note:
For a video tutorial of this topic, use a browser to open http://www.youtube.com, and then search
for GE Proficy Workflow - Developing a Web Form for a Workflow.
1. Log in to Workflow.
a. Launch Workflow client using either the Start menu or desktop icon.
c. Optional: In the Authentication Type setion, select the type appropriate to your user profile.
f. Click OK.
d. In the Description field, enter clarifying information about the web form resource, such as
This is my first web form.
b. In the Form Fields section, click the Text form control to add the field to your form.
Tip:
You can add multiple text fields, as well as other form controls. Each text control is
labelled and numbered in the Name field in sequence; for example, Text1, Text2, and
so on.
a. In the Form Fields section, click the Text Box form control to add the field to your form.
The Layout area displays the basic configuration for your form.
c. Click Save.
5. To view your form or display, in the Displays panel, click Global Viewer.
6. Create a workflow resource.
a. In the navigator, click Workflow > Workflows.
b. Click Add Workflow.
c. In the Name field, enter a name, such as My First Workflow.
d. In the Description field, enter clarifying information about the workflow resource, such as
This is my first workflow.
c. From the Standard Activities panel, drag and drop a Form activity into the subprocess.
e. In the Name field, enter a name, such as WebFormActivity, and then click OK.
f. From the activity configuration panel, in General Settings, click the ellipsis button next to the
Forms field.
Workflow Full User Guide | 3 - Tutorials | 209
g. In the Universal Browser, click Global Displays > Forms, and then select the form that you
created, My First Form.
i. Click Save.
9. Add activities to the subprocess to display form information to and request input from an operator.
You can bind user input from the form's text box control (step 4) to workflow variables. For
example, you can add a Status Message activity to your subprocess in order to deliver a message
to your operator regarding a particular task, and request input.
a. From the Standard Activities panel, drag and drop a Status Message activity into the
subprocess after the Form activity.
b. From the activity configuration panel, in General Settings, click the drop-down arrow next to
the Message field, and then select Expression to bind the message in your form.
c. In the Enter Expression field, enter the following expression: "User entered:"+
e. Expand the Form activity, WebFormActivity, that you added to the subprocess.
f. To complete the expression, double-click the text box value, Text Box Control Name.Value,
that you created in step 4.
You have created the following expression: "User entered:"+{WebFormActivity}.{Text Box
Control Name.Value}
g. Click OK.
h. From the Standard Activities panel, drag and drop a Delay activity into the subprocess after
the Status Message activity.
i. In the Timeout field, select the seconds section, and then use the arrows to set a 5-second
delay.
j. Click Save.
d. In the Description field, enter clarifying information about the resource, such as This is my
first schedule.
f. In the Displays panel, click Workflow Management > Workflow Editor > Overview.
i. In the Start Task Filter section, select the Is schedule visible in Start Task window check
box.
j. Click Save.
d. Click Start.
The task that you created is now visible in the Task List. You can enter data into the form,
view work instructions, and submit changes.
Workflow Full User Guide | 3 - Tutorials | 211
Tip:
For Vision users, click the TASKS tab to see pending workflows.
To begin, you will create the following demonstration resources: User Joe; User Group; Display 1; Display
2; Display 3; Solution 1; Solution 2; Equipment Enterprise
e. In the Full Name field, enter User Joe, and then click Create Account.
f. In the Login Name field, enter a unique user name for the user you are configuring.
The Credentials area expands, displaying further input fields.
g. In the Password field, enter the password for the user you are configuring.
i. Optional: In the Email field, enter the e-mail address of the user you are configuring.
Workflow Full User Guide | 3 - Tutorials | 212
j. Click Save.
The security credentials for User Joe are now active.
Note:
To configure displays, see the Forms and User Displays Authoring Guide.
r. In the Name field, enter a new user solution name, such as Solution 2.
s. Click OK, or press ENTER.
5. Create an equipment resource.
a. In the navigator, click Equipment > Instances.
b. Click Add Enterprise.
c. In the Name field, enter a new display name, such as Equipment Enterprise.
d. Click OK, or press ENTER.
6. Add your new display resources to the user solution resources in order to group them.
b. Select Display 1.
The Display Editor appears.
d. In the Display Configuration section, select the This display is available in the solution
panel to the left option.
f. In the Context View Configuration section, select the associated check box.
g. From the Object Types list, select any resource, such as Equipment Resource, to ensure that
the selected solution is compatible and visible when the user selects any resource from the
i. Click Save.
j. Repeat steps a-i for the following resources: Display 2 and Display 3.
7. Assign permissions to allow users in your group, User Group, to view particular displays.
a. In the navigator, click Global Displays > Displays.
b. Select Display 1.
c. In the Displays panel, click Security Editor.
d. In the Select a Group section, select User Group.
e. In the Permission Details section, scroll down to System Visibility, and then click Add All
Workstations.
f. Click Save.
Workflow Full User Guide | 3 - Tutorials | 214
8. Assign permissions to allow users in your group, User Group, to view particular models, such as
Equipment.
a. In the navigator, click Proficy System > Proficy System > Models > Equipment.
b. In the Displays panel, click Security Editor.
c. In the Select a Group section, select User Group.
d. In the Permission Details section, scroll down to System Visibility, and then click Add All
Workstations.
e. Click Save.
9. Assign permissions to allow users in your group, User Group, to have access to a commonly used
display.
a. In the navigator, click Proficy System > Proficy System > Solutions > Production
Management > Inventory View.
b. In the Displays panel, click Security Editor.
c. In the Select a Group section, select User Group.
d. In the Permission Details section, scroll down to System Visibility, and then click Add All
Workstations.
e. Click Save.
When your user, User Joe, logs in to Workflow, he will see only the displays that were configured to be
visible to him.
In a workflow subprocess, you use two call method activities to perform this task. You can create
expressions or bind properties for many of these properties, depending on your workflow requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
c. In the Location field, click the ellipsis button, and then select an equipment location.
d. In the S95 ID field, enter a name or expression, or bind a property or parameter to the
method.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
7. Double-click IProductionRuntime to display the list of available call methods.
Note:
If you selected the Required Class check box on the Work Data tab of the associated work
process segment, then go to step 8. If not, go to step 9.
a. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
9. Click WriteWorkData.
b. Click Add classes of work data properties, and then select a work data class.
The properties for the selected work data class appear.
c. To change properties, click Remove classes of work data properties, and then select a
different work data class.
d. Click Select all or select the check box of a specific property, and then click Finish. Each
property you select appears as an input parameter on the activity configuration panel.
e. For each property, enter a new value or expression, or bind a property or parameter to the
method.
f. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
g. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
Workflow Full User Guide | 3 - Tutorials | 218
Configure forms to view during run time after they have been completed or
acquired
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
You can view completed or acquired forms in the Task List if they are configured to support this.
To view... Go to step...
Note:
You cannot submit a form that is loaded in this state.
a. From the Document Tree FormBase, select a user interface element that you want to view in
the Task List.
b. From the Properties tab, click the IsReadOnly check box, and then from the drop-down
arrow, select Expression. The Expression dialog box appears.
c. Click the Expression Variables tab.
d. Expand Controls, expand FormBase, and then double-click IsReloaded to add it to the
expression field.
13. Save the form or user display.
14. You can view forms in several ways. From the Task List of a running workflow:
◦ Click the Task History tab, and then click the Input button. Recently completed task
information is shown. To view previously run forms, from the Form drop-down menu, select
a form.
◦ Click the Tasks tab, and then from the Task Steps list, select a previously completed step of
a running task.
◦ You can view a currently running form that has been acquired by someone else.
Note:
A completed task cannot be re-executed; therefore, the Submit and Cancel buttons are not
available.
1. In the navigator, click Proficy System > Proficy System > Databases > Database Statement.
2. Click Add Statement.
3. In the Name and Description fields, enter a name and description for the resource.
4. In the Displays panel, click Database Editor.
5. Click the Designer tab.
6. From the Statement Type drop-down list, select one of the following actions for a statement.
Workflow Full User Guide | 3 - Tutorials | 220
Select... To...
Query select
Note:
The parameters must match those used in the statement string.
11. To remove a parameter, in the data grid, select a row, and then click Delete.
12. Click Save.
13. To test the statement:
b. In the Inputs section, in the Parameter Value field, enter a value for each parameter.
d. Select a database connection to run the statement against, and then click OK.
CAUTION:
Statements are executed against a specified connection, which may result in loss of
data.
14. To execute a statement, open a workflow, and then insert and configure a Call Method activity.
15. From the call method activity configuration panel:
Workflow Full User Guide | 3 - Tutorials | 221
c. In the Statement section, click Browse next to the Use Existing radio button.
The Universal Browser appears.
e. On the call method activity configuration panel, in the Connection field, click the ellipsis
button.
The Universal Browser appears.
g. To bind the connection to a workflow or subprocess property, click the drop-down arrow, and
then select Bind.
h. From the Call Method activity panel, in the Inputs section, you can configure any required
input parameters.
Note:
The Statement field is read only.
i. Click Save.
16. Optional: You can also execute a procedure from WPF and Silverlight forms by invoking a server
method. For more information see Bind a return value to a DataGrid using from server methods.
Important:
• You must exit all instances of Workflow that are located on the server that you are working
on.
• You must stop all running workflows on your system before creating a new server instance
and corresponding services.
• For each server instance, use a unique server name (see step 2b) and port number (see
step 2f).
You can configure multiple servers on a single machine for two main reasons.
• If your SOAServer must run on a 32-bit system and is approaching 3 GB of memory usage, then you
can move workflows or service providers to a separate server instance to reduce memory usage on
the SOAServer.
• If custom service providers are unstable and you must restart SOAServer frequently, you can move
customer service providers to separate server instances.
a. On the server machine, On the server machine, click Start > All Programs > General Electric
> Workflow > Configuration > Configure Server.
b. In the Name field, enter a name for the new server instance, such as WorkflowServer.
Note:
We recommend that you use a 64-bit system unless your service provider requires
32-bit.
Workflow Full User Guide | 3 - Tutorials | 223
Note:
For the IP Address field: Peer servers will contact this server instance at the
specified IP address. If the specified address is 255.255.255.255, then the address
will be determined at server start as the first IPv4 address found in the DNS records
for the hosting machine's host name. If the address is incorrect, then an appropriate
address should be specified here.
g. Click Save.
The following service has now been created: Proficy Server - Workflow Server.
h. Click Back.
i. In the Name field, enter a new name for SOAServer, such as UserServer32.
m. In the Port field, enter the port number for the server instance. This value must be unique if
multiple server instances are run on the same machine.
n. Click Save.
Important:
After saving the entered data, port numbers are validated to ensure that the same
one is not used more than once. To find a new port number, enter a number that is
close to the existing one. If a port is already in use, an error will occur. You are then
required to return to the entry fields and enter all data again.
The following service has now been created: Proficy Server - UserServer32.
3. Move service providers to the new server instances using the Configure Site tool.
Workflow Full User Guide | 3 - Tutorials | 224
a. On the server computer, click Start > All Programs > General Electric > Workflow >
Configuration > Configure Site.
The Configure Site tool appears.
b. In the Application Server Instances and Enabled Product Options pane, select the service
provider from SOAServer that you want to transfer to the new instances, and then drag and
drop it below the new host servers, WorkflowServer and UserServer32. Repeat this process
until all service providers have been moved.
c. Click Save.
You can use the New Session button to initiate a new Workflow instance, as well as navigate between
multiple instances using the session drop-down list.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
User Interface
User Interface
This document is a general guide to the layout of Workflow.
Overview
The diagram displays the main components of Workflow. The table following descri es these
components.
Workflow Full User Guide | 4 - Orientation | 226
Menu Bar Includes: Help, layout modes, Global Displays, Task List, login/lo
gout, site health status
Resource type list Includes he types of resources that kyou can add a resource to.
Compatible Views Displays options that are compatible with the selected resource.
Menu Bar
The Menu Bar has various components to help you navigate the system.
Login
Icon Description
Help Button
Icon Description
Global Viewer
Icon Description
Icon Description
Frame Layout
When you select a particular icon, you change the layout of your operating environment.
Icon Description
Icon Description
Important:
A user's ability to connect to the server al
so depends on security permissions. For
more information about security features,
see Workflow Security. Security.
Icon Description
Models
In Workflow, models are used to define and organize system and application information. A model is
a representation of a physical structure or conceptual idea and is composed of resources that have
hierarchical or other relationships between them. Rules or schemas outlining resource nesting, order,
number, and requirement define the structure of a model.
Production and manufacturing models are used to represent your production or manufacturing
organization and operation. Based on the industry standard ISA-95, these models define basic structure
rules and object relationships.
Production models use properties that can define classes, definitions, and specifications. When you
create your production or manufacturing structure and resource relationships, the properties, classes,
definitions, and specifications are used to define your processes and can be inherited by another resource
as a result of direct associations.
Workflow Full User Guide | 4 - Orientation | 230
Note:
You can create up to 5000 resources for each model, such as 5000 material definitions, 5000
users, and 5000 work definitions.
Navigator
The navigator allows you to navigate models to target resources.
Using the navigator, you can add, delete, duplicate, modify, and browse resources within Workflow.
Universal Browser
The Universal Browser is a stand-alone version of the navigator that appears when selecting a specific
sequence of options. You select resources that are used in the configuration of other resources.
Display Panel
Workflow uses displays to organize editors and resource information into relevant groupings that make
it easy to select, view, and configure resources. You can view and configure model resources within
Workflow.
If you are working in a layout that exposes the Displays panel, you can maximize your working area by
clicking the toggle arrow at the top of the panel, which alternately collapses or expands the panel with
each click. In the collapsed mode, the panel appears as a thin vertical bar. Clicking on the bar causes the
Displays panel to open in pop-up mode, from which you can select a different display. After selecting a
new display, moving your cursor off the pop-up panel collapses it again.
Note:
The pop-up version of the panel does not allow you to choose between compatible or all displays.
If you need to do so, you must click the toggle arrow to expand the full panel.
Displays
The following table describes the icons associated with displays:
Icon Description
Compatible Views
Displays are organized by operational function, and are available as a compatible view when you select
an appropriate resource. This organization makes it easier for you to remember where you are within the
model framework.
When you navigate to a resource, you are automatically shown the compatible displays of the resource
you are viewing. If you navigate to a resource that does not have a compatible display, you cannot work
with that resource. If you want to access a specific display, you must have added a resource to the folder
that it applies to. Then, the display is enabled to further select, view, or configure a resource.
Note:
The enabled displays available depend on both Workflow and any corresponding modules or
Workflow compatible products you have installed. If a new product is installed but does not
appear in the available views, close and re-open the Workflow client and check again.
Compatible Resources
The following table describes the icons associated with resources:
Compatible Views
The following table describes the icons associated with views:
Icon Indicator
Icon Indicator
Editors
The editors allow you to design and develop all aspects involved in your production process.
Each model relates to specific resources that provide you access to an editor. When you select a resource
related to a model, you use an editor to configure and modify it.
Resources in Workflow are organized by model; a model is a collection of related resources. Some editors
work with all editable resources in a model, and some editors work with editable resources across all
models. If a resource is read-only, there is no editor associated with it. Some resources have multiple
editors that can configure different aspects of a resource. For example, an equipment resource's basic
properties can be edited using the S95 Model Editor, and its security settings can be edited using the
Security Editor.
To locate an editor for a specific resource, click the resource in the navigator. The icon for the applicable
editor in the solution panel turns green.
Feedback Zone
The Feedback Zone is a tool that displays error and informational messages about the currently executing
process or the operation last performed. Various components that are hosted within Workflow can also
post messages about the results of operations and tasks in the Feedback Zone.
The Feedback Zone is a dynamically hidden pane at the bottom of the Workflow client workspace.
You can open the Feedback Zone to view and/or clear messages. Different types of messages are
displayed within the Feedback Zone, including confirmations, information, warnings, errors and debugging
information.
The Feedback Zone also provides you with status information about the currently executing or the
last performed operation. Various components that are hosted within Workflow client can post
messages about the results of operations and tasks in the Feedback Zone. When a new error is posted
to the Feedback Zone, you are notified by an animated Error box in the status bar. Additional detailed
information is stored in log files within the application's directory structure for redundancy and history.
Resources
Resources
In Workflow, a resource is a component of a model. A resource represents a real world entity or a physical
item. To model your production organization, you define and apply meaningful properties to resources,
providing a framework to describe your assets and processes.
Directory of Resources
The Directory of Resources (DOR) provides a distributed repository of all the resources that are created
in Workflow. These resources include such things as customized user displays, alarms, reports, and data
items within the server namespace. The DOR provides a directory of this information and the services that
can be used to access the information.
There are two types of information published in the directory: standard system registrations and user
published content. User published content provides complete programming examples of providers and
consumers that publish information to the directory. For example, user published content includes the
content of projects, data sources, events, and the equipment model.
AD LDS is capable of running as a service on computers running Microsoft Windows Server 2003. AD
LDS shares its code base with Active Directory and provides the same functionality as Active Directory,
including an identical API, but does not require the creation of domains or domain controllers.
Like Active Directory, AD LDS provides a Data Store, which is a hierarchical data store for storage of
directory data, a Directory Service with an LDAP Directory Service Interface. Unlike Active Directory,
Workflow Full User Guide | 4 - Orientation | 234
however, multiple AD LDS instances can be run on the same server, with each instance having its own
applications making use of the specific AD LDS directory service instance.
IDirectorySearch
IDirectorySearch allows you to search the Directory of Resources for a set of resources based on a search
query, or for a list of resources based on a resource class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
Basic Search
To... Click...
Related information
Searching for Resources (on page 234)
Advanced Search
With advanced search, you can quickly locate any resource that exists in your project by constructing
search expressions. You create expressions using classifications, which consist of a model and an
attribute or a property that is defined within that model.
Search Attributes
The search panel for the advanced search option has the following attributes:
Note:
If you include a text criterion in your search, the results match anything that includes the specified
text as though it was a *<text>* wildcard search. For example, if you add a text expression of
'1' to your search, any item with a '1' anywhere in its name (or description, if you search on that
attribute) is shown as a search result.
Workflow Full User Guide | 4 - Orientation | 236
Filter Text System-defined alphanumeric Enter the text you want to filter
string (A-Z, a-z, 0-9) by.
Note:
Filtering is case sensi
tive.
Search Results
The results of your search are displayed in the results panel of the Search tab when you execute the
search.
Workflow Full User Guide | 4 - Orientation | 238
Tip:
You can change the filtering criteria and click the Fetch Results button as often as needed to
improve search results.
Expression Editor
Expression Editor
Expressions combine or manipulate one or more pieces of data into a new piece of data using
mathematical or boolean logic, as well as a set of built-in functions; therefore, they must follow the
standard algebraic rules for order of operations.
You can build simple or complex expressions. They are user-defined and consist of one or more of the
following components:
• Functions
• Operators
• Variables
• Literals
The following table describes the general attributes that are available in all expression editor dialog boxes:
Test Expression dialog box N/A Click the Test button to open this
dialog box. Click Evaluate to eval
uate the expression. Or, if you
use a predefined variable as part
of your expression, enter the val
ue here.
Workflow Full User Guide | 4 - Orientation | 240
Note:
The property you are creating an expression for and its data type are displayed in the Expression
Editor in the upper left and upper right, respectively.
Expression Functions
A function performs a calculation between values in order to produce another value. When functions are
used in an expression, they aid in the expression's evaluation.
There are many function types that can be used when developing expressions. For more information, see:
• Expression Functions:
◦ Math
◦ Conversion
◦ Logical
◦ Text
◦ Date
◦ Time Span
Examples
• To check if the difference between two variables has exceeded a limit of 100:
◦ ABS(a – b) > 100
Workflow Full User Guide | 4 - Orientation | 241
• Pythagorean theorem:
◦ SQRT(POWER(a, 2) + POWER(b, 2)) > c
Related reference
Math Functions in Expressions (on page 241)
Math
The following information describes the functions available for building expressions.
This function uses a date, time, or numeric value and returns a formatted string representing that value
according to a specified style string.
Conversion
The following information describes the functions available for building expressions.
Logical
The following information describes the functions available for building expressions.
Note:
This function
accepts any
type for its sec
ond and third
parameters, as
long as they
Workflow Full User Guide | 4 - Orientation | 245
The following information describes the functions available for building expressions.
Tip:
StringLength
Description
Format
StringLength(string)
LeftSubstring
Description
Format
LeftSubstring(string, nCount)
Workflow Full User Guide | 4 - Orientation | 246
RightSubstring
Description
Format
RightSubstring(string, nCount)
Substring
Description
Returns a substring of a specified length starting at the first specified character of a string.
Format
Substitute
Description
Replaces all instances of one substring with another in a specified string, and returns the
result as a string.
Format
FindString
Description
Searches a string (from left to right) to find the first occurrence of a given substring. Returns
(Int 32) the character location of the first occurrence of the substring in the searched string
(one-based index). Returns zero if the substring is not found.
Format
ContainsString
Description
Determines whether a substring is present within a specified string, and returns a boolean
result.
Format
InsertString
Description
Inserts the given text into a string at a specified position, and returns the result as a string.
Format
RemoveString
Description
Removes a portion of text from a string, and returns the result as a string.
Format
IsStringEqual
Description
Compares the text of two strings to determine if they are equal, and returns a boolean result.
Format
ApplyMask
Description
Workflow Full User Guide | 4 - Orientation | 250
Tests a string to determine if it matches a specified pattern, and returns a boolean result.
For more information, see Apply Mask Function.
Format
ApplyMask(string, mask)
ToLower
Description
Converts all uppercase letters in a text string to lowercase, and returns the result as a string.
Format
ToLower(string)
ToUpper
Description
Converts all lowercase letters in a text string to uppercase, and returns the result as a string.
Format
ToUpper(string)
TrimWhitespace
Description
Removes all occurrences of white space characters from the beginning and end of a string,
and returns the result as a string.
Workflow Full User Guide | 4 - Orientation | 251
Format
TrimWhitespace(string)
Split
Description
Format
The mask is applied to a string on a character by character basis so that each character in the string is
compared to its corresponding character in the mask, ensuring it is the correct type of character for that
position, such as a digit, a letter, or a specific character, and so on. If the mask character used is specified
as 'required', the character in the input string must be present and the character type must correspond to
the mask character. If the mask character used is specified as 'optional', the character in the input string is
valid against the mask if it is the expected character type or if it is left blank. A character is considered to
be blank if it is a space (' ') or an underscore ('_').
Tip:
You can use this feature
on the following charac
ters only: 0, 9, #, L, ?, &, C,
A, a, <, >, |, or \
Workflow Full User Guide | 4 - Orientation | 253
* Control characters include all non-printing and formatting characters, such as line feeds and carriage
returns.
Related reference
Text Functions in Expressions (on page 245)
The following information describes the functions available for building expressions.
Tip:
DATE
Description
Returns a date value representing a specified year, month, day, hour, minute, or second.
The default value for date/time is always associated with the current time zone, unless a
time zone is specified using a different function in the expression. Any actions performed in
the same expression using this resultant value uses the current or specified time zone for
evaluation.
Note:
If this function is used as the return value of an expression, the DateTime will be in
universal time (UTC).
Workflow Full User Guide | 4 - Orientation | 254
Format
Example
DATE(2008,10,31,11,59,59)
DATE(2008,10,31)
DATE(2008,10,31,11,59,59,"MST")
CurrentDateTime
Description
Returns the current date and time. The default value for date/time is always associated
with the current time zone, unless a time zone is specified using a different function in the
expression. Any actions performed in the same expression using this resultant value uses
the current or specified time zone for evaluation.
To work with UTC values, you can use the UTC time zone. You can do this by specifying
it in a DateTime function, or by converting the DateTime value to the UTC time zone.
Workflow Full User Guide | 4 - Orientation | 255
Note:
If this function is used as the return value of an expression, the DateTime will be in
universal time (UTC).
Format
CurrentDateTime([timezone])
DateTimeCompare
Description
Compares two Date-Time values and returns an indication of their relative values; that is, an
integer that indicates whether the first instance is earlier than, the same as, or later than the
second instance.
Format
DateTimeCompare(dateTime1, dateTime2)
Example
DateTimeCompare(DATE(1999,10,31,11,59,59) , DATE(1999,10,31,11,59,59) ) = 0
Today
Description
Returns the current date as a date and time value. The default value for date/time is always
associated with the current time zone, unless a time zone is specified using a different
function in the expression. Any actions performed in the same expression using this
resultant value uses the current or specified time zone for evaluation. The time part of the
day is zero (midnight).
Note:
If this function is used as the return value of an expression, the DateTime will be in
universal time (UTC).
Format
TODAY([timezone])
Year
Description
Tip:
The DateTime input parameter takes into account the associated time zone of the
input during evaluation.
Format
YEAR(date)
Month
Description
Returns a number between 1 and 12 (inclusive) representing the month of the year,
corresponding to the specified date.
Tip:
The DateTime input parameter takes into account the associated time zone of the
input during evaluation.
Format
MONTH(date)
Day
Description
Returns a number between 1 and 31 (inclusive) representing the day of the month,
corresponding to the specified date.
Format
DAY(date)
Hour
Description
Returns a number between 0 and 23 (inclusive) representing the hour of the day.
Example
Format
HOUR(date)
Workflow Full User Guide | 4 - Orientation | 258
Minute
Description
Returns a number between 0 and 59 (inclusive) representing the minute of the hour.
Tip:
The DateTime input parameter takes into account the associated time zone of the
input during evaluation.
Format
MINUTES(date)
Second
Description
Returns a number between 0 and 59 (inclusive) representing the second of the minute.
Format
SECOND(date)
DatePart
Description
Returns an integer value containing the specified component of a given DateTime value,
such as the month or year.
Format
Workflow Full User Guide | 4 - Orientation | 259
• 0 or “yyyy” = year
• 1 or “q” = quarter
• 2 or “m” = month
• 3 or “y” = day of
year (1 to 366)
• 4 or “d” = day of
month (1 to 31)
• 5 or “ww” = week
of year (1 to 53)
• 6 or “w” = day of
Week (1 to 7)
• 7 or “h” = hour
• 8 or “n” = minute
• 9 or “s” = second
• 0 = System set
ting
• 1 = Sunday (de
fault)
• 2 = Monday
• 3 = Tuesday
• 4 = Wednesday
• 5 = Thursday
• 6 = Friday
• 7 = Saturday
Workflow Full User Guide | 4 - Orientation | 260
• 0 = System set
ting
• 1 = week in which
Jan 1 occurs
• 2 = week that has
at least 4 days in
the new year
• 3 = first full week
in the new year
DateOnly
Description
Gets the date component of a DateTime value, with the time zeroed out.
Tip:
The DateTime input parameter takes into account the associated time zone of the
input during evaluation.
Format
DateOnly(date)
ConvertTimeZone
Description
Workflow Full User Guide | 4 - Orientation | 261
Changes the time zone associated with a DateTime value. This function does not change
the specific time being referenced; that is, the universal (UTC) time remains the same. A
DateTime value that is associated with the time zone is returned.
To work with UTC values, you can use the UTC time zone. You can do this by specifying
it in a DateTime function, or by converting the DateTime value to the UTC time zone.
For example, the DateTime function can be expressed as CurrentDateTime("UTC") or as
ConvertTimeZone({dateTimeVariable}, "UTC".
Example
If 3:00 p.m. MST is converted to EST, then the result displayed is 5:00 p.m. EST. The time
does not change, but it is associated with a different time zone.
Format
ConvertTimeZone(date, timeZoneID)
SpecifyTimeZone
Description
Specifies the time zone of a time value. A DateTime value that is associated with the local
time is returned.
Example
If 3:00 p.m. MST is specified as EST, then the result is 3:00 p.m. EST. The time of the output
value is the same at the input value.
Format
SpecifyTimeZone(date, timeZoneID)
GetTimeZone
Description
Gets the time zone the date is associated with. A string value that represents the associated
time zone is returned.
Format
GetTimeZone(date)
Related reference
Conversion Functions in Expressions (on page 243)
Time Zone Abbreviations for Date and Time Functions (on page 262)
If no time zone is specified when you develop your workflows, the time is set to the local computer that
executes the workflow. The following table describes the accepted time zone abbreviations and their
corresponding time zones.
Note:
Not all time zones are listed. If a time zone is not listed, you can use the full time zone ID that is
displayed in the following registry:
Workflow Full User Guide | 4 - Orientation | 263
ARABIA Arabian Standard Time Arabian Standard Time (GMT+04:00) Abu Dhabi,
Muscat
CVT Cape Verde Time Cape Verde Standard (GMT-01:00) Cape Verde
Time Is.
FJT Fiji Standard Time Fiji Standard Time (GMT+12:00) Fiji, Kam
chatka, Marshall Is.
GMT Greenwich Mean Time GMT Standard Time (GMT) Greenwich Mean
Time : Dublin, Edinburgh,
Lisbon, London
NAEST North Asia East Stan North Asia East Stan (GMT+08:00) Irkutsk,
dard Time dard Time Ulaan Bataar
NCAST North Central Asia Stan North Central Asia Stan (GMT+06:00) Almaty,
dard Time dard Time Novosibirsk
PSTM Pacific Standard Time Pacific Standard Time (GMT-08:00) Tijuana, Ba
(Mexico) (Mexico) ja California
SLST Sri Lanka Standard Time Sri Lanka Standard Time (GMT+05:30) Sri
Jayawardenepura
WCAST Western Central Africa W. Central Africa Stan (GMT+01:00) West Cen
Standard Time dard Time tral Africa
The following information describes the functions available for building expressions.
Tip:
TimeOfDay
Description
Gets the time components of a DateTime value. Only the time part of the date is associated
with the time zone.
Format
TimeOfDay(date)
Time
Description
Creates a time value based on time components. The return value is a time span value.
Format
FromDays
Description
Format
FromDays(days)
FromHours
Description
Format
FromHours(hours)
FromMinutes
Description
Format
FromMinutes(minutes)
FromSeconds
Description
Format
FromSeconds(seconds)
FromMilliseconds
Description
Format
FromMilliseconds(milliseconds)
Days
Description
Format
Days(timespan)
Hours
Description
Format
Hours(timespan)
Workflow Full User Guide | 4 - Orientation | 272
Minutes
Description
Format
Minutes(timespan)
Seconds
Description
Format
Seconds(timespan)
Milliseconds
Description
Format
Milliseconds(timespan)
TotalDays
Description
Format
TotalDays(timespan)
TotalHours
Description
Format
TotalHours(timespan)
TotalMinutes
Description
Format
TotalMinutes(timespan)
TotalSeconds
Description
Format
TotalSeconds(timespan)
TotalMilliseconds
Description
Format
TotalMilliseconds(timespan)
Duration
Description
Format
Duration(timespan)
Example
Time(0,-5,0,0,0) represents -5 hours. Using Duration, you get a time span that represents +5
hours:
• Duration(Time(0,-5,0,0,0)) = Time(0,5,0,0,0)
• Duration(FromHours(-5)) = FromHours(5)
Workflow Full User Guide | 4 - Orientation | 275
Expression Operators
An operator performs an operation in an expression on one or more elements that hold value.
The following table describes the operators that can be used to build your expressions:
(non-numeric
& non-boolean)
date+time=date
time+time=time
- subtract/negate A - B or -A date-date=time
date-date=date
time-time=time
-time=time
date==date
time==time
date!=date
time!=time
date<date
time<time
Workflow Full User Guide | 4 - Orientation | 276
(non-numeric
& non-boolean)
date<=date
time<=time
date>date
time>time
date>=date
time>=time
|| logical OR A || B N/A
* Comparison operators are not case sensitive. For case sensitive comparisons, use the function
IsStringEqual.
Expression Variables
Variables are previously configured components in Workflow models that can be included in an
expression for evaluation.
The variables available in the Expression Editor are dependent on prior configurations.
String Literals
String literals consists of zero or more characters surrounded by quotation marks. If a string contains
quotation marks, these must be escaped in order for the expression to parse.
Escape Sequence
Important:
Projects created in a version earlier than v1.2 that use \ in a string literal in an expression must be
changed to \\.
Numeric Literals
Numeric literals represent numbers, including positive and negative integers (for example, 1024) and
decimal numbers (for example, 1.9867543).
• [-] m. dddddd E+ xx
• [-] m. dddddd E- xx
• [-] m. dddddd e+ xx
• [-] m. dddddd e- xx
Workflow Full User Guide | 4 - Orientation | 278
One or more nonzero digits (m) precede the decimal separator ("."). A minus sign ("-") can precede m. The
Type performing the conversion determines the number of decimal places (dddddd) in the string, and
maximum and minimum values for xx and m. The exponent (+ / - xx) consists of either a plus or minus
sign followed by at least one digit.
Boolean Literals
Boolean literals represent logical value, and can be either True or False. The expression language is not
case-sensitive and any combination of upper- and lowercase letters are valid.
Chapter 5. Configure Your Environment
User Password Configuration
Workflow User Password Configuration
Workflow provides the ability for individual users to change their login password at any time. This ability
applies only to Workflow users; it does not apply to Windows users.
Your Administrator must enable the change password capability in order for you to change your
password.
1. Launch Workflow or, if you are already logged in, log out.
2. On the main Workflow screen, click Log in to Workflow.
The Workflow Login dialog box appears.
3. Click Change Password.
The Proficy Workflow Change Password dialog box appears.
4. In the User Name field, enter the user name you use to log in to Workflow.
Workflow Full User Guide | 5 - Configure Your Environment | 280
If the password does not match what you typed in the New Password field, the OK button is not
enabled.
8. Click OK.
The following table describes the information available for changing your password.
Computer Management
Computer Management
Workflow access and layout features allow you to configure lockdown state, default startup options, and
user overrides for individual computers, all computers in your system, or a subset of the computers in
your system.
Lockdown mode and equipment linking are not available for global default configurations.
You can configure access and layouts for all users of a workstation and you can override certain features
for one or more specific users.
Global computer configurations allow you to customize, from a single location, the way Workflow opens
and appears on all computers in your system or on a subset of computers. That is, you are not required to
set the computer layout and startup display for each individual computer.
Overrides for individual users can be defined on a global basis; that is, if you configure an override for a
specific user, that user can log on to any computer in the system that is part of the global configuration
and see the layout and startup display configured for him or her.
Global computer settings take precedence over individual computer settings for all computers that
are included in a global default configuration. If you do not want a specific computer to use the default
configuration, you can either exclude it during the initial default set up or you can override the default
configuration.
If a computer is included in a global default configuration, any settings you configured specifically for
that computer are overridden by the global default settings. If you do not want a specific computer to use
Workflow Full User Guide | 5 - Configure Your Environment | 282
the default configuration, you can either exclude it during the initial default set up or you can override the
default configuration.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Edit Description
You can change the description of this resource.
Description User-defined up to 255 char Provides more information about a resource that a user
acters may find helpful.
Details Tab
The following table describes the available options.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. In the Displays panel, select the Default Computer Editor.
3. Click the Details tab.
4. Do one of the following:
◦ To configure all computers in your system to use the default configuration, click Select All.
◦ To configure individual computers to use the default startup display, select the check box for
the specific computer(s).
◦ To stop using the default configuration, click Clear All.
5. Click Save.
Workflow Full User Guide | 5 - Configure Your Environment | 285
Startup Options
The client layout configuration allows you to customize the way Workflow opens and appears on a
specific computer, on all computers in your system, or on a subset of those computers.
Client layouts, lockout mode, and equipment associations are configured for all users that log on to
individual workstations. Layouts, startup objects, and startup displays and solutions are configured for all
users that log on to any computer that is included in a global default configuration.
Lockdown Mode
When lockdown is enabled, you cannot access anything outside of the Workflow client, but may log in or
log out. When lockdown is disabled, you can access other programs, minimize the client, and so on.
Lockdown mode is not available when you use global default configurations.
Note:
• If any workstation keyboards in your facility have multimedia keys—for example, Internet or
e-mail launch—these keyboard buttons may disable certain key macros or allow users to
circumvent Workflow security measures. It is recommended that you reprogram or disable
the software that operates those buttons. Refer to your computer's documentation for
instructions on disabling these buttons.
• If any computers in your facility have lockdown mode enabled, you must ensure that web
displays that are available to your users do not contain any links. This will help to prevent
circumvention of your Workflow security measures.
• Because the online help contains external links, you cannot open it when the computer is
in lockdown mode.
Equipment Link
If there is a piece of equipment associated with the selected computer workstation, you can create a link
to that equipment resource.
Equipment linking is not available when you use global default configurations.
Workflow Full User Guide | 5 - Configure Your Environment | 287
When creating the layout configuration for a workstation, including any user overrides, the following rules
apply:
• You can select the navigator and/or object views for the user, as well as having specific navigation,
startup object, and startup displays/solutions specified.
• If the navigator is not selected, you must specify a startup object, and if the solution panel is not
selected, you must specify startup solution and display objects; otherwise, the configuration is
considered invalid and an error is reported.
• If you specify a startup solution, you must also specify a startup display.
If you do not want a specific computer to use the default configuration, you can either exclude it during
the initial default set up or you can override the default configuration.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Note:
To remove the equipment link, click Clear Equipment Link.
7. Click Save.
8. Select the equipment resource you want to link to, and then click OK.
Tip:
To remove the equipment link, click Clear Equipment Link.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Workflow Full User Guide | 5 - Configure Your Environment | 289
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Note:
If you clear these check boxes, you must define a startup solution and display.
b. Click Change Startup Object, and then select the object to use as the startup object.
The name and path of the startup object appear.
b. Click Change Startup Solution, and then select the solution and display to use when the
Workflow starts up.
The names of the startup solution and display appear.
8. Click Save.
Workflow Full User Guide | 5 - Configure Your Environment | 290
Client Configuration
The Client Configuration tab on the Computer Editor allows you to enable or disable lockdown mode, to
define the default startup options for a specific workstation, and to link a piece of equipment to a specific
workstation.
On the Default Computer Editor, the Client Configuration tab allows you to define the default startup
options for a all of the computers in your system or a subset of those computers.
Note:
This tab is available in the Computer Editor only if the selected computer is configured to override
the global configuration settings.
An information message is posted in the Feedback Zone any time a change is detected in the
configuration settings of the functions.
Lockdown Mode
The following table describes the available options.
Equipment Link
The following table describes the available options.
Layout Configuration: Show Solu User-defined Select this check box to specify
tion Pane whether the Solution Panel is dis
played on the selected worksta
tion when Workflow starts up.
Layout Configuration: Show navi User-defined Select this check box to speci
gator fy whether the navigator is dis
played on the selected worksta
tion when Workflow starts up.
Startup Object: Navigate Users User-defined Select this check box to enable
on Login the Change Startup Object link.
Default Startup Options: Users User-defined Select this check box to enable
will be started in a specific solu the Change Startup Solution link.
tion/display
Computer Customization
User overrides allow you to customize the way that the Workflow client opens and appears on a specific
computer for a specific user. Client layouts, startup objects, and startup displays can be customized
for individual users that log on to a specific workstation. Global user overrides allow you to customize
the way that the Workflow client opens and appears on any computer that the selected user logs into,
regardless of whether the computer is included in a default configuration.
Overrides that are configured using the Computer Editor are specific to the selected computer. Overrides
that are configured using the Default Computer Editor are global; that is, the specified user can log on to
any computer that is included in a global default configuration and the startup options defined for that
user will be displayed.
You can specify the startup object in the navigator, as well as the solution and display that are shown at
startup, regardless of the user context saved during the previous user session.
User overrides replace any default settings when the specific user logs onto this workstation. User
overrides replace any default settings when the specific user logs onto any computer using any computer
in the system, regardless of whether it is included in a default configuration.
When creating the layout configuration for a workstation, including any user overrides, the following rules
apply:
• You can select the navigator and/or object views for the user, as well as having specific navigation,
startup object, and startup displays/solutions specified.
• If the navigator is not selected, you must specify a startup object, and if the solution panel is not
selected, you must specify startup solution and display objects; otherwise, the configuration is
considered invalid and an error is reported.
• If you specify a startup solution, you must also specify a startup display.
If you do not want a specific computer to use the default configuration, you can either exclude it during
the initial default set up or you can override the default configuration.
During startup, after the user has been authenticated, the user's context is loaded, based on the following
rules:
• If a layout is configured for a particular user; that is, user overrides are configured, that layout is
used to determine the context that is loaded. Otherwise, the default layout context for a specific
computer is used. If global default configurations are used, overrides defined for a specific user
take precedence.
Workflow Full User Guide | 5 - Configure Your Environment | 293
• If a startup object has been specified, as well as the startup solution and display, then no user
context from the previous session is loaded. The context is defined by the configured layout
settings.
• Workflow tries to load the context from the previous session on this workstation, and then checks
if the startup object or solution and display were specified in the layout. If any of these options
were specified, then they are set as part of the user context to be restored.
• If there is no context associated with a particular workstation, then the last saved user context is
loaded and checked against the layout settings.
• When a user logs in for the first time, no context is loaded. However, the client still checks the
layout configuration to set the proper layout, startup navigation, solution, and display objects.
Layout Buttons
The layout buttons are located on the toolbar, and are available according to the layout configured for
the specific workstation or according to the user overrides for the individual who is logged in on that
workstation.
Note:
A layout for a specific workstation can also be based on default settings if the workstation is
included in a global default configuration.
If you are working in a layout that exposes the Displays panel, you can maximize your working area by
clicking the toggle arrow at the top of the panel, which alternately collapses or expands the panel with
each click. In the collapsed mode, the panel appears as a thin vertical bar. Clicking on the bar causes the
Displays panel to open in pop-up mode, from which you can select a different display. After selecting a
new display, moving your cursor off the pop-up panel collapses it again.
Note:
The pop-up version of the panel does not allow you to choose between compatible or all displays.
If you need to do so, you must click the toggle arrow to expand the full panel.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Workflow Full User Guide | 5 - Configure Your Environment | 294
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Note:
If you clear these check boxes, you must define a startup solution and display.
b. Click Change Startup Solution, and then select the solution and display to use when the
Workflow starts up.
The names of the startup solution and display appear.
9. Click Save.
Note:
This tab is available in the Computer Editor only if the selected computer is configured to override
the global configuration settings.
Overrides that are configured using the Computer Editor are specific to the selected computer. Overrides
that are configured using the Default Computer Editor are global; that is, the specified user can log on to
any computer that is included in a global default configuration and the startup options defined for that
user will be displayed.
The following tables describe the information available on the UserOverrides tab, where you can configure
a custom client layout for individual users.
Note:
When a user is removed
from the User Overrides
list, the default layout
configured for the select
ed computer will be dis
played the next time this
user logs on to that com
puter.
Layout Configuration
These options specify the client panels that will be visible on this computer when the selected user logs
on.
Workflow Full User Guide | 5 - Configure Your Environment | 296
Options Description
Startup Object
These options specify the object that this computer will start at when the selected user logs on.
Options Description
Note:
You must select this
check box and define
a startup object if the
Show Solution Panel
check box is cleared.
Workflow Full User Guide | 5 - Configure Your Environment | 297
Options Description
Note:
You must select a start
up object if the Show So
lution Panel check box is
cleared.
Startup Display/Solution
These options specify the display and solution that will be displayed on this computer when the selected
user logs on.
Options Description
Users will be started in a solu Select this check box to start the
tion/display user with a specific display and
solution on this computer.
Note:
You must select this
check box and a start
up display/solution if the
Show navigator check
box is cleared.
Options Description
Note:
You must select a start
up display/solution if the
Show Navigator check
box is cleared.
Controls
Note:
This functionality is not applicable to the Mobile-sized Task List.
All controls of the Task List are visible unless configured otherwise. If the check box next to a control is
cleared, the control will not be available during run time.
Tip:
All changes to the My Task List Editor section must be saved before you can copy the
configuration to other computers or personnel classes.
Task Step Context Navigator User-defined Provides the ability in real time to
view and navigate all tasks steps
currently running.
Preview
Displays the layout of the My Task List Editor based on the visibility selections. You can view the
selections in either the Horizontal Layout Mode or the Vertical Layout Mode.
Note:
If you are configuring the user interface for the Web Task List, you must use personnel classes.
1. In the navigator, select one of the following paths, and then select the resource that you want to
configure:
◦ Personnel > Classes
◦ Proficy System > Proficy System > Computers
2. In the Displays panel, select My Task List Editor.
3. In the Visible column, clear the check boxes of the controls that you do not want an operator to see
in the Task List during run time.
Tip:
The appearance of the Task List displays in the Preview section. You can view the layout in
either the Horizontal Layout Mode or the Vertical Layout Mode.
4. Click Save.
1. In the navigator, select one of the following paths, and then select the resource whose settings you
want to copy:
◦ Personnel > Classes
◦ Proficy System > Proficy System > Computers
2. In the Displays panel, select My Task List Editor.
3. Optional: In the Visible column, clear the check boxes of the elements that you do not want an
operator to see in the Task List during run time, and then click Save.
4. In the Copy to Other Resources section, click the Copy to button.
The Universal Browser appears.
5. You can copy computer and/or personnel class settings, depending on the type of Task List your
operators are using.
For the Task List:
Note:
If you have both computer and personnel classes configured, the system will default to the
layout configured for personnel classes. You can configure either computer or personnel
classes.
Note:
If you are copying settings for the Web Task List, you must use personnel classes.
User solutions are displayed in the solution panel as separate and distinct solutions. When you create a
user solution, it automatically appears in the solution panel.
Note:
When a context aware resource is selected in the navigator, its compatible views are highlighted
in the Displays panel. You can then select a compatible view or display to begin working with the
resource. For more information, see Display Panel.
When a user solution is created, the Display Editor appears with a series of icons that can be selected to
organize user displays. The selected icon appears beside the user solution name in the solution panel.
Note:
User displays and user solutions must have been added before you can associate them and
configure context awareness. For more information, see:
This section allows the display/solution configuration that you created to be available in the Show
Compatible section of the Displays panel.
8. You can select object types using one of the following approaches:
Note:
Context awareness occurs when you select the specified resource in the navigator. For
example, if you associate a user display with the resource, Type - Equipment Module,
then when an equipment module is selected in the navigator, the user display name in the
solution panel is highlighted green. You can then select the highlighted user display to view
it.
To... Do this...
Select individual object types a. From the Object Types list, select the ob
ject type you want to associate with the
current user display, and then click the
right arrow to add it to the Included Ob
ject Types list. Continue adding object
types, as required.
b. If applicable, add object types to the Ex
cluded Object Types list.
9. Click Save.
Note:
A user display can be as
sociated with only one
user solution, but can be
associated with multiple
object types.
Workflow Full User Guide | 5 - Configure Your Environment | 306
Included Object Types User-defined Lists the object types that the
current user display is associated
with.
Excluded Object Types User-defined Lists the object types that the
current user display cannot be
associated with.
Only included object types are context aware for the current user display. You can exclude object types to
remove subsets of included object types. You can include individual resource types; however, each time a
new resource type is added to the navigator that you want to include in context awareness, you must edit
the user display.
Performance Impacts
®
According to Microsoft , enabling encryption causes a 2-4% performance penalty.
• Valid.
◦ The date and time of the current system must be between the certificate's Valid From and
Valid To properties.
• Issued for server authentication.
• Placed in the certificate store of the local computer.
• The Common Name (CN) in the Subject property of the certificate must be the same as the fully
qualified domain name (FQDN) of the server computer.
Note:
It is not recommended that you use self-signed certificates in a production environment.
For more information about adding a certificate to a computer, see your Windows documentation.
5. Select Computer account, click Next > Finish and then click OK.
6. Expand Certificates (Local Computer) > Personal > Certificates.
7. Right-click Certificates, select All Tasks, and then click Import.
The Certificate Import Wizard appears.
8. Use the Import Wizard to add a certificate to your computer.
9. Close all open windows.
Related reference
SQL Server Certificate Requirements (on page 307)
Note:
®
According to Microsoft , enabling encryption causes a 2-4% performance penalty.
1. From the Start menu, go to All Programs > <Your SQL Server > Configuration Tools > SQL Server
Configuration Manager.
2. Expand SQL Server Network Configuration, right-click Protocols for <Server Instance>, and then
select Properties.
The Protocols for <Instance Name> Properties dialog box appears.
3. Click the Certificate tab, and from the Certificate box drop-down menu, select the certificate that
you want to work with, and then click OK.
4. Click the Flags tab, and in the Force Encryption field, select Yes from the drop-down menu, and
then click OK.
5. To restart the SQL Server service, from the Start menu, point to Administrative Tools, and then
click Services.
Related reference
SQL Server Certificate Requirements (on page 307)
Troubleshooting Certificates
Various issues may occur while enabling SSL encryption.
Workflow Full User Guide | 5 - Configure Your Environment | 309
• DateTime Server Unable to load user-specified certificate. The server will not accept a connection.
You should verify that the certificate is correctly installed. See "Configuring Certificate for Use by
SSL" in Books Online.
• DateTime Server Error: 17182, Severity: 16, State: 1.
• DateTime Server TDSSNIClient initialization failed with error 0x80092004, status code 0x80.
• DateTime Server Error: 17182, Severity: 16, State: 1.
For more information on resolving this issue, review the following websites:
• https://support.microsoft.com/en-ca/kb/928779
• https://thesqldude.com/2011/08/03/sql-server-service-does-not-start-after-enabling-ssl-
encryption/
Certificate Handling
OPC UA Certificate Handling
An initial attempt to connect securely to an OPC UA server from the Workflow server will fail due to
a missing certificate with the error: The OPC UA server does not have any secure endpoints or the
Workflow certificate is not trusted.
A self-signed certificate can be created using the Configure OPC UA tool. Once a certificate is created,
you can make a connection to the OPC UA server. The new certificate is sent to the server as part of its
connection request. The OPC UA server returns its server certificate during the connection exchange.
The OPC UA server accepts the Workflow client certificate but does not initially trust it, placing it into the
OPC UA server’s untrusted or rejected certs folder. On the Workflow server, from the Certificates Trust
List tab, run the Configure OPC UA tool. Select the certificate, and click Trust to trust this certificate.
Workflow Full User Guide | 5 - Configure Your Environment | 310
To complete a secure connection, a manual process to trust the Workflow certificate must be executed on
the OPC UA server.
In order for Workflow to connect securely to an OPC UA server, the Workflow client certificate must be
moved from the server's untrusted or rejected certs folder to the server's trusted folder. Instructions on
how to do this are described in Move Untrusted Workflow Certificates on the OPC UA Server.
Related information
Move Untrusted Workflow Certificates on the OPC UA Server (on page 311)
Once generated, a self-signed Workflow security certificate is untrusted and must be moved to the
trusted store on the OPC UA server. See Move Untrusted Workflow Certificates on the OPC UA Server
for more information. The Workflow security certificate is stored in the C:\ProgramData\Proficy
\OpcUaCertificate\own\certs folder.
1. From the OPC UA server, click Start > All Programs > General Electric > Workflow > Configuration >
Configure OPC UA.
The Configure OPC UA tool appears.
2. Click Generate Self-Signed.
The following actions occur:
◦ Configuration saved.
◦ Created <Workflow certificate name>.
◦ Skipping: Certs do not register with LDS.
Workflow Full User Guide | 5 - Configure Your Environment | 311
Related information
Move Untrusted Workflow Certificates on the OPC UA Server (on page 311)
Moving the Workflow certificates into the trusted certificate folder allows a secure connection between
the OPC UA server and the Workflow server. Some OPC UA servers provide a configuration UI to facilitate
moving certificates, but for other servers, you will need to move the certificates manually.
The OPC UA server %INSTALLDIR% default directory is: C:\Program Files (x86)\Proficy
PROJECTNAME\
Tip:
To determine the filename of the certificate to move, look for the Workflow .der certificate in
the C:\ProgramData\Proficy\OpcUaCertificate\own\certs folder on the Workflow
server. The certificate file name will be prefixed with Workflow and look similar to this: Workflow
[821C3D37F1B91FB6FF87EAA8FA9116B5F4526F51].der
1. From the OPC UA server, in the reject folder, find the cert .der file with the same name without the
Workflow prefix. (e.g., 821C3D37F1B91FB6FF87EAA8FA9116B5F4526F51.der)
2. Move the selected certificate from the %INSTALLDIR%\projects\%PROJECTNAME%\pki
\rejected folder to the %INSTALLDIR%\projects\%PROJECTNAME%\pki\certs\trusted
folder.
Note:
The paths shown are examples. Your OPC UA untrusted and trusted folder paths may vary.
Workflow Full User Guide | 5 - Configure Your Environment | 312
Related information
Modify Server Certificate Folder Location (on page 314)
Registering the Workflow security certificate with GDS makes the certificate trusted by other applications
which are registered in GDS and allows you to add a CA certificate in Workflow.
Other Actions
You can perform the following other actions to the selected certificate from the Certificates Management
tab:
• Click Update Trust List to replace the trust certificates with the ones provided by the GDS.
You can perform the following other actions to the selected certificate from the Certificates Trust List
tab:
• Click View to view information about the certificate in the Certificate Details dialog box.
• Click Add to select a certificate to trust from a folder.
• Click Make Issuer to make a CA certificate untrusted, but still trust the certificate signed by this CA
certificate.
• Click Reject to make the selected certificate untrusted. The certificate is moved to the C:
\ProgramData\Proficy\OpcUaCertificate\pki\certs\rejected folder.
• When a certificate is rejected, you can click Trust, then click Yes in the Trust Certificate dialog box
to make the selected certificate trusted again.
• Click Delete to remove the selected certificate from the C:\ProgramData\Proficy
\OpcUaCertificate\pki\certs\trusted folder.
1. From the OPC UA server, click Start > All Programs > General Electric > Workflow > Configuration >
Configure OPC UA.
The Configure OPC UA tool appears.
2. Click Configure GDS.
The Select Certificate Management Service (GDS) dialog box appears.
3. Enter the following information:
Workflow Full User Guide | 5 - Configure Your Environment | 313
a. Enter an endpoint URL for the GDS server into the Endpoint URL field.
Note:
You can click Search for Endpoints and select from a list of endpoint URLs.
b. Enter a user name for the GDS server in the User Name field.
c. Enter a password for the selected user account in the Password field.
d. Click OK.
A connection is made to the GDS server.
You can now add OPC UA through the Workflow client. See Add an OPC UA Server.
Certificates missing the SAN property are considered to be insecure. If the SAN is missing, Chrome
v58.x and later responds with an error when you attempt to connect. For more information, seehttps://
developers.google.com/web/updates/2017/03/chrome-58-deprecations and access the Remove support
for commonName matching in certificates section.
If Workflow 2.6 is installed on Windows 10 or Windows Server 2016, it generates self-signed certificates
using Powershell 5 New-SelfSignedCertificate cmdlet so a SAN can be specified. Workflow 2.6
installations on older operating systems will continue to generate certificates using the previous method.
These certificates do not have the SAN property.
UaApplicationConfiguration in ProficyServer.exe.config
<UaApplicationConfiguration>
<SecuredApplication xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://opcfoundation.org/UA/2011/03/SecuredApplication.xsd">
<ApplicationCertificate>
<StoreType>Directory</StoreType>
<StorePath>%CommonApplicationData%\Proficy\OpcUaCertificate\own</StorePath>
<SubjectName>CN=Workflow/O=GeneralElectric/DC=localhost</SubjectName>
<ValidationOptions>0</ValidationOptions>
</ApplicationCertificate>
<TrustedCertificateStore>
<StoreType>Directory</StoreType>
<StorePath>%CommonApplicationData%\Proficy\OpcUaCertificate\trusted</StorePath>
<ValidationOptions>0</ValidationOptions>
</TrustedCertificateStore>
<IssuerCertificateStore>
Workflow Full User Guide | 5 - Configure Your Environment | 315
<StoreType>Directory</StoreType>
<StorePath>%CommonApplicationData%\Proficy\OpcUaCertificate\issuers</StorePath>
<ValidationOptions>0</ValidationOptions>
</IssuerCertificateStore>
<RejectedCertificatesStore>
<StoreType>Directory</StoreType>
<StorePath>%CommonApplicationData%\Proficy\OpcUaCertificate\rejected</StorePath>
<ValidationOptions>0</ValidationOptions>
</RejectedCertificatesStore>
</SecuredApplication>
</UaApplicationConfiguration>
To resolve this issue, you will need to change the default port for your Workflow REST services from 8444
to 8847 or provide another port as part of your Workflow server information in Web HMI.
Note:
For Workflow 2.6, the default port for REST services hosted by Proficy Workflow is changed from
8444 to 8447.
Provide the Server Name in the format <WFServer>:<Port>. If no port information is provided, the default
is used.
The REST service port can be changed on the Workflow server using the following steps:
1. Open the file ProficyServer.exe.config and locate the entry for RestHostConfiguration.
2. In the baseAddress attribute, adjust the port the desired value, e.g., for port 8447.
baseAddress="https://localhost:8447/ProficyWebApi.
Note:
All Workflow 2.6 installs will have port 8447 configured using the Workflow SSL certificate.
3. See How to Configure a Port with an SSL Certificate for information about using a different port.
Workflow Full User Guide | 5 - Configure Your Environment | 316
4. Using the Local Machine Certificates snap-in of MMC.exe, locate the SSL certificate you want to
use. This can be a certificate bound to other Workflow ports, such as 8443.
5. View Details to determine its thumbprint.
6. Use the thumbprint as the certhash value in the netsh.exe command below:
netsh.exe http add sslcert ipport=0.0.0.0:<portnumber> certhash=<thumbprint>
appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Chapter 6. Security
Security Overview
Workflow Security
Security configuration and maintenance is performed by Workflow system administrators.
In some companies, access to the production configuration and management environment is available
to everyone. In such an environment, changes to the data files and access to files and applications are
not critical to the process. However, in other companies, these applications and data are critical to the
process and, thus, available only to authorized personnel.
Workflow provides an integrated security program to assist you in protecting your process.
Understanding Security
Your main design goal when developing a Workflow security strategy is to effectively use the Workflow
security configuration.
Workflow simplifies security configuration by abstracting the three main areas that are constantly
changing in a plant or facility. These main areas are:
• people/personnel
• equipment/machinery
• operational hierarchy of the people
New personnel are hired and some retire in an organization. Machinery is added, replaced, and updated.
People are promoted; for example, from being an operator to a supervisor, and so on.
Workflow security accommodates all of these cases using three different constructs.
• People can be configured in groups; for example, Production Group, Maintenance Group.
• Machinery is modeled with the Equipment model using the S95 Model Editor, which defines a plant
in a hierarchical fashion. An Enterprise can have multiple sites and sites can have multiple areas,
and so on.
• An operational hierarchy can be defined as a set of keys that each person can hold. For example,
an Operator can have keys to Start and Stop a workflow. A Supervisor can have additional keys to
Create and Delete a workflow.
Workflow Full User Guide | 6 - Security | 318
The first step in configuring security is to add people (users) to the system, then configure groups, and
then define the key sets. Only an Administrator user can define these three fundamental pieces of security
configuration. An Administrator user is created when Workflow is installed.
After the groups and key sets are defined, security can be applied to any resource in the system. For
example, a group can be granted a key set on a resource such as an Enterprise in the Equipment model.
Any user who belongs to the configured group will then, upon logging in to the Workflow client, have the
rights granted by the key set on the Enterprise.
Using groups minimizes the amount of work needed to create similar users while providing you with
flexibility and power. For example, when a new user comes in the plant, the user can simply be added to
an existing group and will automatically inherit all the rights defined for that group.
In the following example, John, Dave, Tim, and George are all line operators. Their needs are summarized
in the table.
Since each line operator requires access to the same permissions, it is possible to create a group called
Line Operators that provides these privileges. After you create the group, you can assign it to each line
operator, as the following figure shows.
Workflow Full User Guide | 6 - Security | 319
System Protection
There are different levels of security that you can implement to protect your system. On one level, you can
control the security of your machines and buildings, as well as your processes. On another level, you can
implement security for your operating system and your network using firewalls, passwords, and filters.
You can also protect your data from unauthorized changes by restricting access to your system. The
information in this section focuses on the security in Workflow, not your operating system or network.
Logging into Workflow requires a login name and password. Depending on your configuration, this data
can be the same or separate from your Windows® login name and password. For more information on
Windows login, refer to the Windows Users section.
Security is user-based, meaning operators cannot access anything unless you assign access to the
specific areas.
Wokrkflow security is flexible and easy to use, allowing you to assign operator rights, login names, and
passwords. Refer to Users and Groups for more information about configuring your users, groups, and
key sets.
Related information
Windows Domain-Based Security (on page 342)
Security Concepts
Before you restrict access to Workflow features, you need to understand how security works.
The security concepts described here are described in more detail in Understanding Security. For
information on implementing the concepts, see the Workflow Users and Groups section.
• People - allow you to define security credentials and properties that are specific to an individual
user. Security credentials and properties are defined in the S95 Model Editor.
• Key Sets - allow you to assign permissions to users who hold a specific key set. In addition, key
sets inherit permissions from their child sets. Workflow provides the following predefined high level
key sets:
◦ Guest
◦ S95 Configurator
◦ Workflow Author
The S95 Configurator key set includes the following child key sets:
◦ Equipment Configurator
◦ Material Configurator
◦ Personnel Configurator
The Workflow Author key set includes the following child key sets:
◦ Workflow Builder
◦ Workflow Manager
◦ Workflow Supervisor
◦ Workflow Operator
You can also create your own key sets at any level.
• Groups – allow you to create groups of users who share the same key sets. Workflow provides the
predefined groups Administrators, Guests, and Windows Users.
• Client Access – allows you to configure automatic login and logout, lockdown mode, default
startup options for an individual workstation, and user overrides.
Related information
Understanding Security (on page 317)
Security Status
Workflow security is always enabled. This prevents any unauthorized users from accessing or modifying
any part of the system.
Workflow Full User Guide | 6 - Security | 321
With security, all users must log in with their user accounts to gain access to the areas they have been
given permissions to.
When you install Workflow, you are prompted to create an Administrator user. This allows you to log in as
the administrator and begin creating users and groups. Workflow provides default groups and key sets
that you can examine to learn how to create your own users and groups.
After you have logged into Workflow as the newly created Administrator user, you can create one or more
additional users who have a key set assigned to them that allows them to configure personnel resources
for your facility. You can also create users who have a key set assigned that allows them to configure
security aspects, such as configuring and assigning groups and/or key sets. These can be the same or
different users, but if they will have security privileges, they must be accounted for in your security plan.
Your security design plan should include all of the information that you need to configure your personnel
resources. For example, if you have a set of users that all perform the same tasks, you can create a group
and add each of those users to the group. You can then assign key sets to the group and all members of
the group inherit the permissions configured for those key sets.
By designing a well-defined security plan, you can build a security system that provides all of the
permissions and access that your employees need to perform their assigned facility operations.
Related reference
Automatic Login/Logout Configuration (on page 376)
Related information
Key Sets (on page 355)
If communications between these servers are not encrypted, certain tools can read the plain text SQL
queries and data transmitted between those servers.
For information about enabling SSL encryption for an instance of SQL Server, see http://
support.microsoft.com/kb/316898.
For information about configuring certificates for use by SSL, see http://msdn.microsoft.com/en-
us/library/ms186362.aspx.
Security Authorization
Authorization is a security feature that gives particular users permission to access data and leverage
capability with the Vision application.
Authorization in Vision
A person or a group of people (users) can be assigned a role that allows them to use a resource (for
example, a piece of equipment) to perform an action within the limits of their access (privilege), which
was defined for the role assignment.
Currently, there are differences between Vision and Workflow. The following table highlights the
distinction in terminology between systems.
Note:
For more information about authorization and how to use it, see the Vision documentation.
User, User Group Users, Groups Users and groups are shared be
tween both systems. You can
manage them in each applica
tion.
Note:
User and group re
sources are available
in both applications;
however, if you delete
this resource in Vision,
you must not delete it
in Workflow if you still
require this resource to
perform actions within
this application.
Resource (resource set) Any resource; for example, equip Resource sets given to a Vision
ment user (?) are not enforced in Work
flow.
Personnel consists of classes, groups, key sets, and people. The following table provides a brief
description of each of these. For more information on each, refer to the specific overview topic.
Folder Description
Users are assigned to different aspects of your facility, such as production and workflow resources, and
are also used extensively in security. Key sets and groups are used exclusively for security.
If you have a specific set of users that require the same properties, such as shift schedules, then creating
a personnel class that includes this information makes configuring those users easier. You can then apply
the class to all of the applicable users. The properties configured for the class are inherited by those
users.
Before configuring your personnel model, it is best to create a design plan that describes all aspects of
your facility and the areas that require users, including a security plan.
An important aspect of the personnel model is the ability to assign security and personnel configuration
permissions to specific users. By limiting these permissions to a subset of users, you can feel more
assured that your personnel and production security configurations are accessible only by those with the
rights to use them.
You can create as many or as few personnel resources as required for your facility operation. Workflow
provides default groups and key sets that you can use for your personnel model, or you can create your
own.
Workflow Full User Guide | 6 - Security | 325
Important:
The Administrators group must have at least one user as a member at all times. If you have only
one administrator and that user changes, you can edit the user's name and description, as well as
the security credentials.
Note:
When you install Workflow, you are prompted to create an Administrator user. This allows you
to log in as the administrator and begin creating Workflow users and groups. Workflow provides
default groups and key sets that you can examine to learn how to create your own users and
groups.
Workflow identifies each user with a login name, a password, and an optional e-mail address. Users can
belong to one or more groups. When a user belongs to a group, he or she inherits all the key sets assigned
to the group. The user can have separate key sets in addition to the group key sets.
When you are designing your security plan, always include the full name, login name, and password for
each user. If you plan to use Windows security, you should also include the domain name if you want to
store the user information on a domain controller.
User information is configured using both the Security Editor and the S95 Model Editor.
Personnel Classes
A personnel class is a group of properties that are common between users. For example, you may have
an operator class that contains properties related to shift schedules or machine qualifications. Personnel
classes can be applied only to users and multiple classes can be applied to a given user.
The following steps outline the process for adding users whose Workflow security credentials you plan to
manage strictly within the program. You can also use Windows domain user accounts to manage access
to and within Workflow. For more information, see Windows Domain-based Security.
Workflow Full User Guide | 6 - Security | 326
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
3. Click Add.
4. In the Name and Description fields, enter a name and description for the resource.
Note:
There may be limits to the type and number of characters you can use.
5. Click OK.
After creating a Workflow user, you must configure the user's security credentials; otherwise, the user will
not be able to log into Workflow.
Related information
Convert between Windows domain and Workflow users (on page 352)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To remove the personnel class you added, select it, and then click Delete Selection.
6. Click Save.
Workflow Full User Guide | 6 - Security | 328
Note:
You can edit a user's security credentials at a later time from either the S95 Model Editor or from
the Security Editor.
Tip:
◦ To add a user to multiple groups, press the Ctrl key, and then select all of the groups
you want to add the user to, or click the double right arrow to add the user to all
available groups.
◦ To remove a user from a group, from the list of groups the user is a member of,
select the group you want to remove the user from, and then click the left arrow.
Press the Ctrl key to select multiple groups, or click the double left arrow to remove
a user from all the groups.
Related information
Add One or More Users to a Group (on page 338)
Related information
Edit or View Users That Belong to a Group (on page 339)
Full Name User-defined up to 255 charac Specifies the name of the user.
ters
Workflow Full User Guide | 6 - Security | 331
Note:
This name is for informa
tional purposes in elec
tronic signatures only. It
is not a unique identifier
and is not used for secu
rity credentials.
Security Credentials
The following table describes the user-specific attributes on the S95 Model Editor required to configure
the security credentials for a user. These attributes are available only when the Create Account button is
clicked.
Note:
You can also access the security credentials for the selected user by clicking the Edit Security
Credentials link on the Security Editor.
Workflow Full User Guide | 6 - Security | 332
Login Name User-defined alphanumeric string Specifies the unique login name
(A-Z, a-z, 0 - 9) up to 20 charac for the selected user.
ters
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
Value User-defined alphanumeric string Specifies the value for the select
(A–Z, a–z, 0–9) up to 255 char ed data type. Valid values depend
acters on the selected data type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0 - 9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Workflow Full User Guide | 6 - Security | 334
A personnel class is a group of properties that are common between users. For example, you may have
an operator class that contains properties related to shift schedules or machine qualifications. Personnel
classes can be applied only to users and multiple classes can be applied to a given user.
Security Groups
The following table describes the information available in this section:
Add/Remove Groups dialog box: User and system-defined Displays the groups that are
Available Groups available to add the selected user
to.
Add/Remove Groups dialog box: User-defined Displays the list of groups that
Group List the selected user is already a
member of.
Workflow Full User Guide | 6 - Security | 335
Key Sets
The following table describes the read-only information in this section:
Key Set User-defined Displays the key sets that the se
lected user holds.
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
Value User-defined alphanumeric string Specifies the value for the select
(A-Z, a-z, 0 - 9) up to 8000 charac ed data type. The options avail
ters able depend on the selected data
type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0 - 9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Workflow Groups
Workflow provides the ability to categorize your users into groups. Groups allow you to assign common
permissions required by two or more users who perform similar tasks, and provide you with a simpler
approach to implementing security.
Groups are collections of similar users that are configured to have the same access rights to your
facility's processes. When you assign key sets to a group, each member of the group inherits those key
sets.
Workflow Full User Guide | 6 - Security | 338
Key sets are assigned to groups only; you cannot assign key sets to individual users. This assigns
common key sets needed by two or more users performing similar tasks. Configuring your groups in this
way provides a modular approach that is easy to maintain.
You can simplify security configuration significantly if you take the time to assess your users' needs. If the
security requirements at your site do not warrant such an effort, use the default groups provided, which
define functional roles in a manufacturing facility. The default groups are:
• Administrators
• Guests
• SSO Users
• Windows Users
Note:
• The SSO Users group should be used if you are using GE Single Sign On security.
• The Windows Users group should be used if you are using Windows authentication.
For example, in the following figure, the Supervisors group defines access to the equipment model to
create and edit equipment resources. These permissions define the common security rights shared by all
users in the group.
Related information
Configuring Domain-Based Access Control to Workflow Functionality (on page 346)
You must have configured a user name and password for the selected user before you can add the user to
a group.
Tip:
◦ To add multiple users to the group, press the Ctrl key and select all of the users
you want to add to the group, or click the double right arrow to add all available
members to the group.
◦ To remove a user from a group, from the list of members, select the user you want
to remove, and then click the left arrow. Press the Ctrl key and select multiple
members, or click the double left arrow to remove all members from the group.
Related information
Add a User to One or More Groups (on page 328)
You must have added one or more users to the group before you can edit or view a user.
Related information
Edit or View a Group for a User (on page 329)
Edit Description
You can change the description of this resource.
Key Sets
The following table describes the information available in this section:
Key Set User-defined Displays the key sets that the se
lected group holds. This column
displays when you select either
the Show by Resource or Show
by Workstation option.
Workflow Users
The following table describes the information available in this section:
Workflow Full User Guide | 6 - Security | 342
Add/Remove Members: available User-defined Displays the users that are avail
members list able to add to the selected group.
Add/Remove Members: mem User-defined Displays the list of users that are
bers list already members of the selected
group.
Domain-Based Security
Windows Domain-Based Security
You can use Windows domain user accounts to manage access to and within Workflow. You can also
configure domain user accounts for automatic login on either a global basis or for individual computers.
By using Windows domain user accounts, you gain the following advantages of Windows security in
relation to Workflow login:
Windows domain user accounts also provide options for controlling access to Workflow functionality
after users have logged in to the system. Specifically, you can enforce security based on the permissions
afforded by either:
Workflow Full User Guide | 6 - Security | 343
• Workflow groups that you directly associate with users one at a time, and/or
• Workflow groups that you map to active directory universal or global groups and, thus, to all related
users at once.
Important:
Only Windows domain user accounts are supported, and you cannot remove user accounts from
Windows domains from within Workflow.
account that provides for access to the system based on the user's Windows credentials.
Note:
Beginning with Workflow 2.0, you can add non-Windows domain users to the Windows Users
group in the Personnel model. However, Workflow does not consider those users to be Windows
domain users for security purposes; rather, they are considered Workflow users who are
members of a Workflow group named Windows Users. You must manually create accounts and
specify system access credentials for such users, and cannot control their access to Workflow
functionality by way of active directory mapping.
In attempting to log in a Windows domain user, Workflow sends the user's Windows user name and
password to a Windows domain controller for authentication. If the controller verifies the user name and
password, Workflow completes the login process; otherwise, an error message appears alerting you to
the failure.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use. If autologin is configured for Windows domain
users—either for the current computer or all computers in the system—Workflow will log in with
the currently logged in Windows domain user.
Following initial log in, Windows domain users are automatically designated as such for the purpose of
system access, as reflected on the Domain Users tab of the Security Editor.
Workflow Full User Guide | 6 - Security | 344
Note:
These two approaches are mutually exclusive for any given Windows domain.
Direct group association and active directory mapping both offer the benefit of centralized, Windows
domain-based credential management for access to the overall system. In deciding which approach to
adopt for controlling access to Workflow functionality, consider the following aspects of each:
• Directly associating Windows domain users with Workflow groups provides for a comparatively
greater degree of flexibility in granting access to the Workflow functionality, because any such
user can be provided broader or narrower permissions than other users in the same Windows
domain active directory group. However, maintenance efforts may be greater, because the security
configurations must be managed on a per-user basis.
• Mapping active directory groups to Workflow groups provides for a comparatively lesser degree
of flexibility in granting Windows domain user access to the Workflow functionality, because all
users in an active directory group are subject to the same security constraints within the system.
However, an active directory group can be mapped to many Workflow groups, and a Workflow
group can have many active directory groups mapped to it. Furthermore, changing the mapping
between active directory groups and Workflow groups changes the permissions that are granted
to all Windows domain users who are members of the mapped active directory groups at once,
which can speed maintenance efforts. Additional time savings can also be realized when adding
new Windows domain users who are members of previously mapped active directory groups, as
these users are automatically and immediately afforded the permissions provided by the related
Workflow groups.
Note:
Windows domain users that were created in versions of Workflow prior to 2.0 will continue
to function as before assuming that the active directory groups they are members of are not
mapped to any Workflow groups.
Workflow Full User Guide | 6 - Security | 345
If you convert a Windows domain user to a Workflow user, you must subsequently specify access
credentials for the user, and, if the permissions that were previously afforded the user, which carry over
with the conversion, are no longer appropriate, adjust group associations.
If the domain policy overrides the local policy settings by removing these groups, then the Windows
user names and passwords will fail with insufficient rights when trying to log in to Workflow. If domain
administrators want to restrict this right, then they must do one of the following tasks in order to continue
to use Windows user names and passwords within Workflow:
• Create a Domain Group that contains all the Domain Users that will be used within Workflow
security, add this group to the domain policy Access this computer from the network, and deploy
this policy to all machines running Workflow.
• Add the Domain Users group to the domain policy Access this computer from the network, and then
deploy this policy to all machines running Workflow.
• Add Authenticated Users to the domain policy Access this computer from the network, and then
deploy this policy to all machines running Workflow. Be aware that this group requires each user to
log on to the domain at least once to be considered an authenticated user.
• Leave at least the Users group in the domain policy Access this computer from the network. If you
choose this option, be aware that the Anonymous user and the Guest user are not part of the Users
group.
Related information
Automatic Login Authentication (on page 373)
To solve this problem, run the Proficy STS service under a domain user account. This enables this service
to query the domain controller.
Note:
If this solution fails, assign the domain account to be a member of the local administrator group,
and then try again.
Related information
Security Authorization (on page 322)
If the Windows password has expired, the user is notified and prompted to change the password. If the
Windows password is about to expire, a notification message displays, reminding the user to change the
password.
By mapping an active directory group to a Workflow group, you give the key sets and corresponding
permissions defined for the Workflow group to all members of the active directory group at the same
Workflow Full User Guide | 6 - Security | 347
time. An active directory group can be mapped to many Workflow groups, and a Workflow group can
have many active directory groups mapped to it. The operator must have permission to query Windows
domains.
Note:
For Vision, when using the Predix token (Windows user) to access the Workflow account that
runs the Proficy Server service, an operator must have permission to query the domain(s);
otherwise, authentication will fail as no group information can be retrieved from the domain.
Note:
User accounts that are not used to log in to Windows should not have this right.
1. From the Start menu, click Control Panel > Administrative Tools.
2. Double-click Local Security Policy.
The Local Security Policy dialog box appears.
3. Expand the Local Policies folder.
4. Select the User Rights Assignment folder.
5. In the Rights list, double-click Act as Part of the Operating System.
The Act as part of the operating system Properties dialog box appears.
6. Add the users that you want to have this right, and then click OK.
7. Close the remaining dialog boxes, log out of Windows, and then log in again for your changes to
take effect.
1. From the Start menu, click Control Panel > Administrative Tools.
2. Double-click Local Security Policy.
The Local Security Policy dialog box appears.
Workflow Full User Guide | 6 - Security | 348
1. From the Start menu, click Control Panel > Administrative Tools.
2. Double-click Local Security Policy.
The Local Security Policy dialog box appears.
3. Expand the Account Policies folder.
4. Select the Account Lockout Policy folder.
The account lockout policies display in the Policy list.
5. Double-click Account Lockout Threshold.
The Account lockout threshold Properties dialog box appears.
6. In the Account will not lock out field, enter the number of invalid login attempts before the account
is disabled.
7. Click OK.
Important:
You must have created your Windows users and added them to the appropriate active directory
universal or global groups before you can map these groups to Workflow groups. However, a
domain user may join a domain group that has already been mapped to a Workflow group.
4. Click the Domain Users tab, and then use one of the following methods to map active directory
groups to the Workflow group.
Method Description
Note:
The maximum number of re
sults supported is 50. If more
than this number is returned, you
must narrow your search criteria.
Tip:
◦ You can enter search criteria us
ing a wildcard character (*) com
bined with other characters.
◦ To add multiple active directo
ry groups to a Workflow group,
press the Ctrl key, and then se
lect all of the active directory
groups that you want to add to
the Workflow group, or click the
Workflow Full User Guide | 6 - Security | 350
Method Description
Edit the active directory uni a. In the Domain Name column, dou
versal or global groups list ble-click in the first available row.
b. Enter the name of the domain that con
tains the active directory groups that
you want to map to the current Workflow
group.
c. In the Group Name column, double-click
the cell, and then enter the name of the
active directory group you want to map.
Copy and paste a list of active directo a. Open the Excel spreadsheet that con
ry groups from an Excel spreadsheet tains your domain names and active di
rectory group names.
b. Copy the two columns of data (the first
column contains the domain names; the
second column contains the active direc
tory group names).
c. In Workflow, on the Domain Users tab, in
the Active Directory groups table, dou
ble-click any cell, and then paste the data
from the Excel spreadsheet.
Workflow Full User Guide | 6 - Security | 351
Method Description
Note:
If there is existing data in the ta
ble, then the newly pasted data
is added after the last row of the
existing data.
Tip:
You can also copy the data from the
Active Directory groups table to an Ex
cel spreadsheet. Press the Ctrl key to
select multiple rows to copy, then in Ex
cel, select a single cell, and then paste
the data.
5. Click Save.
The active directory groups are mapped to the selected Workflow group and are displayed in the
Active Directory groups list. The domain users who are members of the mapped active directory
groups are displayed in the Domain Users list.
Note:
All domain names are validated against the domain before they are saved in Workflow.
If the domain or active directory group name is entered incorrectly, an error message
appears and the row is cleared.
A Windows domain user's parent group must have been mapped to a Workflow group before the user can
log in to Workflow client.
Important:
This must be the first login attempt by the Windows domain user.
A new Workflow user account is created for the Windows domain user.
A Windows user's parent group must have been mapped to a Workflow group before the user can log in to
Workflow client.
Note:
Because the Windows account name is not verified against the domain when creating the
user, be sure to enter the correct account name; otherwise, the user will not be able to log
in to Workflow.
Prerequisites
◦ If you are converting a Wlindows domain user to a Workflow user, remove the domain
designation and backslash from the value.
6. Click Save.
If you convert a Windows domain user to a Workflow user, you must subsequently specify access
credentials for the user, and, if the permissions that were previously afforded the user, which carry over
with the conversion, are no longer appropriate, adjust group associations.
Related information
Configure Security Credentials for a User (on page 328)
Domain Users
Domain users are Windows users who are members of one or more Windows domain groups.
Mapping Groups: Available Trust User-defined Displays the list of available do
Domains mains that can be mapped to the
current Workflow group.
Mapping Groups: Unmapped Do User-defined Displays the list of active directo
main Groups ry groups that belong to the se
lected domain and that have not
yet been mapped to Workflow
groups.
Mapping Groups: Mapped Do User-defined Displays the list of active di
main Groups rectory groups that are already
mapped to the current Workflow
group.
Note:
The maximum number of
results supported is 50.
If more than this num
ber is returned, you must
narrow your search crite
ria.
Key Sets
Key sets are groups of permissions, based on areas of operation within your facility, that define the
operations a group of users can perform.
After you have configured your key sets, you assign the key sets to the appropriate groups. If a user
is a member of a group that has been assigned a specific key set, the user has all of the permissions
configured for that key set.
Workflow provides default key sets that you can assign permissions to. These key sets are:
• System Visibility
• S95 Configurator
• Workflow Author
Note:
When you install Workflow, you are required to create an administrator user. The administrator
user is automatically assigned all permissions for all key sets.
The default key sets are hierarchical with System Visibility, S95 Configurator, and Workflow Author visible
at the top. S95 Configurator and Workflow Author contain default child key sets. You can add key sets to
any level of the hierarchy below the top level key sets. The following table describes the hierarchy of the
default key sets.
Workflow Author > Workflow Builder > Workflow Manag > Workflow Super > Workflow Opera
er visor tor
Note:
The Administrator key set is at the top of the hierarchy, but because it has all permissions and
cannot be modified, it is not visible.
System Visibility Required for any user to see the models list.
S95 Configurator > Equipment Configurator Automatically assigned permissions to create, edit,
and delete resources in the Equipment model.
S95 Configurator > Material Configurator Automatically assigned permissions to create, edit,
and delete resources in the Material model.
S95 Configurator > Personnel Configurator Automatically assigned permissions to create, edit,
and delete resources in the Personnel model.
Workflow Author > Workflow Supervisor Automatically assigned permissions to handle task
assignment and management for their assigned
operators.
You can create as many key sets as you require and can organize them into a hierarchy that fits your
business purposes. You can also assign additional permissions to each of the default key sets. You can
delete the default key sets and replace them with your own; however, you cannot rename them. If a key
set is already in use in your system, you cannot delete it.
The permissions that you assign to each key set are inherited by its parent. For example, you have the
following key sets: Workflow Operator, Workflow Supervisor, and Workflow Manager. If you assign the
system permission Visible and the workflow permission Cancel Tasks to the Workflow Operator key set,
then the parent key set, Workflow Supervisor, inherits those permissions. If you then assign the Execute
Workflows and Execute Schedules permissions to the Workflow Supervisor key set, those permissions, as
well as the Visible and Cancel Tasks permissions are inherited by the Workflow Manager key set.
In addition, permissions set at one level are not inherited by child key sets. Therefore, the Workflow
Supervisor key set does not automatically inherit the permissions assigned to the Workflow Manager key
set.
Because the Administrator key set automatically has all permissions, it is not available when you are
assigning key sets to groups.
When you are designing the security plan for your facility, make sure that you take key set assignments
into consideration. When you are assigning key sets, you assign them to the appropriate solution and
displays (found under Solutions in the Proficy System model).
Note:
You can also assign key sets for the System using the Assign Key Sets Quick Find link under the
Personnel model in the navigator or by using the Assign Key Sets link in the Security Editor for a
specific user or group.
Workflow Full User Guide | 6 - Security | 358
Individual users cannot hold key sets. A user must be a member of one or more groups and will inherit the
key sets assigned to the group.
You must have created your resources before assigning key sets.
Tip:
You can also assign key sets globally by clicking Assign Key Sets in the Quick Find list for the
Personnel model.
Workflow Full User Guide | 6 - Security | 359
Click... To...
Add Workstation Add a specific workstation to the key set for the
selected group.
Add All Workstations Add all workstations in the system to the key
set for the selected group.
Tip:
You can remove a workstation from a key set by selecting the workstation you want
to remove, and then clicking Remove Workstation. However, you cannot remove a
workstation from the group if you assigned it directly to the group through the Personnel
model.
5. Optional: Repeat step 4 for each key set you want to add a workstation to for this group.
6. Optional: Repeat steps 3-5 for each group you want to add workstations and key sets to.
7. Optional: Repeat steps 1-6 for each solution display you want to add workstations and key sets to.
8. When you are finished adding workstations, click Save.
Tip:
You can also add key sets for all workstations.
5. Select the key set you want to add to the workstation for the selected group, and then click OK.
Tip:
You can remove a key set from a workstation by selecting the key set you want to remove,
and then clicking Remove Key Set. However, you cannot remove a key set from the group if
you assigned it directly to the group through the Personnel model.
6. Optional: Repeat step 4 for each key set you want to add to a workstation for this group.
7. Optional: Repeat steps 3-6 for each group and workstation you want to add key sets to.
8. When you are finished adding key sets, click Save.
Note:
The assigned key sets and workstations for the selected group are different depending on
whether you are at the system or solution display level.
You can assign key sets for a group on individual pieces of equipment, and by workstation. You can also
assign key sets on a global basis.
A key set is a collection of permissions. If you assign a key set to a group for a specific location, that
group can perform all the tasks allowed in that key set. You cannot assign key sets or add workstations
for individual users.
A personnel group is a collection of users with the same access rights to your facility's processes. When
you assign key sets to a group, each member of the group inherits the permissions defined for the key set.
Workflow Full User Guide | 6 - Security | 361
Example 1
You have a group called Line 1 Supervisors and you have defined the Create Equipment permission for
the Equipment Configurator key set. You have assigned the Line 1 Supervisors group to Line 1 in your
facility with the Equipment Configurator key set and Workstation D. This configuration allows the Line
1 Supervisors group to create equipment resources for Line 1, but only when logged on to Workstation
D. If you want the Line 1 Supervisors to be able to create equipment resources for Line 1 from any
workstation, you can add all workstations to the Equipment Configurator key set for this group.
If you want the Line 1 Supervisors to be able to create equipment resources for all locations in your
facility, you can configure this at the global level. Be aware that if you configure this at the global level,
you cannot remove the key set from an individual location. To configure this group to be able to create
equipment resources on specific locations, you must configure the key set and workstation for the group
on each individual location.
When you configure security for a selected group at the global level, those assignments are visible at
all locations. For example, if you assign the S95 Configurator key set for a single workstation at the
global level, that key set and workstation combination is defined for the selected group on all equipment
locations in your enterprise. You cannot remove this key set/workstation from an individual location; you
can remove or change it only at the global level.
In addition to assigning key sets to a group and location, you can assign key sets to a group for a solution
display. When you assign a key set with the Visible permission to a solution display for a group, that
display is visible for the members of that group at all times, regardless of the workstation the user is
logged on to. For example, if you want to make the Report View visible only to the Administrators group,
set the Visible permission on the Administrators key set and then add that key set to the Administrators
group for the Report View solution display.
Example 2
You have three users, Dave, George, and Tim, who are all members of the Operator A group. All three users
need access to Storage Zone A, while Tim needs additional access to Storage Zone B. In order for Tim to
have access to Storage Zone B, he must be a member of the group Operator B, which has the key set for
Storage Zone B assigned to it.
Workflow Full User Guide | 6 - Security | 362
Related information
Workflow Groups (on page 337)
Permissions
The following lists describe the permissions you can assign when configuring your key sets. You can
allow access to:
Note:
This permission is provided for use by Historian Analysis.
◦ debug workflows
◦ execute workflows and schedules
◦ import and export workflow assets
◦ jump over task steps
◦ perform workflow tasks, including entering data, starting tasks manually, acquiring tasks,
releasing tasks, and entering expiration comments
◦ configure personal and predefined filters for users in the Task List
For appropriate key sets, you can also select the Select All Operations check box, which gives users with
that key set access to all areas of your facility.
Related information
Workflow Groups (on page 337)
The following table describes the common information and options available for security configuration.
In this view, you can add individual workstations to key sets, or add all workstations to specific key sets.
The following table describes the information and options specific to the Edit by Key Set option.
Key Sets User and system-defined Displays all of the key sets de
fined for your system. This list in
cludes the default key sets and
the key sets that you created.
Edit by Workstation
In this view, you can add individual key sets to workstations. The following table describes the information
and options specific to the Edit by Workstation option.
Key Set(s) User and system-defined Displays the key set(s) assigned
to the workstation(s) for the se
lected group and location.
Related reference
Key Set Permissions (Security Editor) (on page 362)
Related information
Workflow Users and Groups (on page 324)
By logging in, users identify themselves as Workflow users or Windows domain users and gain access
to resources that they are authorized to use. Automatic login can be configured for a specific Workflow
user, or the currently logged in Windows domain user on individual workstations, or can be configured to
automatically log in the currently logged in Windows domain user on either individual workstations or on
all computers in the system.
Manual login means that, regardless of permissions and key set configuration for users and groups, login
credentials must be entered manually to access Workflow.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Workflow Full User Guide | 6 - Security | 369
Workflow checks for changes in configuration settings during the login and logout procedures and posts
an information message in the Feedback Zone every time it detects changes.
Automatic Login
Automatic login allows you to specify the user account that will be automatically logged in when
Workflow is opened on a specific workstation. You can change the configuration of the default account
and enable or disable automatic login.
Note:
By default, Workflow is configured with automatic login disabled.
You can configure a default user with specific permissions, and when Workflow starts, if a default layout
is configured for the default account, it is displayed.
When automatic login is enabled on a workstation, the client runs under the default user account until a
user logs in with his or her own account credentials. When the user logs out, Workflow automatically logs
back in and runs under the default account.
Note:
Automatic login does not take effect on remote clients until a user has manually logged in once.
If automatic login is disabled, Workflow runs under the credentials that the user entered through the login
dialog box.
If the default user credentials are modified, Workflow logs in with the old credentials, detects the changes
and then logs out and logs in again using the new credentials.
If you are configuring global default computer settings, you can also configure automatic login. Automatic
login for global configurations is available only for Windows user accounts. If automatic login is enabled,
then when the currently logged on Windows user opens Workflow, he will be automatically logged in
based on his authenticated login credentials. If the authentication fails, the Workflow Login dialog box will
appear, and the user will be required to enter his login credentials manually.
Workflow Full User Guide | 6 - Security | 370
Note:
If changes are made to the automatic login configuration, they do not take effect immediately.
You must log out and then log back in for the changes to take effect.
User Login
When a user logs in manually, the Workflow client operates under the user account. If automatic logout is
enabled, Workflow reverts back to the default user account when the user logs out.
If automatic login is disabled, the client displays the login dialog box when the user logs out.
Automatic Logout
You can configure the amount of time that Workflow remains active without any user activity before the
user is logged out of the system.
When automatic logout is enabled, Workflow logs out the current user after a specified time of inactivity
and remains logged out if automatic login is disabled.
If a computer is configured for automatic login and automatic logout, and is logged in with the automatic
login credentials but is inactive for the specified amount of time, Workflow will automatically log out and
then log back in with the automatic login credentials. However, if another user logs in using different
credentials and is inactive for the specified amount of time,Workflow Workflow will automatically log that
user out, and then log in with the defined automatic login credentials.
You can also configure automatic logout if you are configuring global default computer settings.
This feature does not eliminate the need to manually log out when an operator finishes using Workflow,
particularly if you have strict security requirements. If you decide to use this feature, consider it as a
safety mechanism that prevents operators from remaining logged in indefinitely.
Scenario 1
Automatic login is configured and a user expects automatic login to succeed on the first attempt to log in
to a remote client.
Result
Scenario 2
Changes are made to the automatic login credentials.
Result
After logging out, attempts to automatically log in using the Autologin button fail.
Click Cancel on the Workflow Login dialog box, click the Log in to Proficy icon, and then click Autologin.
When the client is restarted, automatic login will succeed with the configured credentials.
Scenario 3
The application server is stable during Workflow client startup, but the configured credentials for
autologin are invalid. A message displays stating, "The user credentials configured for Autologin
are invalid. Please ask Administrator to check the configured credentials."
Note:
This behavior applies to both Workflow user and Windows user authentication.
Result
Click OK. The Workflow client changes to logged out mode displaying the default login view. You can now
click the Login button and log in as a primary user.
Scenario 4
You cancel the login dialog box in autologin mode.
Result
Scenario 5
You mistakenly log out of Workflow in autologin mode.
Result
Click the Autologin button. The Workflow client logs in with the autologin user credentials.
Scenario 6
You are logged out of Workflow after a predefined period of inactivity.
Result
Workflow Full User Guide | 6 - Security | 372
Options
• If automatic login is enabled, click Autologin. The Workflow client logs in with the autologin user
credentials.
• Whether automatic login is enabled or not, enter valid user credentials to log in.
• Click Cancel to close the Proficy client and end the session.
Scenario 7
You logged out of Workflow using the Log out from Proficy icon.
Result
Options
• If automatic login is enabled, click Autologin. The Workflow client logs in with the autologin user
credentials.
• Whether automatic login is enabled or not, enter valid user credentials to log in.
• Click Cancel to close the Proficy client and end the session.
Scenario 8
The application server is unreachable during Workflow client startup. A message displays stating, "Server
is currently unreachable. Check to make sure server is running, or network connection is not
broken."
Result
Click OK. The Workflow client changes to logged out mode displaying the default login view; however, the
Login button is not available. When the connection to the server is restored, the Login button is enabled.
Click the Login button. The Workflow client changes to autologin mode.
Scenario 9
A user is logged in to the Workflow client and the autologin configuration is updated with invalid
credentials. When the user logs out, a message displays stating "The user credentials configured for
Autologin are invalid. Please ask Administrator to check the configured credentials."
Result
Click OK. The Workflow client changes to logged out mode displaying the default login view.
Workflow Full User Guide | 6 - Security | 373
The following flow diagram illustrates the Workflow automatic login process.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Workflow Full User Guide | 6 - Security | 374
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Note:
This option is available only on the Computer Editor.
◦ Select the Windows User option to indicate that automatic login is based on the currently
logged in Windows user. That is, when the currently logged in Windows user opens
Workflow, he will be automatically logged in.
Workflow Full User Guide | 6 - Security | 375
7. Click Save.
Note:
Automatic login does not take effect on remote clients until a user has manually logged in
once.
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
1. On the Workflow client title bar, click the Log out from Proficy icon.
The Workflow Login dialog box appears.
2. Click Cancel.
The Workflow Login dialog box closes.
3. Click the Log in to Workflow icon.
4. Click Autologin.
The client is logged in with the new automatic login credentials.
The next time the client is started, it will automatically log in with those same credentials.
1. In the navigator, click Proficy System > Proficy System > Computers.
2. From the Computers list, select the computer that you want to configure.
Tip:
If you are configuring settings for all computers in your system or a subset of those
computers, you can skip this step. However, you can still configure global default settings
if you select an individual computer.
Note:
User activity is defined as moving or clicking the mouse, or pressing keyboard keys.
7. Click Save.
8. Restart the Workflow client for the autologout settings to take effect.
Note:
This tab is available in the Computer Editor only if the selected computer is configured to override
the global configuration settings.
The following table describes the available options on both the Computer Editor and the Default
Computer Editor. The differences are noted.
Note:
This option is available
only if you are configur
ing Workflow user ac
counts on the Computer
Editor.
Proficy User: User Name User-defined Specifies the name of the user
who will be automatically logged
in when Workflow is started on
this workstation.
Note:
This option applies if you
are configuring autolo
gin for Windows user
accounts on either the
Computer Editor or the
Default Computer Editor.
Note:
To log in to Workflow, the system must be in a state of either Complete or Partial health. For more
information, see System Health and Program Use.
Note:
Each time an unsuccessful attempt is made to access the Workflow system, a message is sent to
the log file.
The information in the log file is displayed in chronological order. The security log file is a cumulative file;
that is, all new security-based actions are appended to the bottom of the file. To avoid the log file growing
too large, it is set to a maximum of 2 MB. If the content grows larger than that, it automatically deletes the
oldest information to accommodate the new. You can also manually delete old information from the file.
These settings can be configured during the Workflow installation, or at any time after installation. Any
changes made to the Administrator credentials or the user authentication settings take effect at the next
login session; that is, if a user is currently logged in, changes to these settings will apply after a user logs
out and then logs in again.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Security.
The Security page appears.
2. Specify the administrator's authentication credentials.
a. In the Name field, accept the default name or enter a new name.
b. In the Password field, enter a password.
c. In the Confirm Password field, enter the password again.
3. Click Save, and then click Exit.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Security.
The Security page appears.
2. Expand the Advanced Settings.
3. Select the Use SSO (Single Sign On) check box.
Note:
Selecting this check box displays the SSO Authentication option when a user logs on.
4. Select an identity provider option that complies with the level of restrictions and security required
for your application.
Note:
During a new installation or an upgrade, when you select the Use SSO (Single Sign On)
check box, the Production Identity Provider option is selected by default.
Tip:
The Production Identity Provider option provides greater security for your application.
You can specify a URL to get Web HMI’s public key during installation or upgrade, or enter the relevant
information post-installation. The public key enables you to login once to GE Digital systems.
If you specify a URL during installation, the installer checks to ensure the URL is valid and accessible.
If you choose to enable Web HMI, a token key is required to authenticate you as a Web HMI user. The key
is retrieved from Web HMI and stored in Workflow.
Workflow Full User Guide | 6 - Security | 381
1. On the server computer, click Start > All Programs > General Electric > Workflow >
Configuration > Configure Security.
If you are upgrading from a previous version of Workflow, you must use this tool to configure the
password security features. Account lockout is enabled by default during the installation process.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
Workflow Full User Guide | 6 - Security | 382
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Security.
The Security page appears.
2. Select the Allow users to change password check box if you want to allow users to change their
login password at any time.
3. Click Save, and then click Exit.
If you are upgrading from a previous version of Workflow, you must use this tool to configure the
password security features. Account lockout is enabled by default during the installation process.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Security.
The Security page appears.
2. Select the Enforce user lockout check box, and then set the lockout threshold, duration, and
timeframe values. This check box is selected by default.
a. In the Lockout threshold field, enter a number from 1 through 100 to indicate the number of
consecutive failed login attempts can be made before the Workflow user account is locked
out. The default lockout threshold is 5.
b. In the Lockout duration field, enter a number from 0 through 10,000 to indicate that the
locked out account will remain locked out for the defined number of minutes. A value
of 0 means that the account is locked out indefinitely and must be reactivated by an
Administrator user. The default lockout duration is 30 minutes.
c. In the Lockout timeframe field, enter a value from 1 through 10,000 to indicate that the
failed login count will be reset after the defined number of minutes after the last failed login
attempt. A successful login after this duration has passed resets the window to this value.
The default window size is 30 minutes.
3. Click Save, and then click Exit.
Workflow Full User Guide | 6 - Security | 383
If you are upgrading from a previous version of Workflow, you must use this tool to configure the
password security features. Account lockout is enabled by default during the installation process.
Important:
When you use the Configure Security tool to make changes to password security, you must re-
enter and confirm the Administrator user's password before you can save your changes.
1. On the server computer, click Start > All Programs > General Electric > Workflow > Configuration >
Configure Security.
The Security page appears
2. Select the Enforce user password complexity rules check box, then select Simple, Normal, or
Advanced to determine the level of complexity for your passwords.
◦ Select Simple to specify that a minimum of six characters of any type must be used in user
passwords.
◦ Select Normal to specify that a minimum of six characters, composed of at least two digits
(0-9) and three letters (a-z and/or A-Z), must be used in user passwords.
◦ Select Advanced to configure complex password rules. Each rule is enforced separately.
Valid values range from 0 (disabled) through 100.
3. Click Save, and then click Exit.
The following table describes the information available for enabling the use of GE Single Sign On logins.
The following table describes the information available to configure Workflow user login limits.
old is 5.
Example
If you define a threshold of 5, duration of 60 minutes, and observation window size of 30 minutes then, if a
user attempts to log in and fails five time within 30 minutes, his account will be locked out for 60 minutes.
All login attempts for that account will be rejected until the 60 minutes is up or an Administrator user
unlocks the account.
Workflow Full User Guide | 6 - Security | 387
The following table describes the information available for configuring password complexity.
• a–z
• A–Z
• 0–9
• a–z
• A–Z
Materials are the substances or components that are used to make something else. A material can be a
finished product in its own right, or an unprocessed raw material.
The Inventory View provides read-only information on material definition quantities in lots and descendant
sublots associated with material definitions and equipment resources.
The equipment model presents a structured hierarchy of resources to develop a modular representation
of a complete production or manufacturing organization in a physical and functional context. The model
is flexible, addressing batch, continuous, and discrete production types, or representing inventory storage.
The production model presents a set of resources used to describe a product as a collection of
components and the processes applied to those components.
Events are a fundamental part of production. The events model is used to map out the critical events that
occur to control production. These events can be created within this application or from external systems,
and can be used to control workflow execution.
The Event View displays multiple active condition and time events in the Proficy System and the
resources that currently are attached to the events.
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
Property groups are containers for properties. They allow you to read from or write to the properties of a
resource.
Aspects are a mechanism for dynamically extending existing resources by adding new attributes and
business logic without modifying the original objects or recompiling them. They can be used to extend the
attributes of an existing object, or they can link two or more disparate entities.
Workflow Full User Guide | 7 - Resource Information and Configuration | 390
Material Model
Material Model
Materials are the substances or components that are used to make something else. A material can be a
finished product in its own right, or an unprocessed raw material.
The material model is made up of material definitions and material classes that are used in the
manufacturing or production of a product.
Material specifications are not created as material resources, but are material definition or class
resources that are associated with work process segments.
Note:
You can configure up to 5000 properties for each material definition and 1000 properties for
each material class, and you can add up to 50 material classes to each material definition for a
maximum of 55000 properties per material definition.
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. Select the resource you want to work with.
3. In the Displays panel, select an editor.
The editor appears in the workspace, displaying the resource information.
4. Click the Properties or Parameters tab, and then click Add Property or Add Parameter.
5. In the Name and Description fields, enter a name and description for the property/parameter.
6. From the Data Type list, select a data type.
7. In the Value field, enter a value for the selected data type.
8. Optional: If applicable, in the Unit of Measure field, enter a unit of measure for the selected data
type.
9. Click Save.
1. From the navigator, select the model that contains the resource you want to work with.
Note:
You must have added at least one material class resource. For more information, see Add a
resource to the material model.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To remove a material class, from the classes list, select a class, and then click Delete
Selection.
7. Click Save.
3. In the Displays panel, click Production Management > S95 Model Editor.
4. Click the Properties tab, and then click Add Property .
5. In the Name field, enter a name for this property.
6. From the Type field, select a custom property type.
7. In the Value field, select a value for the custom property type.
8. Optional: If applicable, in the Unit of Measure field, enter a unit of measure for the custom property
type.
9. Click Save.
Material Classes
A material class is a grouping of common properties that can be applied to material resources.
Material classes can be directly associated with work process segments only. When you associate a work
process segment with a work definition segment, the associated material class, and its properties, are
made available to the work definition segment, and then to any work definitions that the work definition
segment is associated with. A material class is distinguished from other classes through its properties,
name, and description.
You can create a material class for paint. The class defines the paint by its individual components that
need to be mixed together. To define paint as a material class, include all the corresponding elements for
the paint that are needed, other than the color. By not including the color, the class can now be used with
different colors of paint. The color itself is then defined by the material definition, process segment, or
product segment.
Related reference
Material Definitions (on page 394)
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
Value User-defined alphanumeric string Specifies the value for the select
(A-Z, a-z, 0 - 9) up to 8000 charac ed data type. The options avail
ters able depend on the selected data
type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0 - 9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Material Definitions
A material definition describes supplies or materials with unique characteristics. Definitions offer a
specific defined material to be used in a production process in the creation of a final product.
A material definition can have multiple material classes associated with it, and inherits all of the
properties defined for those material classes. You can also add properties directly to the material
definition. A material definition can also stand alone with no associated material classes.
A material definition does not have to be a physical object, but can be characteristics of an object.
Workflow Full User Guide | 7 - Resource Information and Configuration | 395
An example of a material definition is all of the components used to create the seat of a bicycle.
Related reference
Material Classes (on page 392)
Template for Material Lot Proper N/A Select this check box to make
ty this property available in a mater
ial lot.
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
Value User-defined alphanumeric string Specifies the value for the select
(A-Z, a-z, 0 - 9) up to 8000 charac ed data type. The options avail
ters able depend on the selected data
type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0 - 9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Classes are like property templates that are selectively applied to specific resources. Multiple classes
can be applied to a given resource. For example, if a set of properties applies to multiple equipment
locations, you can create a class that contains all of these properties and then add that class to each of
the applicable equipment locations.
Class List User-defined Displays a list of classes that have been added to the se
lected resource.
Add Class N/A Click to open the Universal Browser to select the class
you want to add to the selected resource.
Delete Selection N/A Click to remove the selected class from the resource.
Workflow Full User Guide | 7 - Resource Information and Configuration | 398
Lots and sublots can be directly associated with one material definition and one equipment resource
only. A lot or sublot is distinguished by its S95Id. The description, material definition, location (equipment
association), status, quantity, and unit of measure may be identical for lots and sublots.
Sublots are placed below lots and other sublots to create a hierarchy. Sublots can use distinct locations,
statuses, quantities, and units of measure, but must share the same material definition as the lot. The lot
or parent sublot quantity is not a sum of the child sublot quantities.
You can create a lot for the material definition: paint. The lot provides an inventory of all paint quantities
subdivided in a hierarchy you design. Each lot and sublot has the properties defined as lot properties in
the material definition.
Properties
Lot properties are derived from the associated material definition. In order for a material definition
property to be associated with a lot, the Template for Material Lot Property check box must be selected
on the material definition’s Properties tab.
Related reference
Material Inventory (on page 398)
Make a material property a template for a material lot property (on page 390)
Material Inventory
Material Inventory
The Inventory View provides read-only information on material definition quantities in lots and
descendant sublots associated with material definitions and equipment resources.
The following table describes the properties available in the Inventory View.
Workflow Full User Guide | 7 - Resource Information and Configuration | 399
Note:
The Inventory View displays lots associated with a selected material definition or equipment
model. Sublots appear under their associated lot only, even those with different equipment model
associations.
Property Description
Note:
All sublots must share
the same material defini
tion as their parent lot or
sublot.
Note:
Lots and parent sublot
quantities are not the
sum of all child sublot
quantities. All quantities
of lots and sublots are in
dependently set.
Workflow Full User Guide | 7 - Resource Information and Configuration | 400
Property Description
Note:
Sublots can have dif
ferent units of measure
than their parent lot or
sublot.
Properties For
You can view the associated material definition properties of a lot or sublot in the Properties For panel.
The S95Id of the selected lot or sublot appears in the panel heading.
The following table describes the property attributes that are visible:
Related reference
Material Lots and Sublots (on page 398)
Make a material property a template for a material lot property (on page 390)
The Inventory View uses filtering to retrieve and display large amounts of data in the Workflow client
workspace.
Clicking the Show Filters button opens the filter editor, which contains filtering options for material lots.
Note:
The name you enter
must be an exact match.
S95 IDs are case sensi
tive and wild cards are
not permitted in a filter
query.
When you use filter parameters, the relevant material lots are displayed in the Inventory View. If the
material lot set returns a greater number than the maximum quantity permits, a link appears in the results
display. Clicking this link advances the display to show the next set of material lots within the allowable
range.
If a material lot is expanded and it contains more results than the maximum quantity permits, a link
appears in the results display. Clicking this link retrieves the next set of material sublots within the
allowable range.
If you click the Refresh button with no filter selected, the original set of material lots is displayed.
Equipment Model
Equipment Model
The equipment model presents a structured hierarchy of resources to develop a modular representation
of a complete production or manufacturing organization in a physical and functional context. The model
is flexible, addressing batch, continuous, and discrete production types, or representing inventory storage.
The permissible hierarchies depend on the process being modeled, which includes batch, continuous
production, discrete production, storage, or movement. However, within these hierarchies, an equipment
Workflow Full User Guide | 7 - Resource Information and Configuration | 403
resource may also own other resources of the same type. For example, production lines can own other
lines; units can own sub-units, and so on. You can use these basic types to model the equipment within
your enterprise, adding properties for each resource, and creating equipment classes. The S95 Editor
provides a user interface to model equipment within your project.
The hierarchies within the Equipment model have two types of resources: intermediate and terminating.
Intermediate resources are resources that exist between levels of the hierarchy. For example, a site that
exists between an enterprise and an area. Terminating resources are resources that are the last resource
in a hierarchy.
In addition to the hierarchies, alternative production paths are possible. For example, your production
hierarchy may have three lines that can perform the same function: two active (lines 1 and 2), and one
backup (line 3). If production stops on line 2, you can choose to use an alternative path to line 3 while line
2 is repaired.
Note:
You can configure up to 5000 properties for each equipment instance, inclusive of the properties
of any equipment classes that may be associated with the instance. For example, if an equipment
instance has five classes associated with it, and each of those classes has 100 properties, then
the instance could have 4500 properties configured at the instance level.
Related reference
Aspects (on page 536)
You can select equipment items to be excluded from the CSV file prior to generation. Once generated, the
saved CSV file can be edited and uploaded to the Web HMI application.
a. Under Configuration, click the ellipsis (…) for the Output File Path field.
c. Enter a name for the CSV file after the path in File Name.
d. Select CSV File (.csv) (*.csv) in the Save as type field, and then click Save.
The selected path appears in the Output File Path field.
4. Optional: If you want to exclude any portion of the Equipment Model in your generated file, do the
following:
a. Click Select.
The Universal Browser appears.
b. Navigate through the columns and select one or more items from the hierarchy to exclude.
Tip:
Use Shift+click to select continuous items or Ctrl+click to select individual
items.
c. Click OK.
The item(s) appears next to Select.
Note:
If you want to remove an equipment item from the exclusion list, click the X next to
the item.
5. Click Generate.
The model file successfully generates and opens on the desktop.
You can generate an Equipment Model CSV file from Workflow data that can then be uploaded to
Operations Hub. You can select equipment items to be excluded from the CSV file prior to generation.
Workflow Full User Guide | 7 - Resource Information and Configuration | 405
Once generated, the saved CSV file can be edited and uploaded to the Operations Hub application.
Tip:
You can create and run scripts that will generate multiple files for multiple projects.
commands.
4. If you intend to generate multiple files, you must navigate to the CSV file and change its name. This
prevents the file from being overwritten.
Equipment Duplication
While Workflow allows for infinite levels of equipment in its hierarchy, Plant Applications has only three
levels in the equipment model.
Enterprise No equivalent
Workflow Full User Guide | 7 - Resource Information and Configuration | 406
Area No equivalent
When you try to duplicate a production unit or other equipment instance lower in the hierarchy from within
the navigator, it can result in an aspect error because the children are moved to the same level as the
original instance and this may result in duplicate names.
To avoid this when duplicating an equipment instance, you can specify a prefix to be applied to the names
of all duplicated child equipment to ensure unique names in the model. For example, if you specify a
prefix of ‘xyz,’ the child equipment will be named xyzChild1, xyzChild2, and so on. This extends all the way
down the equipment hierarchy.
When you duplicate an equipment instance, by default, its parent is the same as the original, except for an
enterprise instance, which is at the top of the hierarchy and has no parent. You cannot change the parent
of an enterprise instance. All the child instances of the original instance are also duplicated.
Note:
A parent can be any instance type that the duplicate can be a child of. For example, if you
duplicate a production line, the new parent can be an area or another production line.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Tip:
To remove an equipment class, select the class, and then click Delete Selection.
7. Click Save.
Note:
If you selected an equipment class as the data type, you must expand the property to view
the class properties.
7. In the Value field, enter a value for the selected data type.
8. If applicable, in the Unit of Measure field, enter a unit of measure for the selected data type.
9. To bind the property to an external data source, do the following:
Note:
You cannot bind equipment class properties to an external data source.
b. Click in the Value field, and then click the ellipsis button.
The Configure Data Source dialog box appears.
d. If applicable, click the Show Details button, and then click Test external data link to test
whether the data source is valid.
Workflow Full User Guide | 7 - Resource Information and Configuration | 409
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. From this list, select the resource you want to work with.
3. In the Displays panel, click Production Management > S95 Model Editor.
4. Click the Properties tab, and then click Add Property .
5. In the Name field, enter a name for this property.
6. From the Type field, select a custom property type.
7. In the Value field, select a value for the custom property type.
8. Optional: If applicable, in the Unit of Measure field, enter a unit of measure for the custom property
type.
9. Click Save.
Note:
◦ If the copied content is not valid, an error dialog box appears. Click OK to cancel the
paste action.
◦ You cannot copy or paste information from an inherited property.
Note:
◦ In the Type field, selecting Browse for class opens the Universal Browser, where you
can select a class.
◦ Changing property values affects your production process.
6. Click Save.
Note:
When a property is deleted, it cannot be recovered.
6. Select the check box for the column you want to make visible in the Properties tab or clear the
check box for a column to hide it.
7. Click OK.
8. Click Save.
Note:
When the grid is sorted by anything other than name, the property names are fully qualified;
each property and sub-property has its own row with no hierarchy visible. When displayed
as fully qualified, no property can be expanded to show sub-properties or closed to hide
sub-properties.
Enterprises
An enterprise resource represents a complete production organization and is the highest level
resource in the equipment hierarchy.
Enterprises are independent because they are not subordinate to any other resource and they are the
originators of production planning for a coordinated group of sites or areas.
Workflow Full User Guide | 7 - Resource Information and Configuration | 412
Note:
Within the enterprise resource, you must have a site defined where child resources are configured
to further define your process.
In the equipment model, the enterprise is the topmost resource, and must contain at least one site
resource.
The following sections describe the information and properties available on each of the tabs on the S95
Editor for equipment resources.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Sites
A site can be any high-level grouping of equipment representing a physical or logical organization
established by the enterprise. A site can contain another site; that is, it is an intermediate resource that
can contain other equipment resources.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information, see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Areas
Resources contained by an area define where the physical production occurs. Areas correspond to
specific models of continuous, discrete, or batch manufacturing. To further define production, multiple
areas can be used to define the required process.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Production Units
Production units are self-sufficient and are not dependent on external equipment items or processes to
carry out the portion of a continuous production process they are defined for. It is a resource that can be
the last resource in a hierarchy; that is, a terminating resource. Although a production unit can encompass
multiple physical equipment items, those items (for example, equipment that converts, separates, or
reacts) are not represented in the equipment model.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Production Lines
A production line resource represents a group of physical equipment items that are applied
sequentially to manufacture a product.
Production lines are applied to discrete production processes. Although smaller equipment items may
comprise a production line, they are not defined in the equipment model.
A production line can be the last resource in a hierarchy; that is, a terminating resource. Although work
cell resources can be nested within a production line, such nesting indicates that some alternate paths
are available within the production line.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Process Cells
A process cell resource represents a group of physical equipment items that is dedicated to a
batch manufacturing subprocess. It performs operations on a raw material to produce an interim or final
product.
A process cell can be both a terminating and intermediate resource, meaning that a process cell can
contain itself or terminate at itself in the equipment hierarchy. A process cell can contain unit resources
but only when those units represent alternate production paths through a process cell.
Details Tab
You can change the name and description of this resource.
Workflow Full User Guide | 7 - Resource Information and Configuration | 417
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Units
In the equipment model, a unit is a terminating resource; that is; the last resource in a hierarchy. Unit
resources are contained within a process cell only when some variability exists within the process cell
regarding the path a product takes. For example, a unit adds value to a process cell by adding a dye or
chemical to the overall process.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Work Cells
A work cell resource represents a group of physical equipment items that are applied sequentially
to manufacture a product. Work cells most often represent one of multiple alternate paths that can be
taken by a product on a production line. Although smaller equipment items may be contained by a work
cell, they are not defined in the equipment model.
A work cell is a terminating resource; that is the last resource in a hierarchy. Work cells are included when
a production line contains optional production paths.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Storage Zones
A storage zone resource represents a complete inventory subsystem, which has the capability
to receive, store, retrieve, move, and ship materials required for production, including material movements
between enterprises.
A storage zone can be a terminating resource or can contain storage unit resources if a more detailed
inventory structure is required.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Workflow Full User Guide | 7 - Resource Information and Configuration | 420
Storage Units
The physical location of a storage unit can be dynamic, such as when a specific material inventory is en
route to a new location. A storage unit is a terminating resource; that is, the last resource in a hierarchy,
and is generally applied when detailed inventory organization is needed.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Equipment Modules
An equipment module can carry out a finite number of specific, minor processing activities. It
combines all necessary physical processing and control equipment to perform those activities.
Workflow Full User Guide | 7 - Resource Information and Configuration | 421
Equipment modules are usually centered on a piece of processing equipment such as a filter (in batch
operations), packager, or an injection molder. Functionally, the scope of the equipment module is defined
by the finite tasks it is designed to carry out. .
Physically, an equipment module can be made up of control modules and subordinate equipment
modules. For example, a wave soldering machine may be made up of equipment modules for flux
application, wave generation, cleaning, or heating, plus a control module for managing the movement of
a board through the various equipment modules. A wave generation equipment module might consist of
another equipment module for controlling temperature, plus a control module for adjusting wave height
Equipment modules are controlled procedurally through complex logic. They may have multiple states
and run through sequences of operations.
Equipment modules are connected to other equipment and systems through control modules.
An equipment module can be a terminating resource; that is, the last resource in a hierarchy.
Details Tab
You can change the name and description of this resource.
Properties Tab
For more information see Equipment Properties.
Classes Tab
For more information, see Equipment Classes.
Workflow Full User Guide | 7 - Resource Information and Configuration | 422
Control Modules
A control module can consist of a collection of sensors, actuators, other control modules, and
associated processing equipment that is operated as a single entity.
A control module is where direct connections to sensors and actuators are made in the factory. Most of
the data connections you make to resources are made to control modules. Control modules may be given
commands such as start and stop or “set speed”, or can provide information, such as temperature, speed,
or alarm information.
A control module can also be made up of other control modules. For example, the heating system in
a wave soldering machine may consist of an upper heating coil and a lower heating coil, along with a
common temperature output of the solder. You may want to model this as a control module, and then
model each heating coil independently as control modules within it. This allows you to control and
measure both as a group, or to individually control or monitor them.
Where equipment modules are controlled procedurally through defined sequences or recipes, control
modules are driven to a certain state; for example, a temperature element that has a temperature control.
Setting the temperature drives the heating element until the requested temperature is reached. Even if
the control module internally has complex logic to attain the state, the exposed interface to the world is
simple – set a value, read a value.
A control module can be a terminating resource; that is, the last resource in a hierarchy.
In the Properties tab, you must click once in a field to select it, and then click again to edit the field.
Depending on the selected field, you can enter text, select from a drop-down list, or click an ellipsis button
to open a dialog box.
Workflow Full User Guide | 7 - Resource Information and Configuration | 423
When you select an equipment class in the Type field, the properties of that class are added as sub-
properties to the current property. You can add a class multiple times, which in turn adds multiple sets of
that class' properties.
You can override the default values of a property inherited from an equipment class whether the class is
associated with an equipment instance, or if a property (on an equipment instance or class) is configured
as a class type.
If you override the default value of an attribute on an inherited class property, the new value appears in
blue. The blue color indicates that the attribute value is no longer linked to the default value obtained from
the property on the parent class.
EngineClass is an equipment class that has a property called RotationsPerMinute. The property type
of RotationsPerMinute is RotationsPerMinuteClass. RotationsPerMinuteClass is an equipment class
with three properties: Current, Maximum, and Minimum, all of which are inherited by EngineClass as
subproperties of RotationsPerMinute.
An equipment instance named Aircraft1 has a property named Engine, which is of type EngineClass. The
fully qualified names of all the properties on Aircraft1 are:
• Engine.RotationsPerMinute.Current
• Engine.RotationsPerMinute.Maximum
• Engine.RotationsPerMinute.Minimum
If you override the default attributes of the properties on EngineClass (on the EngineClass property
grid) then those changes appear in blue. The overridden values will also be reflected when you view the
property grid for Aircraft1, or any other instance or class that inherits from EngineClass; however, they
do not appear in blue because they are linked values of the attributes on EngineClass. The values of the
property attributes on the RotationPerMinuteClass do not change.
Workflow Full User Guide | 7 - Resource Information and Configuration | 424
Note:
Properties on an equipment instance or class (that is, non-inherited properties added directly to
an equipment resource) do not display True or False for value overrides on the export file.
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
The Configure Columns
dialog box changes the
visible columns for all
equipment resource
properties.
Workflow Full User Guide | 7 - Resource Information and Configuration | 425
Note:
Note:
This check box is not
available for the proper
ty if the property type is
class; however, it is avail
Workflow Full User Guide | 7 - Resource Information and Configuration | 426
Note:
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A–Z, a–z, 0–9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Text external data link N/A Click to test whether the select
ed data source is valid. This link
is available only when the select
ed property is linked to an exter
nal data source.
Related reference
Material Lots and Sublots (on page 398)
Equipment Classes
Equipment classes allow you to organize properties into common collections to make the modeling
process easier for equipment resources.
Workflow Full User Guide | 7 - Resource Information and Configuration | 428
You may have equipment that have common properties that you want to apply to a number of equipment
resources. For example, every machine that draws power may have a ‘current draw’ property for
monitoring energy usage in your plant. Rather than adding this property to every equipment resource, you
can create a “Powered Machine” class that contains the common properties for current draw, voltage,
and so on. After the class is defined, you can add this class to every equipment resource that uses power.
For every resource you add the class to, the properties defined in the class become available so you can
read from or write to those properties. This not only makes the process of creating your models easier, it
ensures that you have common data across machines for reporting and analysis.
Important:
If you change a property within a class, that change affects all resources that the class was
added to.
Details Tab
You can change the name and description of this resource.
Properties
On the Properties tab of an equipment class, the available columns are Name, Type, Value, Unit of
Measure, and Description. There are no Linked or Equipment Class columns.
In the Properties tab, you must click once in a field to select it, and then click again to edit the field.
Depending on the selected field, you can enter text, select from a drop-down list, or click an ellipsis button
to open a dialog box.
Workflow Full User Guide | 7 - Resource Information and Configuration | 429
When you select an equipment class in the Type field, the properties of that class are added as sub-
properties to the current property. You can add a class multiple times, which in turn adds multiple sets of
that class' properties.
You can override the default values of a property inherited from an equipment class whether the class is
associated with an equipment instance, or if a property (on an equipment instance or class) is configured
as a class type.
If you override the default value of an attribute on an inherited class property, the new value appears in
blue. The blue color indicates that the attribute value is no longer linked to the default value obtained from
the property on the parent class.
EngineClass is an equipment class that has a property called RotationsPerMinute. The property type
of RotationsPerMinute is RotationsPerMinuteClass. RotationsPerMinuteClass is an equipment class
with three properties: Current, Maximum, and Minimum, all of which are inherited by EngineClass as
subproperties of RotationsPerMinute.
An equipment instance named Aircraft1 has a property named Engine, which is of type EngineClass. The
fully qualified names of all the properties on Aircraft1 are:
• Engine.RotationsPerMinute.Current
• Engine.RotationsPerMinute.Maximum
• Engine.RotationsPerMinute.Minimum
If you override the default attributes of the properties on EngineClass (on the EngineClass property
grid) then those changes appear in blue. The overridden values will also be reflected when you view the
property grid for Aircraft1, or any other instance or class that inherits from EngineClass; however, they
do not appear in blue because they are linked values of the attributes on EngineClass. The values of the
property attributes on the RotationPerMinuteClass do not change.
Workflow Full User Guide | 7 - Resource Information and Configuration | 430
Note:
Properties on an equipment instance or class (that is, non-inherited properties added directly to
an equipment resource) do not display True or False for value overrides on the export file.
The following table describes the information available on the Properties tab, where you can configure the
values for the property attributes.
Note:
The Configure Columns
dialog box changes the
visible columns for all
equipment resource
properties.
Workflow Full User Guide | 7 - Resource Information and Configuration | 431
Note:
Note:
This check box is not
available for the proper
ty if the property type is
class; however, it is avail
Workflow Full User Guide | 7 - Resource Information and Configuration | 432
Note:
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A–Z, a–z, 0–9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Text external data link N/A Click to test whether the select
ed data source is valid. This link
is available only when the select
ed property is linked to an exter
nal data source.
Related reference
Equipment Instance Properties (on page 422)
Equipment Actuals
Equipment actuals identify an equipment capability used during a selected work process segment.
Workflow Full User Guide | 7 - Resource Information and Configuration | 434
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
When the planned use of equipment resources does not match the actual use of equipment resources,
then an equipment actual is used. The equipment actual records the true values of resources during
production, which can be compared to expected use. Work process segments have specifications, but no
way to record actual values. Using equipment actuals makes it possible to take a true measurement of
the resources that were used. For example, if the production line that is normally used is shut down for
maintenance and a separate production line is used, then an equipment actual would record the use of
the other line.
Production Model
Production Model
The production model presents a set of resources used to describe a product as a collection of
components and the processes applied to those components.
The resource hierarchy provides a modular and layered approach to specifying a variable family of
products and their production.
The production model describes activities, such as processes, recipes for making things, and information
flows. This model determines how and when the entities described in the other models are used. The
production model is also used to describe products that can be produced, as well as the resources (such
as equipment and materials), production steps, and processes required to produce them.
• The static data models that describe resources and processes, such as process segments,
definition segments, and data classes.
• The data used to associate resources and processes with an output product, as created with work
definitions.
• The runtime data that describes work in progress, including work requests.
Workflow Full User Guide | 7 - Resource Information and Configuration | 435
Work process and definition segments can be created in a hierarchical structure that allows you to create
segments at a very granular level, depending on your business requirements.
Related reference
Work Requests View (on page 491)
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. Select the resource you want to work with.
3. In the Displays panel, select an editor.
The editor appears in the workspace, displaying the resource information.
4. Click the Properties or Parameters tab, and then click Add Property or Add Parameter.
5. In the Name and Description fields, enter a name and description for the property/parameter.
6. From the Data Type list, select a data type.
7. In the Value field, enter a value for the selected data type.
8. Optional: If applicable, in the Unit of Measure field, enter a unit of measure for the selected data
type.
9. Click Save.
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. Select the resource you want to work with.
3. In the Displays panel, select an editor.
The editor appears in the workspace, displaying the resource information.
4. Click the Properties or Parameters tab, and then select the property or parameter you want to
modify.
5. In the Name and Description fields, enter a name and description for the property/parameter.
6. Click Save.
Workflow Full User Guide | 7 - Resource Information and Configuration | 436
Important:
Changing property/parameter values affects your production process.
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. From this list, select the resource you want to work with.
3. In the Displays panel, select an editor.
The editor appears in the workspace, displaying the resource information.
4. Click the Properties or Parameters tab, and then select the property or parameter you want to
modify.
5. Change the property/parameter's attributes, as required. For more information, see Add properties
to a resource.
6. In the Value field, enter a value for the selected data type.
7. If applicable, in the Unit of Measure field, enter a unit of measure for the selected data type.
8. Click Save.
Related information
Add properties to a resource (on page 408)
Note:
When a property/parameter is deleted, it cannot be recovered.
1.
2. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
3. From this list, select the resource you want to work with.
4. In the Displays panel, select an editor.
The editor appears in the workspace, displaying the resource information.
5. Click the Properties or Parameters tab, and then select the property or parameter you want to
delete.
6. Click Delete Property or Delete Selection, and then click Save.
Workflow Full User Guide | 7 - Resource Information and Configuration | 437
When this association occurs, production properties become available to workflows through segment
responses. The work data class outlines the data returned by the work process segment.
You can:
Related reference
Work Requests View (on page 491)
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you selected the Required Class check box on the Work Data tab of the associated work
process segment, then go to step 8. If not, go to step 9.
a. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
9. Click WriteWorkData.
b. Click Add classes of work data properties, and then select a work data class.
The properties for the selected work data class appear.
c. To change properties, click Remove classes of work data properties, and then select a
different work data class.
Workflow Full User Guide | 7 - Resource Information and Configuration | 439
d. Click Select all or select the check box of a specific property, and then click Finish. Each
property you select appears as an input parameter on the activity configuration panel.
e. For each property, enter a new value or expression, or bind a property or parameter to the
method.
f. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
g. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
Important:
All relevant production resources, work process segments, work data classes with properties,
and work requests must exist in order for a value from one workflow to be recorded in another
workflow.
Workflow Full User Guide | 7 - Resource Information and Configuration | 440
The following table decribes the attributes specific to this resource type.
Note:
This property cannot be
changed if it is inherited
from another resource.
Value User-defined alphanumeric string Specifies the value for the select
(A–Z, a–z, 0–9) up to 8000 char ed data type. Valid values depend
acters on the selected data type.
Unit of Measure User-defined alphanumeric string Specifies the unit of measure for
(A–Z, a–z, 0–9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Workflow Full User Guide | 7 - Resource Information and Configuration | 441
For example, making a bicycle frame requires an assembly jig, a bending machine, and an assembler for
30 minutes.
A work process segment can be used to produce different products depending on how the process is
used. In the example described above, the process segment could be used to produce bike frames of
different sizes and colors.
Work process segments are made up of material, equipment, and personnel specifications, as well as
process parameters that customize the process behavior. The specifications can refer to definitions or
classes from a corresponding resource model. You can track resource actual properties that are based
on a specification's properties when the work process segment is associated with a segment response.
Each specification can define a template for resource actual properties based on the specified resource's
properties. A template is used when resource actuals associated with a specification are created.
Resource actual properties are tracked in a segment response when the appropriate call methods (that
is, CreateMaterialActual, CreateEquipmentActual, or CreatePersonnelActual) are used in a workflow that
is configured to create a segment response. However, for a template to be applied, the Requirement
ID parameter must be used to provide the segment requirement ID so that the specification with the
template can be determined.
Alternatively, rather than using the response tracking capability on the Specifications tab to predefine
the resource properties to track, you can use the AddResourceActualProperties call method to explicitly
add resource actual properties to a resource actual to track the resource properties on the associated
segment response.
A segment-workflow association defines the associated workflow at design time, then looks it up at run
time, and executes it without the need to hard-code the workflow address into another workflow. With this
additional flexibility, a workflow could load a work process segment and execute its associated workflow
without you having to know which workflows are actually associated with the segment.
A master segment is a work process segment that contains information that applies to all work definition
segments associated with a work definition. In other words, a master segment is a template for a
work request. For example, a customer name can be represented as a segment parameter in a master
segment.
A master segment can be associated with multiple work definitions; however, a work definition can be
associated with only one master segment. Work requests are created from an individual work definition
and, therefore, can also be associated with only one master segment.
Workflow Full User Guide | 7 - Resource Information and Configuration | 442
Related reference
Work Definitions (on page 465)
In a workflow subprocess, you use two call method activities to perform this task. You can create
expressions or bind properties for many of these properties, depending on your workflow requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
c. In the Location field, click the ellipsis button, and then select an equipment location.
d. In the S95 ID field, enter a name or expression, or bind a property or parameter to the
method.
The following table describes the attributes specific to this resource type.
Note:
This button is available
only if an equipment lo
cation is currently set.
Workflow Full User Guide | 7 - Resource Information and Configuration | 445
Process Duration: Duration User-defined numeric value Specifies the resource's duration.
The duration can be defined at
any level of the process. Duration
is not inherited through an asso
ciation with another resource.
Process Duration: Unit of Mea User-defined alphanumeric string Specifies the duration's unit of
sure (A-Z, a-z, 0 - 9) up to 20 charac measure, such as gallons, inches,
ters tons.
• Production
• Maintenance
• Quality
• Inventory
• Mixed
• Unspecified
Note:
This button is available
only if a workflow associ
ation is currently set.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To remove the equipment location, click Clear.
6. Click Save.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To cancel the workflow association, click Clear.
6. Click Save.
Parameters in a work process segment are displayed with any associated work definition segment, where
you can override the value.
Workflow Full User Guide | 7 - Resource Information and Configuration | 449
If you add, delete, or modify a work process segment parameter, any associated work definition segments
are also affected.
The following table describes the attributes specific to this resource type.
Value User-defined alphanumeric string Specifies the value for the select
(A-Z, a-z, 0 - 9) up to 20 charac ed data type. Valid values depend
ters on the selected data type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0 - 9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Workflow Full User Guide | 7 - Resource Information and Configuration | 450
Related reference
Work Process Segments (on page 441)
Related information
Production Model (on page 434)
The following table describes the attributes specific to this resource type.
Tip:
You can modify the
quantity and unit of mea
sure.
Tip:
You can select how the
material is used, and
Workflow Full User Guide | 7 - Resource Information and Configuration | 451
Tip:
You can modify the
quantity and unit of mea
sure.
• Produced
• Consumed
• Consumable
Note:
This options is available
only when a material
specification is config
ured.
Settings: Unit of Measure User-defined alphanumeric string Specifies the unit of measure,
(A-Z, a-z, 0 - 9) up to 20 charac such as gallons, inches, tons.
ters
Workflow Full User Guide | 7 - Resource Information and Configuration | 452
Response Tracking: Property User-defined alphanumeric string Displays the specification's prop
Name (A-Z, a-z, 0 - 9) up to 20 charac erty name.
ters
Response Tracking: Class Name User-defined alphanumeric string Displays the specification's class
(A-Z, a-z, 0 - 9) up to 20 charac names, where applicable.
ters
Response Tracking: Respond N/A Select this check box for each re
check box source property whose resource
actual property you want to track
on an associated segment re
sponse.
Tip:
If you do not select this
check box, you can still
track resource proper
ties on a segment re
sponse by using the Ad
dResourceActualProp
erties call method in
a workflow to explicit
ly add resource actual
properties to a resource
actual.
Related reference
Work Process Segments (on page 441)
Note:
You must create equipment, material, and personnel resources before you can add them as
specifications.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Click... To add...
Related reference
Work Definition Segments (on page 457)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
When a resource is deleted, it cannot be recovered.
Workflow Full User Guide | 7 - Resource Information and Configuration | 455
Work data classes associated with a work process segment are inherited by a work definition segment
when it is associated with the work process segment. Each class adds its collection of properties to the
work data associated with the work process segment.
The following table describes the attributes specific to this resource type.
Note:
You can use up to 50
work data classes per
work process segment.
The options available to
you are in bold.
Related reference
Work Process Segments (on page 441)
Note:
You must have created work data classes before you can add them. For more information, see
Add a resource to a model.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
You can add up to 5 data classes per process segment. The options available to you are in
bold print.
Tip:
To remove a work data class, select the appropriate resource, and then click Delete
Selection.
A definition segment defines how a process segment is used to produce a specific product by feeding
parameters and specifications into a work process segment.
Note:
A work definition segment can be associated with only one work process segment.
You can also associate work definition segments with the parameters of work process segments through
a workflow's Call Method activity.
Work definition segments further detail the resources that are required to create the product; that is, the
equipment, material, and personnel.
The definition segment inherits the parameters and specifications defined for the associated process
segment. You can customize the definition segment by adding product-specific parameters and by
changing the values of inherited process segment parameters. However, you cannot delete parameters
inherited from the process segment. If you override the value of a process segment parameter at the
definition segment level, the change applies only to the specific definition segment; it is not reflected in
the process segment.
Equipment, material, and personnel specifications are also inherited from the associated process
segment; you cannot add specifications to the definition segment, nor can you change the name and
description of an inherited specification; however, you can change the quantity.
The following topics describe the S95 Editor tabs and available attributes.
Related reference
Work Requests View (on page 491)
Segment Hierarchies
A segment hierarchy is a collection of work definition segments in a parent/child relationship.
You can create a segment hierarchy with a maximum of four levels. A work definition segment can be
associated with multiple child segments; however, the association name for each relationship must be
unique.
Important:
A work definition segment cannot be a child of another work definition segment if it is already a
parent to that segment. As well, a work definition segment cannot be a parent to another work
definition segment if it is already a child of that segment.
For example, you have two parent segments, named Build Bicycle and Build Tricycle. For Build Bicycle,
you have two Build Tirechild segments. Even though the child segment being used is the same for both
tires, you must provide a unique name to each one of the associations: Front Tire and Rear Tire. The
Build Tricycle segment could also have a child segment named Front Tire. Even though the name of the
association is the same as Build Bicycle, the association is unique because it is for a different parent
segment.
*You cannot use the name Front Tire twice because that name is already being used for another
relationship within the Build Bike hierarchy.
**Even though the Build Tricycle hierarchy is the same as Build Bike, you can use the name Front Tire
because there is no other relationship with that name within the Build Tricycle hierarchy.
A parent work definition segment can be a container for its child segments, or it can have its own
execution steps. You can set the execution order on all levels of work definition segments within a
hierarchy.
Workflow Full User Guide | 7 - Resource Information and Configuration | 459
The following table describes the attributes specific to this resource type.
Work Definition Segment Dura User-defined numeric value Specifies the resource's dura
tion: Duration tion in minutes. The duration
can be defined at any level of the
process. Duration is not inherited
through an association with an
other resource.
Related reference
Work Process Segment Details Tab (on page 444)
Workflow Full User Guide | 7 - Resource Information and Configuration | 460
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
The following table describes the attributes specific to this resource type.
Note:
This parameter cannot
be changed if it is in
herited from another re
source.
Value User-defined alphanumeric string Specifies the value for the select
(A–Z, a–z, 0–9) up to 255 char ed data type. Valid values depend
acters on the selected data type.
Unit of Measure User-defined alphanumeric string Specifies the unit of measure for
(A–Z, a–z, 0–9) up to 20 charac the data type, such as gallons,
ters inches, tons.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To reset the original value, clear the check box.
When process segment specifications are modified, added, or removed, this information is reflected
in the specifications tab of the associated work definition segments. However, you can modify select
information related to the specification, such as the quantity and a non-class resource.
The following table describes the attributes specific to this resource type.
Settings: Quantity field User-defined numeric value Specifies the required quantity
for the resource.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
For more information, see Work Data Classes (on page 437).
Workflow Full User Guide | 7 - Resource Information and Configuration | 464
The following table describes the attributes specific to this resource type.
Associated Work Definition Seg User-defined Displays the child work definition
ment segment associated with the par
ent work definition segment.
Related Work Process Segment System-defined Displays the work process seg
ment associated with the work
definition segment.
Important:
A work definition segment cannot be a child of another work definition segment if it is already a
parent to that segment. As well, a work definition segment cannot be a parent to another work
definition segment if it is already a child of that segment.
Tip:
To remove a segment association, select the appropriate child work definition segment,
and then click Remove child segment.
6. If applicable, click Edit, and then in the Name field, enter a name for the segment association.
7. In the Order field, enter the execution order for the associated child work definition segment.
8. Click Save.
Work Definitions
A work definition is a collection of work definition segments assembled together to outline and define the
resources and data required to carry out a unit of work.
A unit of work is a defined task or series of tasks required to carry out an activity. The work definition itself
does not describe how to do the work; it describes the specifications and information you need to do it. A
work definition is a means to monitor steps in the production process.
By associating work definitions with other production requirements, you ensure that every level of the
production process is relevant and functional. Each step within the production model is interrelated,
Workflow Full User Guide | 7 - Resource Information and Configuration | 466
so each entry point allows you to associate resources and processes with one another. Each step
must interrelate so that, during production, you can ensure that there are resources (both human and
equipment) to produce a product. As such, work definitions are used to generate work requests.
Related reference
Work Requests (on page 476)
Related information
Enter a related production rule (on page 467)
Associate a work definition with a work definition segment (on page 473)
The following table describes the attributes specific to this resource type.
Work Definition Version User-defined alphanumeric string Specifies the current version of
(A-Z, a-z, 0 - 9) up to 20 charac this resource.
ters
Workflow Full User Guide | 7 - Resource Information and Configuration | 467
Related information
Link a resource to a work definition (on page 468)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
For example, linking a material resource to a work definition helps to illustrate that the reason for the work
definition is to create the material described in the associated material resource.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
5. Clear the Set as Master checkbox to remove the master segment designation from the work
process segment.
6. Click Save.
A master segment can be associated with multiple work definitions; however, a work definition can be
associated with only one master segment. Work requests are created from an individual work definition
and, therefore, can also be associated with only one master segment.
When a master segment is added to a work definition, its associated details are displayed.
The following table describes the attributes specific to this resource type.
Add/Remove a Master Segment User-defined alphanumeric string Displays the work definition seg
(A-Z, a-z, 0 - 9) up to 20 charac ment and its associated master
ters segment associated with the se
lected work definition.
Note:
Only a work definition
segment with an asso
ciated master segment
can be selected.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Note:
You can select only a work definition segment whose associated work process segment is
set as a master segment. Valid work definition segments are indicated with bold text in the
Universal Browser.
6. Click OK. The selected work definition segment, its associated work process segment, and the
master segment details are displayed in the Master Segment tab.
7. Click Save.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
You can associate the selected work definition with up to 50 work definition segments. You can also apply
an order to the execution of the associated work definition segment.
The following table describes the attributes specific to this resource type.
Associated Work Definition Seg User-defined Displays the work definition seg
ment ment associated with the work
definition.
Related Work Process Segment User-defined Displays the work process seg
ment related to the associated
work definition segment.
Note:
You can add up to 50 segments to a work definition.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To remove a segment association, select the appropriate segment, and then click Remove
Selection.
6. If applicable, click Edit, and then in the Name field, enter a name for the segment.
Workflow Full User Guide | 7 - Resource Information and Configuration | 474
7. In the Order field, enter the execution order for the associated work definition segment.
8. Click Save.
Work process segment parameters are inherited by associated work definition segments. If you add,
modify, or delete a work process segment parameter, all associated work definition segments are also
affected.
The following table describes the attributes specific to this resource type.
Value User-defined alphanumeric string Specifies the value for the select
(A-Z, a-z, 0-9) up to 255 charac ed data type. Valid values depend
ters on the selected data type.
UoM (Unit of Measure) User-defined alphanumeric string Specifies the unit of measure for
(A-Z, a-z, 0-9) up to 255 charac the data type, such as gallons,
ters inches, tons.
Related information
Production Model (on page 434)
When work process segment specifications are modified, added, or removed, this information is reflected
in the specifications tab of the associated work definition. However, you can modify select information
related to the specification, such as the quantity and a non-class resource.
The following table describes the attributes specific to this resource type.
Settings: Quantity field User-defined numeric value Specifies the required quantity
for the resource.
For a complete description of the specification attributes of this resource, see Specifications tab .
Related reference
Work Requests View (on page 491)
Related reference
Work Data Classes (on page 437)
Work Requests
Work requests contain the information required to begin a production process.
They are sent by a scheduling system or entered by an operator to trigger an activity that can be
individually monitored, scheduled, and reported on. By submitting a work request, the necessary
resources are identified and become part of a work schedule. Each work request is associated with a
work definition.
Workflow Full User Guide | 7 - Resource Information and Configuration | 477
Work requests are also associated with the events model. When a work request is created, any scheduled
event is triggered in this section. It can be triggered automatically through a service provider from an
external system, such as a master scheduler in a plant, or an alarm system, or manually through a user-
defined workflow schedule.
The following topics describe the S95 Editor tabs and available attributes.
Related information
Production Model (on page 434)
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
7. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
8. Double-click IProductionRuntime to display the list of available call methods.
9. Click CreateWorkRequest, and then click Finish.
The input parameters appear in the activity configuration panel.
10. Optionally:
a. In the Description field, enter a description or expression, or bind a property or parameter to
the method.
b. In the S95 ID field, enter a name or expression, or bind a property or parameter to the
method.
11. In the Work Definition field, click the ellipsis button, and then select a work definition.
12. Click Save.
13. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
1. Create a new work request or ensure that you have a work request that you can move your work
responses to.
2. In the navigator, click Workflow > Workflows.
3. In the resource list, select the workflow that you want to work with. If no workflow exists, create a
new workflow.
4. In the Displays panel, click Workflow Management > Workflow Editor.
5. Click the Workflow Editor tab.
6. Insert an activity:
◦ At the workflow level:
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Workflow Full User Guide | 7 - Resource Information and Configuration | 479
In a workflow subprocess, you use two call method activities to perform this task. You can create
expressions or bind properties for many of these properties, depending on your workflow requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Workflow Full User Guide | 7 - Resource Information and Configuration | 480
c. In the Location field, click the ellipsis button, and then select an equipment location.
d. In the S95 ID field, enter a name or expression, or bind a property or parameter to the
method.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you selected the Required Class check box on the Work Data tab of the associated work
process segment, then go to step 8. If not, go to step 9.
a. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
9. Click WriteWorkData.
b. Click Add classes of work data properties, and then select a work data class.
The properties for the selected work data class appear.
c. To change properties, click Remove classes of work data properties, and then select a
different work data class.
d. Click Select all or select the check box of a specific property, and then click Finish. Each
property you select appears as an input parameter on the activity configuration panel.
e. For each property, enter a new value or expression, or bind a property or parameter to the
method.
f. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
g. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
The following table describes the attributes specific to this resource type.
Note:
This button is available
only if an equipment lo
cation is currently set.
Scheduling: Priority User-defined numeric value Specifies the order in which the
work request will be performed.
This setting can be used with au
tomatic scheduling systems. For
Workflow Full User Guide | 7 - Resource Information and Configuration | 484
Note:
Setting the priority is for
internal use only; it does
not affect the execution
of a work request.
Scheduling: Start Time User-defined Specifies the start date and time
for the work request. This setting
can be used with priority schedul
ing.
Scheduling: End Time User-defined Specifies the end date and time
for the work request. This setting
can be used with priority schedul
ing.
• Draft
• Unscheduled
• Pending
• Running
• Paused
• Completed
• Failed
• Cancelled
• Unknown
• Finished
Workflow Full User Guide | 7 - Resource Information and Configuration | 485
Note:
Changing the status
can alter another pro
duction process. Status
changes are signaled in
the Events model.
Related reference
Condition Events (on page 501)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To remove the equipment location, click Clear.
6. Click Save.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Related reference
Condition Events (on page 501)
Note:
Work request status information can be used to schedule workflows and trigger events.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Important:
Changing the status can alter another production process. Status changes are signaled in
the events model.
5. Click Save.
Related reference
Condition Events (on page 501)
You can also view and modify resource quantities for the material, equipment, and personnel resources
in this process in a single location. Some resources are part of a larger, more generalized group or class.
For these resources, you can select a more defined resource than the one that is currently defined as a
requirement. For example, if the selected process indicates that it requires a mixer to perform a task, but
the segment in this work request actually requires a specific mixer to complete the task at a particular
time that this mixer is available, then you can indicate the specific mixer at this level.
The following table describes the attributes specific to this resource type.
Earliest Start Time System-defined Select the start date and time for
the segment.
Latest End Time System-defined Select the end date and time for
the segment.
Workflow Full User Guide | 7 - Resource Information and Configuration | 488
Note:
This button is available
only if a class resource
needs to be further de
fined.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
Click Clear to remove the resource.
7. Click Save.
A work request can have more than one work response associated with it, and a work response can have
zero or more segment responses associated with it. A segment response displays detailed information
related to the execution of a work request, such as work data, time, location, and equipment, material, and
personnel actual information.
Tip:
You can view these segment responses when they have been configured using the Call Method
activity.
The following table describes the attributes specific to this resource type.
Important:
To use this feature, response data for the work request must exist in the runtime database. You
can create call method activities to view the segment responses.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
You can sort this list by Work Response, Segment Response, Work Process Segment, or
Location.
The following table describes the properties available in the Work Requests View. These properties are in
a table that you can sort by clicking on a column heading. You can also update the table by clicking the
Refresh button.
Workflow Full User Guide | 7 - Resource Information and Configuration | 492
Filters
You can filter the items displayed in the main work request view by using the filtering feature. The
following table describes the properties available that you can use to filter your work requests:
Workflow Full User Guide | 7 - Resource Information and Configuration | 493
• All
• Exactly
• Range (greater than or
less than)
Related reference
Work Data Classes (on page 437)
a. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
b. From this list, select the resource you want to work with.
Workflow Full User Guide | 7 - Resource Information and Configuration | 494
c. If applicable, from the next list in the hierarchy, select the resource you want to work with.
Note:
As more lists appear, select the appropriate resource until you find the one you are
looking for.
a. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
b. From this list, select the resource you want to work with.
c. If applicable, from the next list in the hierarchy, select the resource you want to work with.
Note:
As more lists appear, select the appropriate resource until you find the one you are
looking for.
Workflow Full User Guide | 7 - Resource Information and Configuration | 495
Tip:
To return to the table view, click Hide Filters.
Events Model
Events Model
Events are a fundamental part of production. The events model is used to map out the critical events that
occur to control production. These events can be created within this application or from external systems,
and can be used to control workflow execution.
The event model receives external events, detects system events, and notifies applications that subscribe
to events when an event has occurred. Within the event model, you can configure, monitor, and view
reports on events. This component exposes a library of event definitions, as well as the means to define
them. Events initiate work requests associated with specific events when they occur.
Event definitions can be user-defined or provided from another application or service provider. Event
definitions are stored in the Directory of Resources and are available to subscribers, who are notified
when an event has occurred.
Workflow Full User Guide | 7 - Resource Information and Configuration | 496
There are two types of configurable events: condition events and time events. Conditional and time-
based events are categorized and associated with elements from other models. The Events model also
provides relevant event-based information on production and workflow events. You must enable an event
to activate it. When it is enabled, it is monitored by the system until you disable or delete it.
Related reference
Evaluation of Condition Expressions (on page 503)
Enable an event
Tip:
As more lists appears, select the appropriate resource until you find the one you want to
work with.
3. Click Enable.
Note:
After the event is enabled, it is monitored by the system until it is disabled or deleted. If you
make changes to an event, ensure that you save it before you enable the event; otherwise,
the old event is enabled.
Disable an event
Tip:
As more lists appears, select the appropriate resource until you find the one you want to
work with.
Workflow Full User Guide | 7 - Resource Information and Configuration | 497
3. Click Disable.
Note:
When you disable an event, it is no longer triggered or monitored by the system.
Time Events
Time events can be set by time span or by calendar, and they can be either single or recurring events.
Events always fire against the local server time. However, the following exception applies during daylight
saving time (DST) change.
Example: When time interval is configured in Days (or) in combination of Days and Hours.
• When the clock is set back in autumn, an event set for 2:30 A.M. fires only once when the time is
reached for the second time (after DST ends).
• When the clock is moved forward in spring, an event set for 2:30 A.M. fires once at 3:30 A.M. on the
first day (which would have been 2:30 A.M. before the time change), and then fired again at 2:30
A.M. the following day.
• When the clock is set back in autumn, an event set for a particular time, such as 1:30 A.M. fires
twice - once at the original time of 1:30 A.M., and then once again when that time reaches 1:30
A.M. for the second time.
• When time interval is configured as Hour(s): When the clock is moved forward in spring, an event
set for 2:30 A.M. fires at 3:30 A.M. on the first day (which would have been 2:30 A.M. before the
time change), and then at 2:30 A.M. the following day.
Note:
When you change the timezone in your system, make sure to restart the Proficy Workflow Client
to reflect the correct event time in the Event Editor.
Resource Properties
The following table describes general information on properties for user-defined resources:
Workflow Full User Guide | 7 - Resource Information and Configuration | 498
Tip:
As more lists appears, select the appropriate resource until you find the one you want to
work with.
Tip:
As more lists appears, select the appropriate resource until you find the one you want to
work with.
6. In the Event Time section, click the arrows and select the hour, minutes, and seconds.
7. Click Recurs until, and then select the month, day, and year.
8. Optionally:
9. To set a recurrence:
Type Enter...
You indicate the initial start offset from midnight, as well as the time lapse between intervals. After this
time span is set, it runs at this interval indefinitely. Events always fire against the local server time.
Example
If you set the start offset at five minutes and the time span at 60 minutes, then the time span event is
every hour at five minutes after.
Specify the time span between System-defined Indicates the length of time, in
each event days, hours, minutes, or seconds,
between each event.
Specify the start offset System-defined Indicates the length of time set
to elapse from midnight, in days,
hours, minutes, or seconds, be
fore the first interval begins.
Example
The first occurrence date does not have to match the recurrence setting. For example, if you set the First
Occurrence Date to June 15, 2009 with a monthly recurrence set to the first Monday of every month, the
event will trigger on June 15, 2009 even though it is not the first Monday of the month. The recurrence
schedule determines the subsequent occurrences.
Tip:
These settings work in conjunction with Recurrence Settings, if required.
Recurrence Settings
These settings work in conjunction with event ranges and times. The following table describes recurrence
settings for calendar events.
Condition Events
Condition events are defined by logical expressions against variable values. When these components are
set and enabled, they are monitored by the system. When expressions evaluate to true, the event occurs
and subscribers to the event are notified.
Workflow Full User Guide | 7 - Resource Information and Configuration | 502
Related reference
Condition Expressions (on page 509)
The following table describes the attributes specific to this resource type.
These settings are outlined when a Create Event activity in a workflow is created.
The following table provides more information on the outcome of selecting a trigger type:
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Select... Then...
Note:
This does not allow you to detect property changes in equipment properties where that class has
been used as the Type.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
The variable name must be alphanumeric and must not contain spaces.
b. Select Bind variable to external data, and then click Configure Data Item.
The Configure Variable Data Source dialog box appears.
Note:
A class property is editable and can be deleted even when it is being monitored
by an enabled condition event; however, the event is invalid if the class property is
changed or deleted from the equipment class.
d. In the Item specific configuration section, click the ellipsis button. The Data Source Browser
appears.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Tip:
To permanently remove a variable from the event, select the variable, and then click Delete.
Workflow Full User Guide | 7 - Resource Information and Configuration | 506
Note:
The variable name must be alphanumeric and must not contain spaces.
Select... Then...
Bind variable to external data ◦ Click Configure Data Item. The Configure
Variable Data Source dialog box appears.
◦ Configure the data source.
◦ Click OK.
◦ Select an attribute.
◦ Enter a default value.
7. Click Save.
Note:
Each expression must evaluate to True or False (Boolean).
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Workflow Full User Guide | 7 - Resource Information and Configuration | 507
Tip:
To permanently remove an expression from the event, select the expression, and then click
Delete.
5. To modify the name and description, click Edit. In the Name and Description fields, enter a name
and description.
6. Double-click expression functions, expression variables, and/or expression operators to add them
to the Enter Expression field, and then enter user-defined values.
7. Select the Latch Expression check box to latch the expression.
8. Click Check Syntax to check the expression and condition for configuration errors.
9. Click Test to evaluate the expression.
The Test Expression dialog box appears.
10. Click Evaluate.
11. Click Close, and then click Save.
Variables are the input data used to build expressions. They can be literal values, represent an attribute of
the event trigger, or can be bound to a data source.
Bind variable to external data User-defined alphanumeric string Select this option to create a vari
(A-Z, a-z, 0-9) able that is bound to an external
data source.
Note:
Optional configuration in
formation for the select
ed data item will vary, de
pending on the item that
you select.
Note:
For more information
about the data types and
their values, see Data
Types.
Condition Expressions
The Condition Expressions tab allows you to create expressions using mathematical or Boolean logic.
When an event is triggered, the expressions are evaluated. The event's variables determine if an
expression is true or false. The results of this evaluation must be all or partially true, depending on the
event setting, in order for the event to occur.
Tip:
For general information on building expressions, see the expression editor.
The following table displays the attributes that are available in the events expression editor:
Related reference
Condition Events (on page 501)
Related information
Events Model (on page 495)
Event Sources
Event sources are data items that you can subscribe to.
When you configure the scheduled settings in a workflow schedule or the trigger settings of a condition
event, event source properties are available to define further.
Important:
Available event sources depend on the service providers you have installed.
• Task Expired
• Task Step Expired
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
• Draft
• Unscheduled
• Pending
• Running
• Paused
• Completed
• Failed
• Canceled
• Unknown
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
When an event source is added to a workflow schedule, you can bind the parameters from the attached
workflow to event properties.
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
Workflow Full User Guide | 7 - Resource Information and Configuration | 521
Following are all available properties that are specific to this event source.
Note:
You can only bind parameters to property values of similar data types.
Workflow Full User Guide | 7 - Resource Information and Configuration | 522
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Workflow Full User Guide | 7 - Resource Information and Configuration | 528
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Following are all available properties that are specific to this event source.
Workflow Full User Guide | 7 - Resource Information and Configuration | 530
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
Event View
Event View
The Event View displays multiple active condition and time events in the Proficy System and the
resources that currently are attached to the events.
In this view, you can temporarily subscribe to an event to obtain live event information.
Overview Tab
The following table describes the available options.
Note:
You must have created time or condition events and configured other resources to subscribe to
them in order to view them in the Event List.
Actuals
Actuals
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
When the planned use of resources does not match the actual use of resources, then an actual is used.
The actual records the true values of resources during production, which can be compared to expected
use. Work process segments have specifications, but no way to record actual values. Using actuals
makes it possible to take a true measurement of the resources that were used.
Example
Suppose you have a workflow for attaching a wheel to a hub. You specify in the work process definition
that during the production process, one wheel/rim assembly and six lug nuts are consumed. Now, you
want to write an application that tracks your inventory of lug nuts, so you can replace them when needed.
One way to do that would be to simply subtract six lug nuts from inventory every time the process runs.
But sometimes a lug nut is defective, or was stripped while the operator tried to add it, and another one
is needed. Now seven lug nuts have been consumed. With an actual, you can record that seven lug nuts
were used instead of six, so the inventory count can be maintained accurately.
By having these values associated with the specifications, you can also tell when your production is
in control. If your inventory seems to be shrinking faster than it should, you can write queries to return
the difference between actual and specified values for the last month’s work requests. You can use the
queries to spot the point where you are using more resources than you specified. You can then drill down
through the work responses looking for correlations with other specifications. Maybe you find that the
spoilage rate for lug nuts goes up whenever an operator used air hammer #2. So you order an inspection
of the hammer, and find out that it’s not sealing the lug nuts correctly due to a flaw, and fix it.
Specification properties and their actual properties go a level deeper. Suppose you specify that a beer
batch must cook for 2 hours at 135 degrees. Then your final beer batch goes through quality assurance
and does not pass inspection. How can you determine what went wrong? You can run a query that
compares actual measured values against specification values, to find anomalies. Your query shows that,
the actual measured temperature during cooking was 110 degrees, not the specified 135 degrees. So you
inspect the cooker, and find out it has a defective thermostat.
Material Actuals
Material actuals identify a material quantity used during a selected work process segment.
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
When the planned use of material resources does not match the actual use of material resources, then a
material actual is used. The material actual records the true values of resources during production, which
can be compared to expected use. Work process segments have specifications, but no way to record
actual values. Using material actuals makes it possible to take a true measurement of the resources that
Workflow Full User Guide | 7 - Resource Information and Configuration | 536
were used. For example, if the production normally used a specific batch of raw material and a separate
batch was used, then a material actual would record the use of the other batch.
A property group does not contain links to actual properties; it merely contains property names stored as
strings.
You can use property groups with the equipment, material, personnel models, as well as OPC client and
Historian servers.
Aspects
Aspects are a mechanism for dynamically extending existing resources by adding new attributes and
business logic without modifying the original objects or recompiling them.
Aspects can be used to extend the attributes of an existing object, or they can link two or more disparate
entities.
Note:
Creating aspects is for advanced users only. For assistance creating aspects, contact GE Digital.
Chapter 8. Data Administration
Data Administration Introduction
Email Server Configuration
You use the Email Editor to manage the email server configuration. From the email server, you can send
out emails from a particular sender automatically.
Note:
The Email Configuration Setup page appears.
3. Enter information into the following fields, and then click Save.
Send Test Message N/A Click this button to test the email
server configuration settings. If
the configuration is correct, the
recipient will receive a message
from Workflow Server.
Proficy System
The Proficy System model is a container for elements that specify a system's physical configuration,
specifically related to connectivity. The structure of the Proficy System model presents a metaphor for a
real world computer and network topology.
The Proficy System model allows the system to connect to multiple data sources outside of the current
configuration of Workflow. The Proficy System model also tracks clients connected to the server, other
Workflow servers, and includes management of your current project, such as archive management and
import/export of project data.
You can use electronic signatures to create a more secure environment by requiring that operators
electronically sign for data entry changes on forms in the Task List. An electronic signature uniquely
identifies the operator making the change, and can optionally require the electronic signature of another
person to verify the change. Operators no longer need to use paper and pen to record and sign for their
actions, and the possibility of losing or damaging such records is essentially eliminated.
An audit trail is necessary for regulatory compliance, because it provides a method of recording actions
that have been performed in the Workflow system. An audit trail helps to prove that you have control
of your process and allows you to track not only what occurred, but when it occurred, and who was
responsible for the occurrence. For example, an audit trail can be used to assist with an investigation of a
product discrepancy.
Related reference
21 CFR Part 11 Overview (on page 543)
Electronic signatures in Workflow show who performed a specific action within a certain process, and
thereby legally identify the user who signed for an action.
This section assists users, operators, and supervisors responsible for creating a secure, auditable
environment, especially those working with the 21 CFR Part 11 United States FDA government regulation.
Workflow Full User Guide | 8 - Data Administration | 540
Detailed permanent records of operator actions are written to, and stored in, your SQL Server database.
You can query and report on these records, and then use this data to provide a comprehensive audit trail
detailing the history of your process. For more information, see Audit Trails.
Important:
Using electronic signatures by itself does not ensure 21 CFR Part 11 compliance; however,
electronic signatures can help provide the necessary electronic verification needed to satisfy the
requirements of this regulation. For more information, see 21 CFR Part 11 Overview.
Related reference
How to Use Electronic Signatures (on page 540)
An electronic record is generated each time an action is signed. Electronic records consist of the name of
the person(s) involved in the signing process. Electronic records are written to your SQL Server database
and retained as a permanent record of a signed action. For more information on electronic records, see
Electronic Signature Tracking.
When a task/task step action or form is configured to collect electronic signatures, the signatories must
be the appropriate users. Only a user who is a member of the assigned group is able to sign.
Workflow Full User Guide | 8 - Data Administration | 541
An electronic signature is either a Perform Only signature or a Perform and Verify signature:
The operator that performed the action must electronically sign for that action.
The operator (that is, the performer) who performed the action must electronically sign for
that action and another individual (the verifier) must electronically sign to verify that the
action was performed. The electronic signature is not complete until both signatures are
entered.
Note:
The person who performs an action cannot be the same person who verifies that action.
A signature consists of two components that uniquely identify the signer: a user name and a password.
When the operator completes a form and clicks Sign Form, the electronic signature collection panel
appears where the operator and, if applicable, the verifier must enter these two identifiers:
User Name
Login name of the user performing the action or verifying the action.
Password for the user performing the action or verifying the action.
Note:
If an operator's Workflow user account was established by using Windows security, the Workflow
user name and password are the same as the Windows user name and password. The user must
also enter the Windows domain. However, on subsequent Windows account logins, the domain
name is automatically entered.
An operator who performs or verifies an action can optionally enter a comment related to that action.
Related reference
Electronic Signature Tracking (on page 542)
Workflow Full User Guide | 8 - Data Administration | 542
The need to sign for an action is determined by the way the task/task step action or form is configured by
the workflow author.
Note:
A task/task step action or form can be cancelled without a signature if it has been preconfigured
to do so; however, if you cancel, the task step is skipped and the workflow continues.
The electronic signature related to a completed task form can be viewed from Completed Task
Information.
Compliance
The collected electronic signature data is stored in your SQL Server database in a separate table and can
be used to generate reports for regulatory compliance.
Electronic signature tracking starts when an operator clicks the Sign Form button on a form in a running
workflow. An initial record is then created in the ElectronicSignature table in the SQL Server database with
a state of Awaiting Performer. When the performer signature is completed, the record state is updated
to Awaiting Verifier or Completed, depending on whether a verifier signature is required. The electronic
Workflow Full User Guide | 8 - Data Administration | 543
signature related to a completed task form can be viewed from the Completed Task Information. If the
signing is cancelled at any time, the state is updated to Cancelled and if the signing fails it is updated to
Failed. For information on electronic signature failures, see Failed Electronic Signature Examples.
Audit records for electronic signatures are created at the conclusion of the electronic signature whether it
completed successfully, was cancelled, or failed.
This regulation requires the protection, accuracy, and quick retrieval of all records. Secured, computer-
generated, time-stamped audit trails must be available to independently record the date and time of
operator actions that modify the manufacturing process.
Electronic records can be used to identify the ingredients and people involved in the production and
distribution of regulated substances, such as prescription drugs. Additionally, electronic records ensure
accuracy, reliability, and security in data collection and record keeping.
Regulated industries that fail to meet 21 CFR Part 11 compliance risk the chance of Inspectional
Observations (483s), warning letters, or the authorized shut-down of one or more operations.
The electronic signature option included with Workflow allows you to design a workflow and associated
Form activities that assist you to meet the demands of this regulation. The paperless environment
that results from using this feature benefits you with faster information exchange, improved ability to
integrate, trend and search data, a reduction in errors, and reduced data storage costs.
• Training
• Assessment
• Detailed Detection
• Maintenance
Workflow Full User Guide | 8 - Data Administration | 544
Audit Trails
Workflow provides audit trail capability that allows you to keep a traceable record of actions that are
performed within your system. Actions that regulators are concerned with are typically those actions that
commonly occur in a production environment.
The audit trail is a key component in a 21 CFR Part 11 compliant system, but it can also be useful in many
different applications. The electronic signature audit trail contains a computer-generated, time-stamped
record of each electronic signature. Each record clearly identifies all pertinent information about the
person who entered the signature, such as the person's name, the time the signature was entered, and,
optionally, comments provided by the signer.
Enabling a workflow may require auditing because that is when the workflow changes are entering the live
process. Actions that are rarely performed can be tracked by using a manual paper system.
When an action that is configured to be audited takes place, an audit record is written to the SQL Server
database. The audit entry in the database includes the following information:
Auditing can be enabled or disabled on a per topic basis; however, audit configuration changes and
electronic signatures are always audited, regardless of whether the global auditing is enabled or disabled.
Related information
Purpose of Electronic Signatures (on page 539)
1. You can configure an electronic signature from various locations within a workflow depending on
which action during run time you want to set an electronic signature against.
2. On the configuration panel, in the Electronic Signature Settings area, select the Signature Required
check box.
3. In the Valid Performers field, click the ellipsis button to select the security group (personnel
resource) that the signature performer must be a member of.
4. If you want the task/task step action or form to close and the workflow to proceed if the electronic
signature fails, select the Close if Signature Fails check box.
Note:
A task/task step action or form can be cancelled without a signature if it has been
preconfigured to do so; however, if you cancel, the task step is skipped and the workflow
continues.
5. If a second signature is required before the task/task action or form can be submitted, do the
following.
a. Select the Verifier Required check box.
b. In the Valid Verifiers field, click the ellipsis button to select the security group (personnel
resource) that the signature verifier must be a member of.
Workflow Full User Guide | 8 - Data Administration | 546
6. In the E-Signature Description field, enter a description of the action being performed or the values
that were entered on the task/task step action or form. This description is recorded with the
electronic signature record.
7. Click Save.
Topics to be Audited
The Audit Configuration tab is used to select the topics that will be audited when auditing is enabled in
your system.
Audit topics are grouped in related sets, called topic types, based on functional areas within the system.
You can choose to audit all defined areas of your system or select individual functions in an area.
Auditing must be enabled for actions to be recorded in your database. The only exceptions are the Audit
Configuration change and Sign Electronic Signature topics; these topics are audited and stored at all
times.
Audit topics span all operations of the topic type. For example, the Equipment Model topic type includes
a topic called Modify Property Value or Binding, which audits changes to all property values for all
equipment resources. You cannot audit the changes made to an individual equipment instance (or class)
property.
Audit Topics
The following lists describe the topics you can audit.
◦ Add or Remove Property: Includes adding or removing instance and class properties.
◦ Modify Material Class: Includes creating, deleting, and modifying material class attributes,
such as name and description.
◦ Modify Material Definition: Includes creating, deleting, and modifying material definition
attributes, such as name and description.
◦ Modify Property: Includes modifying property attributes, such as name and description.
• Personnel Model topics
◦ Add or Remove Property: Includes adding or removing instance and class properties.
◦ Modify Person: Includes creating, deleting, and modifying person attributes.
◦ Modify Personnel Class: Includes creating, deleting, and modifying personnel class
attributes.
◦ Modify Property: Includes modifying property attributes, such as name and description.
• Production Model topics
◦ Modify Schedule Model: Includes modifying work requests, segment requirements,
parameters, and resource requirements.
◦ Modify Work Definition Model: Includes modifying work definition segment and work
definition instance details, segment associations, parameters, and specifications.
◦ Modify Work Process Segment Model: Includes modifying work process segments and work
data classes details, parameters and properties, specifications, and work data associations.
• Regulatory Compliance
◦ Audit Configuration Change: Includes configuration changes to auditing.
◦ Sign Electronic Signature: Includes signing electronic signatures.
◦ Write audit Method: Includes entries generated by the WriteAuditEntry call method.
• Security topics
◦ Authentication: Includes successful and failed authentication attempts.
◦ Log In: Includes successful log-in attempts.
◦ Log Out: Includes successful log-out attempts.
◦ Modify Security Model: Includes creating, deleting, and modifying attributes of key sets,
groups, and users.
◦ Modify User Credentials: Includes changes to user credentials.
• Workflow topics
◦ Enable or Disable Resource: Includes enabling and disabling workflow resources.
◦ Import or Export Resources: Includes importing and exporting workflow resources.
◦ Modify Task Status: Includes modifying task state, such as starting a task, cancelling a task,
or terminating a task.
◦ Task Step Jump: Includes task step jumping.
Workflow Full User Guide | 8 - Data Administration | 548
Related reference
Failure Limits on Electronic Signatures (on page 548)
Tip:
To audit all areas of your system, select the Select All Operations check box.
5. Click Save.
6. Click Enable.
The role for an electronic signature describes the role a user plays in the action being signed. There are
two possible roles that a user can perform.
Performer
Verifier
User who verifies the action performed and signed by the Performer.
Workflow Full User Guide | 8 - Data Administration | 549
Note:
You can assign a single group to both the Performer and Verifier roles or different groups to each
role. Only members of those groups are permitted to electronically sign a form, but the same user
cannot sign for both roles.
For added security, you can configure the number of times an electronic signature can be attempted
on a single role before failing. For information and examples on signature failure, see Failed Electronic
Signature Examples.
Related reference
Failed Electronic Signature Examples (on page 550)
5. In the Failure Limit on Person field, enter the number of times that an incorrect electronic signature
for a specific user can be entered before the user is banned from signing in either the performer or
verifier role for that specific signature.
6. Click Save.
The role limit is the number of permitted attempts to provide a valid Performer or Verifier signature.
Therefore, failures are on a per role basis.
The person (user) limit is the number of times a user can attempt to sign a form in the capacity of the
specified role.
Note:
All signing attempts are based on a form instance.
The following examples describe the different ways that an electronic signature can fail, based on the
configuration of your failure limits for roles and users.
• Role Limit = 4
• Person Limit = 2
Scenario Result
User1 enters incorrect signature credentials on the Signing fails and the user is locked out from sign
second attempt. ing this form instance.
User1 enters correct signature credentials on the Signing fails due to the user being locked out from
third attempt. signing this form instance.
Workflow Full User Guide | 8 - Data Administration | 551
• Role Limit = 3
• Person Limit = 2
Note:
Validation errors do not count against the configured failure limits. For example, if the user name
is initially entered incorrectly, it can be corrected before signing the form. This error does not
count against the failure limit because the form was not signed.
Invalid signing attempts by a user count towards the role limit until that user is locked out. When a user is
locked out, no entry for that user (valid or invalid) is counted towards the role limit.
Scenario Result
User3 enters an incorrect user name. Signing fails and the electronic signature fails be
cause the role limit has been reached.
• Role Limit = 3
• User Limit = 6
Electronic signature failures are tracked in the SQL Server database in both the ElectronicSignature and
AuditRecord tables. For more information on electronic signature audit records, see Electronic Signature
Tracking.
Scenario Result
User1 enters incorrect signature credentials three Signing fails; however, User1 can continue to at
times. On the fourth attempt (with valid or invalid tempt to log in with either valid or invalid creden
credentials) a message appears stating that the tials and those attempts do not count towards the
user is locked out. role limit.
User2 enters incorrect signature credentials three Signing fails and the electronic signature fails be
times. On the fourth attempt (with valid or invalid cause the role limit has been reached.
Workflow Full User Guide | 8 - Data Administration | 552
Scenario Result
Related reference
Electronic Signature Tracking (on page 542)
Note:
You must have the Proficy Reporting Database installed and running in order to generate audit
trail and electronic signature reports. For more information, see Reporting Database and
Reporting.
Audit trail and electronic signature reporting uses the reporting database, not the production database.
That is, in order for a record to appear in an audit trail report, the reporting database must have
been synchronized with the production database since the record was logged. For information on
synchronizing the reporting and production databases, see Default Reporting Schedule Editor.
Reports are generated using SQL Server Reporting Services (SSRS) and are available via a web page
hosted by Internet Information Services (IIS). Reports can also be hosted in the Proficy Client by creating
a user display that is a web page. For more information, see User Displays.
All reports are sorted chronologically and have the ability to filter over a start and end date range. You can
perform additional filtering to streamline your reports. For example, you can filter by audit type, audit topic,
location, or user name.
You can export generated reports into various file formats. These file formats include:
• XML
• CSV
• TIFF
• PDF
• Web archive
• Excel
Workflow Full User Guide | 8 - Data Administration | 553
Note:
When you export a report, only the Web archive and Excel formats maintain the hyperlink(s) to the
other reports. Access to the reporting server is needed to link to other reports.
Report Types
Audit Trail Report
The audit report contains audit information and a link to electronic signature data, if an action is related to
a signature. You can use any combination of the query fields to filter the report data.
Column Description
Record Start Date Filter by the earliest date for collection of report in
formation.
Record End Date Filter by the latest date for collection of report in
formation.
Record Time Filter by the time the record of the action was cre
ated.
Column Description
The electronic signature report contains information on the action performer and verifier (if there is a
verifier).
Column Description
Start Date Filter by the earliest date for collection of report in
formation.
End Date Filter by the latest date for collection of report in
formation.
• successful/completed
• failed
• cancelled
• awaiting performer
• awaiting verifier
Note:
To filter by awaiting performer and await
ing verifier statuses, search for not suc
cessful, not cancelled, and not failed sta
tus reports.
Column Description
Sample Reports
The sample reports are found under your Workflow installation folder: ../Proficy/Proficy
Platform Reporting/Sample Reports/SOAAuditingReports.
The sample reports must be loaded into the reporting database to be accessed.
Report Description
For more information, see the SQL Server Reporting Services web interface documentation.
Workflow Full User Guide | 8 - Data Administration | 556
1. In the SQL Server Reporting Services web interface, add the reporting database as a new data
source.
2. Browse to the sample reports location (../Proficy/Proficy Platform Reporting/Sample Reports) and
select a report file (.rdl) to upload.
3. Set the data source of the loaded report to the reporting database.
1. In the SQL Server Reporting Services web interface, upload the report file you want to use.
2. In Global Displays, click Displays.
3. In the navigator, click Global Displays.
4. To add a display group, in the Folders list, click Displays, click the arrow next to Add Display, and
then click Add Display Group.
5. To add a forms group, in the Folders list, click Forms, click the arrow next to Add Form, and then
click Add Form Group.
6. In the Name and Description fields, enter a name and description for the resource.
7. Click OK.
8. In the Display Editor, select Web Page and enter the URL of the uploaded report file.
9. Click Save.
10. In the Show Compatible panel, click Global Viewer.
The reporting web interface appears.
For information on synchronizing the run-time and reporting databases, see Default Reporting Schedule
Editor.
1. In the SQL Server Reporting Services web interface, click the View tab.
2. To set the time range of audit reports, in the Record Start Date and Record End Date fields, enter
the date and time.
Workflow Full User Guide | 8 - Data Administration | 557
3. To filter reports, from the Audit Type and Audit Topic drop-down lists, select an item or enter
search criteria in one of the following fields.
◦ Message
◦ Username
◦ Location
◦ Context
Note:
Wildcard searches using the % character are supported. For example, you can search for
"topic % modified" in the Message field and get all reports where the message included
entries such as: topic modified, topic configuration has been modified, and topic events
modified.
1. In the SQL Server Reporting Services web interface, click the View tab.
2. To set the time range of electronic signatures, in the Start Date and End Date fields, enter the date
and time.
3. To filter electronic signatures, from one of the following drop-down lists, select an item:
◦ Performer Groups
◦ Verifier Groups
◦ Is Successful
◦ Is Cancelled
◦ Is Failed
Or, in one of the following fields, enter search criteria.
◦ Performer Username
◦ Verifier Username
◦ Performer Full Name
◦ Verifier Full Name
◦ Performer Comment
◦ Verifier Comment
Note:
Wildcard searches using the % character are supported. For example, you can search for %
in the Verifier Username field and get all reports where a verifier signature was made.
Workflow Full User Guide | 8 - Data Administration | 558
IAuditTrail
IAuditTrail allows you to write entries to the audit trail.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
Data Sources
Data Sources
Workflow provides the ability to connect to external data sources to access the data contained within
those applications.
When these data sources are configured, their data (for example, tags, displays, SQL statements) are used
to bind to data items in equipment, workflows, and condition events. The available data sources and their
uses are as follows:
• The Historian data source allows you to connect to Historian servers to read from and write to
Historian data tags. You add Historian tags to Workflow and then use those tags as data sources
throughout Workflow.
• An OPC client provides direct access to data served by OPC Data Access (DA) servers without
relying on Historian as a bridge between an OPC server and Workflow.
• An OPC UA client provides direct access to data served by OPC Unified Architecture (UA).
The Data Source Editor is used to select the data tags and other data items to be used when configuring
data items, as well as when configuring connections to Historian servers, OPC Clients, and OPC UA
Clients.
Note:
• You can add up to 3,000 data items from each Historian and OPC DA data source you
connect to.
• You can add up to 5,000 data items from each OPC UA data source you connect to.
• The Historian server you want to connect to must be on the same network domain or
workgroup as the Workflow server.
• You can configure the Historian server only once.
Workflow Full User Guide | 8 - Data Administration | 559
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. From this list, select the resource you want to work with.
3. If applicable, from the next list in the hierarchy, select the resource you want to work with.
Tip:
As more lists appear, select the appropriate resource until you find the one you are looking
for.
4. Access the Configure Data Source dialog box from within the current editor.
5. Expand the data source that contains the data item you want to bind to, and then select the data
item.
6. Click Next.
7. In the Item specific configuration section, configure the method.
Note:
Item configuration depends on the selected source and item. Some items do not require
configuration.
8. At run time, if you want to return all data from the selected item, select the Return all data option.
9. At run time, if you want to return a subset of data from the selected item at run time, select the
Return only a subset of data option, and then from the data tree, select the data you want returned.
Workflow Full User Guide | 8 - Data Administration | 560
Note:
If the item returns only a single piece of data, the Return all data option is selected, and
you cannot retrieve a subset of data.
Note:
Workflow supports GE Historian 4.5 or greater.
Historian server names and display names are distinct from each other. A GE Historian display name can
contain spaces and/or other special characters. A server name is the address of the GE Historian server
and must comply with a valid Windows®computer name; however, the underscore character is permitted.
User Name User-defined alphanumeric string Specifies the user name used
(A–Z, a–z, 0–9) up to 255 char to connect to the GE Historian
acters. server. Workflow uses this name
when retrieving data from the GE
Historian server.
Note:
This field is required
when security is enabled
on the GE Historian serv
er.
Note:
This field is required
when security is enabled
on the GE Historian serv
er.
Note:
This field is required
when security is enabled
on the GE Historian serv
er.
GE Historian Details
The following table describes the GE Historian server attributes in the Data Source Editor:
User Name User-defined alphanumeric string Specifies the user name used
(A–Z, a–z, 0–9) up to 255 char to connect to the GE Historian
acters server. Workflow uses this name
when retrieving data from the GE
Historian server.
Workflow Full User Guide | 8 - Data Administration | 563
Note:
This field is required
when security is enabled
on the GE Historian serv
er.
Note:
This field is required
when security is enabled
on the GE Historian serv
er.
Note:
This field is required
when security is enabled
Workflow Full User Guide | 8 - Data Administration | 564
Tag Information
The following table describes the areas that allow you to view information about the GE Historian tags
found in Workflow:
Item Description
Item Description
View Tags
The following table describes the actions available in the Historian Tags dialog box:
Item Description
Item Description
Item Description
Note:
Workflow supports GE Historian 4.5 or greater.
1. In the navigator, click Proficy System > Proficy System > Historian.
2. Click Add Historian.
3. In the Display Name field, enter either the actual name of the GE Historian server you want to
connect to or an alias for the server name.
The name you enter in this field is automatically entered into the Server Name field.
4. If you entered an alias in the Display Name field, then in the Server Name field, enter the GE
Historian server address.
Note:
®
The GE Historian server address must comply with a valid Windows computer name;
however, the underscore character is permitted.
To prevent links between GE Historian tags and equipment properties, condition events, and workflow
data items from breaking when you change servers, you must make sure that all the tags that exist on the
original GE Historian server also exist on the server you are switching to. If the original server has tags
Workflow Full User Guide | 8 - Data Administration | 567
that do not exist on the new server, those tags will not be available when you switch to the new server and
synchronize the tags.
Note:
1. In the navigator, click Proficy System > Proficy System > Historian.
2. From the Historian Servers list, select the display name of the server that you want to change.
3. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
4. In the Server Name field, enter the address of the GE Historian server you want to change to.
5. If security is enabled on the GE Historian server, enter the user name, password, and domain for
this server.
6. Click Save.
Note:
Workflow supports GE Historian 4.5 or greater.
1. In the navigator, click Proficy System > Proficy System > Historian.
2. From the Historian Servers list, select the server whose tags you want to view and/or synchronize.
3. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
4. To browse the current tags in Workflow, click View Tags.
This Historian Tags dialog box appears.
5. Optional: To reduce the list of tags or to search for a specific tag, use the Filter By field and
Refresh button.
6. Click Close.
7. To manually resynchronize GE Historian tags, click Start Synchronization.
8. Click Save.
Workflow Full User Guide | 8 - Data Administration | 568
Note:
Workflow supports GE Historian 4.5 or greater.
1. In the navigator, click Proficy System > Proficy System > Historian.
2. From the Historian Servers list, select the server whose orphaned tags you want to remove.
3. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
4. In the Tag Information section, click Remove Orphan Tags.
The Orphan Tags dialog box appears.
5. To reduce the list of tags or to search for a specific tag, use the Filter By field and Refresh button.
6. Click Remove to remove the selected tag or Remove All to remove all orphaned tags.
7. Click Save.
If the indexes are badly fragmented due to many deletes and/or inserts, which can occur if
the synchronization has been attempted multiple times, the process will be slow. You can
rebuild the indexes using SQL Server Management Studio as follows.
Rebuilding the indexes should be performed before you attempt to synchronize. It should
also be performed as a maintenance operation after the initial synchronization so that the
table is in a good state for later synchronizations.
The initial synchronization is memory-intensive. The more RAM available to the SQL
Server, the faster it will be. Ideally, SQL Server is on a dedicated computer. You should also
ensure that SQL Server is configured with an appropriate Maximum server memory setting
and not the default value, which is effectively infinite. For more information, see http://
www.sqlchicken.com/2012/02/setting-memory-limits/.
• Testing has shown that if the recovery model for the SOADB is set to Simple vs. Full,
database operations complete faster. However, there are other considerations with
regard to data recovery that you must be aware of. For more information, see https://
msdn.microsoft.com/en-us/library/ms189275.aspx.
To prevent automatic synchronization, under the <appSettings> section, add the entry
<add key="HistorianManualSyncOnly" value="true" />.
Note:
Supported OPC DA specifications are: v2.0x and 3.0.
Tip:
You can add up to 3000 groups to each OPC server and 5000 items per group.
OPC items added to Workflow can be used as data items for workflows, events, and equipment
properties. Workflow can read from and write to these data items. OPC servers configurations can be
imported and exported to other systems.
Important:
• Workflow supports local OPC servers only; it does not support remote OPC servers.
• The OPC client supports synchronous reads and writes only; it does not support
asynchronous reads or writes.
Edit Description
You can change the description of this resource.
Workflow Full User Guide | 8 - Data Administration | 570
The following table describes the OPC Server attributes on the Data Source Editor:
OPC Server Name User-defined alphanumeric string Displays the name of the OPC
(A–Z, a–z, 0–9) up to 255 char server.
acters
Health Monitor Frequency User-defined numeric value Specifies how often the OPC
server communicates its health
status to the OPC Client.
Note:
Note:
The OPC server status
information is not auto
Workflow Full User Guide | 8 - Data Administration | 572
You can also choose to configure a group to read OPC items from the OPC server's cache, or to get values
directly from the device the server is reading from.
After you add your OPC groupss, you can browse the OPC server and add up to 5000 items to each group.
The items are automatically added to Workflow when you add them to a group. If you want to add only
a subset of the available items, you can expand the top level item list in the Server Items area and then
select the check box beside each item or set of items you want to add. You can also remove items from
the Selected Items list
The following table describes the OPC Server Group attributes on the Data Source Editor.
OPC Group Name User-defined alphanumeric string Displays the name of the OPC
(A–Z, a–z, 0–9) up to 255 char Group.
acters
1. In the navigator, click Proficy System > Proficy System > OpcClient.
2. Click Add OpcServer.
3. In the Name field, enter a name for the OPC server you want to connect to.
4. Optionally, in the Description field, enter a description of the OPC server.
5. In the Server Prog ID field, enter the Prog ID of the OPC server you want to connect to.
- Or -
Click the ellipsis button to open the Select OPC Server Prog ID dialog box where you can select the
OPC server you want to connect to.
6. Click OK.
Prerequisites
1. In the navigator, click Proficy System > Proficy System > OpcClient.
2. From the OPC Servers list, select the OPC server you want to configure.
3. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
4. If applicable, select a new server Prog ID:
Workflow Full User Guide | 8 - Data Administration | 575
b. Select the Prog ID of the OPC server you want to connect to, and then click OK.
5. In the Health Monitor Frequency field, enter how often, in milliseconds, the OPC server
communicates its health status to the OPC client.
Note:
◦ If you are using OPC DA v2.0x, the client communicates with the server at this
interval to monitor the health status.
◦ If you are using OPC DA v3.0, the server communicates with the client at this
interval to monitor the health status.
6. Click Refresh.
The OPC server status information is displayed.
Note:
The OPC server status information is not automatically refreshed; you must refresh the
status manually.
7. Click Save.
Prerequisites
1. In the navigator, click Proficy System > Proficy System > OpcClient.
2. In OPC Servers list, select an OPC server.
3. Click Add OpcGroup.
4. In the Name field, enter a name for the OPC group.
5. Optionally, in the Description field, enter a description of the OPC group.
6. Click OK.
Workflow Full User Guide | 8 - Data Administration | 576
1. In the navigator, click Proficy System > Proficy System > OpcClient.
2. In OPC Servers list, select an OPC server.
3. From the OPC Groups list, select the group you want to browse.
4. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
5. If applicable, in the Update Rate field, enter the rate at which the server is requested to update
items in this group.
6. Select the Enabled check box to allow event notifications to be sent to subscribers of items
associated with the group.
7. From the Read Mode drop-down list, select whether the OPC item values are read from the OPC
server's cache or directly from the device the server is communicating with.
8. In the Server Items section, click Browse Server.
9. To add individual items or continuous groups of items, expand the list of items you want to select
from, and then select the check box beside each item you want to add to Workflow.
As you select each check box, the item name appears in the Selected Items list.
Tip:
To add all of the items, select the highest level check box. This check box is available only
if the server contains 5000 or fewer items.
1. In the navigator, click Proficy System > Proficy System > OpcClient.
2. In OPC Servers, click the OPC server you want to work with.
3. From the OPC Groups list, select the group with the items you want to remove.
4. From the Displays panel, select HW/SW > Data Source Editor.
The Data Source Editor appears.
5. From the Selected Items list, select the item(s) you want to remove, and then click Remove.
Note:
Use Shift+click to select contiguous items or Ctrl+click to select individual items.
6. Click Save.
Workflow Full User Guide | 8 - Data Administration | 577
OPC UA items added to Workflow can be used as data items for workflows, events, and equipment
properties. Workflow can read from and write to these data items. OPC UA server configurations can be
imported and exported to other systems.
Tip:
You can add up to 5,000 items per group.
Edit Description
You can change the description of this resource.
The following table describes the OPC UA server attributes on the OPC UA Editor:
OPC UA Server Name User-defined alphanumeric string Displays the name of the OPC UA
(A–Z, a–z, 0–9) up to 255 char server.
acters.
After you add your OPC UA group(s), you can browse the OPC UA server and add up to 5000 items to each
group. The items are automatically added to Workflow when you add them to a group. If you want to add
only a subset of the available items, you can expand the top-level item list in the Server items area, and
then select the check box beside each item or set of items you want to add. You can also remove items
from the Selected Items list.
The following table describes the OPC UA Server Group attributes on the OPC UA Editor:
Before you can add an OPC UA Server, you will need to generate a Workflow certificate and register it with
the GDS server. For more information, see Register Workflow Certificates with Global Discovery Server
(GDS).
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. Click Add OPC UA Server.
3. In the Name field, enter a name for the OPC UA server to which you want to connect.
4. Optional: In the Description field, enter a description of the OPC UA server.
5. Click OK.
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. From the OPC UA Servers list, select the OPC UA server you want to configure.
3. From the Displays panel, select HW/SW > OPC UA Editor.
The OPC UA Editor appears.
4. If applicable, select a new server URL:
b. Enter the URL of an OPC UA discovery server, and then click Discover.
Tip:
If a SignAndEncrypt endpoint is selected, the Use Security check box in the OPC UA
Server Details dialog box is automatically checked.
Note:
If a red Disconnected message appears, check your authentication settings.
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. In the OPC UA Servers list, select an OPC UA server.
3. Click Add Item Group.
4. In the Name field, enter a name for the OPC UA group.
5. Optional: In the Description field, enter a description of the OPC UA group.
6. Click OK.
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. In the OPC UA Servers list, select the OPC UA server you want to work with.
3. From the OPC UA Groups list, select the group you want to browse.
4. From the Displays panel, select HW/SW > OPC UA Editor.
The OPC UA Editor appears.
Workflow Full User Guide | 8 - Data Administration | 581
Note:
To add all of the items, select the highest-level check box. This check box is available only
if the server contains 5000 or fewer items.
7. Click Save.
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. In the OPC UA Servers list, select the OPC UA server you want to work with.
3. From the OPC UA Groups list, select the group with the items you want to remove.
4. From the Displays panel, select HW/SW > OPC UA Editor.
The OPC UA Editor appears.
5. From the Selected Items list, select the item(s) you want to remove, and then click Remove.
Tip:
Use Shift+click to select contiguous items or Ctrl+click to select individual items.
The items are removed from Workflow but are not removed from the data source server.
6. Click Save.
See OPC UA documentation for details on how to use the parameters. In most cases, the default values
are sufficient.
1. In the navigator, click Proficy System > Proficy System > OPC UA.
2. In the OPC UA Servers list, select the OPC UA server you want to work with.
3. From the Displays panel, select HW/SW > OPC UA Editor.
Workflow Full User Guide | 8 - Data Administration | 582
Note:
◦ All parameter values are shown in milliseconds.
◦ Entering negative values, or values below the minimum allowable, result in an error.
5. Check Publishing Enabled check box to receive updates from the OPC UA server. You should only
uncheck this check box to temporarily disable subscriptions.
6. Click Save.
Database Connections
You can connect to your established data sources through either a SQL connection or an ODBC
connection.
Workflow Full User Guide | 8 - Data Administration | 583
Licenses
Note:
You can have 100 database connections with a total of 500 statements.
Licenses are based on ODBC drivers. You also require one dedicated license to connect to SQL Server
through SQL provider. Each data source requires one license, but in Demo mode, you can have up to two
licenses.
Connection Details
You can enter server connection information using either the simple user input section or by using an
advanced connection string.
Workflow Full User Guide | 8 - Data Administration | 584
Note:
Access restrictions: Workflow supports only system DSNs, which allow access to any user who
has administrative privileges on a particular machine. User and file DSNs are not supported.
Credentials
For your server connection login credentials, you can select either:
If you select SQL Server Authentication, you must indicate a user name and password.
User Name User-defined alphanumeric string Specifies the user name used to
(A-Z, a-z, 0-9) up to 50 characters authorize connection to the serv
er.
ODBC Authentication
User Name User-defined alphanumeric string Specifies the user name used to
(A-Z, a-z, 0-9) up to 50 characters authorize connection to the serv
er.
Database Statements
You can use statements to either update or query a database.
Note:
You can have 100 database connections with a total of 500 statements.
Writing Statements
You use the Designer tab to develop statements to execute.
Note:
If you choose
Query (to select
data) after the Up
date query, the
query to select
does not run.
Note:
For ODBC, you
cannot have more
than one query.
• SQL uses @
• ODBC uses ?
Note:
Data transfer limit: 10
MB.
Testing Statements
You can test the statements developed in the Designer. You can call the service provider method
using the statement and an existing connection in the data model. You can also specify test parameter
values. The results, such as statement execution time and error messages, are displayed when the test
completes.
Note:
For more information on ODBC error messages, go to:
http://technet.microsoft.com/en-us/library/aa937531(v=sql.80).aspx
CAUTION:
Statements are executed
against a specified con
Workflow Full User Guide | 8 - Data Administration | 589
• Execution Status
• Execution Time
• Rows Affected/Returned
Note:
You can have 100 database connections with a total of 500 statements.
Note:
You can have 100 database connections with a total of 500 statements.
1. In the navigator, click Proficy System > Proficy System > Databases > Database Connection.
2. Click Add Connection.
3. In the Name and Description fields, enter a name and description for the resource.
4. In the Displays panel, click Database Editor.
5. From the Provider drop-down list, select SQL Data Provider.
6. In the Connection Details section, select one of the following radio buttons.
◦ To fill predefined fields, click Simple.
◦ To enter a user-defined string, click Advanced.
7.
1. To execute a stored procedure, open a workflow, and then insert and configure a Call Method
activity.
2. From the call method activity configuration panel:
f. From the call method activity configuration panel, in the Inputs section, you can configure
any required input parameters.
Note:
The Connection and ProcedureName fields are read only.
g. Click Save.
3. Optional: For optional parameters, you can pass null values. To do so, perform the following
procedure.
a. Bind the parameter to a String local variable.
b. Insert a Write activity.
c. Set the local variable to null from an Object local variable that has a null setting.
d. Click Save.
4. Optional: You can also execute a procedure from WPF and Silverlight forms by invoking a server
method. For more information, see Bind a return value to a DataGrid using form server methods.
1. In the navigator, click Proficy System > Proficy System > Databases > Database Statement.
2. Click Add Statement.
3. In the Name and Description fields, enter a name and description for the resource.
4. In the Displays panel, click Database Editor.
5. Click the Designer tab.
6. From the Statement Type drop-down list, select one of the following actions for a statement.
Select... To...
Query select
Note:
The parameters must match those used in the statement string.
11. To remove a parameter, in the data grid, select a row, and then click Delete.
12. Click Save.
13. To test the statement:
b. In the Inputs section, in the Parameter Value field, enter a value for each parameter.
d. Select a database connection to run the statement against, and then click OK.
CAUTION:
Statements are executed against a specified connection, which may result in loss of
data.
14. To execute a statement, open a workflow, and then insert and configure a Call Method activity.
15. From the call method activity configuration panel:
c. In the Statement section, click Browse next to the Use Existing radio button.
The Universal Browser appears.
e. On the call method activity configuration panel, in the Connection field, click the ellipsis
button.
The Universal Browser appears.
g. To bind the connection to a workflow or subprocess property, click the drop-down arrow, and
then select Bind.
h. From the Call Method activity panel, in the Inputs section, you can configure any required
input parameters.
Note:
The Statement field is read only.
i. Click Save.
16. Optional: You can also execute a procedure from WPF and Silverlight forms by invoking a server
method. For more information see Bind a return value to a DataGrid using from server methods.
Note:
The information in this topic is not related to WPF forms unless otherwise stated.
namespace YOURPROJECTNAME
[Import]
public MainPage()
ProficyComposition.SatisfyImports(this);
InitializeComponent();
InitializeProficyData();
DataGrid1.AutoGenerateColumns = false;
Binding("[YOURCOLUMNNAME]") });
Binding("[YOURCOLUMNNAME2]") });
if (_interfaceHelpers.ContainsKey(typeof(T)))
Debug.Assert(iface != null, "_interfaceHelpers[" + typeof(T).Name + "] didn't have an object of the right
type.");
return iface;
return this as T;
}
Workflow Full User Guide | 8 - Data Administration | 596
Data Types
Data types define the format that data is stored in and displayed as for variables, specifications, and other
resources.
The following table describes the simple and complex data types that are supported.
Note:
Some data types are not available for some model properties or resource variables.
Byte (byte) Unsigned 8-bit integer Stores positive 8-bit values, rep
resented as integers from 0
through 255.
Workflow Full User Guide | 8 - Data Administration | 597
Byte[] (byte[]) BLOB (binary large object) A collection of binary data stored
as a single entity in a database
management system.
Double (double) Double Precision Float (64 bits) Values range from
-1.79769313486232e308 through
1.797679313486232e308, as
well as positive or negative zero
(PositiveInfinity and NegativeIn
finity) and not a number (NaN).
Important:
Doubles can maintain on
ly 15 digits of precision.
GUID GUID (globally unique identifier) 128-bit integer that can be used
wherever a unique identifier is re
quired.
through
9,223,372,036,854,775,807.
SByte (SByte) Signed 8-bit integer Values range from -128 through
127.
Single (float) Single Precision Float (32 bits) Values range from -3.402823e38
to 3.402823e38, as well as posi
tive or negative zero (PositiveIn
finity and NegativeInfinity) and
not a number (NaN).
Important:
Singles can maintain only
7 digits of precision.
Nullable Double Nullable Double Precision Float Allows a value of NULL or a dou
ble precision float.
When a specific data type is selected as the source and is bound to a different data type, if available,
Workflow automatically converts the source data type into the destination data type.
Example
You can use a write activity in Workflow to write an int32 parameter to a string parameter. The int is
converted to a string when the write occurs; for example, a 12 becomes “12”.
Archives
Archives
Archives contain the project run-time data that is no longer in use. Archived files are stored on the server's
file system, and can be restored as needed.
The Archive Details area displays the archive file name and location, the creation date and time, and the
size of the file. If the client/server connection is severed, the server will continue to complete its tasks.
When the connection is restored, the server will then notify the client of the change.
However, if the server shuts down before it finishes the queue, all the pending archives (as well as the one
in progress) are lost. They are not recovered when the server runs again.
If any archiving process encounters a failure, the archive contains the word Failure instead of the
archiving date. In addition, more details about the error are listed in the right pane under the section called
Archiving Faults.
Note:
Pending or In Process archives cannot be deleted.
Related reference
Import/Export Display (on page 629)
Related information
Proficy System (on page 538)
The archive model is added to a queue. Only one archive can exist at a time.
Note:
When a file is deleted, it is permanently removed from the folder where it was saved.
Name User-defined alphnumeric string Specifies a file name for the se
(A-Z, a-z, 0-9) up to 50 characters lected archive file.
Archive Time Range User-defined Specifies the last date and time
for which information is archived.
Note:
This information is avail
able only when you se
lect an existing archive
file.
Note:
This information is avail
able only when you se
lect an existing archive
file.
Archive Time Range System-defined Displays the last date and time
for the information in the archive
file.
Workflow Full User Guide | 8 - Data Administration | 604
Note:
This information is avail
able only when you se
lect an existing archive
file.
The following table describes the attributes specific to this resource type.
Note:
You cannot delete cus
tom property types or
values that are currently
in use.
Add Value field N/A Type the value you want to add
to the specified custom property
type.
Workflow Full User Guide | 8 - Data Administration | 605
Related information
Create a custom property type (on page 605)
Click... To...
Transferring Workflow
Transferring Workflow Configurations
You can transfer configurations for Workflow resources between servers or operational environments by
way of either export/import or projects.
Workflow Full User Guide | 8 - Data Administration | 606
Using export/import, you can create files that contain configurations for a discrete type or category of
resource, whereas projects allow you to combine configurations for differing resource types in a single
package.
Note:
In addition to the information outlined here, certain considerations apply based on type of
resource configuration being transferred. For more information, see Content-Specific Transfer
Considerations.
1. OPC Server
2. Equipment Model
3. Material Model
4. Personnel Model
5. Security
6. Events Model
7. Proficy System (Computers)
8. Default Computer Configuration
9. User Forms and Displays
10. Production Model
11. Workflow Model
Version Compatibility
Beginning with Workflow 2.2, you can import content that has been exported from previous versions of
the software. For workflows, you can import content exported from version 1.5 Service Pack 2 or later;
other types of content must have been exported from version 2.0 or later.
that the data items are present and equivalently named on that system; otherwise, linking will break upon
transfer of the resource configurations to the destination server.
For example, the originating application server is connected to an OPC server named OPC_Server1, and
OPC_Server1 has three groups named Group1, Group2, and Group3. The equipment properties you are
transferring are linked to OPC items in Group1 named Item1, Item2, and Item3. In order for the transfer to
succeed, the destination OPC_Server1 should be exported from the source system and imported into the
destination system, so that the groups and tags exist with the same ID.
The following resource types may be subject to this external linking dependency when transferring
configurations:
• Equipment
• Events
• Material
• Personnel
• Production
• Property Groups
Security Settings
For resource types that are subject to Workflow security enforcement, any security settings established
for a related resource instance are not included when transferring the resource configuration. Rather,
you must transfer these settings separately. For more information, see the topic on transferring security
configurations.
• http://msdn.microsoft.com/en-us/library/kh3965hw.aspx
• www.microsoft.com/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-
B864D8BFA513&displaylang=en
• http://technet.microsoft.com/en-us/library/cc179091.aspx
Workflow Full User Guide | 8 - Data Administration | 608
If you are transferring resource configurations that were created with non-Latin characters, you can open
the content file in Excel2003, but the non-Latin characters will not display properly. To display non-Latin
characters, you must use Excel 2007.
Configuration Updates
When previously transferred configurations change, you can update destination systems accordingly by
transferring the modified configurations again from the source system.
The manner of updating configurations on the destination system varies based on resource type. In
the majority of cases, configurations on the destination system are updated to reflect their modified
counterparts from the source system. For example, if you transfer the configuration for an equipment
instance from one system to another, change the name of the instance on the source system, and then
transfer the modified configuration for that instance to the destination system, the instance name on
the destination system is changed accordingly. However, if a property is associated with the equipment
instance, and you change the name of that property on the source system, the property name is not
updated on the destination system when the modified equipment instance configuration is transferred.
Rather, the property name is left intact on the destination system, and a new property is added to the
equipment instance on the destination system. Likewise, if you delete a property from the equipment
instance on the source system, the property is left intact on the destination system when the modified
equipment instance configuration is transferred.
Related information
Equipment Provisioning (on page 632)
When an OPC server exists with the same name or Prog ID, but a different ID, the import will fail. The
existing server must be deleted before importing the new one. By doing so, existing workflow call
methods can lose bindings.
When an OPC server with the same ID exists on the target system, changes, such as new groups and tags
from the import are merged in. Nothing will be deleted from the target server.
Workflow Full User Guide | 8 - Data Administration | 609
Two separate systems with different OPC server IDs cannot import changes directly from one system to
the other.
OPC servers cannot be deleted if there are active subscriptions to the data items. As a result, conditional
events tied to OPC data must be disabled to allow the OPC server to be deleted, and then re-enabled after
the OPC server has been imported.
Note:
If you do not use Project to import OPC data, ensure OPC data is imported before importing
workflows, equipment, and events.
A project provides the means of transferring entire applications at once. The first time you do so, the
project configuration and the resource configurations in the project are imported to the destination
system. As an application evolves, you can change the project configuration on the source system, and
then redeploy the project to the destination system. In this case, the transfer is handled as follows:
• The pre-existing project configuration on the destination system is replaced with the modified
project configuration.
• The pre-existing resource configurations on the destination system are updated to reflect their
counterparts in the modified project. For more information, see configuration updates in: General
Configuration Transfer Considerations.
• Any previously transferred resource configurations that are not included in the modified project are
left intact on the destination system.
If you expect to update and redeploy projects over time, it is important to closely monitor project versions.
The protocol used to track project iterations is major.minor.build.revision. Of these components, major
and minor are user-specified, whereas build and revision are system-controlled. The build number
increases by 1 each time a project is packaged, and the revision number increases by 1 with each change
to project composition and each time an updated project is saved. Before redeploying an updated project,
you should carefully review the contents of the project file, the information about the file's origin, and the
notes about the project currently deployed on the system, as displayed in the deployment interface. These
measures are especially important to ensure that you are deploying the intended version of the project.
Workflow Full User Guide | 8 - Data Administration | 610
For more information on the types of resources that you can transfer configurations for, see Content-
Specific Transfer Considerations.
Note:
If you want to transfer one or more files that contain configurations for only a single type of
resource, you can export/import instead.
Related reference
Project Editing and Packaging Display Details (on page 617)
To perform this task, you must be a member of a group that is assigned a key set with permission to do
the following:
• Create a project
• For more information, see: Workflow Security
5. Click OK.
6. In the Displays panel, select Deployment Configuration > Project Editor.
The Project Editor appears.
7. Click the Content tab.
8. Click the Add Content button.
The Universal Browser appears.
9. Locate and select the resource that you want to include a configuration for in the project file.
Note:
Use Shift+click to select contiguous items or Ctrl+click to select individual items.
Certain content, though selectable here, cannot be exported; therefore, it is excluded
from the project upon packaging. For more information, see Content-Specific Transfer
Considerations.
To perform this task, you must be a member of a group that is assigned a key set with permission to do
the following:
• Package a project
• For more information, see Workflow Security.
Prerequisites
Note:
You can transfer the messages displayed on the Results tab for review and
retention elsewhere by right-clicking within the tab, selecting Copy to Clipboard, and
then pasting the copied content in the application of your choice.
Related reference
Project Editing and Packaging Display Details (on page 617)
To perform this task, you must be a member of a group that is assigned a key set with permission to do
the following:
• Deploy a project
• Form more information, see Workflow Security.
Prerequisites
Before you can deploy a project, transfer configuration, combine resource configurations, and package a
project.
Workflow Full User Guide | 8 - Data Administration | 613
Important:
Prior to executing the deployment action as the last step of this procedure, you should carefully
review the contents of the project file, the information about the file's origin, and the notes about
the project currently deployed on the system (if applicable). These measures are especially
important if the project has been updated over time, to ensure that you are deploying the intended
version of the project.
1. Log in to Workflow on the server machine that you want to transfer packaged resource
configurations to.
2. In the navigator, click Proficy System > Deployment > Projects.
3. In the Displays panel, select Deployment Configuration > Project Deployment.
The project deployment interface appears.
4. Click the Details tab.
5. Beside the Project File field, click the ellipsis button.
The Select Project Package dialog box appears.
6. Navigate to the location where the project file is stored, select the file, and then click Open.
7. In the Notes area, review the information about the project file's origin.
Attention:
If the project is already deployed on the system, information about the currently deployed
project is displayed. If the project file was created from a version of the project that is older
than the version currently on the destination system, the Notes area displays a warning
icon as well as clarifying text. Before you proceed with deployment, carefully review the
configuration information on both the Details and Content tabs to ensure that the package
contains the configurations that you want to transfer. For more information, see Project
Deployment Display Details).
8. Click Deploy (if this is an initial deployment of the project) or Update (if this is a subsequent
deployment).
◦ The focus in the Project Deployment display shifts to the Results tab, which displays
messages about the progress and outcome of the deployment process.
Note:
You can transfer the messages displayed on the Results tab for review and
retention elsewhere by right-clicking within the tab, selecting Copy to Clipboard, and
then pasting the copied content in the application of your choice.
Workflow Full User Guide | 8 - Data Administration | 614
◦ Resource configurations that do not pre-exist on the destination system are added there;
existing configurations are updated. (For more information, see configuration updates in
General Configuration Tranfer Considerations.)
▪
Related reference
Project Deployment Display Details (on page 621)
Related information
General Configuration Transfer Considerations (on page 606)
To perform this task, you must be a member of a group that is assigned a key set with permission to do
the following:
• Edit a project
• For more information, see Workflow Security.
Prerequisites
Note:
The protocol used to track project iter
ations is major.minor.build.revision-
. Of these components, major and mi-
nor are user-specified, whereas build
and revision are system-controlled.
The build number increases by 1 each
time a project is packaged, and the revi
sion number increases by 1 with each
change to project composition and
each time an updated project is saved.
Note:
Use Shift+click to select con
tiguous items or Ctrl+click to
select individual items. Certain
content, though selectable here,
cannot be exported; therefore,
it is excluded from the project
upon packaging. For more infor
mation, see Content-Specific
Transfer Considerations.
Workflow Full User Guide | 8 - Data Administration | 616
Note:
Use Shift+click to select con
tiguous items or Ctrl+click to
select individual items.
5. Click Save.
Delete a project
If a project is no longer relevant to your operations, you can delete it.
To perform this task, you must be a member of a group that is assigned a key set with permission to do
the following:
• Delete a project
• For more information, see Workflow Security.
Prerequisites
Note:
When you delete a project, it is permanently removed from the system. However, any resource
configurations that were included in the project are not deleted.
Common Controls
Regardless of the tab that is currently active in the Project Editor, three controls are always displayed.
Details Tab
The Details tab displays summary information about the project and includes mechanisms for changing
the project name, description, major version, and minor version.
Note:
The protocol used to
track project iterations
is major.minor.build-
.revision. Of these com
ponents, major and mi-
nor are user-specified,
whereas build and re
vision are system-con
trolled. The build number
increases by 1 each time
a project is packaged,
and the revision num
ber increases by 1 with
each change to project
composition and each
time an updated project
is saved.
Content Tab
The Content tab contains a grid that lists the resource configurations currently included in the project, and
includes controls for adding and removing configurations from the project.
Note:
Certain content, though
selectable here, cannot
be exported; therefore,
it is excluded from the
project upon packaging.
For more information,
see Content-Specific
Transfer Considerations.
Results Tab
The Results tab is populated during project packaging with messages about the actions and related
outcomes of the process.
Note:
The information on this tab refreshes each time a project is packaged. You can transfer the
messages displayed on the Results tab for review and retention elsewhere by right-clicking within
the tab, selecting Copy to Clipboard, and then pasting the copied content in the application of
your choice.
Note:
Detailed infor
mation about er
rors is written to
the client log file
(found at <in-
stalldir>\Profi-
cy\Logs
\Proficy-
Client.log).
Related information
Package a project to export its contents (on page 611)
Details Tab
The Details tab displays information about the origin of the project file selected for deployment and, if
applicable, notes about the version of the project that is currently deployed on the system. In the latter
case, the implications of deploying the currently selected project file are also displayed.
Workflow Full User Guide | 8 - Data Administration | 622
Note:
The protocol used to
track project iterations
is major.minor.build-
.revision. Of these com
ponents, major and mi-
nor are user-specified,
whereas build and re
vision are system-con
trolled. The build number
increases by 1 each time
a project is packaged,
and the revision num
ber increases by 1 with
each change to project
composition and each
time an updated project
is saved.
Note:
Because the build num
ber and, therefore, the
iteration of a project
changes with each pack
aging, the warning icon
and corresponding text
Workflow Full User Guide | 8 - Data Administration | 624
Content Tab
The Content tab contains a grid that displays information about the resource configurations that are
included in the selected project file and will be imported upon deployment.
Note:
Resource configurations that do not pre-exist on the destination system will be added to the
system; those that do pre-exist will be updated. For more information, see Configuration Updates
in General Configuration Transfer Considerations.
Results Tab
The Results tab is populated during project deployment with messages about the actions and related
outcomes of the process.
Note:
The information on this tab refreshes each time a project is deployed. You can transfer the
messages displayed on the Results tab for review and retention elsewhere by right-clicking within
the tab, selecting Copy to Clipboard, and then pasting the copied content in the application of
your choice.
Workflow Full User Guide | 8 - Data Administration | 625
Note:
Detailed infor
mation about er
rors is written to
the client log file
(found at <in-
stalldir>\Profi-
cy\Logs
\Proficy-
Client.log).
Workflow Full User Guide | 8 - Data Administration | 626
Related information
General Configuration Transfer Considerations (on page 606)
You can export configurations for only one resource type or category per file. For more information
on the types of resources that you can transfer configurations for, see Content-Specific Transfer
Considerations.
Note:
If you want to combine configurations for differing Workflow resource types in a single package
for transfer between servers or operational environments at the same time, use projects instead.
See Transferring Different Types of Configurations Together.
Beginning with Workflow 2.2, you can import content that has been exported from previous versions of
the software. For workflows, you can import content exported from version 1.5 Service Pack 2 or later;
other types of content must have been exported from version 2.0 or later.
Related information
Transferring Different Types of Configurations Together (on page 609)
Before you export resource configurations, transfer workflow configurations and transfer configurations.
Prerequisites
Tip:
If you plan to transfer configurations for numerous inter-dependent resources of varying
type, or expect to transfer configurations multiple times, consider using projects instead. See
Transferring Different Types of Configuration Together.
Tip:
You can also create a new folder from within the Browse for Folder dialog box. If you plan
to move inter-dependent content files from one computer to another before importing the
configurations in the files to the destination server, you must move all such files. To avoid
moving unnecessary files, create a unique export folder for each set of inter-dependent
content files, and then move all files in the folder to the staging computer.
Note:
Use Shift+click to select contiguous items or Ctrl+click to select individual items.
Note:
If you want to exclude a resource configuration from the export file, in the Content Details
area, select the listing for that resource, and then click Delete Content. Use Shift+click to
select contiguous items or Ctrl+click to select individual items.
13. When you are finished selecting resources to export configurations for, click Export Content.
The file containing the configurations is exported to the designated folder.
Related information
Transferring Different Types of Configurations Together (on page 609)
Prerequisites
Related information
General Configuration Transfer Considerations (on page 606)
Workflow Full User Guide | 8 - Data Administration | 629
Note:
When a file that contains Workflow resource configurations is deleted, it is permanently removed
from the folder where it was saved.
Import/Export Display
The Import/Export display allows you create files containing configurations for a given type or category of
Workflow resource for transfer between servers or operational environments.
Note:
This list may not reflect
all resource configura
tion files currently in the
location. For more infor
mation, see Refresh the
list of resource configu
ration files.
Note:
Beginning with Workflow
2.2, you can import con
tent that has been ex
ported from previous ver
Workflow Full User Guide | 8 - Data Administration | 632
Related information
Refresh the list of resource configuration files (on page 629)
Equipment Provisioning
Workflow provides an efficient and effective way to import large amounts of equipment data using your
SQL Server.
All provisioning commands are inserted into the SOADB database table
PR_EquipmentProvisioning.EquipmentProvisioning. When the
provisioning process is executed, all commands are processed and moved to the
PR_EquipmentProvisioning.EquipmentProvisioningResults table. The
PR_EquipmentProvisioning.EquipmentProvisioningResults table indicates whether the
command succeeded (status=0) or failed (status=1). If a command fails, the ErrorMessage column
describes the error that was encountered.
You can start the provisioning process by directly executing the stored procedure
[PR_EquipmentProvisioning].[usp_ProvisionEquipment] or by running the
ProvisionEquipmentModel call method using a workflow.
Note:
A model of up to 10 levels is supported.
Workflow Full User Guide | 8 - Data Administration | 633
For example, if the command is operating on an Area equipment instance, you would specify the area
name in the EquipmentName column, and provide the names of the parent enterprise and site in the
Parent1 and Parent2 columns, respectively. If the command is operating on an enterprise equipment
instance, then no parents are provided since an enterprise is at the top level.
Supported Commands
Specify the desired operation using the Command column. CommandId is internal and is generated
automatically when a new record is inserted.
Note:
The desired tag must already be synchronized to Workflow.
Important:
After executing Command 4, run the workflow described in the KB article 000036769 to
trigger conditional events successfully. This workflow resolves a known limitation with
the Equipment Provisioning feature, which allows to create historian tag links without
subscribing to events. You can also manually link the historian tag to the equipment
property. However, manual linking is not recommended for large data.
• Enterprise
• Site
• Area
• WorkCenter
• ProcessCell
• ProductionUnit
• ProductionLine
• StorageZone
• WorkUnit
• Unit
• WorkCell
• StorageUnit
• EquipmentModule
• ControlModule
• Boolean: 0
• Byte: 1
• DateTime: 3
• Double: 4
• Single: 5
• GUID: 6
• SByte: 7
• Int16: 8
• Int32: 9
• Int64: 10
• String: 11
• UInt16: 12
• UInt32: 13
• CustomPropertyType: 18
Workflow Full User Guide | 8 - Data Administration | 635
• Nullable Integer: 19
• Nullable Double: 20
Customizing Timeouts
By default, the equipment provisioning process will time out if the processing time exceeds 10
minutes. For very large numbers of commands (tens of thousands), this may be insufficient time,
so the provisioning does not complete. If necessary, the timeouts can be adjusted by editing the
ProficyServer.exe.config file.
The following appSetting can be added inside the <appSettings></appSettings> elements (the value is the
timeout in seconds):
If a value greater than 10 minutes is used, the WCF timeout must also be adjusted higher than the default
10 minutes.
Reporting
Reporting
Creating reports on data is an important part of any business and Workflow provides a reporting database
for you to install that is specially designed to facilitate reporting and analysis. You can use any valid
reporting tool with the reporting database and you have the flexibility to design your own ad-hoc reports.
After you install the reporting database, you can synchronize it with your production database so that you
can run reports on up-to-date data.
You use the Reporting Schedule Editor to synchronize your databases. You can synchronize your
databases based on a scheduled event, or you can synchronize manually. For example, if you need to run
a report a week before the databases are scheduled to synchronize, you can use the Synchronize Now
Workflow Full User Guide | 8 - Data Administration | 636
button on the Reporting Schedule Editor. Be aware, however, that the Synchronize Now button is not
available if there are unsaved changes to the Reporting Schedule Editor.
Note:
If you plan on frequent synchronization for reporting purposes, we recommend that you replicate
your database and run reporting against the replicated database. This measure reduces the risk
of system timeout or shutdown due to locking of tables in the production database. If, upon trying
to save data after replication, you receive an error similar to "System.Data.SqlClient.SqlException
(0x80131904): Length of LOB data (88064) to be replicated exceeds configured maximum
65536," use SQL statements to increase the volume of data to replicate.
For information on setting up database replication, visit the Microsoft Developer Network website
and review the article, SQL Server Replication.
When upgrading the application, if you are using a replicated database and have replication
turned on, you must turn it off, upgrade, and then turn it on again. You must also upgrade the
replicated database.
GO
RECONFIGURE
GO
Note:
If you plan on frequent synchronization for reporting purposes, we recommend that you replicate
your database and run reporting against the replicated database. This measure reduces the risk
of system timeout or shutdown due to locking of tables in the production database. If, upon trying
to save data after replication, you receive an error similar to "System.Data.SqlClient.SqlException
Workflow Full User Guide | 8 - Data Administration | 637
For information on setting up database replication, visit the Microsoft Developer Network website
and review the article, SQL Server Replication.
When upgrading the application, if you are using a replicated database and have replication
turned on, you must turn it off, upgrade, and then turn it on again. You must also upgrade the
replicated database.
GO
RECONFIGURE
GO
We recommend that you install the reporting database on a separate computer from the production
database to prevent performance issues on the production database. Because the reporting database
is installed on a separate computer, you must configure the connection between the production server
and database, and the reporting server and database. You configure this connection when you install the
reporting database. For more information, see Install the reporting database.
If, for any reason, you need to uninstall the reporting database, you are given the choice of completely
removing the database from the computer or simply disconnecting the synchronization association
between the databases. If you choose to disconnect synchronization, you can still run reports on the data
that remains in the database.
The reporting database utilizes a reporting schema. To understand how to use the reporting database and
generate your reports, you must understand the reporting schema defined for the Reporting Database. For
more information, see Reporting Database Schema.
Important:
We assume that Reporting Database users are experienced SQL users who are familiar with the
SQL Server reporting tool or other reporting tools.
Note:
Before you start using the Reporting Database, we recommend that you deploy the sample
auditing reports that are included in the installation to view the data synchronization status.
Workflow Full User Guide | 8 - Data Administration | 638
Related reference
Reporting Database Schema (on page 640)
Related information
Upgrade a replicated database (on page 163)
Note:
For use later in this procedure, you must note the location of where you saved the scripts.
a. In the Subscriber/Distributor instance, right-click the Replication folder, and then click
Generate Scripts.
The Generate SQL Script dialog box appears.
b. To generate the Create script, in the Script the commands section, select To create or
enable the components, and then click Generate Script.
c. To generate the Drop script, in the Script the commands section, select To drop or disable
the components, and then click Generate Script.
a. In Microsoft SQL Server Management Studio, from the File menu, click File > Open File.
b. Navigate to the folder where you saved the scripts generated in step 3.
d. Locate the section denoted by this comment, /****** End: Script to be run at Publisher
Note:
You must change the name of the Distribution database and the user names to
match your system.
USE [DistributionDB];
GO
N'QASYSTESTSQLSRV\SqlDistAgent';
N'QASYSTESTSQLSRV\SqlLogReaderAgent';
N'QASYSTESTSQLSRV\SqlSnapshotAgent';
8. Add all of the passwords back into the file. The Create Generation process does not write the user
account passwords to the file.
b. Replace null with the log on password that precedes it. If the preceding @job_login is also
null, do not edit the password so that it remains set to null.
-- Before:
@job_password = null
Workflow Full User Guide | 8 - Data Administration | 640
-- After:
@job_password = 'proficy'
Note:
This script will have some errors because it will try to publish database objects that were
removed from the database as part of the upgrade.
10. Re-enable the replication, and then add the new database tables and objects to the publication in
order to push them to the replicated database:
a. Expand your database directory and the Replication folder, right-click Local Publications,
and then select Properties.
b. Select Articles, and then select all unchecked items to include them in the publication.
Note:
The subscription must be re-initialized to include the new articles. We recommend
re-initializing all articles in the subscription using a full snapshot. For instructions,
read the Microsoft Developer Network article, Reinitializing a Subscription
11. After replication is working against the upgraded database, install the Reporting upgrade, and point
it to the replicated database.
12. Test reporting synchronization by running a manual Sync from the Workflow client.
The reporting database schema defines the tables, the fields in each table, and the relationships between
fields and tables. The reporting database schema is based on dimensional modeling. Two important
concepts of dimensional modeling are facts and dimensions:
Facts
Workflow Full User Guide | 8 - Data Administration | 641
Measures that you want to report and perform analysis on. Facts are typically numeric
values that can be aggregated. For example, work data, such as soldering temperature or
the number of processors used in a board assembly line, are facts.
Dimensions
Attributes or descriptors that define a fact. Dimensions are the entry point to facts, and are
the source of all the constraints and report criteria. For example, equipment is a dimension
of work data facts because it defines the location of the Segment and Work Responses.
Dimension information can be a total count of used processor parts in one particular line.
Database Schemas
The following schema names are used in the reporting database to organize tables and simplify
permission granting:
dbo
admin
audit
Auditing tables.
etl
Naming Conventions
The following naming conventions are used in the reporting database schema:
xxx_ID The format of all the source primary keys. For ex
ample, the work request ID is named "WorkRe
questID."
The reporting database allows you to generate reports on the following types of data:
• The date and time dimension tables are pre-populated when the reporting database is created.
These dimension tables make it easy to generate reports such as "Report on the average
temperature measured in the morning compared to the afternoon" and "Report the average
temperature measured on each weekday".
• The dimension tables all have an IsDeleted column. Any dimension record imported into the
reporting database is kept for data integrity purposes. These records are marked as deleted by
setting the flag in the IsDeleted column.
• Each dimension table uses its own surrogate key as the primary key instead of the natural primary
key. The surrogate key is a number that uniquely identifies each row in the dimension table, and is
used to join the dimension table into the fact table.
Related reference
Response Work Data Tables (on page 643)
The following table describes the reporting database tables and their descriptions.
Table Description
The following diagrams illustrate the relationship between the Response Work Data tables:
Workflow Full User Guide | 8 - Data Administration | 644
Workflow Full User Guide | 8 - Data Administration | 645
Workflow Full User Guide | 8 - Data Administration | 646
Related reference
Reporting Database Schema (on page 640)
The following table describes the reporting database tables and their descriptions.
Table Description
The bridge table contains a pathway from each parent equipment to each subsidiary below it, including
itself (zero length). For example, for the following equipment hierarchy:
1 1 0 Y N
1 2 1 Y N
Workflow Full User Guide | 8 - Data Administration | 647
1 4 2 Y Y
2 4 1 N Y
1 3 1 Y Y
2 2 0 N N
3 3 0 N Y
4 4 0 N Y
The following diagram illustrates the relationship between the Equipment model tables:
Workflow Full User Guide | 8 - Data Administration | 648
Related reference
Reporting Database Schema (on page 640)
The following table describes the reporting database tables and their descriptions.
Table Description
The following diagram illustrates the relationship between the Material model tables:
Workflow Full User Guide | 8 - Data Administration | 650
Related reference
Reporting Database Schema (on page 640)
The following table describes the reporting database tables and their descriptions.
Workflow Full User Guide | 8 - Data Administration | 651
Table Description
The following diagram illustrates the relationships between the Personnel model tables:
Workflow Full User Guide | 8 - Data Administration | 652
Related reference
Reporting Database Schema (on page 640)
Workflow Tables
The following table describes the Workflow reporting database tables and their descriptions.
Workflow Full User Guide | 8 - Data Administration | 653
Table Description
The following diagrams illustrate the relationships between the Workflow tables:
Note:
In order to report on this data, tracking configuration in the Workflow model must be set.
Workflow Full User Guide | 8 - Data Administration | 654
Workflow Full User Guide | 8 - Data Administration | 655
Audit Tables
The auditing tables are located in the audit schema.
The following table describes the reporting database tables and their descriptions.
Table Description
Table Description
Reports can be created based on these auditing tables to show the data synchronization statistics and
the current running status. This information can also be used for performance analysis and tuning.
The following diagram illustrates the relationship between the auditing tables:
Workflow Full User Guide | 8 - Data Administration | 657
Related reference
Reporting Database Schema (on page 640)
The following table describes the regulatory compliance reporting database tables and their descriptions.
Workflow Full User Guide | 8 - Data Administration | 658
Table Description
The following diagrams illustrate the relationships between the electronic signature and audit trail tables:
Workflow Full User Guide | 8 - Data Administration | 659
Workflow Full User Guide | 8 - Data Administration | 660
Related reference
Reporting Database Schema (on page 640)
The following table describes the information available on the Default Reporting Schedule Editor:
Use a Specific User Name and User-defined Select this check box if you con
Password check box figured your reporting database
to use SQL Server Authentication.
Related reference
Audit Trail Reports (on page 552)
1. From the Navigator, click Proficy System > Proficy System > Reporting > Default Reporting
Schedule.
2. In the Displays panel, click Reporting Schedule Editor. The Default Reporting Schedule editor
appears.
Workflow Full User Guide | 8 - Data Administration | 662
Important:
• The user account used for reporting synchronization (this can be a different user than the
SOA database user), must have the following SQL server roles:
◦ SQLAgentOperatorRole for the msdb database, in order to initiate the SQL Agent
job
◦ Db_owner on the reporting database
• For performance reasons, we recommend that you install the reporting database on
a different computer from Workflow. After installing and configuring the reporting
database, you can synchronize it with your production database. If you plan on frequent
synchronization for reporting purposes, we recommend that you replicate your
database and run reporting against the replicated database. This measure reduces
the risk of system timeout or shutdown due to locking of tables in the production
database. If, upon trying to save data after replication, you receive an error similar to
"System.Data.SqlClient.SqlException (0x80131904): Length of LOB data (88064) to be
replicated exceeds configured maximum 65536," use SQL statements to increase the
volume of data to replicate.
Note:
For information on setting up database replication, visit the Microsoft Developer Network website
and review the article, SQL Server Replication.
When upgrading the application, if you are using a replicated database and have replication
turned on, you must turn it off, upgrade, and then turn it on again. You must also upgrade the
replicated database.
1. From the navigator, click Proficy System > Proficy System > Reporting > Default Reporting
Schedule.
2. In the Displays panel, click Reporting Schedule Editor. The Default Reporting Schedule editor
appears.
3. In the Server name field, enter the instance name of your reporting SQL Server.
Workflow Full User Guide | 8 - Data Administration | 663
4. If you configured your reporting database to use Windows authentication, clear the Use a Specific
User Name and Password check box.
5. If you configured your reporting database to use SQL Server authentication, select the Use a
Specific User Name and Password check box, and then enter the SQL Server user name and
password.
6. Click Save.
GO
RECONFIGURE
GO
Related information
Upgrade a replicated database (on page 163)
Note:
You cannot synchronize your databases manually if there are unsaved changes to the Reporting
Schedule Editor.
1. From the navigator, click Proficy System > Proficy System > Reporting > Default Reporting
Schedule.
2. In the Show Compatible panel, click Reporting Schedule Editor. The Default Reporting Schedule
editor appears in the Workspace.
3. In the Manual Synchronization area, click Synchronize NOW.
Workflow Full User Guide | 8 - Data Administration | 664
If manual synchronization starts, the Feedback Zone displays a status message that manual
synchronization has started. If manual synchronization fails, the Feedback Zone displays an error
message.
Note:
The Feedback Zone does not indicate whether manual synchronization is successful.
You can use the reporting database auditing tables to determine that status of a data
synchronization.
You must configure your reporting database and at least one event before you can schedule the data
synchronization.
Note:
If you plan on frequent synchronization for reporting purposes, we recommend that you replicate
your database and run reporting against the replicated database. This measure reduces the risk
of system timeout or shutdown due to locking of tables in the production database. If, upon trying
to save data after replication, you receive an error similar to "System.Data.SqlClient.SqlException
(0x80131904): Length of LOB data (88064) to be replicated exceeds configured maximum
65536," use SQL statements to increase the volume of data to replicate.
Note:
For information on setting up database replication, visit the Microsoft Developer Network
website and review the article, SQL Server Replication.
When upgrading the application, if you are using a replicated database and have
replication turned on, you must turn it off, upgrade, and then turn it on again. You must
also upgrade the replicated database.
1. From the navigator, click Proficy System > Proficy System > Reporting > Default Reporting
Schedule.
2. In the Displays panel, click Reporting Schedule Editor. The Default Reporting Schedule editor
appears.
Workflow Full User Guide | 8 - Data Administration | 665
3. To select the event you want to use for database synchronization, in the Synchronization Events
area, click Browse.
The Universal Browser appears.
4. Click OK, and then click Save.
GO
RECONFIGURE
GO
1. From the Navigator, click Proficy System > Proficy System > Reporting > Default Reporting
Schedule.
2. In the Show Compatible panel, click Reporting Schedule Editor. The Default Reporting Schedule
editor appears in the Workspace.
3. Click Activate.
The Activation Status displays as activated.
4. To deactivate a synchronization event, click Deactivate.
The Activation Status displays as deactivated.
This tutorial uses samples from the Reporting Datamart. The samples consist of a reporting project with
report definition files for a series of workflow reports.
Workflow Full User Guide | 8 - Data Administration | 666
This tutorial requires a valid Microsoft SQL Server database synchronized with the Workflow client
production database, Microsoft Business Intelligence Studio (or Visual Studio), a valid Microsoft
Reporting Services setup to deploy samples, and a valid Workflow installation.
Related reference
Audit Trail Reports (on page 552)
Note:
For the tutorial, create the folder C:\PlatformDMReports.
Note:
Look for the report files in the folder: C:\Program Files\Proficy\Proficy Platform Reporting
\SampleReports\Platform DMReports.
3. Review the Post-Installation Checks for Reporting (on page 670) after the installation completes.
1. Open the applicable tool based on the version of SQL Server that you are working with.
3. Navigate to the local folder where the sample report files were installed and select
PlatformDMReports.rptproj.
4. Click Open.
5. Verify the content of the Microsoft SQL Server Reporting Services project.
Note:
For more information, see Microsoft Reporting Service Samples Files for a list of the
sample report files.
Note:
If the connection is not successful, repeat steps 2-8.
Related reference
Microsoft Reporting Service Samples Files (on page 670)
4. Type in a parameter.
Note:
The % symbol is a wildcard for SQL Server.
5. Click OK.
6. Verify that the returned data is coming from your datamart. The values from your reporting
database should appear.
7. Click Preview.
A parameters list appears.
8. Enter the appropriate parameters.
9. Click View Report.
A report preview appears.
Note:
Reports and data source configuration files are deployed to this directory.
4. Record the name of the Report Server Virtual Directory for future reference.
5. Select Report Manager Virtual Directory.
6. Record the name of the directory; the URL can be used to view sample reports in an external
browser such as Internet Explorer.
3. From the Server Name list, select the name of the Microsoft SQL Server Reporting Services server.
4. From the Authentication list, select Windows Authentication.
5. Click Connect.
In the Object Explorer of Microsoft SQL Server Management Studio, two folders are created. One
folder is for the SSAS Datamart source, and the other folder contains the reports.
Note:
For a computer on the Microsoft SQL Server Reporting Services node, enter http://
localhost/SQLReports.
The reporting services home page appears with the two folders created for data sources and
reports.
3. Click the Reports link.
Note:
Only Reports are visible.
Open the Microsoft Server SQL Management Studio - Database Engine and look for the following:
• A database with a set of dimension and fact tables in the Tables folder of the reporting database.
• The initial Extract, Transform, Load (ETL) job, SyncPlatform, has run manually in SQL Server Agent
with no errors. Search in the Jobs folder of SQL Server Agent in the Object Explorer.
Related reference
Audit Trail Reports (on page 552)
Chapter 9. Forms and User Displays
Forms Introduction
Forms and User Displays Authoring Guide
Forms and user displays are features that are used throughout Workflow. Forms and user display
resources are created in the Global Displays model.
Forms and user displays can be created using the Designer, or they can be uploaded from an
existing .NET assembly.
Note:
• Forms and displays that were created in Visual Studio cannot be edited in the Designer.
• Because forms and user displays are distinct entities, you can create resources of these
separate types with the same name.
Regardless of how a display is developed, you must first add a global displays resource using the
navigator. For more information, see Add a Global Displays resource. After you add the display resource,
you can then either select the .NET assembly and class name on the Overview tab of the Display Editor to
work with an existing display, or select the Designer tab and develop a new display.
You can also duplicate displays and groups. For more information, see Display and Group Duplication.
Note:
Both WPF and Silverlight forms can be displayed in the Global Viewer.
Forms
Forms are displays that are used as activities in workflows, providing a user interface for task steps. A
form can display data or allow you to interact with a running process, or both.
Workflow provides the ability to use basic forms included with the application, create and develop forms
from scratch using the Designer, or open and use forms that were initially created in Visual Studio.
For information on using the form files included with Workflow, or for creating your own forms in Visual
Studio, see Form Templates and Form Development in Visual Studio, respectively.
Workflow Full User Guide | 9 - Forms and User Displays | 672
User Displays
Workflow allows you to add displays for your own use and to group those displays. For example, if a you
want to view a web page from your company Intranet within the workspace, you can create a display
using the URL of the web page. This allows you to open the web page without opening a browser session
outside of the application.
Note:
• You cannot add an existing form or display to a group. You can only create a form or
display from within a group.
• If you delete a group, all of its nested groups and their forms and/or displays are also
deleted.
• If you transfer the configuration for a form or display that is part of a group, you must also
transfer the configuration for the entire group to maintain the required linking.
The Designer includes different types of interface controls including buttons, text boxes and blocks,
check boxes, grids, panels, list and combo boxes, and much more. All of the controls have properties for
configuring their look, feel, and behavior.
User displays created through the Designer work with the Navigator context just as the other displays do.
For more information on displays, see Display Panel. The most commonly used user displays are reports
that can be viewed in the workspace, and are not intended to be run in a workflow.
The forms you create in the Designer can be used to monitor real-time data and can also be used to
pass new values to a workflow, which can then update the appropriate data source. The Designer uses
Microsoft Visual Studio projects as its own project format, allowing your applications to be extended
using all of the power of .NET.
Workflow Full User Guide | 9 - Forms and User Displays | 673
Note:
The Designer supports the Visual Basic and C# programming languages.
As you work on your display, you can save it to your local machine or save it to the server.
Important:
You must save the display to the server before you can navigate away from the Designer. For
example, if you want to preview a display in the Global Viewer, you must save it to the server. Be
aware, however, that saving the display to the server makes it available to other authors to edit,
use, or view.
If you want to preview a display without navigating away from the Designer, open the Preview panel, or
build and run the project within the Designer.
Note:
For security reasons, you must log into Workflow to view a test build of your form or user display.
The Designer can connect to any of the Workflow data sources that can be accessed through a workflow;
for example, Historian and equipment properties.
Component Description
In the Designer, layout is managed by top-level containers, often canvases, panels, or grids. The type of
container you choose determines the style of the layout for your screen. All control editing must be done
in a container.
Regardless of the type of container you choose for your layout, the same basic rule applies: an object's
position is always determined by its container. In addition, a number of containers also handle the size of
their child objects.
Workflow Full User Guide | 9 - Forms and User Displays | 674
The development of a document typically begins with the selection of a container as a root element. While
there are many different types of containers to choose from, WPF applications often use a canvas or a
grid as the root object. Other containers are available, such as dock panel, stack panel, and uniform grid.
Designer Toolbar
The button toolbar provides the ability to perform actions within the Designer.
Note:
For security reasons, you
must log into Workflow
to view a test build of
your form or user dis
play.
Designer Panels
Designer Panels
The Designer workspace is comprised of a number of panels that are used for designing your forms and
user displays. Each panel performs a different function and may or may not be required for your design
purposes.
The Designer allows you to define a panel layout for your purposes. The layout you define remains in
place until you change it or reset to the default layout.
The Designer provides a set of default panels that appear in a default layout. The default layout consists
of three panel shells with default panels contained within each shell. Every panel in the Designer can be
resized.
Panel Description
Data Items* Allows you to specify and configure the data items
to be used in your project.
Workflow Full User Guide | 9 - Forms and User Displays | 683
Panel Description
Document Tree* Displays a tree view of the objects and controls in
cluded in the XAML file that was last selected.
Note:
This panel is available for forms only.
Note:
This panel is available for forms only.
Note:
This panel is available for forms only.
Workflow Full User Guide | 9 - Forms and User Displays | 684
Panel Description
* Indicates a default panel that is available for both forms and user displays, except where indicated.
Related reference
Navigate URI (on page 1068)
The Designer provides a template for the project, which contains all of the references and code required
for a project. Forms and user displays that you create with the Designer are compatible with Visual Studio
2008 and Visual Studio 2008 Express. You can create a form or user display in the Designer and then edit
it in Visual Studio.
The Project panel displays a tree view of the project files for the selected resource. When you create a
new project, it is set with default folders and files. The following table describes the files and folders
located on the Project panel:
Folder/File Description
Folder/File Description
You can configure your project to delete all of the local files when you exit the Designer. When you right-
click in the Project panel, the Delete local copy of this project when Editor is closed option determines
whether or not to delete the local files. If you want to edit or debug your project files in Visual Studio, clear
this option.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
toolbar locally for WPF forms; to the server for Silverlight forms
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
toolbar locally for WPF forms; to the server for Silverlight forms
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Workflow Full User Guide | 9 - Forms and User Displays | 687
toolbar locally for WPF forms; to the server for Silverlight forms
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
Object names are important in the Designer because only named objects can be used in data
binding.
The Designer automatically creates a name for control objects when they are added to the design surface.
Objects that are on the design surface that are containers are often not named by the Designer. You can
name an unnamed object or change the name of an existing object in the Properties panel.
If you want to access an object on the design surface from your .NET code behind, you must reference
it using its name. For example, if you have a button named ‘Button1’ on the design surface, you could
access it programmatically with the following code:
Button1.Background = Brushes.Red;
Locate Controls
The document tree displays a hierarchical view of the controls in the current document; that is, controls
that are added to another control as child controls are indented below the parent. The document tree also
displays the icon of each control in your document, and when you select a control in the Designer, it is
highlighted in the document tree. When you select the control in the document tree, it is also selected in
the Designer; that is, it is surrounded by resize handles and anchors.
Active Layer
The Designer works in layers, maintaining an active layer at all times. You can choose to edit, add, remove,
and reposition controls on the active layer only. In the document tree, the active layer is indicated by the
icon.
Workflow Full User Guide | 9 - Forms and User Displays | 689
• Canvas
• Data Grid
• Dock panel
• Grid
• Stack Panel
• Uniform Grid
• Viewport 3D
In addition to the controls above, any visible object derived from content control, such as a button, can
also be set as the active layer.
• Any object that cannot have child controls, such as an Image control.
• Any class derived from Content Control that is collapsed, such as a Combo Box Item.
• Any control whose visibility is hidden or collapsed.
Hide Layers
You can hide inactive layers by toggling the visibility of the control in the document tree or in the Designer.
Hiding a layer simply modifies its visibility while you are editing the active layer.
Tip:
Make sure the layer is visible again before publishing your project to the server.
You can also hide individual controls within the active layer. That is, the layer itself is visible, but the
controls within it are not.
Action Description
Bring to Front Brings the selected control to the top when two or
more objects are stacked.
Note:
If only two controls are stacked, this action
behaves the same as Bring to Front.
Action Description
Note:
If only two controls are stacked, this action
behaves the same as Send to Back.
Send to Back Sends the selected control to the bottom when two
or more controls are stacked.
Fit to Cell Enlarges the selected control to fit into the entire
cell.
Note:
Collapsing and hiding controls differ in
that hiding the control reserves the space
it occupies in the layout, whereas collaps
ing does not reserve the space. When the
project is built, the space occupied by a
hidden control is rendered as whitespace
instead of the control. Since space is not
reserved for a collapsed control, no white
space is rendered when the project is built.
Add Event Handler Opens the Event Triggers dialog box where you can
choose an event to add an event handler to.
Action Description
Related reference
Designer Panels (on page 682)
toolbar locally for WPF forms; to the server for Silverlight forms
Locate a control
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. Right-click the control in either the Designer or the document tree, and then select Edit Layer.
- Or -
toolbar locally for WPF forms; to the server for Silverlight forms
toolbar locally for WPF forms; to the server for Silverlight forms
toolbar locally for WPF forms; to the server for Silverlight forms
toolbar locally for WPF forms; to the server for Silverlight forms
Tip:
To display the control again, right-click it in the document tree, point to Visibility, and then
click Visible.
5. To collapse a control or layer, right-click it in either the document tree or the Designer, point to
Visibility, and then click Collapsed.
The control disappears from the Designer, but is still visible in the document tree.
Tip:
To display the control again, right-click it in the document tree, point to Visibility, and then
click Visible.
toolbar locally for WPF forms; to the server for Silverlight forms
Rotate a control
Note:
You cannot rotate a layer.
4. Right-click the control in the document tree, point to Rotate, and then select the degree to rotate, or
use the Custom slider to specify the degree.
5. Save the form or user display.
toolbar locally for WPF forms; to the server for Silverlight forms
Note:
External Events, a Create Event activity, or a form event must be defined in order to add an event
handler.
Note:
Beginning with Workflow 2.5, .NET 4.5 is required to develop display or form assemblies. Custom
display or form assemblies that target earlier versions of .NET will continue to function as before.
However, saving changes made to such custom assemblies requires that they be upgraded,
which is accomplished in different ways, based on the version of .NET:
• For an assembly that pre-dates .NET 4.0, you must upgrade the assembly when you open
it. Failure to do so results in an error and the inability to save the edited assembly.
• For an assembly that targets .NET 4.0, the assembly is upgraded automatically when
opened, and changes to such assemblies can be saved as before.
Add a control
CAUTION:
If you delete or rename a control, parameter, or server method that is used as the source of a
binding in a form, the binding itself is not removed from the XAML file. You can leave the binding
code in the XAML, but if you create another control, parameter, or server method with the same
name as the deleted object, or rename an existing object to make the object name valid again,
then the orphaned binding may become valid as well, causing unexpected results.
It is recommended that you manually delete the binding code from the XAML file to prevent this
issue from occurring.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Workflow Full User Guide | 9 - Forms and User Displays | 698
toolbar locally for WPF forms; to the server for Silverlight forms
Note:
Some properties are available only when a control is added as a child to another control. For
example, the Dock property is available only when a control is added as a child to a Dock Panel
control.
Note:
To view the full list of properties, select the Advanced check box.
toolbar locally for WPF forms; to the server for Silverlight forms
Adding controls with a deliberate design in mind is the recommended approach. However, if multiple
controls already exist in the designer, and they must be moved into a layout control, follow the steps
below. This procedure uses the grid control with other existing controls as an example.
Note:
Some controls allow only a single child to be added. Add a control that allows multiple
children (such as Grid, Canvas, Dock Panel, Stack Panel).
2. In the designer, select the controls you want to add to the layout control, and then right-click and
select Cut.
3. In the Document Tree, select the layout control added in step 1, and then right-click and select Edit
Layer.
4. In the designer, right-click the layout control, and then select Paste.
Note:
If the controls are displayed in the Document Tree but not in the designer, then in the
Document Tree, select each control and set its Margin property to 0 to have them appear in
the designer.
toolbar locally for WPF forms; to the server for Silverlight forms
Batch Controls
Batch controls cause multiple events to occur.
The Batch Generic Button control causes multiple events to occur each time the button is pressed.
Property Description
• Hover
• Press
• Release
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
InnerBorderBrush Expand this field to select the color for the inner
border.
Property Description
Property Description
PressedBrush Expand this field to select the color for the button
when it is pressed.
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Button Controls
A button is a control that causes an event to occur each time it is pressed and released.
Button controls include three categories: regular, repeat, and toggle, with multiple styles in each category.
A repeat button causes an event to occur repeatedly from the time it is pressed until it is released. A
toggle button can switch between two or three states; that is on/off and on/off/null.
Al X X X X X X X X X X X X X X X X
low
Drop
Ar X
row
Back
ground
Ar X
row
Bor
der
Brush
Ar X
row
De
sign
Ar X
row
Di
Workflow Full User Guide | 9 - Forms and User Displays | 707
Ar X
row
Padding
Back X X X X X X X X X X X X X X X
ground
Bor X X X X X X X X X X X X X X
der
Brush
Bor X X X X X X X X X X X X X X X
der
Thick
ness
Click X X X X X X X X X X X X X X
Mode
Clip X X X X X X X X X X X X X X X X
To
Bounds
Col X X X X X X X X X X X X X X X
umn
ColumX X X X X X X X X X X X X X X
nS
pan
Com X X X X X X X X X X X X X X
mand
Pa
Workflow Full User Guide | 9 - Forms and User Displays | 708
Com X X X X X X X X X X X X X X
mand
Tar
get
Con X X X X X X X X X X X X X X
tent
Con X X X X X X X X X X X X X X
tent
String
For
mat
Cor X X X X X X X X X X X X X X
ner
Ra
dius
De X X X
lay
Ef X X X X X X X X X X X X X X X X
fect
Flow X X X X X X X X X X X X X X X X
Di
rec
tion
Workflow Full User Guide | 9 - Forms and User Displays | 709
Fo X X X X X X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X X X X
cus
Bor
der
Thick
ness
Fo X X X X X X X X X X X X X X
cus
Brush
Fo X X X X X X X X X X X X X X X X
cus
Vi
su
al
Style
Font X X X X X X X X X X X X X X X
Fam
ily
FontSize
X X X X X X X X X X X X X X X
FontStretch
X X X X X X X X X X X X X X X
FontStyle
X X X X X X X X X X X X X X X
FontWeight
X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 710
ForceX X X X X X X X X X X X X X X X
Cur
sor
Fore X X X X X X X X X X X X X X X
ground
Glare X X X X X X X X X X X X X X
Brush
HeightX X X X X X X X X X X X X X X X
Hor X X X X X X X X X X X X X X X X
i
zon
tal
Align
ment
Hor X X X X X X X X X X X X X X X
i
zon
tal
Con
tent
Al
ign
ment
In X X X X X X X X
cre
ment
Workflow Full User Guide | 9 - Forms and User Displays | 711
In X X X X X X X X X X X X X X
ner
Bor
der
Brush
In X X X X X X X X X X X
ner
Bor
der
Thick
ness
In X X X X X X X X X X X X X X
ner
Corner
Ra
dius
In X X X
ter
val
Is X X X X X X X X X
Can
cel
IsChecked X X X X X
Is X X X X X X X X X
De
fault
Workflow Full User Guide | 9 - Forms and User Displays | 712
Is X X X X X X X X X X X X X X X X
En
abled
Is X X X X X X X X X X X X X X X X
Hit
Test
Visi
ble
Is X X X X X X X X X X X X X X X X
Ma
nip
ula
tio
nEn
abled
Is X X X X X X X X X X X X X X X
Shared
Size
S
cope
Is X X X X X X X X X X X X X X X
Tab
Stop
Is X X X
Three
S
tate
Workflow Full User Guide | 9 - Forms and User Displays | 713
Lo X X X X X X X X X X X X X X X X
cal
iza
tion
Mar X X X X X X X X X X X X X X X X
gin
Max X X X X X X X X X X X X X X X X
Height
MaxWidth
X X X X X X X X X X X X X X X X
Min X X X X X X X X X X X X X X X X
Height
Min X X X X X X X X X X X X X X X X
Width
NameX X X X X X X X X X X X X X X X
Off X
Cap
tion
Off X
Val
ue
On X
Cap
tion
On X
Val
ue
Workflow Full User Guide | 9 - Forms and User Displays | 714
Opac X X X X X X X X X X X X X X X X
ity
Opac X X X X X X X X X X X X X X X X
ity
Mask
Over X X X X X X X X X X X X X X X X
rides
De
fault
Style
Padding
X X X X X X X X X X X X X X X
Pow X X
er
Null
Brush
Power X X X X
Off
Brush
Power X X X X
On
Brush
Pressed
X X X X X X
Brush
Ren X X X X X X X X X X X X X X X X
der
Trans
for
Workflow Full User Guide | 9 - Forms and User Displays | 715
Row X X X X X X X X X X X X X X X
Row X X X X X X X X X X X X X X X
S
pan
Show X
Grid
Lines
Snap X X X X X X X X X X X X X X X X
sTo
De
vice
Pix
els
StrokeX X X X X
Thick
ness
Style X X X X X X X X X X X X X X X X
Tab X X X X X X X X X X X X X X X
In
dex
Tag X X X X X X X X X X X X X X X X
Tem X X X X X X X X X X X X X X X
plate
ToolTip
X X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 716
Uid X X X X X X X X X X X X X X X X
Use X X X X X X X X X X X X X X X X
Lay
out
Round
ing
Val X X X X X X X X X
ue
Ver X X X X X X X X X X X X X X X X
ti
cal
Align
ment
Ver X X X X X X X X X X X X X X X
ti
cal
Con
tent
Al
ign
ment
Visi X X X X X X X X X X X X X X X X
bility
Width X X X X X X X X X X X X X X X X
Property Description
• Pointer
• Barbed
• Triangle
• Up
• Down
• Right
• Left
• Hover
• Press
• Release
Workflow Full User Guide | 9 - Forms and User Displays | 718
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
Workflow Full User Guide | 9 - Forms and User Displays | 719
Property Description
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
Workflow Full User Guide | 9 - Forms and User Displays | 720
Property Description
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
Property Description
Property Description
OffCaption Specifies the label to use for the Off position on the
control.
PressedBrush Expand this field to select the color for the button
when it is pressed.
Property Description
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Arrow Button
An Arrow Button control is designed with an arrow in the center. The arrow button causes an
event to occur when the button is pressed, and stays pressed until the button is released.
The Value property is the default property, and the Increment Value property is applied to the Value
property when the button is clicked
The arrow button has all the properties of a regular button while allowing you to choose an arrow design
and direction.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Workflow Full User Guide | 9 - Forms and User Displays | 725
The Flat Toggle Switch is a toggle button with a lever that appears flat. The flat toggle switch
control causes an event to occur when it is toggled.
There are three graphical states for the lever: up, down, and neutral. The neutral position appears only
when the IsThreeState property check box is selected.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Gel Button
The Gel button control is a generic button with a gel-type look. The gel button causes a single
event to occur each time it is pressed and stays active until the button is released.
The Value property is the default property, and the Increment Value property is applied to the Value
property when the button is clicked.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Gel Repeat button control is a button with a gel-type look. The gel repeat button causes an
event to occur when it is pressed, and repeats the event until the button is released.
The Value property is the default property, and the Increment Value property is applied to the Value
property on each event.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Workflow Full User Guide | 9 - Forms and User Displays | 726
The Gel Toggle button control is a toggle button with a gel-type appearance. The gel toggle
button causes an event to occur when it is toggled.
This control has three possible states: on, off, or null. This button toggles between states each time it is
pressed. The button color does not change when the button is toggled; however, the shading changes to
indicate the current state. The Null appearance occurs only when the IsThree State property check box is
selected.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Generic Button
The Generic button control causes a single event to occur each time the button is pressed.
See Button Controls to view the usage and description of the properties for this control.
Related reference
Button Controls (on page 706)
The Generic Repeat button control causes an event to occur when the button is pressed, and
repeats the event until the button is released.
The Value property is the default property, and then Increment Value property is applied to the Value
property on each event.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Workflow Full User Guide | 9 - Forms and User Displays | 727
This control has three possible states: on, off, or null. This button toggles between states each time it is
pressed. The button color changes depending on which state it is in. The Null appearance occurs only
when the IsThreeState property check box is selected.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Industrial Push Button control is a button with a hexagonal shape. The industrial push button
causes a single event to occur each time it is pressed and stays active until the button is released. It has
two possible states: on or off.
The PowerOffBrush and PowerOnBrush properties allow you to set the colors of the button to indicate the
state of the button.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Industrial Repeat Button control is a button with a hexagonal shape. The industrial repeat button
causes an event to occur when the button is pressed, and repeats the event until the button is released.
The Value property is the default property, and the Increment Value property is applied to the Value
property on each event.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Workflow Full User Guide | 9 - Forms and User Displays | 728
The Industrial Toggle Button control is a toggle button with a hexagonal shape. The industrial toggle
button causes an event to occur when it is toggled. This control has three possible states: on, off, or null.
This button toggles between states each time it is pressed.
The Null appearance occurs only when the IsThreeState property check box is selected.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Navigate Gel Button is a Silverlight control with a gel-type look. This control is used for
navigation to other pages or windows in the application.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Navigate Generic Button is a Silverlight control used for navigation to other pages or
windows in the application.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Workflow Full User Guide | 9 - Forms and User Displays | 729
The Power Toggle Button control displays the standard power symbol on the button face. This
control toggles between On and Off, and the power symbol color changes when the button is pressed.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Rotary Switch Three State button control is a switch control with a knob. The Rotary Switch Three
State button causes an event to occur when the knob is turned. There are three graphical states for the
switch: Off, On, and Manual.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
The Toggle Switch control is a toggle button with a lever that appears rounded. The toggle switch
control causes an event to occur when it is toggled. There are three graphical states for the lever: up,
down, and neutral.
The neutral position appears only when the IsThreeState property check box is selected.
See Button Controls to view the usage and description of the properties for this button.
Related reference
Button Controls (on page 706)
Common Controls
Workflow provides a series of common controls to use in forms and user display authoring.
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Ac X X X
cept
s
Re
turn
Ac X X X
cept
s
Tab
Al X X X X X X X X X X X X X X X X X X X
low
Drop
Au X
to
Tool
Tip
Place
ment
Au X
to
Tool
Tip
Pre
ci
sion
Au X X X
to
Word
S
Workflow Full User Guide | 9 - Forms and User Displays | 731
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
elec
tion
BackX X X X X X X X X X X X X X X X X X
ground
Base X
li
ne
Off
set
Bor X X X X X X X X X X X X X X X X X X
der
Brush
Bor X X X X X X X X X X X X X X X X X X
der
Thick
ness
CacheMode
X X X
Cal X
en
dar
But
ton
Style
Cal X
en
dar
D
ay
Workflow Full User Guide | 9 - Forms and User Displays | 732
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
But
ton
Style
Cal X
en
dar
Item
Style
Caret X X X X
Brush
Char X X
ac
ter
Cas
ing
ClickX X X X X X
Mode
Clip X X X
Clip X X X X X X X X X X X X X X X X X
To
Bounds
Col X X X X X X X X X X X X X X X X X X
umn
Colum
X X X X X X X X X X X X X X X X X X
nS
pan
Com X
mand
Workflow Full User Guide | 9 - Forms and User Displays | 733
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
ComX X X X X X
mand
Pa
ra
me
ter
ComX X X X X
mand
Tar
get
Con X X X X X X X
tent
Con X X X X X X X
tent
String
For
mat
Con X
tent
Tem
plate
Cur X X X
sor
Dat X X X
a
Con
text
Workflow Full User Guide | 9 - Forms and User Displays | 734
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
De X X
lay
Dis X
play
Date
Dis X
play
Da
te
End
Dis X
play
Date
S
tart
Dis X
play
Mode
Ef X X X X X X X X X X X X X X X X X X X
fect
First X
Day
Of
Week
FlowX X X X X X X X X X X X X X X X X X X
Di
rec
tion
Workflow Full User Guide | 9 - Forms and User Displays | 735
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Fo X X X X X X X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X X X X X X X
cus
Vi
su
al
Style
FontX X X X X X X X X X X X X X X X X
Fam
ily
FontSize
X X X X X X X X X X X X X X X X X
FontStretch
X X X X X X X X X X X X X X X X X
FontStyle
X X X X X X X X X X X X X X X X X
FontWeight
X X X X X X X X X X X X X X X X X
ForceX X X X X X X X X X X X X X X X X
Cur
sor
Fore X X X X X X X X X X X X X X X X X
ground
Height
X X X X X X X X X X X X X X X X X X X
Hor X X X X X X X X X X X X X X X X X X X
i
zon
tal
Workflow Full User Guide | 9 - Forms and User Displays | 736
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Align
ment
Hor X X X X X X X X X X X X X X X
i
zon
tal
Con
tent
Al
ign
ment
Hor X X X
i
zon
tal
Scroll
Bar
Vis
ibil
ity
In X X
ter
val
ImageStretch X
Is X X
Can
cel
IsChecked X X X
Workflow Full User Guide | 9 - Forms and User Displays | 737
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Is X X
De
fault
Is X
Di
rec
tion
Re
versed
Is X
Doc
u
ment
En
abled
Is X X X X X X X X X X X X X X X X X X
En
abled
Is X X X X X X X X X X X X X X X X X X X
Hit
Test
Vis
ible
Is X X X
Hy
phen
atio
n
Workflow Full User Guide | 9 - Forms and User Displays | 738
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
En
abled
Is X
In
de
ter
mi
nate
Is X X X X X X X X X X X X X X X X
Ma
nip
ula
tio
n
En
abled
Is X
Move
To
Point
En
abled
Is X X X
Read
On
ly
Is X X X
Read
On
Workflow Full User Guide | 9 - Forms and User Displays | 739
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
ly
Caret
Vis
ible
IsS X
elec
tion
Range
En
abled
Is X X X X X X X X X X X X X X X X
Shared
Size
S
cope
IsS X
nap
To
T
ick
En
abled
Is X X X X X X X X X X X X X X X
Tab
S
top
Is X X
Three
Workflow Full User Guide | 9 - Forms and User Displays | 740
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
S
tate
Is X
To
day
High
light
ed
Is X X
Un
do
En
abled
Lan X X X
guage
LargeChange X X X
Line X
Height
Line X
S
tack
ing
S
trat
egy
Lo X X X X X X X X X X X X X X X X X X X
cal
Workflow Full User Guide | 9 - Forms and User Displays | 741
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
iza
tion
Mar X X X X X X X X X X X X X X X X X X X
gin
Max X X X X X X X X X X X X X X X X X X X
Height
MaxLength X X
Max X X
Lines
MaxWidth
X X X X X X X X X X X X X X X X X X X
Min X X X X X X X X X X X X X X X X X X X
Height
Min X X
Lines
Min X X X X X X X X X X X X X X X X X X X
Width
NameX X X X X X X X X X X X X X X X X X X
Nav X
iga
te
Uri
OpacX X X X X X X X X X X X X X X X X X X
ity
OpacX X X X X X X X X X X X X X X X X X X
ity
Mask
Workflow Full User Guide | 9 - Forms and User Displays | 742
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Ori X X X X
en
ta
tion
OverX X X X X X X X X X X X X X X X X
rides
De
fault
Style
Padding
X X X X X X X X X X X X X X X X X
Pass X
word
Char
Pro X X
jec
tion
Ren X X X X X X X X X X X X X X X X X X X
der
Trans
for
m
Ori
gin
Row X X X X X X X X X X X X X X X X
Row X X X X X X X X X X X X X X X X
S
pan
Workflow Full User Guide | 9 - Forms and User Displays | 743
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Selected X
Date
Selec X X X X
tion
Brush
Selec X
tio
n
End
Selec X
tion
Mode
Selec X X X X
tion
Opac
ity
Selec X
tion
S
tart
Show X
Grid
Lines
SmallChange X X X
SnapX X X X X X X X X X X X X X X X X
s
To
De
Workflow Full User Guide | 9 - Forms and User Displays | 744
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
vi
ce
Pix
els
Source X X
Stretch X X
Stretch X X
Di
rec
tion
Style X X X X X X X X X X X X X X X X X X X
Tab X X X X X X X X X X X X X X X X
In
dex
Tab X X
Nav
iga
tion
Tag X X X X X X X X X X X X X X X X X X X
Tar X
get
Name
TemX X X X X X X X X X X X X X X
plate
Text X X X
Tex X X X
tAl
Workflow Full User Guide | 9 - Forms and User Displays | 745
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
ign
ment
Text X
Trim
ming
Tex X X X
t
Wrap
ping
Tick X
Fre
quen
cy
Tick X
Place
ment
ToolTip
X X X X X X X X X X X X X X X X X X X
Uid X X X X X X X X X X X X X X X X X
Un X X X
do
Lim
it
Use X X X X X X X X X X X X X X X X X X
Lay
out
Round
ing
Workflow Full User Guide | 9 - Forms and User Displays | 746
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
Val X X
ue
Ver X X X X X X X X X X X X X X X X X X X
ti
cal
Align
ment
Ver X X X X X X X X X X X X X X X X
ti
cal
Con
tent
Al
ign
ment
Ver X X X
ti
cal
Scroll
Bar
Vis
ibil
ity
View X
port
Size
Vis X X X X X X X X X X X X X X X X X X X
ibil
ity
Workflow Full User Guide | 9 - Forms and User Displays | 747
Ra Val
dio Re Tog i
Prop Cal Hy Masked
Pass Rich
But Check Ex La Progress
But peat ScrollSlid Text Text gle dat
er en perImage Text word Text
ton Boxpander bel Bar ton But Bar er Block Box But ing
ty dar link Box Box Box
Item ton ton Text
[add] Box
WidthX X X X X X X X X X X X X X X X X X X
Property Description
• None
• Top Left
• Bottom Right
AutoWordSelection Select this check box to indicate that when you se
lect part of a word by dragging across it with the
mouse, the rest of the word is selected.
Workflow Full User Guide | 9 - Forms and User Displays | 748
Property Description
• Pointer
• Barbed
• Triangle
• Up
• Down
• Right
• Left
Property Description
• Normal
• Lower
• Upper
• Hover
• Press
• Release
• Hover
• Press
• Release
Column Specifies the column within the grid where the con
trol is located.
Property Description
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
• Sunday
• Modnay
• Tuesday
• Wednesday
• Thursday
• Friday
• Saturday
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
• Fill
• None
• Uniform
• UniformToFill
IsDocumentEnabled Select this check box to indicate that you can in
teract with UIElement and ContentElement objects
within the Rich Text Box.
Property Description
IsReadOnly Select this check box to indicate that the text edit
ing control is read-only to a user interacting with
the control.
IsSelectionRangeEnabled Select this check box to indicate that the Slider dis
plays a selection range.
IsSnapToTickEnabled Select this check box to indicate that the Slider au
tomatically moves the thumb to the closest tick
mark.
Property Description
• BlockLineHeight
• MaxHeight
Property Description
• Portrait
• Landscape
Property Description
Row RowBackground
• Single Date
• Single Range
• Multiple Range
• None
Property Description
ShowGridLines Select this check box to indicate that grid lines are
visible within this grid.
• Fill
• None (does not apply to Scale Box)
• Uniform (does not apply to Scale Box)
• UniformFill (does not apply to Scale Box)
• Vertical
• Horizontal
Workflow Full User Guide | 9 - Forms and User Displays | 759
Property Description
• Left
• Center
• Right
• Justify
• None
• CharacterEllipsis
• WordEllipsis
Property Description
• NoWrap
• Wrap
• WrapWithOverflow
• None
• Both
• TopLeft
• BottomRight
• Bottom
• Center
• Top
• Stretch
Property Description
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Note:
Ensure that Expander control Height property is set to Auto.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
- Or -
Important:
You can add only one grid or panel control to an expander. If a grid or panel control already
exists as content in your expander control, adding a new grid or panel overwrites the
existing one.
Note:
To view the full list of properties, select the Advanced check box.
toolbar locally for WPF forms; to the server for Silverlight forms
Add an image
Note:
To view the full list of properties, select the Advanced check box.
toolbar locally for WPF forms; to the server for Silverlight forms
Related information
Add a local source file (on page 1070)
Button
A Button is a control you can click to provide input to an application. A button's appearance can
change by adjusting its background, foreground, or size, but its behavior can also change if adjustments
are made to the actions connected to the click event.
A click event is what happens to the button when it is clicked. For example, by changing the button’s
ClickMode property from release to hover, hovering the mouse cursor over the button (as opposed to
clicking and releasing the button) produces the intended action.
The Button is a content control; to modify its text or content, use the Content property.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Calendar
The Calendar control is a Silverlight control that allows you to select a date by using a visual calendar
display.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Check Box
Check Box controls are used for groups of non-exclusive items, where more than one item in the
group can be selected at the same time.
A check box’s appearance and behavioral properties can be changed. The Check Box is a content control;
to modify its text or content, use the Content property.
See Common Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 765
Related reference
Common Controls (on page 729)
Expander
An Expander is a control that organizes objects by providing a heading and the ability to expand or
collapse the contents.
SectionTitle
An expander’s Header property is used for the title and can be a string or other WPF element. The
contents of an expander are configured in the Content property and are usually a Panel or Grid with
children.
Important:
The Expander control may not work as desired if its Height property is specified. Ensure the
Height property is set to Auto.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Hyperlink
The Hyperlink is a Silverlight control that allows you to add a link to navigate to a web page or other
Silverlight object.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Image
An Image control allows you to add pre-designed graphic images or pictures to your form.
Workflow Full User Guide | 9 - Forms and User Displays | 766
The Source property allows you to access the image you want to use. You can use images that have been
added to the Resources folder on the Project panel, or you can use remote images. For more information,
see Navigate URI (on page 1068).
The Source property allows you to access the image you want to use. You can only use images that have
been added to the document repository and that have a document type of Image.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Label
A Label is a content control. The Content property accepts a string or other WPF element as content. For
web applications, a Text Block control can be used in place of a label.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
A Masked Text Box control uses a mask to distinguish between proper and improper user input.
Using a masked text box, you can specify the following input without writing any custom validation:
See Common Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 767
Related reference
Common Controls (on page 729)
Password Box
A Password Box control is a type of text box used specifically to create a password control.
In addition to changing the appearance and behavior of the password box, you can set the number of
characters for and appearance of the password.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Progress Bar
The Progress Bar is a control with built-in, looped animation and is used to show that an operation is
in progress. An animated progress bar indicates that a user must wait before performing another task.
By default, the IsIndeterminate property check box is cleared. Selecting the IsIndeterminate property
check box allows you to enable animation on the progress bar.
Other commonly used properties for the Progress Bar include Minimum, Maximum, and Value.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Radio Button controls are used to select a single option from a group of choices when paired with
other radio buttons. Unlike check boxes, radio buttons are used for groups where an operator must make
an either/or choice from a group of mutually exclusive options. Within the group, no two radio buttons can
be selected at one time.
A Radio Button control accepts either text or a child object as content. To add text as content, use the
Content property.
Workflow Full User Guide | 9 - Forms and User Displays | 768
In order for a number of radio buttons to function together as a mutually exclusive group, they must be
given a group name. Radio buttons with the same GroupName property function together as a mutually
exclusive radio button list. Radio buttons possess an IsChecked property that specifies whether the radio
button is checked.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Repeat Button
The Repeat Button triggers its click event repeatedly while it is pressed.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
A Rich Text Box is an enhanced text box control that provides advanced formatting features.
For example, using keyboard shortcuts, you can apply formatting to selected text during run time.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Scroll Bar
The Scroll Bar control is used to facilitate scrolling; for example, through a list of items or a document
with substantial content. Scroll bars can have either horizontal or vertical orientation.
Common properties used on the scroll bar are Minimum, Maximum, Value, and Orientation.
See Common Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 769
Related reference
Common Controls (on page 729)
Slider
The Slider control enables you to select a value from a range of values, usually from a minimum to a
maximum, along a continuum. For example, the volume on a stereo. The left-hand side usually represents
minimum value and the right-hand side usually represents high (the maximum) value, with a range of
values in between.
The Slider control has a horizontal or vertical orientation, a track, and a movable thumb. A slider’s
track can be annotated to show starting and ending points and ticks for the different values along the
continuum. Unlike a scroll bar, a slider’s thumb remains fixed – both in size and in relation to the value it
represents.
Common properties used on the slider are Minimum, Maximum, Value, and Orientation.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Text Block
The Text Block control is used for entering and editing blocks of text. This control has properties for
multi-line text wrapping and alignment, which makes it effective for the layout of larger sections of text.
Setting text on a text block is done using the Text property. This control is often used in place of a Label
control for web and non-web applications.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Text Box
The Text Box control is used for entering and editing alphanumeric text. This is a very basic control
as it accepts only text as content.
Workflow Full User Guide | 9 - Forms and User Displays | 770
Unlike the single line capability of a Label control, however, a text box has an AcceptsReturn property that
allows text to appear on multiple lines. In addition, a text box has a TextWrapping property that provides
options for automatically wrapping text within the box’s parameters.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Toggle Button
The Toggle Button control differs from Button or Repeat Button controls in that it toggles on and off.
It has an IsChecked property, which makes the button appear pressed and held down, and an IsThreeState
property, which determines whether the control supports two or three states. If a toggle button is
configured to have three states, it allows the operator to choose a third, indeterminate state. For example,
you could use a three-state toggle button to indicate Yes, No, or Not Applicable.
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
See Common Controls to view the usage and description of the properties for this control.
Related reference
Common Controls (on page 729)
Container Controls
Container controls can contain a single child control that is manipulated by the parent control.
AllowDrop X X
AnimationSpeed X
Background X X
BorderBrush X X
BorderThickness X X
ClipToBounds X X
Column X X
ColumnSpan X X
Content X X
ContentStringFormat X X
Effect X X
FlowDirection X X
Focusable X X
FocusVisualStyle X X
FontFamily X X
FontSize X X
FontStretch X X
FontStyle X X
FontWeight X X
ForceCursor X X
Foreground X X
Height X X
HorizontalAlignment X X
HorizontalContentAlign X X
ment
IsEnabled X X
IsHitTestVisible X X
Workflow Full User Guide | 9 - Forms and User Displays | 772
IsManipulationEnabled X X
IsSharedSizeScope X X
IsTabStop X X
Localization X X
Margin X X
MaxHeight X X
MaxWidth X X
MinHeight X X
MinWidth X X
Name X X
Opacity X X
OpacityMask X X
OverridesDefaultStyle X X
Padding X X
RenderTransformOrigin X X
Row X X
RowSpan X X
Scale X
SnapsToDevicePixels X X
Stretch X
StretchDirection X
Style X X
TabIndex X X
Tag X X
Template X X
ToolTip X X
Workflow Full User Guide | 9 - Forms and User Displays | 773
Uid X X
UseLayoutRounding X X
VerticalAlignment X X
VerticalContentAlign X X
ment
Visibility X X
Width X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
Row RowBackground
Workflow Full User Guide | 9 - Forms and User Displays | 777
Property Description
• Fill
• None (does not apply to Scale Box)
• Uniform (does not apply to Scale Box)
• UniformFill (does not apply to Scale Box)
• Vertical
• Horizontal
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
The Blow Out Border is a WPF control that magnifies its content when the mouse pointer moves over
the control.
The Scale property is used to display different percentages of magnification. The blow out border control
magnifies the content as it appears inside the border; it does not change the actual size of the content.
Note:
Content is added as a child to the blow out border control.
Workflow Full User Guide | 9 - Forms and User Displays | 779
See Container Controls to view the usage and description of the properties for this control.
Related reference
Container Controls (on page 770)
Scale Box
The Scale Box is a WPF control that scales its content relative to the proportion of its bounding box
size.
Content that is to be resized is set as a child of the scale box. The scale box and its child content can be
resized in the designer only; you cannot resize the child control in run time.
See Container Controls to view the usage and description of the properties for this control.
Related reference
Container Controls (on page 770)
Property Analog Clock Date Time Display Date/Time Picker Duration Picker
AllowDrop X X X X
Background X X X X
BorderBrush X X X X
BorderThickness X X X X
CenterCapBorder X
Brush
CenterCapBrush X
ClipToBounds X X X
Column X X X X
ColumnSpan X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 780
Property Analog Clock Date Time Display Date/Time Picker Duration Picker
CornerRadius X
DateTimeFormat X
DateTimeFormats X
DisplayLongFormat X
Duration X
Effect X X X X
FlowDirection X X X X
Focusable X X X X
FocusVisualStyle X X X X
FontFamily X X X X
FontSize X X X X
FontStretch X X X X
FontStyle X X X X
FontWeight X X X X
ForceCursor X X X X
Foreground X X X X
GlareBrush X X
HasError X X
Height X X X X
HorizontalAlign X X X X
ment
HorizontalContent X X X X
Alignment
InnerBorderBrush X
InnerBorderThick X
ness
InnerCornerRadius X
Workflow Full User Guide | 9 - Forms and User Displays | 781
Property Analog Clock Date Time Display Date/Time Picker Duration Picker
IsEnabled X X X X
IsHitTestVisible X X X X
IsManipulationEn X X X X
abled
IsSharedSizeScope X X X X
IsTabStop X X X X
Localization X X X X
Margin X X X X
MaxHeight X X X X
MaxWidth X X X X
MinHeight X X X X
MinWidth X X X X
Name X X X X
NeedleBrush X
Opacity X X X X
OpacityMask X X X X
OverridesDefault X X X X
Style
Padding X X X X
RenderTransform X X X X
Origin
Row X X X X
RowSpan X X X X
SecondsNeedle X
Brush
SelectedDateTime X
ShowMilliseconds X X
Workflow Full User Guide | 9 - Forms and User Displays | 782
Property Analog Clock Date Time Display Date/Time Picker Duration Picker
SnapsToDevicePix X X X X
els
Style X X X X
TabIndex X X X X
Tag X X X X
Template X X X X
TickBorderBrush X
TickBrush X
ToolTip X X X X
Uid X X X X
UseLayoutRound X X X X
ing
VerticalAlignment X X X X
VerticalContentAl X X X X
ignment
Visibility X X X X
Width X X X X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Custom
• Day Month
• Default Date Time
• Default Date Time Long
• Full Date Time
• Full Date Time Long
• Hour Minute Second
• Long Date
• Long Time
• Month Day
• RFC1123Date
• Short Date
• Short Time
• Sortable Date
Workflow Full User Guide | 9 - Forms and User Displays | 784
Property Description
DisplayLongFormat Select this check box to display the date and time
in long format; for example, April 20, 2009 6:30:00
AM.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
• Fill
• None
• Uniform
• UniformToFill
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
Property Description
NeedleBrush Expand this field to select the color for the needle
on the outer gauge.
Row RowBackground
SecondsNeedleBrush Expand this field to select the color for the second
hand.
Property Description
TickBorderBrush Expand this field to select the color for the tick bor
der.
TickBrush Expand this field to select the color for the incre
mental tick marks.
• Bottom
• Center
• Top
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 789
Property Description
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Analog Clock
The Analog Clock is a WPF clock control that is designed to simulate a standard clock and
automatically runs to the time on your computer in a non-digital format.
See Date and Time Controls to view the usage and description of the properties for this control.
Related reference
Date and Time Controls (on page 779)
The Date Time Display is a WPF clock control that displays date and time using the selected format.
Choose from a short format display (for example, 02/29/08 10:03 A.M.), to the detailed long format (for
example, Friday, February 29, 2008 10:03:54 A.M.).
See Date and Time Controls to view the usage and description of the properties for this control.
Related reference
Date and Time Controls (on page 779)
Workflow Full User Guide | 9 - Forms and User Displays | 790
Date/Time Picker
The Date Time Picker control is a combination of a calendar and time control that allows you to
select the date and time on a display.
See Date and Time Controls to view the usage and description of the properties for this control.
Related reference
Date and Time Controls (on page 779)
Duration Picker
The Duration Picker is a WPF control that allows you to add an interactive duration to your display,
where you can set the appropriate duration with the up and down arrows, or by selecting the days, hours,
minutes, or seconds and entering valid values.
See Date and Time Controls to view the usage and description of the properties for this control.
Related reference
Date and Time Controls (on page 779)
Gauge Controls
Gauge controls are data-bound controls that allow you to view quantitative information in a visual format.
Round-faced gauges can be used to simulate odometers, speedometers, water level, or water pressure
gauges. Square-faced gauges can be used to simulate voltage or amperage levels. Linear gauges
indicate a graduated numerical value in a visual presentation. A typical linear gauge representation is a
thermometer, but can also be used to represent the readout on a tire pressure gauge. Gauges typically
have a Maximum, Minimum, and default Value property.
Note:
In the Silverlight forms designer, the Horizontal and Vertical Linear gauges are located in the
Linear Gauges group.
When a gauge control receives a value outside of the specified range (that is , above the Maximum
property value or below the Minimum property value) or the value is Null, the control sets its Opacity
property to 0.2. The control appears disabled until the value is back within the specified range or is not
Null.
Workflow Full User Guide | 9 - Forms and User Displays | 791
The dual gauge also has an InnerValue property. Therefore, when it receives an inner value outside of the
specified range (above the InnerMaximum property value or below the InnerMinimum property value) or
the value is Null, the control sets its Opacity property to 0.2. The control appears disabled until the value is
back within the specified range or is not Null.
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Allow X X X X X X X X X
Drop
Back X X X X X X X X X
ground
Border X X X X X X X X X
Brush
Border X X X X X X X X X
Thick
ness
Caption X X X X X
Caption X X X X X X X
Brush
Caption X X X X X
Font
Family
Caption X X X X X
FontSize
Caption X X X X X
Font
Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 792
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Caption X X X X X
Font
Style
Caption X X X X X
Font
Weight
Center X X X X X
CapBor
derBrush
Center X X X X X
Cap
Brush
ClipTo X X X X X X X X X
Bounds
Color X
Thresh
old1
Color X
Thresh
old2
Color X
Thresh
oldPer
centage
Column X X X X X X X X X
Column X X X X X X X X X
Span
Corner X X X X X X X
Radius
Workflow Full User Guide | 9 - Forms and User Displays | 793
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Effect X X X X X X X X X
FillDirec X
tion
FillLevel X
FlowDi X X X X X X X X X
rection
FluidBor X X
derBrush
Fluid X X
Brush
Fluid X X
Corner
Radius
Fluid X X
Opacity
Brush
Focus X X X X X X X X X
able
FocusVi X X X X X X X X X
sualStyle
Font X X X X X X X X X
Family
FontSize X X X X X X X X X
FontStretch
X X X X X X X X X
FontStyle X X X X X X X X X
FontWeightX X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 794
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Force X X X X X X X X X
Cursor
Fore X X X X X X X X X
ground
Glare X X X X X X X
Brush
Height X X X X X X X X X
High X
Color
Thresh
old1
High X
Color
Thresh
old2
HighFill X X
High X
Range
Brush
Horizon X X X X X X X X
talAlign
ment
Horizon X X X X X X X X
talCon
tentAl
ignment
Inner X X
Back
ground
Workflow Full User Guide | 9 - Forms and User Displays | 795
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Inner X X X X X X X X
Border
Brush
Inner X X X X X X X
Border
Thick
ness
Inner X
Caption
Inner X
Caption
Brush
Inner X
Caption
Font
Family
Inner X
Caption
FontSize
Inner X
Caption
Font
Stretch
Inner X
Caption
Font
Weight
Inner X X X X X X X
Corner
Radius
Workflow Full User Guide | 9 - Forms and User Displays | 796
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Inner X
Font
Family
Inner X
FontSize
Inner X
Font
Stretch
Inner X
Font
Style
Inner X
Font
Weight
Inner X
Fore
ground
Inner X
Maxi
mum
Inner X
Mini
mum
Inner X
Needle
Brush
Inner X
Needle
Workflow Full User Guide | 9 - Forms and User Displays | 797
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Tlhick
ness
Inner X
Tick
Brush
Inner X
Ticks
InnerVal X
ue
IsEn X X X X X X X X X
abled
IsFillRe X
versed
IsHit X X X X X X X X X
TestVisi
ble
IsManip X X X X X X X X X
ulation
Enabled
IsNum X X
bersVisi
ble
IsRun X X
ning
Is X X X X X X X X X
Shared
SizeS
cope
Workflow Full User Guide | 9 - Forms and User Displays | 798
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
IsTabS X X X X X X X X X
top
Localiza X X X X X X X X X
tion
Low X
Color
Thresh
old1
Low X
Color
Thresh
old2
LowFill X X
Low X
Range
Brush
Margin X X X X X X X X X
Max X X X X X X X X X
Height
Maxi X X X X X X X X X
mum
MaxWidth X X X X X X X X X
Medium X X
Fill
Meter X
Back
ground
Brush
Workflow Full User Guide | 9 - Forms and User Displays | 799
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Meter X
Border
Brush
Meter X
Font
Family
Meter X
FontSize
Meter X
Font
Stretch
Meter X
Font
Style
Meter X
Font
Weight
Meter X
Fore
ground
Mid X X
Range
Brush
Min X X X X X X X X X
Height
Mini X X X X X X X X X
mum
Min X X X X X X X X X
Width
Workflow Full User Guide | 9 - Forms and User Displays | 800
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
Name X X X X X X X X X
Needle X X X X X X
Brush
Needle X X X X X
Thick
ness
Opacity X X X X X X X X X
Opacity X X X X X X X X X
Mask
Over X X X X X X X X X
rides
Default
Style
Padding X X X X X X X X X
Render X X X X X X X X X
Trans
formOri
gin
Row X X X X X X X
RowS X X X X X X X
pan
Snaps X X X X X X X X X
ToDevi
cePixels
Stroke X X X X X X X
Thick
ness
Style X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 801
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
TabIn X X X X X X X X X
dex
Tag X X X X X X X X X
Tem X X X X X X X X X
plate
Tick X X X X X X X
Brush
TickFre X
quency
Tick X
Place
ment
Tick X X X X
Ring
Brush
Ticks X X X X X X X
Title X
FontSize
TitleText X
Title X
TextCol
or
ToolTip X X X X X X X X X
Uid X X X X X X X X X
Unit X
FontSize
UnitText X
Workflow Full User Guide | 9 - Forms and User Displays | 802
Hori
Vertical
Dual Dynamic zontal Parabol Racing Radial Simple Variable
Property Linear
Gauge Gauge Linear ic Gauge Gauge Gauge Gauge Gauge
Gauge
Gauge
UnitText X
Color
Use X X X X X X X X X
Layout
Round
ing
Value X X X X X X X X X
Value X
Back
ground
Color
Value X
FontSize
Value X
Format
Value X
String
Format
Vertical X X X X X X X X X
Align
ment
Vertical X X X X X X X X X
Content
Align
ment
Visibility X X X X X X X X X
Width X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 803
Property Description
CaptionBrush Expand this field to select the color for the main
gauge caption.
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
• From Left
• From Right
• From Center
Workflow Full User Guide | 9 - Forms and User Displays | 805
Property Description
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
FluidBorderBrush Expand this field to select the border color for the
fluid content of the selected control.
FluidBrush Expand this field to select the color for the fluid
portion of the selected control.
FluidOpacityBrush Expand this field to select the color for the opacity
level of the fluid.
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
Workflow Full User Guide | 9 - Forms and User Displays | 806
Property Description
GlareBrush Expand this field to specify the glare effect for the
control.
HighRangeBrush Expand this field to select the color for the high
range display.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
Workflow Full User Guide | 9 - Forms and User Displays | 807
Property Description
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
InnerCaptionBrush Expand this field to select the color for the caption
for the inner gauge.
InnerCaptionFontFamily Specifies the font family for the caption for the in
ner gauge.
InnerCaptionFontSize Specifies the font size for the caption for the inner
gauge.
InnerFontStretch Specifies the degree to which the font for the inner
gauge is condensed or expanded on the screen.
Property Description
InnerNeedleBrush Expand this field to select the color for the needle
on the inner gauge.
InnerTickBrush Expand this field to select the color for the tick
marks on the inner gauge.
InnerTickRingBrush Expand this field to select the color for the tick ring
of the inner gauge.
Property Description
LowFill Specifies the brush that describes the low fill of the
control.
LowRangeBrush Expand this field to select the color for the low
range display.
MeterBorderBrush Expand this field to select a color for the meter bor
der.
Property Description
MeterForeground Expand this field to select the color for the value
that appears in the meter area.
MidRangeBrush Expand this field to select the color for the mid
range display.
NeedleBrush Expand this field to select the color for the needle
on the outer gauge.
Property Description
Row RowBackground
TickBrush Expand this field to select the color for the incre
mental tick marks.
• None
• Both
Workflow Full User Guide | 9 - Forms and User Displays | 812
Property Description
• TopLeft
• BottomRight
TickRingBrush Expand this field to select the color for the tick ring
of the outer gauge.
Ticks For linear gauges and sliders, click the ellipsis but
ton to open the Tick Property Editor dialog box to
enter the marks to display for a Slider.
TitleTextColor Specifies the brush that colors the title of the con
trol.
UnitFontSize Specifies the font size for the units display values.
UnitTextColor Specifies the brush that colors the unit text of the
control.
ValueFontSize Specifies the font size of the value for the control.
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Dual Gauge
A Dual Gauge control is a radial gauge with a circular shape. The dual gauge has the ability to display
two different variables from within the same display face.
The gauge contains two needles, two sets of ticks and two tick rings. The default value for the control is
the Value property, and operators may also want to find to the InnerValue property.
The Batch Generic Button control causes multiple events to occur each time the button is pressed.
See Gauge Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 814
Related reference
Gauge Controls (on page 790)
Dynamic Gauge
The Dynamic Gauge is a WPF control that is a type of linear gauge with the ability to display values
from the left, right, and center.
The Dynamic Gauge has wo threshold properties that allow you to select where the fill will change colo.
The Batch Generic Button control causes multiple events to occur each time the button is pressed.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
The Horizontal Linear Gauge control displays a horizontally oriented, customizable metered numeric
output.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Parabolic Gauge
A Parabolic Gauge control is a radial gauge that measures a set numeric amount within a framed half
circle display area.
The parabolic gauge display only one set of values within the display face.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Workflow Full User Guide | 9 - Forms and User Displays | 815
Racing Gauge
A Racing Gauge control is a radial gauge that displays a set amount in two different formats.
This gauge contains a meter-style numerical display, as well as one needle, one set of ticks, and a tick
ring.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Radial Gauge
A Radial Gauge is a WPF control with the ability to display one value in two different ways from within
the same display face.
The Radial Gauge control displays the numeric value in the center of the control and the non-numeric
value in the rings around the outside.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Simple Gauge
A Simple Gauge control is a radial gauge that displays data as a set amount within a half-circle
unframed display.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Variable Gauge
A Variable Gauge control is a radial gauge that displays data in three user-defined range variables.
This gauge can be used to display numeric data on a non-numeric graphic scale.
Workflow Full User Guide | 9 - Forms and User Displays | 816
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
The Vertical Linear Gauge control displays a vertically oriented, customizable metered numeric
output.
See Gauge Controls to view the usage and description of the properties for this control.
Related reference
Gauge Controls (on page 790)
Grids are used to precisely position content in rows and columns. Panels are components that control the
rendering of other controls; for example, their size and dimensions, their positions, and the arrangement
of their child content.
The following topics describe the controls available in the Grids/Panels list.
Allow X X X X X X X X X X X X
Drop
Alter X
natin
gRow
Back
ground
Workflow Full User Guide | 9 - Forms and User Displays | 817
Alter X
na
tion
Count
Auto X
matic
Back X X X X X X X X X X
ground
Bor X X X
der
Brush
Bor X X X
der
Thick
ness
CacheMode X
Clip X
Clip X X X X X X X X X X X
To
Bounds
Col X X X X X X X X X X X X
umn
Columns X
Colum X X X X X X X X X X X
nSpan
Column X
Header
Height
Workflow Full User Guide | 9 - Forms and User Displays | 818
Com X
mand
Cor X
nerRa
dius
Cur X
sor
Data X
Con
text
Drag X
Incre
ment
Effect X X X X X X X X X X X X
Flow X X X X X X X X X X X X
Direc
tion
Fo X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X
cusVi
sual
Style
Font X X
Family
FontSize X X
FontStretch X X
FontStyle X X
Workflow Full User Guide | 9 - Forms and User Displays | 819
FontWeight X X
Force X X X X X X X X X X X
Cur
sor
Fore X X
ground
Grid X
Columns
GridRows X
Grid X
Head
ers
Visi
ble
Grid X
Lines
Visi
ble
Header X
Back
ground
Head X
er
Font
Family
Head X
er
Font
Size
Workflow Full User Guide | 9 - Forms and User Displays | 820
Head X
er
Font
Weifht
Head X
er
Fore
ground
Height X X X X X X X X X X X X
Hid X
den
Columns
Hori X X X X X X X X X X X X
zonta
lAlign
ment
Hor X X
izon
tal
Con
tent
Align
ment
Hor X
izon
tal
Grid
Lines
Brush
Input X
Table
Workflow Full User Guide | 9 - Forms and User Displays | 821
IsEn X X X X X X X X X X X
abled
IsHit X X X X X X X X X X X X
Test
Visi
ble
IsMa X X X X X X X X X X X
nipu
latio
nEn
abled
Is X X X X X X X X X X X
Shared
SizeS
cope
IsTab X X
Stop
ItemHeight X
ItemWlidth X
Key X
board
Incre
ment
Lan X
guage
Last X
Child
Fill
Workflow Full User Guide | 9 - Forms and User Displays | 822
Local X X X X X X X X X X X X
iza
tion
Mar X X X X X X X X X X X X
gin
Max X
Colum
n
Width
Max X X X X X X X X X X X X
Height
MaxWidth
X X X X X X X X X X X X
Min X
Colum
n
Width
Min X X X X X X X X X X X X
Height
Min X X X X X X X X X X X X
Width
Name X X X X X X X X X X X X
Opac X X X X X X X X X X X X
ity
Opac X X X X X X X X X X X X
ity
Mask
Orien X X
tation
Over X X X X X X X X X X X
rides
Workflow Full User Guide | 9 - Forms and User Displays | 823
De
fault
Style
PaddingX X X
Pixel X
Pre X
view
Style
Pro X
jec
tion
Ren X
der
Trans
form
Ren X X X X X X X X X X X X
der
Trans
form
Origin
Re X
size
Be
havior
Re X
size
Direc
tion
Row X X X X X X X X X X X X
Rows X
Workflow Full User Guide | 9 - Forms and User Displays | 824
Row X X
Back
ground
Row X
Head
er
Width
RowHeight X
RowS X X X X X X X X X X X
pan
Select X
ed
Rows
Show X
Grid
Lines
Shows X
Pre
view
Snap X X X X X X X X X X X
sTo
Devi
cePix
els
Star X
(rela
tional)
Stretch X
Workflow Full User Guide | 9 - Forms and User Displays | 825
Stretch X
Direc
tion
Strokes X
Style X X X X X X X X X X X X
TabIn X X
dex
Tag X X X X X X X X X X X X
Tem X X
plate
ToolTip X X X X X X X X X X X X
Uid X X X X X X X X X X X
Use X X X X X X X X X X X X
Lay
out
Round
ing
Ver X X X X X X X X X X X X
tical
Align
ment
Ver X X
tical
Con
tent
Align
ment
Ver X
tical
Grid
Workflow Full User Guide | 9 - Forms and User Displays | 826
Lines
Brush
Visi X X X X X X X X X X X X
bility
Width X X X X X X X X X X X X
Property Description
Note:
This setting should be used only after ob
jects are placed within the grid cells. This
allows the row or column to properly resize
with its child objects. If a row or column is
empty and set to automatic sizing, it col
lapses.
Property Description
• Pointer
• Barbed
• Triangle
• Up
• Down
• Right
• Left
• Hover
• Press
• Release
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
Workflow Full User Guide | 9 - Forms and User Displays | 829
Property Description
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GridRows Specifies the rows for the data grid. The rows are
chosen from a list of available quality variables.
Property Description
HeaderFontFamily Specifies the font family for the text in the header.
HeaderFontSize Specifies the font size for the text in the header.
HeaderFontWeight Specfies the font weight for the text in the header.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
HorizontalGridLinesBrush Expand this field to select the color for the horizon
tal grid lines. The default is black.
Property Description
LastChildFill Select this check box to indicate that the last child
control within a Dock Panel stretches to fill the re
maining available space.
Property Description
• Portrait
• Landscape
Property Description
• Based On Alignment
• Current and Next
• Previous and Current
• Previous and Next
• Auto
• Columns
• Rows
Property Description
ShowGridLines Select this check box to indicate that grid lines are
visible within this grid.
ShowsPreview Select this check box to indicate that the Grid Split
ter control updates the column or row size as the
control is dragged.
Property Description
• Fill
• None (does not apply to Scale Box)
• Uniform (does not apply to Scale Box)
• UniformFill (does not apply to Scale Box)
• Vertical
• Horizontal
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
Property Description
• Collapsed
• Hidden
• Visible
Note:
You can add only one container to a border. If you drag another container to the border and add it
as a child, the previous child container is overwritten.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. From the Grids/Panels list, click and drag a container to the document tree and drop it on the
border control.
The Applying <container name> to Target Border dialog box appears, where <container name> is
the type of container you are adding.
8. Select the As a Child of Border option, and then click OK.
9. Configure the properties, as required.
Workflow Full User Guide | 9 - Forms and User Displays | 838
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Important:
Objects cannot be explicitly positioned in a dock panel; therefore, objects cannot be drawn
onto the dock panel and/or selected and moved.
Workflow Full User Guide | 9 - Forms and User Displays | 839
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
11. To add a column between existing columns, click Insert new column in the column to the left of
where you want to add the new column. For example, if you want to add a new column between
Column4 and Column5, click Insert new column in Column 4.
12. To remove a row or column, click Delete Row or Delete Column for the specific row or column.
13. Save the form or user display.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
11. To add a column between existing columns, click Insert new column in the column to the left of
where you want to add the new column. For example, if you want to add a new column between
Column4 and Column5, click Insert new column in Column 4.
12. To remove a row or column, click Delete Row or Delete Column for the specific row or column.
13. Right-click in the row/column you want to resize, point to Grid, and then select either Column Width
or Row Height.
The Set Width or Set Height dialog box appears, depending on your selection.
14. To set the width/height:
Click... To...
- Or -
Hover the mouse cursor over a grid line to change the cursor to a double arrow, and then click and
drag the grid line to the desired position.
Tip:
Click the Toggle Width Type button in the row/column you want to resize to switch
between Star and Pixel sizing. You cannot size automatically using the Toggle Width Type
button.
Note:
Resizing rows and columns in this manner is available only in design mode.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
13. Right-click in the row/column you want to resize, point to Grid, and then select either Column Width
or Row Height.
The Set Width or Set Height dialog box appears, depending on your selection.
14. To set the width/height:
Click... To...
- Or -
Hover the mouse cursor over a grid line to change the cursor to a double arrow, and then click and
drag the grid line to the desired position.
Tip:
Click the Toggle Width Type button in the row/column you want to resize to switch
between Star and Pixel sizing. You cannot size automatically using the Toggle Width Type
button.
Note:
Resizing rows and columns in this manner is available only in design mode.
15. From the Toolbox, add a grid splitter in the column you want to be able resize.
16. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
17. Set the position of the grid splitter using the Horizontal Alignment and Vertical Alignment
properties.
Workflow Full User Guide | 9 - Forms and User Displays | 844
18. To specify whether to resize only the row or column, set the ResizeDirection property.
19. Save the form or user display.
Note:
The blue dots are the resize handles; the black/grey dots are the anchors. Black anchors indicate
that the control is anchored into position. By default, the top and left anchors are set.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Border
The Border control is a decorator typically used to draw a curved border around another container.
A border can accept one child object and serves as a base for other layout objects that do not have a
border and border thickness properties, such as a canvas or a grid, or for styles and control templates.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Canvas
The Canvas panel explicitly positions objects starting from the canvas’ upper left-hand corner,
according to exact X,Y coordinates.
Within a canvas, child controls are rendered sequentially by the order of their XAML markup. For example,
if you draw two rectangles on a canvas and move the first rectangle on top of the second, the first
rectangle appears underneath, or behind, the second rectangle. Since this rectangle was drawn, and
therefore rendered, first, it cannot layer itself on top of the next objects drawn on the canvas.
The Canvas panel renders its child controls more efficiently than the dock or stack panel; however, it
cannot resize itself.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Workflow Full User Guide | 9 - Forms and User Displays | 846
Data Grid
The Data Grid is a WPF control that uses a DataTable as input to populate a two-dimensional grid
and to automatically determine its appearance. You can also hide columns on the input table that are not
required.
A data grid's rows can be selected and individual cells can be edited. As a result, the two output DataTable
properties are automatically populated: SelectedRows and OutputTable. The SelectedRows property
outputs the selected row(s) as a new table. The OutputTable property displays the input table after it has
been edited.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Dock Panel
The Dock Panel is a WPF control that arranges its child controls horizontally or vertically, relative to
each other, in a defined area.
A dock panel’s children inherit an attached dependency property called Dock. This property appears in the
object’s Properties panel after the object has been added to a dock panel. The Dock property determines
whether the objects are placed above, below, to the left, or to the right of one another inside the dock
panel, depending on how the Dock property is set for each child control. By default, an object’s Dock
property is set to Left.
Note:
A dock panel does not explicitly position objects in the same way as the canvas or grid controls.
Controls cannot be drawn onto the dock panel or selected and moved; they can only be
positioned in relation to another object.
The Dock panel has a unique property called LastChildFill. This property specifies whether the last object
added to the Dock panel fills the remaining space.
By default, the LastChildFill property is enabled. When enabled, the last control added to the Dock panel
automatically appears stretched in the remaining space of the dock panel, regardless of how the Dock
property is set on the control. For the last control’s Dock property to work, the LastChildFill check box
property on the Dock panel must be cleared.
Workflow Full User Guide | 9 - Forms and User Displays | 847
If you want the control added to your dock panel to fill the remaining space or stretch within the dock
panel, set the control’s Width and Height properties to Auto.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Grid
The Grid panel consists of adaptable rows and columns and has resizing capabilities for itself and its
child controls. Using the Margin property, you can set precise spacing for columns and rows.
When a grid panel is set as the active layer, an orange border indicates that you can add additional
objects.
When a grid is the active layer, headers appear across the top and sides of the grid to define its rows and
columns. By default, the grid has one row and one column and is zero-based; that is, the first row is Row
0 and the first column is Column 0. The grid panel provides three editing buttons for adding rows and
columns, deleting rows and columns, and changing the row/column width type.
Grid Anchors
When an object is added to a grid, the object receives a set of anchors. These four anchors appear just
above the object’s blue move/resize handles, on the object’s top, bottom and sides. These grid anchors
allow you to position objects within the grid by attaching the object to the top, bottom, or sides of the grid
cell. Attaching the object to the grid cell keeps the object in that position when the grid is resized.
Grid anchors are either black or grey. A black anchor indicates that the object is locked in the current
position, whereas a grey anchor indicates the object is unlocked and can be repositioned. Clicking the grid
anchors changes them from black to grey and vice versa. By default, an object is locked to the top and left
side of a grid cell.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Workflow Full User Guide | 9 - Forms and User Displays | 848
Grid Splitter
The Grid Splitter is used to automatically add resize behavior to a row or column in a grid.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Ink Presenter
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Stack Panel
The Stack Panel is a WPF control that is similar to a dock panel, except that it stacks its child
controls in either a horizontal or vertical single line, depending on its orientation, in a defined area. Stack
panels are not capable of wrapping their child controls. Controls are added to a stack panel in the same
way as a dock panel.
By default, objects are stacked vertically. You can use the Orientation property to re-orient a stack panel.
Although the stack panel cannot anchor its child controls like the grid panel, you can emulate object
anchoring for proper resizing. To do this, first set the Width and Height properties of the stack panel to
Auto. As long as the stack panel is placed inside a root element with resizing capabilities—for example, a
grid—the entire stack panel resizes with its root element. Then, depending on the orientation of the stack
panel, change either the height (for horizontal orientation) or width (for vertical orientation) of the child
control(s) to Auto. This anchors the objects to the edges of the stack panel and resizes the child objects
when the root element is resized.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Workflow Full User Guide | 9 - Forms and User Displays | 849
Uniform Grid
The Uniform Grid is a WPF control that uses an invisible grid-type layout to evenly space and arrange
its child controls. Controls are added to a uniform grid in the same manner as they are added to a dock
panel.
By specifying a set number of rows and columns for the grid with the panel’s Rows and Columns
properties, controls are sequentially added and evenly spaced according to the grid’s size and number of
rows and columns. By default, the Forms Designer creates uniform grids with five rows and five columns.
Additionally, the panel’s FlowDirection property determines which side controls are added from; that is,
from the left or the right side.
Unlike the regular grid panel, the uniform grid does not allow you to edit row and column height or width.
However, this panel automatically readjusts its child controls on the workspace when it is resized; that is,
you do not have to perform a test run to show how it resizes its contents. But, it does not alter a control’s
width or height as all controls are, by default, anchored to the left side of the panel.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
View Box
The View Box is a container that can scale its content to any size. It has a single child property. If you
need the contents of a canvas to scale, it can be added as a child of a view box to get the desired effect.
Note:
The Forms Designer may not be able to properly position the objects if you nest view boxes.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Workflow Full User Guide | 9 - Forms and User Displays | 850
Viewport 3D
The Viewport 3D panel is a WPF control that provides a rendering surface for three-dimensional
visual content while providing properties consistent with two-dimensional layouts, such as clipping, height
and width, and mouse events.
When the Viewport 3D control is included as the content of a layout element, such as Canvas, you must
specify the size of the Viewport 3D by setting its Height and Width properties.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Wrap Panel
The Wrap Panel is a WPF control that arranges child controls sequentially and linearly from left to
right within a defined area and wraps (that is, breaks) to the next line when a control reaches the edge of
the defined area.
As with a dock or stack panel, wrap panels have either a horizontal or vertical orientation, which is
adjusted with their Orientation property, and adds controls from either the left or right side, depending
upon their FlowDirection property. Controls are added to a wrap panel in the same manner as they are
added to a dock panel.
The wrap panel’s ItemWidth and ItemHeight properties determine the child control’s size and layout. By
default, these properties are set to Auto.
Since this panel automatically readjusts its child controls in the designer when it is resized, it is easy
to visualize how this panel rearranges its contents when placed within a root element with resizing
capabilities. For example, consider a wrap panel with horizontal orientation that contains three side-by-
side buttons. When the panel is resized to where the edge of the third button meets the right side of the
panel, the third button is automatically “wrapped” or shifted downward to the next line to accommodate
the panel’s new size.
See Grids and Panels to view the usage and description of the properties for this control.
Related reference
Grids and Panels (on page 816)
Workflow Full User Guide | 9 - Forms and User Displays | 851
Indicator Controls
Indicator controls are used to graphically display states and values. A standard indicator has an on and
off state and is not dependent on a numeric value. A level indicator displays the state associated with the
value assigned to the control.
When an Indicator control receives a Null value for the Value property, the control sets its Opacity property
to 0.2 until a valid Value is received. The control appears disabled until a valid Value is received.
AllowDrop X X X X
Background X X X X
BorderBrush X X X X
BorderThickness X X X X
ClipToBounds X X X X
Column X X X X
ColumnSpan X X X X
CornerRadius X X X X
Effect X X X X
FlashDelay X X X X
FlashState1 X X X X
FlashState2 X X X X
FlashState3 X X X X
FlashState4 X X
FlashState5 X X
FlowDirection X X X X
Focusable X X X X
FocusVisualStyle X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 852
FontFamily X X X X
FontSize X X X X
FontStretch X X X X
FontStyle X X X X
FontWeight X X X X
ForceCursor X X X X
Foreground X X X X
GlareBrush X X X X
Height X X X X
HorizontalAlign X X X X
ment
HorizontalContent X X X X
Alignment
InnerBorderBrush X X X X
InnerBorderThick X X X X
ness
InnerCornerRadius X X X X
IsEnabled X X X X
IsHitTestVisible X X X X
IsManipulationEn X X X X
abled
IsSharedSizeScope X X X X
IsTabStop X X X X
Localization X X X X
Margin X X X X
MaxHeight X X X X
MaxWidth X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 853
MinHeight X X X X
MinorBackground X X X X
MinWidth X X X X
Name X X X X
Opacity X X X X
OpacityMask X X X X
OverridesDefault X X X X
Style
Padding X X X X
RenderTransform X X X X
Origin
Row X X X X
RowSpan X X X X
SnapsToDevicePix X X X X
els
State1Brush X X X X
State2Brush X X X X
State2IsOn X X
State2Threshold X X X X
State3Brush X X X X
State3IsOn X X
State3Threshold X X X X
State4Brush X X
State4IsOn X
State4Threshold X X
State5Brush X X
Workflow Full User Guide | 9 - Forms and User Displays | 854
State5IsOn X
State5Threshold X X
Style X X X X
TabIndex X X X X
Tag X X X X
Template X X X X
TertiaryBroder X X X X
Brush
TertiaryBorder X X X X
Thickness
TertiaryCornerRa X X X
dius
ToolTip X X X X
Uid X X X X
UseLayoutRound X X X X
ing
Value X X X X
VerticalAlignment X X X X
VerticalContentAl X X X X
ignment
Visibility X X X X
Width X X X X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
Property Description
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
Workflow Full User Guide | 9 - Forms and User Displays | 857
Property Description
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
Property Description
Property Description
Row RowBackground
Property Description
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
The Level Indicator Five State control is a panel indicator with five possible state colors and four
possible threshold values. The state is determined by the value assigned to the control.
See Indicator Controls to view the usage and description of the properties for this control.
Related reference
Indicator Controls (on page 851)
The Level Indicator Three State control is a panel indicator with three possible state colors and two
possible threshold values. The state is determined by the value assigned to the control.
See Indicator Controls to view the usage and description of the properties for this control.
Related reference
Indicator Controls (on page 851)
The Tower Indicator Five State control is a set of five indicators assembled in a tower. There are five
possible state colors and four possible threshold values. The five indicators function independently and
can monitor five separate processes.
See Indicator Controls to view the usage and description of the properties for this control.
Related reference
Indicator Controls (on page 851)
The Tower Indicator Three State control is a set of three indicators assembled in a tower. There are
three possible state colors and two possible threshold values. The three indicators function independently
and can monitor three separate processes.
See Indicator Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 863
Related reference
Indicator Controls (on page 851)
Input Controls
Input controls are used to input data to write to a server.
AcceptsReturn X
AcceptsTab X
AllowDrop X
AutoWordSelection X
Background X
BorderBrush X
BorderThickness X
CaretBrush X
CharacterCasing X
ClipToBounds X
Column X
ColumnSpan X
Effect X
FlowDirection X
Focusable X
FocusVisualStyle X
FontFamily X
FontSize X
FontStretch X
Workflow Full User Guide | 9 - Forms and User Displays | 864
FontStyle X
FontWeight X
ForceCursor X
Foreground X
Height X
HorizontalAlignment X
HorizontalContentAlign X
ment
HorizontalScrollBarVisibili X
ty
IsEnabled X
IsHitTestVisible X
IsManipulationEnabled X
IsReadOnly X
IsReadOnlyCaretVisible X
IsSharedSizeScope X
IsTabStop X
IsUndoEnabled X
Localization X
Margin X
MaxHeight X
MaxLength X
MaxLines X
MaxWidth X
MinHeight X
MinLines X
MinWidth X
Workflow Full User Guide | 9 - Forms and User Displays | 865
Name X
Opacity X
OpacityMask X
OverridesDefaultStyle X
Padding X
RenderTransformOrigin X
Row X
RowSpan X
SelectionBrush X
SelectionOpacity X
SnapsToDevicePixels X
Style X
TabIndex X
Tag X
Template X
Text X
TextAlignment X
TextWrapping X
ToolTip X
Uid X
UseLayoutRounding X
VerticalAlignment X
VerticalContentAlignment X
VerticalScrollBarVisibility X
Visibility X
Width X
Workflow Full User Guide | 9 - Forms and User Displays | 866
Property Description
AutoWordSelection Select this check box to indicate that when you se
lect part of a word by dragging across it with the
mouse, the rest of the word is selected.
• Normal
• Lower
• Upper
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
• Fill
• None
• Uniform
• UniformToFill
IsReadOnly Select this check box to indicate that the text edit
ing control is read-only to a user interacting with
the control.
Property Description
Property Description
Row RowBackground
• Left
• Center
• Right
• Justify
Workflow Full User Guide | 9 - Forms and User Displays | 872
Property Description
• NoWrap
• Wrap
• WrapWithOverflow
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
Property Description
• Collapsed
• Hidden
• Visible
The Data Text Box is a WPF control that is a simple two-way data binding control used for writing
data to a server.
See Input Controls to view the usage and description of the properties for this control.
Related reference
Input Controls (on page 863)
Items Controls
Items controls display collections of child controls. These controls have inherent behaviors that manage
the appearance of their child controls.
Items controls can contain strings or any other control; for example, a list box can contain a radio button.
Often an items control is used with a specific child control; for example, a tab control contains tab items.
The following sections describe the controls available in the Items Controls list.
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Al X X X X X X X X X X X X X X X X X X X
low
Drop
Al X X X X X X X X X
ter
na
tion
Count
BackX X X X X X X X X X X X X X X X X X X
ground
Band X
Band X
In
dex
Bor X X X X X X X X X X X X X X X X X X
der
Brush
Bor X X X X X X X X X X X X X X X X X X
der
Thick
ness
CacheMode X
Char X
ac
ter
S
pac
ing
Workflow Full User Guide | 9 - Forms and User Displays | 875
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Clip X
Clip X X X X X X X X X X X X X X X X X X
To
Bounds
Col X X X X X X X X X X X X X X X X X X X
umn
Colum
X X X X X X X X X X X X X X X X X X X
nS
pan
Com X
mand
Pa
ra
me
ter
Com X
mand
Tar
get
Con X X X X X X
tent
Con X X X X X X X
tent
String
For
mat
Cur X
sor
Workflow Full User Guide | 9 - Forms and User Displays | 876
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Dat X
a
Con
text
Dis X X X X X X X X X X X
play
Mem
ber
Path
Ef X X X X X X X X X X X X X X X X X X X
fect
FlowX X X X X X X X X X X X X X X X X X X
Di
rec
tion
Fo X X X X X X X X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X X X X X X X X
cus
Vi
su
al
Style
FontX X X X X X X X X X X X X X X X X X X
Fam
ily
FontSize
X X X X X X X X X X X X X X X X X X X
FontStretch
X X X X X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 877
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
FontStyle
X X X X X X X X X X X X X X X X X X X
FontWeight
X X X X X X X X X X X X X X X X X X X
ForceX X X X X X X X X X X X X X X X X X
Cur
sor
Fore X X X X X X X X X X X X X X X X X X
ground
Head X X X X X
er
Head X X X X X
er
String
For
mat
Height
X X X X X X X X X X X X X X X X X X X
Hor X X X X X X X X X X X X X X X X X X X
i
zon
tal
Align
ment
Hor X X X X X X X X X X X X X X X X X X
i
zon
tal
Con
tent
Al
Workflow Full User Guide | 9 - Forms and User Displays | 878
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
ign
ment
Icon X
In X
put
Ges
ture
Text
Is X
Check
able
IsChecked X
Is X
Drop
Down
Open
Is X
Ed
itable
Is X X X X X X X X X X X X X X X X X X X
En
abled
Is X
Ex
pand
ed
Is X X X X X X X X X X X X X X X X X X X
Hit
Test
Workflow Full User Guide | 9 - Forms and User Displays | 879
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Vis
ible
Is X
Locked
Is X
Main
Menu
Is X X X X X X X X X X X X X X X X X X
Ma
nip
ula
tio
n
En
abled
Is X
Over
flow
Open
Is X
Read
On
ly
IsS X X X X X
elect
ed
Is X X X X X X X X X X X X X X X X X X
Shared
Size
Workflow Full User Guide | 9 - Forms and User Displays | 880
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
S
cope
Is X
Sub
men
u
Open
Is X X X X
Syn
chro
nized
With
Cur
ren
t
Item
Is X X X X X X X X X X X X X X X X X X
Tab
S
top
Is X X X X X X X X X
Tex
t
Search
Case
Sen
si
tive
Is X X X X X X X X X
Tex
Workflow Full User Guide | 9 - Forms and User Displays | 881
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
t
Search
En
abled
Item X
Pan
el
ItemsX
ItemX X X X X X X X X X X
s
Source
ItemX X X X X X X X X X
String
For
mat
Item X
Tem
plate
Lan X
guage
Lo X X X X X X X X X X X X X X X X X X X
cal
iza
tion
Mar X X X X X X X X X X X X X X X X X X
gin
Max X
Drop
Workflow Full User Guide | 9 - Forms and User Displays | 882
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Down
Height
Max X X X X X X X X X X X X X X X X X X X
Height
MaxWidth
X X X X X X X X X X X X X X X X X X X
Min X X X X X X X X X X X X X X X X X X X
Height
Min X X X X X X X X X X X X X X X X X X X
Width
NameX X X X X X X X X X X X X X X X X X X
OpacX X X X X X X X X X X X X X X X X X X
ity
OpacX X X X X X X X X X X X X X X X X X X
ity
Mask
OverX X X X X X X X X X X X X X X X X X
rides
De
fault
Style
Padding
X X X X X X X X X X X X X X X X X X
Pro X
jec
tion
Ren X X X X X X X X X X X X X X X X X X X
der
Trans
for
Workflow Full User Guide | 9 - Forms and User Displays | 883
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
m
Ori
gin
Row X X X X X X X X X X X X X X X X X X X
Row X X X X X X X X X X X X X X X X X X X
S
pan
Select
X X X X
ed
In
dex
Select X X X
ed
Item
Select
X X X X
ed
Val
ue
Select
X X X X X X
ed
Val
ue
Path
Snap X X X X X X X X X X X X X X X X X
s
To
De
vi
ce
Workflow Full User Guide | 9 - Forms and User Displays | 884
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
Pix
els
StaysOpenOnClick X X X
StaysX
Open
On
Ed
it
Style X X X X X X X X X X X X X X X X X X X
Tab X X X X X X X X X X X X X X X X X X
In
dex
Tab X
Nav
iga
tion
Tab X
Strip
Place
ment
Tag X X X X X X X X X X X X X X X X X X X
TemX X X X X X X X X X X X X X X X X X
plate
Text X
ToolTip
X X X X X X X X X X X X X X X X X X X
Uid X X X X X X X X X X X X X X X X X X
Use X X X X X X X X X X X X X X X X X X X
Lay
Workflow Full User Guide | 9 - Forms and User Displays | 885
Sta
Com List List Tree
PropCom Items Menu Sta tus Tab Tool
bo Group List Box List View Separa Tool Tree View
er bo Con Menu Item tus Bar Tab Item Bar
Item Box Box Item View Item tor Bar View Item
ty Box trol [add] Bar Item [add] Tray
[add] [add] [add] [add]
[add]
out
Round
ing
Ver X X X X X X X X X X X X X X X X X X X
ti
cal
Align
ment
Ver X X X X X X X X X X X X X X X X X X
ti
cal
Con
tent
Al
ign
ment
Vis X X X X X X X X X X X X X X X X X X X
ibil
ity
WidthX X X X X X X X X X X X X X X X X X X
Property Description
Property Description
• Hover
• Press
• Release
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
• Left
• Center
Workflow Full User Guide | 9 - Forms and User Displays | 889
Property Description
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
IsEditable Select this check box to indicate that the text in the
Combo Box can be edited.
Property Description
IsOverflowOpen Select this check box to indicate that the Tool Bar
overflow area is visible.
IsSelected Select this check box to indicate that the item is se
lected.
Property Description
Property Description
Row RowBackground
Property Description
• Top
• Right
• Bottom
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Tip:
The DisplayMemberPath property can be used to show a specific property if a list of
objects is bound to it. For example, if you are binding to a list of DirectoryResource
Workflow Full User Guide | 9 - Forms and User Displays | 895
objects, you can set the DisplayMemberPath property to DisplayName to show only
the user friendly name of each DirectoryResource object.
◦ Open Project > MainPage.xaml.cs, and then edit the code as follows:
List<String>items=new List<String>()
items.Add("one");
items.Add("two");
items.Add("three");
ListBox1.ItemsSource = items;
Note:
Do not add an item using both the toolbox and the ItemSource in code behind. The
form will not necessarily produce errors during compilation, but it will not work as
desired at runtime.
Note:
To view the full list of properties, select the Advanced check box.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
Workflow Full User Guide | 9 - Forms and User Displays | 896
using System.Windows;
using System.Windows.Controls;
using Proficy.Platform.Core.DisplayFramework;
using Proficy.Platform.Core.DisplayFramework.Forms;
using System.Windows.Data;
using System.ComponentModel;
namespace SortedSearchExample
public MainForm()
InitializeComponent();
Sort("DisplayName", ListSortDirection.Ascending);
if (dataView != null)
dataView.SortDescriptions.Clear();
dataView.SortDescriptions.Add(sd);
dataView.Refresh();
Tip:
Resize the menu control to view all of the menu items.
A menu item appears in the menu control each time you click the control in the Toolbox.
7. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
You must add a menu and at least one top-level menu item before you can nest menu items.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. Select the control in the Designer, and then from the Items Control list, click Menu Item [add].
Tip:
Resize the menu control to view all of the menu items.
A menu item appears in the menu control each time you click the control in the Toolbox.
8. In the Document Tree, right-click the menu item you want to add a nested menu item to, and then
select Add Menu Item.
The new menu item is automatically nested under the selected menu item.
9. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
Note:
You must have added an item control with child items before adding a separator.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Tip:
You can use the Ctrl + arrow buttons on your keyboard to position the separator more
precisely.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. Right-click the status bar control and click Add StatusBar Item.
A status bar item appears in the status bar control.
8. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. Choose one of the following ways to add a tab item to the tab control:
◦ Right-click the tab control in the Document Tree and click Add Tab Item. A tab item appears
in the tab control.
◦ Select the tab control in the canvas, right-click, and select Add Tab Item.
◦ Select the tab control in the canvas, and in the Toolbox click Items Control > Tab Item [Add]
Note:
To apply the properties of a control to another control, click and drag the control
to another control in the document tree. The Applying <control (control name)> to
Target dialog box appears where you can select the option you want to use to apply
to the control.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To view the full list of properties, select the Advanced check box.
Related reference
Shapes (on page 1026)
Related information
Designer: Control Toolbox (on page 696)
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Workflow Full User Guide | 9 - Forms and User Displays | 905
8. From the Toolbox, click and drag a control to the document tree and drop it on the toolbar control.
The Applying <control (control name)> to Target dialog box appears.
9. Select the As a Child option, and then click OK.
10. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
Tip:
If there are space constraints on the form, you can resize the toolbar tray to hide entire
toolbar controls or the controls on the toolbar control. When you use the toolbar tray in run
time, the hidden controls can be expanded using the drop-down arrow on the toolbar.
Note:
To view the full list of properties, select the Advanced check box.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
7. Select the control in the designer, and then from the Items Control list, click TreeView Item [add].
Tip:
Resize the tree view control to view all of the tree view items.
A tree view item appears in the tree view control each time you click the control in the Toolbox.
8. Configure the properties, as required.
Note:
To view the full list of properties, select the Advanced check box.
You must add a tree view and at least one top-level tree view item before you can nest tree view items.
Tip:
Resize the tree view control to view all of the tree view items.
Note:
To view the full list of properties, select the Advanced check box.
Combo Box
A Combo Box control consists of a list and a selection field. The list presents the options that you
can select, and the selection field displays the selected list item.
If you select the IsEditable property check box, you can choose to enter information that is not available in
the list to the selection field. If the IsEditable property check box is cleared, you can only select from the
available items in the list.
You can use the ItemsSource property to configure a combo box to get its item list from a data source, or
you can manually add the list items and their labels.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
The Combo Item [add] control is used to add list items to a combo box.
The list items are not visible in design mode. The labels for the individual list items are configured in the
Properties panel.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Group Box
A Group Box is a WPF control that is a rectangle that surrounds a set of controls, such as check
boxes or radio buttons, under a heading.
Workflow Full User Guide | 9 - Forms and User Displays | 909
Group boxes organize controls related by a common purpose. Unlike an expander control, the group box
always displays all of its contents, grouped together in an outlined box.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Items Control
The Items Control is a Silverlight control that is used to contain another control. Whereas other controls in
the Items Control group are used to contain a collection of specific child contols (for example, a list box is
used to contain a collection of list box items), the Items Control can contain any control.
Use the ItemsSource property to bind to the control that you want contained within the Items Control.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
List Box
A List Box control displays a collection of selectable items. A list box typically contains list box items;
however, it can also contain a list of any of the available controls.
A list box has horizontal and vertical scrolling capabilities. When the number of list items exceeds
the list box’s defined area, a vertical scroll bar automatically appears. The placement of items within
the list box can be adjusted through the box’s FlowDirection and VerticalContent Alignment or
HorizontalContentAlignment properties.
By default, the SelectionMode property is set to single, which allows only a single item to be selected
from the list box. You can change the SelectionMode property to allow an operator to select multiple non-
contiguous items or a combination of contiguous and non-contiguous items.
A list box has no Content property; the items collection is the content. Changes to list box items can be
made by adjusting certain properties of the list box itself. For example, a change to the list box’s FontSize
property cascades through the box’s entire list of items.
See Items Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 910
Related reference
Items Controls (on page 873)
The List Box Item [add] control is used to add list items to a list box. The list items are visible in
design mode if the list box size is configured to allow this.
The labels for the individual list items are configured in the Properties panel.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
List View
The List View is a WPF control that can be added to a form or user display with list view items added
to it.
This control is generally authored through code behind by assigning a grid view to the View property and
applying data binding.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
The List View Item [add] is a WPF control that is used to add list items to a list view. The list items are
visible in design mode if the list view size is configured to allow this.
The labels for the individual list items are configured in the Properties panel.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Workflow Full User Guide | 9 - Forms and User Displays | 911
Menu
The Menu control allows you to create both statically and dynamically displayed menus. You can
manually configure the contents of the menu, or you can bind to a data source.
A menu has layout and resizing capabilities for its items collection. When the number of list items
exceeds the menu’s defined area, the menu control automatically wraps the next list item down to the
next line. If the menu itself is resized to the point where its right edge touches the right edge of the list
items, its items collection is wrapped and reorganized within the menu’s new boundaries.
You can add submenu items to menu items and to other submenu items.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
The Menu Item [add] control is used to add list items to a menu. The list items are visible in design
mode if the menu size is configured to allow this.
The labels for the individual list items are configured in the Properties panel.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Separator
A Separator is a control without a Header or Content properties. It cannot accept any child controls.
It resembles a horizontal or vertical line (depending on the items control it is placed into), and is used as a
simple divider to split or separate items within an items collection into groups.
Separators are commonly used with items controls such as menus/menu items, toolbars, and status
bars. Separators are not selectable objects.
See Items Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 912
Related reference
Items Controls (on page 873)
Status Bar
A Status Bar is a WPF control that is usually located across the bottom of an application window and
contains hints, tips, or other information about the status of what is happening inside an active (that is,
running) application.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
The Status Bar Item is a WPF control that is combined with a status bar.
The Content property of the status bar item is then set to text or another control.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Tab
The Tab control is an items control configured to display its items collection as tabs within a defined
area.
When the tab control is resized, its items collection of tabs wraps and resizes accordingly. The control’s
TabStripPlacement property determines whether the tabs show at the top, bottom, left or right of the
control.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Workflow Full User Guide | 9 - Forms and User Displays | 913
Tab Item [add] controls are combined with a Tab control. The Header property sets the text or any
control to display on the tab of the Tab Item.
The Content property specifies the control to display on the body of the Tab Item.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Tool Bar
The Tool Bar is a WPF control that is used as a container for groups of commands or controls that
are typically related in their function. A tool bar usually contains buttons that invoke commands.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
A Tool Bar Tray is a WPF control that is a container for toolbars. A tool bar tray allows limited
repositioning of its child toolbars using drag and drop. Tool bar trays can have multiple rows of toolbars.
The Band property allows you to set a toolbar on a particular row of a tool bar tray.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Tree View
A Tree View control organizes its tree view item collection into groups in a hierarchal fashion. While
the hierarchal structure is somewhat similar to a menu (for example, the tree view also uses a main item
Workflow Full User Guide | 9 - Forms and User Displays | 914
and a list of sub-items to build an organized list of its items collection), the tree view uses a somewhat
different layout. Tree view items with connected sub-items are expandable and collapsible.
A tree view initiates horizontal and/or vertical scroll bars if it is resized to the point where its bottom or
right-most edge meets the edges of its contents.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Tree View Item [add] controls are combined with the tree view control. The Header property contains
the title or any control for the title of the node. The tree view items collection can be other tree view items
or other controls.
See Items Controls to view the usage and description of the properties for this control.
Related reference
Items Controls (on page 873)
Label Controls
Label controls are used to display text and/or numeric values for real-time data.
AllowDrop X X X X
Background X X X X
BorderBrush X X X X
BorderThickness X X X X
ClipToBounds X X X X
Column X X X X
ColumnSpan X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 915
Content X X X
ContentStringFor X X X
mat
CornerRadius X X X
Effect X X X X
FlowDirection X X X X
Focusable X X X X
FocusVisualStyle X X X X
FontFamily X X X X
FontSize X X X X
FontStretch X X X X
FontStyle X X X X
FontWeight X X X X
ForceCursor X X X X
Foreground X X X X
GlareBrush X X X
HeaderBackground X
HeaderCaption X
HeaderFontSize X
HeaderForeground X
Height X X X X
HorizontalAlign X X X X
ment
HorizontalContent X X X X
Alignment
IndicatorAbove X
MaxBackground
Brush
Workflow Full User Guide | 9 - Forms and User Displays | 916
IndicatorAbove X
MaxGoreground
Brush
IndicatorBelowMin X
Backgroundrush
IndicatorBelowMin X
ForegroundBrush
IndicatorMax X
Threshold
IndicatorMin X
Threshold
IndicatorPulseDe X
lay
InnerBorderBrush X X
InnerBorderThick X X
ness
InnerCornerRadius X X
IsEnabled X X X X
IsHitTestVisible X X X X
IsManipulationEn X X X X
abled
IsSharedSizeScope X X X X
IsTabStop X X X X
Localization X X X X
Margin X X X X
MaxHeight X X X X
MaxWidth X X X X
MinHeight X X X X
Minimum X
Workflow Full User Guide | 9 - Forms and User Displays | 917
MinWidth X X X X
Name X X X X
Opacity X X X X
OpacityMask X X X X
OverridesDefault X X X X
Style
Padding X X X X
RenderTransform X X X X
Origin
Row X X X X
RowSpan X X X X
SnapsToDevicePix X X X X
els
StartValue X
Style X X X X
TabIndex X X X X
Tag X X X X
Template X X X X
ToolTip X X X X
Uid X X X X
UnitCaption X
UnitFontSize X
UseLayoutRound X X X X
ing
Value X X X
ValueFormat X
VarianceFormat X
Workflow Full User Guide | 9 - Forms and User Displays | 918
VerticalAlignment X X X X
VerticalContentAl X X X X
ignment
Visibility X X X X
Width X X X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
HeaderFontSize Specifies the font size for the text in the header.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
• Fill
• None
• Uniform
• UniformToFill
IndicatorAboveMaxBackgroundBrush Expand this field to select the color to use for the
background of the label when the value is greater
than the IndicatorMaxThreshold value.
IndicatorAboveMaxForegroundBrush Expand this field to select the color to use for the
contents of the label when the value is greater than
the IndicatorMaxThreshold value.
IndicatorBelowMinBackroundBrush Expand this field to select the color to use for the
background of the label when the value is less than
the IndicatorMaxThreshold value.
IndicatorBelowMinForegroundBrush Expand this field to select the color to use for the
contents of the label when the value is less than
the IndicatorMaxThreshold value.
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
Property Description
Property Description
Row RowBackground
Property Description
UnitFontSize Specifies the font size for the units display values.
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Data Label
The Data Label control is a text label that displays data—both text and numerical—for a specified
point or trendline in a chart.
See Label Controls to view the usage and description of the properties for this control.
Related reference
Label Controls (on page 914)
Generic Label
The Generic Label control is a standard text box control that displays text.
See Label Controls to view the usage and description of the properties for this control.
Related reference
Label Controls (on page 914)
Indicator Label
The Indicator Label control is a text label that changes background and foreground colors depending
on the indicator value. The state is determined by the value assigned to the control.
See Label Controls to view the usage and description of the properties for this control.
Related reference
Label Controls (on page 914)
Variance Label
The Variance Label control displays the current value given by real-time data. It also caches and
displays the last value with either a green upward pointing arrow or a red downward pointing arrow to
display either an increase or decrease in value since the last update.
See Label Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 926
Related reference
Label Controls (on page 914)
Language Switching
The Designer provides a language switching control that allows you to change the text in a form or user
display from one language to another during run time.
Note:
Language switching is available in both the WPF Designer and the Silverlight Designer.
AllowDrop X X
Background X X
BorderBrush X X
BorderThickness X X
ClickMode X X
ClipToBounds X X
Column X X
ColumnSpan X X
CommandParameter X X
CommandTarget X X
Content X X
ContentStringFormat X X
DefaultFlag X
Effect X X
FlagsParameters X
FlagStyle X
Workflow Full User Guide | 9 - Forms and User Displays | 927
FlowDirection X X
Focusable X X
FocusBrush X
FocusVisualStyle X X
FontFamily X X
FontSize X X
FontStretch X X
FontStyle X X
FontWeight X X
ForceCursor X X
Foreground X X
Height X X
HorizontalAlignment X X
HorizontalContentAlignment X X
IsCancel X X
IsDefault X X
IsEnabled X X
IsHitTestVisible X X
IsManipulationEnabled X X
IsSharedSizeScope X X
IsTabStop X X
Localization X X
Margin X X
MaxHeight X X
MaxWidth X X
MinHeight X X
Workflow Full User Guide | 9 - Forms and User Displays | 928
MinWidth X X
Name X X
Opacity X X
OpacityMask X X
OverridesDefaultStyle X X
Padding X X
RenderTransformOrigin X X
Row X X
RowSpan X X
SnapsToDevicePixels X X
Style X X
TabIndex X X
Tag X X
Template X X
ToolTip X X
Uid X X
UseLayoutRounding X X
VerticalAlignment X X
VerticalContentAlignment X X
Visibility X X
Width X X
Property Description
Property Description
• Hover
• Press
• Release
Column Specifies the column within the grid where the con
trol is located.
DefaultFlag Specifies the default flag to use for the flag switch
ing button. This is the flag that is initially displayed
at run time. Valid selections are:
Workflow Full User Guide | 9 - Forms and User Displays | 930
Property Description
• Chinese
• English
• French
• German
• Italian
• Korean
• Polish
• Russian
• Spanish
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
• Chinese
• English
• French
• German
• Italian
• Korean
• Polish
Workflow Full User Guide | 9 - Forms and User Displays | 931
Property Description
• Russian
• Spanish
• Wave
• Box
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
Workflow Full User Guide | 9 - Forms and User Displays | 932
Property Description
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Property Description
Property Description
Row RowBackground
• Bottom
• Center
• Top
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 935
Property Description
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Important:
• You must provide the translated text for the selected properties. The Designer does not
automatically translate text.
• The Switch Language button does not act as a toggle button; that is, you cannot use the same
button to switch back to the original language. You must add a separate language button for each
language that you want to be able to switch to. However, the Flag Switching button does act as a
toggle button; that is, you use only the one button to switch between the configured languages.
a. Expand the Language Switching group, and then select the SwitchLanguageButton control.
b. Click and drag the control to the desired position in the Designer, and then click the
Properties tab.
Note:
To view the full list of properties, select the Advanced check box.
d. In the Content field, enter the text you want displayed on the language button. For example,
if the button will be used to switch text to Spanish, enter Spanish or Español.
e. From the Language ID list, select the language that the text on the control(s) will be
switched to.
a. From the DefaultFlag drop-down list, select the language for the flag that you want displayed
when the form opens.
c. Select the languages that the text on the control(s) will be switched to, and then click OK.
d. From the FlagStyle drop-down list, select the style of flag you want to use.
8. If required, add controls whose text you want to switch to an alternate language.
9. Select a control, and then click the Properties tab.
10. Click the Localization ellipsis button.
The Localization Configuration dialog box appears.
11. From the Property Name list, select the property whose text you want to switch languages for.
12. From the Language list, select the language you want to switch the text to.
Note:
This language must match the Language ID property of the switch language button.
13. In the Text field, enter the translated text for the selected property, and then click Apply.
Workflow Full User Guide | 9 - Forms and User Displays | 937
Tip:
To remove a translation string, select it, click Delete, and then click OK.
Related reference
Language Switching (on page 926)
Related information
Designer: Control Toolbox (on page 696)
Localization Configuration
The Localization property ellipsis button, found on the Properties tab for each control, opens the
Localization Configuration dialog box, where you specify which properties you want to configure language
switching for, the language to switch to, and the translated text. If you want all of the text for a specific
control to switch to another language, you must configure the translated text for each property.
Important:
You must provide the translated text for the selected properties. The Designer does not
automatically translate text.
The Flag Switching Button is a WPF control that is used to dynamically change a control's displayed
text from one language to another.
See Language Switching Controls to view the usage and description of the properties for this control.
Related reference
Language Switching (on page 926)
The Switch Language Button is a WPF control that is used to dynamically change the text displayed
on controls from one language to another.
For example, if a form is authored in English and you want an operator to be able to switch the displayed
language to Spanish, you can add a language button to the form that automatically changes the text to
Spanish when it is clicked.
Workflow Full User Guide | 9 - Forms and User Displays | 939
Important:
The Switch Language button does not act as a toggle button; that is, you cannot use the same
button to switch back to the original language. You must add a separate language button for each
language that you want to be able to switch to. However, the Flag Switching button does act as a
toggle button; that is, you use only the one button to switch between the configured languages.
The Language ID property for the Switch Language Button control is used to specify the language that you
want the button to switch the text to.
Language switching is based on specific properties for individual controls. For example, you can
affect the Text and ToolTip properties for the text box control, or the CommandParameter, Content,
ContentStringFormat, and ToolTip properties for the button control.
See Language Switching Controls to view the usage and description of the properties for this control.
Related reference
Language Switching (on page 926)
LED Controls
LED controls have on, off, and pulse abilities and, when grouped, can display alphabetical, numerical, or
symbolic characters.
AllowDrop X X X X
Background X X X X
BorderBrush X X X X
BorderThickness X X X X
ClipToBounds X X X X
Column X X X X
ColumnSpan X X X X
CornerRadius X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 940
Effect X X X X
FlowDirection X X X X
Focusable X X X X
FocusVisualStyle X X X X
FontFamily X X X X
FontSize X X X X
FontStretch X X X X
FontStyle X X X X
FontWeight X X X X
ForceCursor X X X X
Foreground X X X X
GlareBrush X X X X
Height X X X X
HorizontalAlign X X X X
ment
HorizontalContent X X X X
Alignment
InnerBorderBrush X X X X
InnerBorderThick X X X X
ness
InnerCornerRadius X X X X
IsEnabled X X X X
IsHitTestVisible X X X X
IsManipulationEn X X X X
abled
IsSharedSizeScope X X X X
IsTabStop X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 941
LEDBrightness X X X X
LEDBrush X X X X
LEDDisplayCount X X X
LEDDisplayValue X X X X
LEDisOn X X X X
LEDOffOpacity X X X X
LEDPadding X X X X
LEDPulse X X X X
LEDPulseDelay X X X X
Localization X X X X
Margin X X X X
MaxHeight X X X X
MaxWidth X X X X
MinHeight X X X X
MinorBackground X X X X
MinWidth X X X X
Name X X X X
Opacity X X X X
OpacityMask X X X X
OverridesDefault X X X X
Style
Padding X X X X
RenderTransform X X X X
Origin
Row X X X X
RowSpan X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 942
SnapsToDevicePix X X X X
els
StrokeThickness X X X X
Style X X X X
TabIndex X X X X
Tag X X X X
Template X X X X
TertiaryBack X X X X
ground
TertiaryBorder X X X X
Brush
TertiaryCornerRa X X X X
dius
ToolTip X X X X
Uid X X X X
UseLayoutRound X X X X
ing
VerticalAlignment X X X X
VerticalContentAl X X X X
ignment
Visibility X X X X
Width X X X X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
Workflow Full User Guide | 9 - Forms and User Displays | 944
Property Description
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
Property Description
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
InnerBorderBrush Expand this field to select the color for the inner
border.
InnerBorderThickness Expand this field to select the color for the inner
border.
LEDBrush Expand this field to select the color for the LED
background.
Workflow Full User Guide | 9 - Forms and User Displays | 946
Property Description
LEDIsOn Select this check box to indicate that the LED con
trol is on.
LEDPulse Select this check box to indicate that the LED con
trol will pulse.
Property Description
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
The LED Panel Five by Seven Matrix control is a panel of five-by-seven matrix LEDs. This panel is
used to display alphanumeric data.
See LED Controls to view the usage and description of the properties for this control.
Related reference
LED Controls (on page 939)
LED Light
The LED Light control is a single LED that displays in on, off, or pulse states. The LEDBrush property
is used to change the color of the LED light.
See LED Controls to view the usage and description of the properties for this control.
Related reference
LED Controls (on page 939)
The LED Panel Seven Segment control is a panel of seven segment LEDs. This panel is used to
display numeric data.
See LED Controls to view the usage and description of the properties for this control.
Related reference
LED Controls (on page 939)
The LED Panel Sixteen Segment control is a panel of sixteen segment LEDs. This panel is used to
display alphanumeric data.
See LED Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 950
Related reference
LED Controls (on page 939)
Media Controls
The media of a communications session is the form in which the data is transmitted. Media controls
allow an application to recognize a variety of media types and adjust aspects of the media stream, such
as the volume of voice transmission.
AllowDrop X X
Background X X
BorderBrush X X
BorderThickness X X
ClipToBounds X X
Column X X
ColumnSpan X X
CornerRadius X
Effect X X
FlowDirection X X
Focusable X X
FocusVisualStyle X X
FontFamily X X
FontSize X X
FontStretch X X
FontStyle X X
FontWeight X X
ForceCursor X X
Workflow Full User Guide | 9 - Forms and User Displays | 951
Foreground X X
GlareBrush
Height X X
HorizontalAlignment X X
HorizontalContentAlignment X X
IsEnabled X X
IsHitTestVisible X X
IsManipulationEnabled X X
IsPlaying X X
IsSharedSizeScope X X
IsTabStop X X
Localization X X
Margin X X
MaxHeight X X
MaxWidth X X
MinHeight X X
MinWidth X X
Name X X
Opacity X X
OpacityMask X X
OverridesDefaultStyle X X
Padding X X
Position X X
RadiusX X X
RadiusY X X
RenderTransformOrigin X X
Workflow Full User Guide | 9 - Forms and User Displays | 952
Repeat X
Row X X
RowSpan X X
SnapsToDevicePixels X X
Source X X
StrokeThickness X X
Style X X
TabIndex X X
Tag X X
Template X X
Text X
ToolTip X X
Uid X X
UseLayoutRounding X X
VerticalAlignment X X
VerticalContentAlignment X X
Visibility X X
Width X X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 955
Property Description
• Fill
• None
• Uniform
• UniformToFill
Property Description
Repeat Select this check box to indicate that the video will
repeat after the media has finished running through
a continuous video cycle.
Row RowBackground
Property Description
Source Click the ellipsis button to open the Navigate Uri di
alog box to select the image source to use for the
control.
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Media Control
The Media Control is a control that plays video or audio and extends the media element component
in .NET allowing you more flexibility, such as specifying a background color or adding a RadiusX and/or
RadiusY to the control for more interesting and dynamic visual effects. The media control can also be
used to create digital signage content.
See Media Controls to view the usage and description of the properties for this control.
Related reference
Media Controls (on page 950)
Workflow Full User Guide | 9 - Forms and User Displays | 959
The Video Text Block control is derived from the Media Control but will repeat the video after the
media has finished giving the viewer a continuous video cycle. The video text block adds an attention-
grabbing effect to any digital signage content.
See Media Controls to view the usage and description of the properties for this control.
Related reference
Media Controls (on page 950)
Miscellaneous Controls
The Miscellaneous controls group contains controls that would otherwise be ungrouped.
AllowDrop X
Background X
BorderBrush X
BorderThickness X
ClipToBounds X
Column X
ColumnSpan X
Effect X
FlameIsOn X
FlameMaxHeight X
FlameMinHeight X
FlickerFadeSpeec X
FlickerSpeed X
FlowDirection X
Workflow Full User Guide | 9 - Forms and User Displays | 960
Focusable X
FocusVisualStyle X
FontFamily X
FontSize X
FontStretch X
FontStyle X
FontWeight X
ForceCursor X
Foreground X
Height X
HorizontalAlignment X
HorizontalContentAlignment X
IsEnabled X
IsHitTestVisible X
IsManipulationEnabled X
IsSharedSizeScope X
IsTabStop X
Localization X
Margin X
MaxHeight X
MaxWidth X
MinHeight X
MinWidth X
Name X
Opacity X
OpacityMask X
Workflow Full User Guide | 9 - Forms and User Displays | 961
OverridesDefaultStyle X
Padding X
RenderTransformOrigin X
Row X
RowSpan X
SnapsToDevicePixels X
Style X
TabIndex X
Tag X
Template X
ToolTip X
Uid X
UseLayoutRounding X
VerticalAlignment X
VerticalContentAlignment X
Visibility X
Width X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
Property Description
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 964
Property Description
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
Property Description
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
Property Description
• Collapsed
• Hidden
• Visible
Animated Fire
See Miscellaneous Controls to view the usage and description of the properties for this control.
Related reference
Miscellaneous Controls (on page 959)
Motors provide a graphic illustration of how fast a motor is running by showing an indicator brush in the
control. The speed of the motor is user-controlled; the faster the indicator moves, the faster the motor is
running. By manipulating the properties, motor controls can be used to monitor motor behavior, lifespan,
or even scheduled maintenance intervals.
Fan controls display the relative speed of rotation of the fan blades. Fans can be used as an independent
control, or be added to a motor to simulate a motor fan.
When a motor or fan control receives a null value for the IsOn property, the control sets its Opacity
property to 0.2. The control appears disabled until a True or False value is received for the IsOn property.
Rotary controls contain circular graphics that spin 360 degrees at user-defined rotation speeds. When a
rotary control receives a null value for the IsOn property, the control sets its Opacity property to 0.2. The
control appears disabled until a True or False value is received for the IsOn property.
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Al X X X X X X X X X X X X X
low
Drop
Back X X X X X X X X X X X X X
ground
Blade X X X X X X X X X
Brush
Blade X
Stroke
Thick
ness
Bor X X X X X X X X X X X X
der
Brush
Bor X X X X X X X X X X X X
der
Thick
ness
Cen X X
ter
Cap
Brush
Clip X X X X X X X X X X X X X
To
Bounds
Col X X X X X X X X X X X X
umn
Workflow Full User Guide | 9 - Forms and User Displays | 969
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Colum X X X X X X X X X X X X
nS
pan
Effect X X X X X X X X X X X X X
Flow X X X X X X X X X X X X X
Direc
tion
Fo X X X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X X X
cus
Vi
sual
Style
Font X X X X X X X X X X X X
Fami
ly
FontSize
X X X X X X X X X X X X
FontStretch
X X X X X X X X X X X X
FontStyle
X X X X X X X X X X X X
FontWeight
X X X X X X X X X X X X
Force X X X X X X X X X X X X X
Cur
sor
Fore X X X X X X X X X X X X
ground
Workflow Full User Guide | 9 - Forms and User Displays | 970
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Glare X X X X X
Brush
Height X X X X X X X X X X X X X
Hor X X X X X X X X X X X X X
izon
tal
Align
ment
Hor X X X X X X X X X X X X
izon
tal
Con
tent
Align
ment
Indi X X X
cator
Brush
Inner X X X X X X X X X
Bor
der
Brush
IsEn X X X X X X X X X X X X X
abled
IsHit X X X X X X X X X X X X X
Test
Visi
ble
IsMa X X X X X X X X X X X X X
nipu
Workflow Full User Guide | 9 - Forms and User Displays | 971
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
latio
nEn
abled
IsOn X X X X X X X X X X X X
Is X X X X X X X X X X X X
Shared
Size
S
cope
Is X X X X X X X X X X X X
TabS
top
Local X X X X X X X X X X X X X
iza
tion
Mar X X X X X X X X X X X X X
gin
Max X X X X X X X X X X X X X
Height
MaxWidth
X X X X X X X X X X X X X
Min X X X X X X X X X X X X X
Height
Mi X X X X X X X X X X X X
nor
Back
ground
Min X X X X X X X X X X X X X
Width
Workflow Full User Guide | 9 - Forms and User Displays | 972
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Mo X X X X X X X X X X X
tor
Speed
Name X X X X X X X X X X X X X
Opac X X X X X X X X X X X X X
ity
Opac X X X X X X X X X X X X X
ity
Mask
Over X X X X X X X X X X X X X
rides
De
fault
Style
PaddingX X X X X X X X X X X X
Ren X X X X X X X X X X X X X
der
Trans
form
Origin
Rota X X X X
tion
Speed
Row X X X X X X X X X X X X
Row X X X X X X X X X X X X
Span
Show X
Grid
Lines
Workflow Full User Guide | 9 - Forms and User Displays | 973
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Snap X X X X X X X X X X X X X
sTo
Devi
cePix
els
Stroke X X X X X X X X X
Thick
ness
Style X X X X X X X X X X X X X
Tab X X X X X X X X X X X X
Index
Tag X X X X X X X X X X X X X
Tem X X X X X X X X X X X X
plate
Ter X X
tiary
Back
ground
Ter X X X
tiary
Bor
der
Brush
Ter X X
tiary
Stroke
Thick
ness
ToolTipX X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 974
Cen Wind
Heli Metal Multi Pad Sim Small
Prop trifu Heavy SprockSquare Gen
Gear cal Fly Blade dle ple Fly Tire
erty gal Motor et Motor era
Motor Wheel Fan Wheel Fan Wheel
Pump tor
Uid X X X X X X X X X X X X X
Use X X X X X X X X X X X X X
Lay
out
Round
ing
Ver X X X X X X X X X X X X X
tical
Align
ment
Ver X X X X X X X X X X X X
tical
Con
tent
Align
ment
Visi X X X X X X X X X X X X X
bility
Width X X X X X X X X X X X X X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Workflow Full User Guide | 9 - Forms and User Displays | 976
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
Workflow Full User Guide | 9 - Forms and User Displays | 977
Property Description
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
IndicatorBrush Expand this field to select the color to use for the
graphical indicator (pulse) of the motor speed.
InnerBorderBrush Expand this field to select the color for the inner
border.
Property Description
Row RowBackground
Workflow Full User Guide | 9 - Forms and User Displays | 979
Property Description
ShowGridLines Select this check box to indicate that grid lines are
visible within this grid.
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Centrifugal Pump
The Centrifugal Pump control is a roto-dynamic control with a rotating inner region simulating the
action of an impeller.
The rotational speed is determined by the value assigned to the MotorSpeed property.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Workflow Full User Guide | 9 - Forms and User Displays | 981
Gear
The Gear control is a profiled wheel with meshable teeth, featuring adjustable rotation speeds and
direction.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Heavy Motor
The Heavy Motor control has a flashing inner region that simulates the rotation of a motor. This
control has the appearance of a large industrial motor.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Helical Motor
The Helical Motor control has a flashing inner region that simulates the rotation of a motor. The
cylindrical body shape is identified with a helical motor.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
The Metal Fly Wheel control is a profiled wheel with eight counter-balance holes, featuring adjustable
rotation speeds and direction.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 982
Related reference
Motor and Fan Controls (on page 967)
The Multi Blade Fan control has eight rotating fan blades in an enclosure. The rotational speed is
determined by the control's Value property.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Paddle Wheel
The Paddle Wheel control is a wheel with twelve paddles, featuring adjustable rotation speeds and
direction, typically used for mixing.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Simple Fan
The Simple Fan control has four rotating fan blades. The rotational speed is determined by the
control's Value property.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
The Small Fly Wheel control is an enclosed profiled wheel, similar to the Metal Fly Wheel control,
featuring adjustable rotation speeds and direction.
Workflow Full User Guide | 9 - Forms and User Displays | 983
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Sprocket
The Sprocket control is a profiled wheel with blade-style non-meshable teeth, featuring adjustable
rotation speeds and direction.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Square Motor
The Square Motor control has a flashing inner region that simulates the rotation speed of a motor.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Tire
The Tire control is a combination of an outer tire, rim, and hubcap, featuring adjustable rotation
speeds and direction.
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Wind Generator
The Wind Generator control represents a large wind power-generator. The rotational speed of the
three fan blades is determined by the control's Value property.
Workflow Full User Guide | 9 - Forms and User Displays | 984
See Motor and Fan Controls to view the usage and description of the properties for this control.
Related reference
Motor and Fan Controls (on page 967)
Pipe controls contain a flow indicator to graphically display the direction the vapor or liquid is moving.
When a tank control receives a value outside the specified range (that is, above the Maximum or below
the Minimum), or the value is Null, the control sets its Opacity property to 0.2. The control appears
disabled until the value is back within the specified range or is no longer Null.
Note:
In the Silverlight forms designer, the pipe and tank controls are grouped separately.
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Al X X X X X X X X X X X X X X X X
low
Drop
Ani X X
ma
tion
Speed
Workflow Full User Guide | 9 - Forms and User Displays | 985
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Ani X X
ma
tion
Type
Ar X X
row
Brush
Back X X X X X X X X X X X X X X X X
ground
Bor X X X X X X X X X X X X X X X X
der
Brush
Bor X X X X X X X X X X X X X X X X
der
Thick
ness
Clip X X X X X X X X X X X X X X X X
To
Bounds
Close X
Brush
Col X X X X X X X X X X X X X X X X
umn
ColumX X X X X X X X X X X X X X X X
nS
pan
Workflow Full User Guide | 9 - Forms and User Displays | 986
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Cor X
ner
Ra
dius
Ef X X X X X X X X X X X X X X X X
fect
Flow X X X X X X X X X X X X X X X X
Di
rec
tion
Flu X X X X X X X
id
Brush
Fo X X X X X X X X X X X X X X X X
cus
able
Fo X X X X X X X X X X X X X X X X
cus
Vi
su
al
Style
Font X X X X X X X X X X X X X X X X
Fam
ily
FontSize
X X X X X X X X X X X X X X X X
FontStretch
X X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 987
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
FontStyle
X X X X X X X X X X X X X X X X
FontWeight
X X X X X X X X X X X X X X X X
ForceX X X X X X X X X X X X X X X X
Cur
sor
Fore X X X X X X X X X X X X X X X X
ground
Glare X X X X X X X
Brush
HeightX X X X X X X X X X X X X X X X
Hor X X X X X X X X X X X X X X X X
i
zon
tal
Align
ment
Hor X X X X X X X X X X X X X X X X
i
zon
tal
Con
tent
Al
ign
ment
Workflow Full User Guide | 9 - Forms and User Displays | 988
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Is X X X X X X X X X X X X X X X X
En
abled
Is X X X X X X X X X X X X X X X X
Hit
Test
Visi
ble
Is X X X X X X X X X X X X X X X X
Ma
nip
ula
tio
nEn
abled
IsOn X
Is X X X X X X X X X X X X X X X X
Shared
Size
S
cope
Is X X X X X X X X X X X X X X X X
Tab
Stop
Lo X X X X X X X X X X X X X X X X
cal
Workflow Full User Guide | 9 - Forms and User Displays | 989
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
iza
tion
Mar X X X X X X X X X X X X X X X
gin
Mar X X
quee
P
ause
On
Mouse
Hover
Max X X X X X X X X X X X X X X X X
Height
Max X X X X X X
i
mum
MaxWidth
X X X X X X X X X X X X X X X X
Min X X X X X X X X X X X X X X X X
Height
Min X X X X X X X
i
mum
Mi X X X X X X X X X X X
nor
Back
ground
Workflow Full User Guide | 9 - Forms and User Displays | 990
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Min X X X X X X X X X X X X X X X X
Width
Mix X X X
ing
Speed
NameX X X X X X X X X X X X X X X X
Opac X X X X X X X X X X X X X X X X
ity
Opac X X X X X X X X X X X X X X X X
ity
Mask
Open X
Brush
Over X X X X X X X X X X X X X X X X
rides
De
fault
Style
Padding
X X X X X X X X X X X X X X X X
Ren X X X X X X X X X X X X X X X X
der
Trans
for
mO
rigin
Row X X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 991
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Row X X X X X X X X X X X X X X X X
S
pan
Snap X X X X X X X X X X X X X X X X
sTo
De
vice
Pix
els
StrokeX X X X X X X X X X X X X X X
Thick
ness
Style X X X X X X X X X X X X X X X X
Tab X X X X X X X X X X X X X X X X
In
dex
Tag X X X X X X X X X X X X X X X X
TankShape X
Tem X X X X X X X X X X X X X X X X
plate
Ter X X X
tiary
Back
ground
ToolTip
X X X X X X X X X X X X X X X X
Uid X X X X X X X X X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 992
Uni
Fit Fit Stan Stan ver
Con Indi
Cut Cylin ted Fit ted Fun Lad Mix dard Stan dard sal Ves
Prop nec ca
away der El ted Pipe nel der ing El dard Pipe Pipe Valve sel
erty tor tor
Tank Tank bow Pipe Mar Tank Tank Tank bow Pipe Mar Con Tank
Pipe Tank
Pipe quee Pipe queee nec
tor
Use X X X X X X X X X X X X X X X X
Lay
out
Round
ing
Val X X X X X X
ue
Ver X X X X X X X X X X X X X X X X
ti
cal
Align
ment
Ver X X X X X X X X X X X X X X X X
ti
cal
Con
tent
Al
ign
ment
Visi X X X X X X X X X X X X X X X X
bility
Width X X X X X X X X X X X X X X X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
Workflow Full User Guide | 9 - Forms and User Displays | 994
Property Description
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
FluidBrush Expand this field to select the color for the fluid
portion of the selected control.
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
Property Description
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
Property Description
Property Description
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Connector Pipe
The Connector Pipe control is a fitted tee connector that allows pipe directions to change or merge in
a three-way 90 degree T-shaped connection.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 999
Related reference
Pipe and Tank Controls (on page 984)
Cutaway Tank
The Cutaway Tank control is an enclosed vessel featuring a cutaway view and an adjustable fill level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Cylinder Tank
The Cylinder Tank control is a simple holding vessel with an adjustable fill level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
The Fitted Elbow Pipe control is a length of standard pipe set at a 90 degree angle, with the addition
of larger cuffs at either end, changing the direction of the pipe.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Fitted Pipe
The Fitted Pipe control is a length of standard pipe with the addition of larger cuffs at either end.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 1000
Related reference
Pipe and Tank Controls (on page 984)
The Fitted Pipe Marquee control is a fitted pipe with a marquee control in the center. This pipe can be
used to show the flow direction or contents of the pipe by using scrolling content.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Funnel Tank
The Funnel Tank control is a simple vessel that can channel content from a larger stream into a
graduated smaller stream.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Indicator Tank
The Indicator Tank control is a holding vessel that features a see-through panel to view the fluid level,
and an adjustable fill level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Ladder Tank
The Ladder Tank control is a storage vessel inside an enclosure with an adjustable fill level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 1001
Related reference
Pipe and Tank Controls (on page 984)
Mixing Tank
The Mixing Tank control is a tank with a mixing paddle that rotates clockwise. A mixing tank has an
adjustable motor speed and an adjustable fill level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
The Standard Elbow Pipe control is a length of standard pipe set at a 90 degree angle, changing the
direction of the pipe.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Standard Pipe
The Standard Pipe control is a length of cylindrical tubing used to direct substances from one area to
another.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
The Standard Pipe Marquee control is a length of standard pipe with a marquee control in the center.
This control can be used to show the flow direction and contents of the pipe with scrolling content.
Workflow Full User Guide | 9 - Forms and User Displays | 1002
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
The Universal Pipe Connector is a spherical disk that can connect varying amounts of pipes at
varying degrees to create specific configurations.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Valve
The Valve control is used to control the open or closed status of a pipe. Its orientation can be
changed so that it can be used with a pipe that is in a horizontal or vertical position.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Vessel Tank
The Vessel Tank control is an enclosed, horizontally oriented holding vessel with an adjustable fill
level.
See Pipe and Tank Controls to view the usage and description of the properties for this control.
Related reference
Pipe and Tank Controls (on page 984)
Custom Controls
The Designer provides the following group of custom controls.
Workflow Full User Guide | 9 - Forms and User Displays | 1003
AllowDrop X X
Authenticated X
Background X X
BorderBrush X X
BorderThickness X X
ClipToBounds X X
Column X X
ColumnSpan X X
DataFilter X
Effect X X
FlowDirection X X
Focusable X X
FocusVisualStyle X X
FontFamily X X
FontSize X X
FontStretch X X
FontStyle X X
FontWeight X X
ForceCursor X X
Foreground X X
Height X X
HorizontalAlignment X X
HorizontalContentAlignment X X
InstructionText X
IsEnabled X X
Workflow Full User Guide | 9 - Forms and User Displays | 1004
IsHitTestVisible X X
IsManipulationEnabled X X
IsSharedSizeScope X X
IsTabStop X X
ItemText X
Localization X X
Margin X X
MaxHeight X X
MaxWidth X X
MinHeight X X
MinWidth X X
ModelsAndEntryPointFilter X
MultipleSelectAllowed X
Name X X
Opacity X X
OpacityMask X X
OverridesDefaultStyle X X
Padding X X
RenderTransformOrigin X X
Row X X
RowSpan X X
SnapsToDevicePixels X X
StrokeThickness X
Style X X
TabIndex X X
Tag X X
Workflow Full User Guide | 9 - Forms and User Displays | 1005
Template X X
ToolTip X X
Uid X X
UseLayoutRounding X X
VerticalAlignment X X
VerticalContentAlignment X X
Visibility X X
Width X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
Workflow Full User Guide | 9 - Forms and User Displays | 1006
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
Workflow Full User Guide | 9 - Forms and User Displays | 1008
Property Description
• Uniform
• UniformToFill
Property Description
Note:
When you exclude entry points, you must
also exclude the "All" entry point, if it exists.
Including the "All" entry point takes prece
dence over individual exclusions.
Property Description
Row RowBackground
• Bottom
• Center
Workflow Full User Guide | 9 - Forms and User Displays | 1011
Property Description
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Universal Browser
The Universal Browser is a WPF control that allows you to add the Universal Browser to a form or
user display.
The Show Models and ModelsAndEntryPointFilter properties work together to allow you to select the
models and/or entry points to display in the Universal Browser. If the ShowModels check box is cleared,
your selections in the ModelsAndEntryPointsFilter dialog box are ignored. In that case, you can use the
DataFilter property to set the models.
The Universal Browser control functions in the same manner as the Universal Browser when it is opened
in the Workflow client; that is, hierarchical models expand as you select resources, basic and advanced
searches can be performed, and Quick Find is available. For more information, see Universal Browser.
See Custom Controls to view the usage and description of the properties for this control.
Related reference
Custom Controls (on page 1002)
Workflow Full User Guide | 9 - Forms and User Displays | 1012
User Validation
The User Validation is a WPF control that allows you to specify a username and password, and
validates that it is a Workflow user. It is made up of a Validating Text Box control and a Password Box
control.
If you use Windows user names, the User ID text box must be prefaced with your domain; for example,
<domain name>\username. The red border around the User Id text box remains until the user name is
authenticated.
See Custom Controls to view the usage and description of the properties for this control.
Related reference
Custom Controls (on page 1002)
Scrolling Controls
Scrolling controls provide the ability to display text in a scrolling manner.
AllowDrop X X X X
AlternationCount X
Background X X X X
BorderBrush X X X X
BorderThickness X X X X
CacheMode X X X
Clip X X X
ClipToBounds X
Column X X X X
ColumnSpan X X X X
CornerRadius X X X
Cursor X X X
Workflow Full User Guide | 9 - Forms and User Displays | 1013
DataContext X X X
DisplayMember X X X
Path
Effect X X X X
Enable Rotation X
FadeScrollerAni X
mationSpeed
FadeScrollerAni X
mationType
FadeScrollerDesti X
nationType
FadeScrollerFade X
InSpeed
FadeScrollerFade X
OutSpeed
FadeScrollerPause X
OnMouseHover
FeedRefreshInter X
val
FeedUri X
FlowDirection X X X X
Focusable X
FocusVisualStyle X
FontFamily X X X X
FontSize X X X X
FontStretch X X X X
FontStyle X X X X
FontWeight X X X X
ForceCursor X
Workflow Full User Guide | 9 - Forms and User Displays | 1014
Foreground X X X X
Height X X X X
HorizontalAlign X X X X
ment
HorizontalContent X X X X
Alignment
Interval X
IsEnabled X X X X
IsHitTestVisible X X X X
IsManipulationEn X
abled
IsOn X
IsSharedSizeScope X
IsTabStop X X X X
IsTextSearchCase X
Sensitive
IsTextSearchEn X
abled
ItemsPanel X X
ItemsSource X X X
ItemStringFormat X
ItemTemplate X X
Language X X X
Localization X X X X
Margin X X X X
MarqueeAnaima X
tionSpeed
Workflow Full User Guide | 9 - Forms and User Displays | 1015
MarqueeAnima X
tionType
MarqueePauseOn X
MouseHover
MaxHeight X X X X
MaxWidth X X X X
MinHeight X X X X
MinWidth X X X X
Name X X X X
NavigationBrush X
Opacity X X X X
OpacityMask X X X X
OverridesDefault X
Style
Padding X X X X
Projection X X X
RenderTransform X X X
RenderTransform X X X X
Origin
RotateDegree X
RotateMethod X
RotateSpeed X
Row X X X X
RowSpan X X X X
ShowSliders X
SnapsToDevicePix X
els
Style X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 1016
TabIndex X X X X
TabNavigation X X X
Tag X X X X
Template X X X X
TitleBrush X
TitleFontFamily X
TitleFontSize X
TitleFontWeight X
ToolTip X X X X
Uid X X X
UseLayoutRound X X X X
ing
VerticalAlignment X X X X
VerticalContentAl X X X X
ignment
Visibility X X X X
Width X X X X
ZoomLevel X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
Workflow Full User Guide | 9 - Forms and User Displays | 1018
Property Description
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
• Center
• Left
• Right
• Top
• Bottom
Property Description
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
Property Description
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
Property Description
Property Description
Property Description
• MouseDown
• MouseOn
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 1025
Property Description
• Collapsed
• Hidden
• Visible
Area Navigator
The Area Navigator is a WPF control that is used to contain another control within its borders and
allows you maniupulate that control by rotating it, zooming in and out, and scrolling.
Use the ItemsSource property to bind to the control you want contained within the Area Navigator control.
See Scrolling Controls to view the usage and description of the properties for this control.
Related reference
Scrolling Controls (on page 1012)
Fade Scroller
The Fade Scroller is a Silverlight control that displays its child controls, scrolls through the child
controls, and fades in and out as it loops around.
See Scrolling Controls to view the usage and description of the properties for this control.
Related reference
Scrolling Controls (on page 1012)
Workflow Full User Guide | 9 - Forms and User Displays | 1026
Marquee
The Marquee control displays user-defined text or objects in an animated fashion. The contents of
the Marquee control can be animated in four different scrolling variations - left to right, top to bottom, as
well as the inverse of those options. Other options include setting the speed, pausing the animation with a
mouse-over, and changing the animation types.
See Scrolling Controls to view the usage and description of the properties for this control.
Related reference
Scrolling Controls (on page 1012)
News Scroller
The News Scroller is a Silverlight control that is used to display items from a given RSS feed.
See Scrolling Controls to view the usage and description of the properties for this control.
Related reference
Scrolling Controls (on page 1012)
Shapes
Shapes, such as the rectangle, ellipse, line, and path, are an important foundation for creating drawings
and graphic designs. Shapes are normally used on a canvas, but can be used in other containers as well.
Properties that are typically modified on a shape are the Stroke (the outer edge), StrokeThickness,
Opacity, and Fill properties. Stroke dash properties and start and end cap properties on the Stroke apply to
all shapes.
You can rotate and skew rectangle, ellipse, and path shapes, but not line, polyline, or polygon shapes.
Polygon Polyline
Property Ellipse Line Path Polygon Polyline Rectangle
Pencil Pencil
Allow X X X X X X X X
Drop
Workflow Full User Guide | 9 - Forms and User Displays | 1027
Polygon Polyline
Property Ellipse Line Path Polygon Polyline Rectangle
Pencil Pencil
ClipTo X X X X X X X X
Bounds
Column X X X X X X X X
ColumnS X X X X X X X X
pan
Effect X X X X X X X X
Fill X X X X X X X X
FlowDi X X X X X X X X
rection
Focus X X X X X X X X
able
FocusVi X X X X X X X X
sualStyle
ForceCur X X X X X X X X
sor
Height X X X X X X X X
Horizon X X X X X X X X
talAlign
ment
IsEnabled X X X X X X X X
IsHitTest X X X X X X X X
Visible
IsManipu X X X X X X X X
lationEn
abled
IsShared X X X X X X X X
SizeS
cope
Workflow Full User Guide | 9 - Forms and User Displays | 1028
Polygon Polyline
Property Ellipse Line Path Polygon Polyline Rectangle
Pencil Pencil
Localiza X X X X X X X X
tion
Margin X X X X X X X X
Max X X X X X X X X
Height
MaxWidth X X X X X X X X
Min X X X X X X X X
Height
MinWidth X X X X X X X X
Name X X X X X X X X
Opacity X X X X X X X X
Opacity X X X X X X X X
Mask
Overrides X X X X X X X X
Default
Style
RadiusX X X
RadiusY X X
Reload X X
ableForm
Render X
Trans
form
Render X X X X X X X X
Transfor
mOrigin
Row X X X X X X X X
RowSpan X X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 1029
Polygon Polyline
Property Ellipse Line Path Polygon Polyline Rectangle
Pencil Pencil
SnapsTo X X X X X X X X
Device
Pixels
Stretch X X X X
Stroke X X X X X X X X
Stroke X X X X X X X X
DashAr
ray
Stroke X X X X X X X X
DashCap
Strok X X X X X X X X
DashOff
set
Stroke X X X X X X X X
EndLine
Cap
Stroke X X X X X X X X
LineJoin
Stroke X X X X X X X X
MiterLimit
StrokeS X X X X X X X X
tartLine
Cap
Stroke X X X X X X X X
Thickness
Style X X X X X X X
Tag X X X X X X X
ToolTip X X X X X X X
Uid X X X X X X X
Workflow Full User Guide | 9 - Forms and User Displays | 1030
Polygon Polyline
Property Ellipse Line Path Polygon Polyline Rectangle
Pencil Pencil
Use X X X X X X X
Layout
Rounding
Vertical X X X X X X X
Alignment
Visibility X X X X X X X
Width X X X X X X X
X1 X X
X2 X X
Y1 X X
Y2 X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
Fill Expand this field to select the color for the inside of
the thumb control or for the interior of the shape.
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 1032
Property Description
Property Description
Note:
If you enable this setting, you must config
ure your form to handle viewing in a com
pleted or acquired (reloaded) state by us
ing the IsReloaded expression variable. For
example, if the form is in a reloaded state,
you can disable certain user interface ele
ments and show read-only data.
Row RowBackground
Property Description
• Fill
• None (dones not apply to Scale Box)
• Uniform (does not apply to Scale Box)
• UniformFill (does not apply to Scale Box)
Stroke Expand this field to select the color for the shape's
outline.
• Flat
• Round
• Square
• Triangle
• Flat
• Round
• Square
• Triangle
Property Description
• Bevel
• Miter
• Round
• Flat
• Round
• Square
• Triangle
• Bottom
• Center
• Top
• Stretch
Workflow Full User Guide | 9 - Forms and User Displays | 1036
Property Description
• Collapsed
• Hidden
• Visible
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
Tip:
◦ To clear the shape while you are still designing it, right-click the shape, and then
press the delete button.
◦ To clear a previously created shape, click the shape, and then press the delete
button.
12. To close the active layer, click Close Active Geometry, and then click in the active layer.
13. Save the form or user display.
Related reference
Shapes (on page 1026)
Related information
Designer: Control Toolbox (on page 696)
Workflow Full User Guide | 9 - Forms and User Displays | 1038
Add an ellipse
The ellipse control creates a circular shape.
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and drag the mouse to draw the ellipse shape you want.
7. When the ellipse is complete, release the mouse to stop drawing.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Designer: Control Toolbox (on page 696)
Add a line
Shapes are typically used on a canvas, but can be used in other containers as well.
Workflow Full User Guide | 9 - Forms and User Displays | 1039
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click where you want the line to start, drag the mouse pointer to the end position,
and then release the mouse.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to position the line.
Related reference
Shapes (on page 1026)
Related information
Add a polyline (on page 1041)
Add a polygon
The polygon control allows you to draw multi-sided shapes.
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and release the mouse for each point of the polygon. Each point is connected
to the previous point; therefore, after each click, a line appears between the points.
7. When the polygon is complete, right-click to stop adding points to it.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Add a polygon pencil (on page 1040)
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and drag the mouse to draw the shape you want.
7. When the polygon is complete, release the mouse to stop drawing.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Add a polygon (on page 1039)
Add a polyline
The polyline control functions like the polygon, but it does not automatically close the shape for you.
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and release the mouse for each point of the polyline. Each point is connected
to the previous point; therefore, after each click, a line appears between the points.
7. When the polyline is complete, right-click to stop adding points to it.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Add a polyline pencil (on page 1042)
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and drag the cross-hair to draw the shape you want.
7. When the polyline is complete, release the mouse to stop drawing.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Add a polygon pencil (on page 1040)
Add a rectangle
The rectangle control adds a rectangular shape to the designer.
Note:
In WPF forms, the mouse pointer changes to a cross-hair.
6. In the designer, click and drag the cross-hair to draw the shape you want.
7. When the rectangle is complete, release the mouse to stop drawing.
Note:
Any time you select the shape, each of the points is visible. You can then click and drag
one point at a time to reshape the drawing.
Related reference
Shapes (on page 1026)
Related information
Designer: Control Toolbox (on page 696)
Ellipse
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Line
The Line control is a graphical control that displays a horizontal, vertical, or diagonal line that cannot
be changed directly.
Workflow Full User Guide | 9 - Forms and User Displays | 1045
Although lines have a Fill property that is similar to the Fill property found in a rectangle or an ellipse,
changing the Fill property of a line does not change to the line’s appearance as it does for a rectangle or
an ellipse. Because a line is essentially a linear stroke between two end points, you cannot connect these
two points together to form another shape.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Path
A Path control is a two-dimensional graphic derived from the Shape class. It draws a series of
connected lines and curves. Paths can be very simple or very complex forming elaborate images and
diagrams.
When you add a path control, a data set of geometry shapes displays on the Toolbox tab. You can add any
combination of geometry shapes to the path control to create an image or design.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Polygon
The Polyogn control is a shape defined by a series of end points and linear lines that is useful for
drawings, graphic designes, and user interfaces.
A polygon can also consist of an infinite number of end points. The main difference between a polygon
and a polyline is that a polygon, after it has been drawn, closes itself off into a complete shape between
its start and end points.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Workflow Full User Guide | 9 - Forms and User Displays | 1046
Polygon Pencil
The Polygon Pencil control allows you to draw a series of points connected to one another as
dictated by your hand movements.
Rather than drawing the connections at specified points in straight lines, the polygon pencil adds points
to the shape as the mouse moves. The polygon objects produced by using the pencil are the same as the
objects used by the regular polygon drawing methods, they just contain more points.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Polyline
The Polyline control is used to create drawings, graphic designs, and user interfaces. A polyline
draws linear (that is, straight) lines by connecting a number of specified points. Whereas a simple line
control contains only one line between two end points, a polyline can contain an infinite number of points.
Unlike a rectangle or an ellipse, a polyline is drawn as an unfinished shape, meaning that the starting and
ending points of a polyline are left open and unconnected. But, similar to other finished shapes, a polyline
is capable of displaying a fill color or design on the inside of the connected lines and end points.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Polyline Pencil
The Polyline Pencil control allows you to draw a series of points connected to one another as
dictated by your hand movements.
Rather than drawing the connections at specified points in straight lines, the polyline pencil adds points
to the shape as the mouse moves. The polyline objects produced by using the pencil are the same as the
objects used by the regular polyline drawing method, they just contain more points.
The polyline pencil has more flexibility than a polyline because it behaves more like a drawing tool and
looks more like a series of points connected by a line, rather than a line connected by two end points.
Workflow Full User Guide | 9 - Forms and User Displays | 1047
The polyline pencil is used to draw on a canvas control that is set as the active layer.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Rectangle
The rectangle has RadiusX and RadiusY properties that can be used to curve its corners.
See Shape Controls to view the usage and description of the properties for this control.
Related reference
Shapes (on page 1026)
Slider Controls
Sliders allow you to graphically manipulate the value of the control within a finite range by moving a
thumb or value indicator along a track.
The incremental readout on a slider can be on one or both sides. When a slider control receives a value
outside the specified range (that is, above the Maximum or below the Minimum), or the value is Null, the
control sets its Opacity property to 0.2. The control appears disabled until the value is back within the
specified range or is no longer Null.
AllowDrop X X
Background X X
BorderBrush X X
BorderThickness X X
ClipToBounds X X
Column X X
Workflow Full User Guide | 9 - Forms and User Displays | 1048
ColumnSpan X X
CornerRadius X X
Effect X X
Fill X X
FlowDirection X X
Focusable X X
FocusVisualStyle X X
FontFamily X X
FontSize X X
FontStretch X X
FontStyle X X
FontWeight X X
ForceCursor X X
Foreground X X
GlareBrush X X
Height X X
HorizontalAlignment X X
HorizontalContentAlignment X X
InnerBorderBrush X X
InnerBorderThickness X X
InnerCornerRadius X X
IsAnnotated X X
IsEnabled X X
IsHitTestVisible X X
IsManipulationEnabled X X
IsSharedSizeScope X X
Workflow Full User Guide | 9 - Forms and User Displays | 1049
IsTabStop X X
Localization X X
Margin X X
MaxHeight X X
Maximum X X
MaxWidth X X
MinHeight X X
Minimum X X
MinWidth X X
Name X X
Opacity X X
OpacityMask X X
OverridesDefaultStyle X X
Padding X X
RenderTransformOrigin X X
Row X X
RowSpan X X
SnapsToDevicePixels X X
StrokeThickness
Style X X
TabIndex X X
Tag X X
Template X X
ThumbStyle X X
TickFrequency X X
Ticks X X
Workflow Full User Guide | 9 - Forms and User Displays | 1050
ToolTip X X
Uid X X
UseLayoutRounding X X
Value X X
VerticalAlignment X X
VerticalContentAlignment X X
Visibility X X
Width X X
Property Description
Column Specifies the column within the grid where the con
trol is located.
Property Description
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
Fill Expand this field to select the color for the inside of
the thumb control or for the interior of the shape.
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
• Left to Right
• Right to Left
Property Description
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
GlareBrush Expand this field to specify the glare effect for the
control.
• Left
• Center
• Right
• Stretch
• Left
• Center
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
InnerBorderBrush Expand this field to select the color for the inner
border.
Workflow Full User Guide | 9 - Forms and User Displays | 1053
Property Description
InnerBorderThickness Expand this field to select the color for the inner
border.
Property Description
Row RowBackground
Property Description
• Bar
• Diamond
• Ellipse
• Knob
• Pentagon
• Triangle
Ticks For linear gauges and sliders, click the ellipsis but
ton to open the Tick Property Editor dialog box to
enter the marks to display for a Slider.
• Bottom
• Center
Workflow Full User Guide | 9 - Forms and User Displays | 1056
Property Description
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Horizontal Slider
The Horizontal Slider control allows you to adjust a finite numeric value using a configurable
Thumb Style.
See Slider Controls to view the usage and description of the properties for this control.
Related reference
Slider Controls (on page 1047)
Vertical Slider
The Vertical Slider control allows you to adjust a finite numeric value using a configurable Thumb
Style.
See Slider Controls to view the usage and description of the properties for this control.
Workflow Full User Guide | 9 - Forms and User Displays | 1057
Related reference
Slider Controls (on page 1047)
Viewer Controls
The Designer provides the following group of custom viewer controls.
AllowDrop X
Background X
BorderBrush X
BorderThickness X
CanContentScroll X
ClipToBounds X
Column X
ColumnSpan X
Content X
ContentStringFormat X
Effect X
FlowDirection X
Focusable X
FocusVisualStyle X
FontFamily X
FontSize X
FontStretch X
FontStyle X
FontWeight X
Workflow Full User Guide | 9 - Forms and User Displays | 1058
ForceCursor X
Foreground X
Height X
HorizontalAlignment X
HorizontalContentAlignment X
HorizontalScrollBarVisiblity X
IsDeferredScrollingEnabled X
IsEnabled X
IsHitTestVisible X
IsManipulationEnabled X
IsSharedSizeScope X
IsTabStop X
Localization X
Margin X
MaxHeight X
MaxWidth X
MinHeight X
MinWidth X
Name X
Opacity X
OpacityMask X
OverridesDefaultStyle X
Padding X
PanningDecleration X
PanningMode X
PanningRatio X
Workflow Full User Guide | 9 - Forms and User Displays | 1059
RenderTransformOrigin X
Row X
RowSpan X
SnapsToDevicePixels X
StrokeThickness X
Style X
TabIndex X
Tag X
Template X
ToolTip X
Uid X
UseLayoutRounding X
VerticalAlignment X
VerticalContentAlignment X
VerticalScrollBarVisibility X
Visibility X
Width X
Property Description
Property Description
Column Specifies the column within the grid where the con
trol is located.
• Blur
◦ Kernel Type
◦ Radius
• Drop Shadow
◦ Color
◦ Direction
◦ Opactiy
◦ Shadow Depth
FlowDirection Specifies the direction that text and other user in
terface (UI) elements flow within any parent con
trol. Selections are:
Workflow Full User Guide | 9 - Forms and User Displays | 1061
Property Description
• Left to Right
• Right to Left
ForceCursor Select this check box to indicate that the user inter
face (UI) renders the cursor as declared by the Cur
sor property.
• Left
• Center
• Right
• Stretch
• Left
• Center
Workflow Full User Guide | 9 - Forms and User Displays | 1062
Property Description
• Right
• Stretch
• Fill
• None
• Uniform
• UniformToFill
Property Description
• None
• Horizontal Only
• Vertical Only
• Both
• Horizontal First
• Vertical First
Workflow Full User Guide | 9 - Forms and User Displays | 1064
Property Description
Row RowBackground
Property Description
• Bottom
• Center
• Top
• Stretch
• Bottom
• Center
• Top
• Stretch
• Collapsed
• Hidden
• Visible
Scroll Viewer
The Scroll Viewer control provides a way to enable scrolling in a form or user display.
The Scroll Viewer control encapsulates horizontal and vertical scroll bar elements and a content
container, such as a grid or panel, in order to display other visible controls in a scrollable area.
A scroll viewer can have only one child control, typically a grid or panel control, that can contain a
collection of child controls. The Content property defines the child control of the scroll viewer.
See Viewer Controls to view the usage and description of the properties for this control.
Related reference
Viewer Controls (on page 1057)
Designer: Resources
The Resources tab contains images that you can use in your forms or user displays.
Type Description
Boiler Pumps
Buildings Signs
Conveyors Switches
Fans Tanks
Icons Towers
Machines Transportation
Each control has a set of basic properties, as well as more advanced properties that are displayed by
selecting the Advanced check box. There are properties that are common to all of the controls, properties
that are common to types of controls, and some controls have properties that are exclusive.
In addition to displaying advanced properties, the Properties panel provides the ability to sort the
properties in different ways.
Properties can be configured by using the visual controls, such as entering text, selecting a check box, or
clicking a button. You can also choose to configure properties by using a bind or expression to define the
input parameters.
Navigate URI
The Navigate URI dialog box is used throughout the Designer to select source files to use within a form or
user display.
You can select source files from the local Resources directory in the Project panel, or you can select
source files from a remote location. A remote location can be a location on your local computer or on your
network.
The following table describes the properties found on the Navigate URI dialog box.
Important:
When an image file is
added to the project (that
is, in the Resources fold
er) a copy of that im
age file is made. The
copy then stays with
the project and can be
viewed on any Client ma
chine that the project is
opened on.
Important:
If you use a remote im
age file in your project, it
must be stored in a net
work share location. If
you use an image that is
located on your local ma
chine, only the absolute
path is maintained. Other
Client machines will not
Workflow Full User Guide | 9 - Forms and User Displays | 1070
You must have added image source files to the Resources directory on the Project panel in order to select
a local source file.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
9. Select the From Project Resources option, and then from the URI address drop-down list, select the
source file you want to use.
10. Click OK.
11. Save the form or user display.
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
9. Select the From URI option, and then click the ellipsis button.
The Select File dialog box appears.
10. Locate and select the source file you want to use, and then click Open.
11. Save the form or user display.
Workflow Full User Guide | 9 - Forms and User Displays | 1072
Parameter Properties
The following table describes the properties for input and output parameters:
Important:
Literal values for out
put parameters are not
supported on Silverlight
forms.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To view the full list of properties, select the Advanced check box.
CAUTION:
If you delete or rename a control, parameter, or server method that is used as the source of a
binding in a form, the binding itself is not removed from the XAML file. You can leave the binding
code in the XAML, but if you create another control, parameter, or server method with the same
name as the deleted object, or rename an existing object to make the object name valid again,
then the orphaned binding may become valid as well, causing unexpected results.
It is recommended that you manually delete the binding code from the XAML file to prevent this
issue from occurring.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
5. To remove an input parameter, select the parameter you want to remove, and then in the Input
Parameters area, click Remove.
The input parameter is removed from the list.
6. To remove an output parameter, select the parameter you want to remove, and then in the Output
Parameters area, click Remove.
The output parameter is removed from the list.
7. Save the form or user display.
Note:
If you specify a data
source in the form, it
acts as a default value.
Therefore, if you specify
a value in the form and
as input in the workflow,
the value in the workflow
overrides the value in the
form, and is the value
used at run time.
Note:
Use this property only if
you want to override the
Ldap address of the item
to read what is passed in
by the workflow, but re
tain all other configura
tion details.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To view the full list of properties, select the Advanced check box.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Related reference
Event Triggers (on page 1083)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To view the full list of properties, select the Advanced check box.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Event Triggers
The Event Triggers dialog box allows you to select the event you want to raise when an action is
performed on a control in a form.
The Event Triggers dialog box displays the applicable events for each of the configuration types you have
defined. For example, if you configured parameters and server methods for a form, the events applicable
to those types are displayed and grouped according to type.
Drop Down Closed the drop-down list of the combo Combo Box
box closes
Drop Down Opened the drop-down list of the combo Combo Box
box opens
Layout Updated the layout of the various visual el All controls
ements associated with the cur
rent Dispatcher changes
Mouse Left Button Down the left mouse button is pressed All controls
while the mouse pointer is over
the control
Mouse Right Button Down the right mouse button is All controls
pressed while the mouse pointer
is over the control
Selection Changed the text selection has changed • Rich Text Box
• Text Box
• Validating Text Box
• Combo Box
• List Box
• List View
• Tab Control
• Universal Browser
Selection Item Changed the selected item has changed Tree View
Text Changed content changes in the text ele • Masked Text Box
ment • Rich Text Box
• Text Box
• Validating Text Box
• Slider
• Input Parameter
• Output Parameter
• Data Item
Each method exposes two events: ExecutedSuccessfully and ExecutedWithError. For more information,
see Server and Client Methods Events.
Note:
When you select a method from the Configure Method dialog box, the input properties specific
to that method are displayed in the Properties tab. For more information on the specific method
properties, see Service Interfaces.
Workflow Full User Guide | 9 - Forms and User Displays | 1089
Tip:
To view the method-specific properties in a separate group, click the By Category button to sort
the properties.
Related reference
Server and Client Methods Events (on page 1114)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To view the full list of properties, select the Advanced check box.
CAUTION:
If you delete or rename a control, parameter, or server method that is used as the source of a
binding in a form, the binding itself is not removed from the XAML file. You can leave the binding
code in the XAML, but if you create another control, parameter, or server method with the same
name as the deleted object, or rename an existing object to make the object name valid again,
then the orphaned binding may become valid as well, causing unexpected results.
It is recommended that you manually delete the binding code from the XAML file to prevent this
issue from occurring.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
The information in this topic is not related to WPF forms unless otherwise stated.
Workflow Full User Guide | 9 - Forms and User Displays | 1091
namespace YOURPROJECTNAME
[Import]
public MainPage()
ProficyComposition.SatisfyImports(this);
InitializeComponent();
InitializeProficyData();
DataGrid1.AutoGenerateColumns = false;
Binding("[YOURCOLUMNNAME]") });
Binding("[YOURCOLUMNNAME2]") });
if (_interfaceHelpers.ContainsKey(typeof(T)))
Debug.Assert(iface != null, "_interfaceHelpers[" + typeof(T).Name + "] didn't have an object of the right
type.");
return iface;
return this as T;
Important:
The following procedure requires the adding of additional assembly references to the form.
Any additional references should be added through the Designer to ensure that they are added
properly. If a reference is added in Visual Studio, ensure that the CopyLocal value = false and the
SpecificVersion value = false or the form may not be useable with future product releases.
In most cases, the required Service Provider methods, including those from custom providers, are
accessible and can be configured through the Server Methods dialog. However, if a method is configured
with the Browsable attribute set to False, it does not appear in the Server Methods dialog, and it can only
be accessed through code.
In Designer-generated forms or user displays, access the IServiceDirectory service from the host as
follows:
IServiceDirectory;
as ICustomSP;
Workflow Full User Guide | 9 - Forms and User Displays | 1094
For example, an IEquipment service provider method can be executed with the following code:
• using Proficy.Platform.Services.Equipment.Interfaces
• using Proficy.Platform.Core.ProficySystem.Types
For a custom service provider, add the appropriate assembly and namespace references.
The available client methods are specific to actions that can take place within Workflow, within a form or
user display, or within a form in a running workflow.
Each method exposes two events: ExecutedSuccessfully and ExecutedWithError. For more information,
see Server and Client Methods Events.
Tip:
To view the method-specific properties in a separate group, click the By Category button to sort
the properties.
Related reference
Server and Client Methods Events (on page 1114)
Client Methods
You can configure client methods to be called from the WPF Designer.
Note:
Client methods are available only in the WPF form editor, and work only on the Task List and
Mobile-sized Task List (not the Web Task List).
Source Methods
After you add a client method, you select one of the following source methods to execute. You then
configure an event trigger to determine when these methods should execute.
Related reference
Event Triggers (on page 1083)
Note:
To view the full list of properties, select the Advanced check box.
Related reference
Designer: Client Methods (on page 1094)
Client Context
You can configure client methods to be called from the WPF Designer.
Attribute Description
Attribute Description
Tip:
Use the EventTrigger
to specify when to
start subscribing to the
navigation selection
changes, which is usual
ly on the loaded event of
your display.
Related reference
Designer: Server Methods (on page 1087)
Note:
You cannot use Equipment Classes for equipment changes.
10. Optional: To get the equipment context, in the Client Context section, select GetEquipmentContext,
and then click Finish.
11. Save the form or user display.
Workflow Full User Guide | 9 - Forms and User Displays | 1101
Forms
Overview
Forms are displays that are used as activities in workflows, providing a user interface for task steps. A
form can display data or allow you to interact with a running process, or both.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
Client Controls
You can configure client methods to be called from the WPF Designer.
Attribute Description
Attribute Description
Diagnostics
You can configure client methods to be called from the WPF Designer.
Attribute Description
Forms
You can configure client methods to be called from the WPF Designer.
Attribute Description
Attribute Description
Set Selected Task Step When set, the task step, based on
the task step name, immediately
selects the task step if it exists in
the list.
You can include acquire and release buttons on any form you create.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Related reference
Client Methods (on page 1096)
Note:
To view the full list of properties, select the Advanced check box.
9. Select one of the following client methods, and then click Finish.
◦ To automatically select a task at the workflow level, click Set Selected Task.
◦ To automatically select a task step at the subprocess level, click Set Selected Task Step.
Workflow Full User Guide | 9 - Forms and User Displays | 1105
You can add a filter to a task property so that, during run time, the Task List is updated using these filters.
Filtering in this way makes a specific task readily available for an operator when it is time to perform that
task.
Note:
These filters are unavailable when using a web-based version of the Task List.
Attribute Description
Set Expires Before Filter Sets a filter for a date and time
that occur before a task ex
pires. After selecting this method
source, the Expiry field is avail
able to set the date and time, as
Workflow Full User Guide | 9 - Forms and User Displays | 1106
Attribute Description
Set Personnel Assignment Filter Filters the Task List based on the
person that a task is assigned
Workflow Full User Guide | 9 - Forms and User Displays | 1107
Attribute Description
11. In the Filter Type field, from the drop-down menu, select a previously set filter that you want to
clear.
12. If applicable, to perform a bind or reset, click the drop-down arrow.
13. Save the form or user display.
Set Expires Before Filter tasks that expire before a given date/time.
Set Expires In Filter tasks that expire within a given time span.
11. In the Expiry field, use the arrows to set the date and/or time.
12. If required, to perform a bind or reset, click the drop-down arrow.
13. Save the form or user display.
Workflow Full User Guide | 9 - Forms and User Displays | 1109
Tip:
You can select several resources at the same time.
Tip:
You can select several resources at the same time.
Click... To...
11. In the Task Name Filter field, enter a string that references a workflow's task name, or part of a task
name.
12. If applicable, to perform a bind or reset, click the drop-down arrow.
13. Save the form or user display.
Tip:
You can select several resources at the same time.
Filter by a category
You can filter the Task List by categories that have been preconfigured in a workflow.
7. Click Add.
A client method appears in the list.
8. Select the method, and then click the Properties tab.
9. In the Source field, click the ellipsis button.
The Configure Method dialog box appears.
10. In the Task List Filters section, select Set Categories Filter, and then click Finish.
11. In the Categories field, click the ellipsis button.
The Universal Browser appears.
12. Navigate to and select the resources, then click OK.
Tip:
You can select several resources at the same time.
Server and client methods expose the following event triggers: ExecutedSuccessfully and
ExecutedWithError. In addition, if you select the SubscribeToNavigatorSelection source, the following
event trigger is exposed: NavigatorSelectionChanged.
After a method executes, one of these events will occur, whether the method is triggered
programmatically or via the events specified in the EventTriggers property.
The Event Triggers dialog box can be accessed from either the EventTriggers property on the Property
panel, or by right-clicking a control and selecting Add Event Handler. When you add an event handler, the
control's code behind appears.
Workflow Full User Guide | 9 - Forms and User Displays | 1115
When adding an event handler for the ExecutedWithError event in code-behind, the exact exception
causing the error is available as a parameter. For example, you can write the following code:
Proficy.Platform.Core.DisplayFramework.Controls.ExecutionErrorEventArgs e)
MessageBox.Show(errorMessageToUser);
Additionally, when ExecutedWithError occurs, the property LastExecutionError on that method is set to
the Exception object. This allows you to use this error without requiring any coding because it will be
available in the Binding dialog box for use like any other property. If the method executes again, but this
time successfully, LastExecutionError is reset to null. This property is read-only.
There are two scenarios for using these events. For each scenario, assume that you have already created
two server methods with the Source property set to CreateEquipment: one you have set the S95 Type
property to Enterprise and named it Create Enterprise, and the other you have set the S95 Type property to
Site and named it Create Site.
Scenario A
You can use these events to raise form events. On the Form Events tab, add two form events: one called
ExecuteSuccess to notify the workflow when the method executes successfully, and another called
ExecuteFailed to notify the workflow when the method occurs with an error.
When you open the Event Triggers dialog box, the event options, ExecutedSuccessfully and
ExecutedWithError are available under each of the server methods.
Scenario B
You can also use these events to chain methods together in the form. Using the Create Enterprise and
Create Site methods, you can configure the Create Site method to create the site resource immediately
after the enterprise resource, with the new enterprise as the parent. Configure the Create Site method as
follows:
All bindings to return values, as well as inputs, function the same whether the method is executed
programmatically or as the result of a configured EventTrigger. To execute a method programmatically,
use the following in the code-behind editor.
Imports System.Collections
Imports System.Collections.Generic
Imports System.Data
Imports System.Windows
Imports System.Windows.Controls
Imports Proficy.Platform.Core.DisplayFramework.Forms
Inherits FormBase
InitializeComponent()
End Sub
Me.ExecuteMethod("SampleMethod")
End Sub
End Class
using System.Collections;
Workflow Full User Guide | 9 - Forms and User Displays | 1117
using System.Collections.Generic;
using System.Data;
using System.Windows;
using System.Windows.Controls;
using Proficy.Platform.Core.DisplayFramework.Forms;
namespace Dev
public MainForm()
InitializeComponent();
this.ExecuteMethod("SampleMethod");
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Windows;
using System.Windows.Controls;
using Proficy.Platform.Core.DisplayFramework.Forms;
namespace Dev
{
Workflow Full User Guide | 9 - Forms and User Displays | 1118
public MainForm()
InitializeComponent();
this.SampleMethod.Execute();
Note:
To apply the properties of a control to another control, click and drag the control to another
control in the document tree. The Applying <control (control name)> to Target dialog box
appears where you can select the option you want to use to apply to the control.
12. Right-click the button control and select Add Event Handler.
The Event Triggers dialog box appears.
13. Expand the button control, select Click, and then click OK.
The code-behind editor opens.
Workflow Full User Guide | 9 - Forms and User Displays | 1119
Setting input by index (C#). When specifying input by index, it is zero based. However, use caution with
this mechanism because the index does not necessarily match the order in which the parameters are
shown in the Properties panel. Therefore, this mechanism is useful only when there is one parameter.
C#:
VB:
parameterName = parameter.ParameterName
value = parameter.Value
Next
Related reference
Server and Client Methods Events (on page 1114)
In order to view the results on the Test panel, you must configure values for the input parameters and
data items. After the parameters and data items are configured, you can build and run the form or user
display. The form or user display appears in a separate window and when the Submit button is pressed,
the results appear in the Event Protocol area of the Test panel.
Note:
Parameters are available for forms only; they are not available for user displays.
You must configure input parameters and data items for the form or user display in order to view the
results in the Test tab.
Note:
Parameters are available for forms only; they are not available for user displays.
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
The following table describes the properties available in this dialog box:
Property Description
Property Description
Related reference
Designer Panels (on page 682)
Related information
Configure default properties for controls (on page 1122)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
Note:
To view the full list of properties, select the Advanced check box.
Note:
The Preview panel is a read-only panel. You cannot make any changes to the form or user display.
Note:
The Preview dialog box can be minimized while you make changes to the form or user
display and is automatically updated with those changes.
6. Continue previewing the form or user display until you are satisfied with its appearance.
7. Close the Preview dialog box.
8. Save the form or user display.
In addition, you can specify where you want the copy to be located. That is, you can duplicate a form or
user display and locate it in either the Displays or Forms folder as a new parent group, or you can locate it
within an existing group as a child of that parent.
Duplicating displays is useful if you want to reuse certain aspects of a display without having to recreate
it. Since you cannot move an existing display, the ability to duplicate a display under a different group
means you do not have to manually recreate a display in order for it to belong to a group.
Duplication can also be used to move a form from one group to another. You can duplicate the form to a
new location and then delete the original. However, if there are any workflows referencing the form in the
original location, you must update each of the workflows that use that form to reference the new location.
Note:
When you duplicate a group, all of the displays that are part of that group are also duplicated.
Duplication works for all varieties of forms and displays, including those that are created in the Designer,
uploaded as a .NET assembly, or ones that point to a web URL.
Related reference
Form Design Environment (on page 672)
3. Click Add Display or Add Form, and then add a display or form.
4. Click OK.
Related information
Add a Global Displays resource (on page 1148)
Tip:
As more lists appear, select the appropriate resource until you find the one you want to
work with.
3. Select the resource you want to duplicate, and then click Duplicate.
4. In the Name and Description fields, enter a name and description for the resource.
5. If applicable, click Set.
The Universal Browser appears where you can select the folder you want the duplicated display or
group to be located.
Workflow Full User Guide | 9 - Forms and User Displays | 1126
Note:
When you duplicate a group, all of the displays that are part of that group are also
duplicated.
6. Click OK.
The following scenarios describe the differences that occur with duplicated displays that were created in
the Designer:
Scenario A
When you copy a display, the project name differs from the original because these names must be
unique. The project name of the duplicated display is based on the display name specified with a number
appended to it, if necessary, to make it unique. The project name appears in the Project panel in the
Designer.
Scenario B
When you duplicate a display, the .NET assembly that is generated displays a different name than the
original. The assembly name matches the new project name.
The following scenarios describe the differences that occur with duplicated displays regardless of where
they were created:
Scenario C
If a user display is duplicated to a location under the Forms folder, the base class is changed from
UserDisplayBase to FormBase so that interaction with a workflow works as expected for a form.
Scenario D
If a form is duplicated to a location under the Displays folder, the base class is changed from FormBase to
UserDisplayBase. If the original form has parameters or form events configured, you can still duplicate the
form; however, the parameters and events are removed because use displays do not support them.
Workflow Full User Guide | 9 - Forms and User Displays | 1127
If you create a form that points to an external .NET assembly file (created in another tool, such as Visual
Studio), and then duplicate that form, both forms contain a reference to that assembly file. If you then
upload a new version of that assembly file in the original form, then when the duplicate form is opened,
the new version of the assembly file is also loaded for it
However, this behavior is not specific to duplication. If you create two independent forms that use the
same .NET assembly, and a new version of the assembly is uploaded to one of the forms, both forms will
use the new version. Only the most recent version of the .NET assemblies are saved.
The duplicated files include the standard project files, as well as any additional files that may have
been created if the form or display was edited in Visual Studio. Examples of files that will be duplicated
are .sln, .suo, and files created by third party tools.
If you do not want to keep these files with the duplicated form/display, manually delete them from disk.
The next time the project is saved, the files will no longer be saved with the duplicate. The.sln file will still
point to the original project name, and therefore should be deleted from disk. These files will be recreated
the next time the .csproj or .vbproj file is opened in Visual Studio.
Related information
Form Development in Visual Studio (on page 1190)
Form Templates
Form Templates
Workflow provides samples of basic, predefined forms that are commonly used. You can use these forms
in their basic format, or you can modify them to meet your needs.
Workflow Full User Guide | 9 - Forms and User Displays | 1128
Tip:
The forms in the Forms Library are available by adding the Forms Library .NET assembly
(Proficy.Platform.FormsLibrary.dll) into the form and then selecting the class for the specific
form. For more information, see Basic Forms and Displays.
Each form in the library has standard features. You can configure the parameters, as well as create
expressions or binds.
Note:
The input parameters for the form are configured when the form is selected for a Form activity.
The following table describes the common, optional input parameters of the forms in the Forms Library:
Form Header Visible Boolean If set to True, the header text dis
plays. If set to False, the header
text is hidden.
The following table describes the common output parameters of the forms in the Forms Library:
Note:
If the fields below are required (that is, set to True in the Inputs sections) and not filled in, an error
message appears in the Feedback Zone.
Workflow Full User Guide | 9 - Forms and User Displays | 1129
Related reference
Form Design Environment (on page 672)
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
7. If applicable, in the Additional Files area, click Add to add any files that are required for the
selected .NET assembly to work correctly.
Tip:
Click Remove to remove the selected file(s).
8. Click Save.
9. In the navigator, click Workflow > Workflows.
10. In the resource type list, select a resource.
11. In the Displays panel, click Workflow Management > Workflow Editor.
12. If applicable, add a local subprocess to the workflow.
13. Insert and configure a ReadSegmentRequirements call method activity:
e. On the activity configuration panel, in the Inputs section, click the drop-down arrow, and then
select the segment details you want displayed in the work request form when it runs.
f. Click the Work Request ellipsis button to open the Universal Browser, and then select the
work request you want to associate with the call method.
- Or -
Bind the parameter to a call method return value or an input parameter; for example, from an
event.
a. Insert an activity.
b. On the activity configuration panel, in the General Settings section, click the Form ellipsis
button, and then select the form you want to use.
The Inputs section appears.
d. In the Inputs section, click the second drop-down arrow, and then select Bind.
The Select Variable dialog box appears.
e. Expand the ReadSegmentRequirement activity, and then select the return value.
f. Click OK.
The Work Request form is part of the Proficy.Platform.Forms.S95Forms.dll .NET assembly and
must use the Proficy.Platform.Forms.S95Forms.SegmentRequirementsForm class name.
Note:
The input parameters for the form are configured when the form is selected for a Form activity.
The Work Request form is used with the ReadSegmentRequirements call method. You must add the call
method to the subprocess before you configure the form's input parameter.
General Settings
The following table describes parameters for this form:
Inputs
The following table describes parameters for this form:
Inputs
The following table describes parameters for this form:
Note:
The length of the array
determines the number
of check boxes displayed
on the form.
Outputs
The following table describes parameters for this form:
When a user enters a value, it is checked against the Format Mask input parameter and/or the High Limit
and Low Limit input parameters. If the values match, then the form is ready to be submitted.
Inputs
The following table describes parameters for this form:
Important:
A value must be entered in the Prompt field.
Note:
Any new value must
meet parameter require
ments, as defined in this
table.
Tip:
For more information on
applying masks, see the
Mask Properties in the
MSDN Library.
Note:
The value entered in the
form must be up to the
high limit value, not in
cluding the high limit val
ue. For example, if the
high limit is 100, the val
ue cannot be higher than
99.
Note:
The value entered in the
form must be above the
low limit value, not in
cluding the low limit val
ue. For example, if the
low limit is 1, the value
must be higher than 1.
Outputs
The following table describes parameters for this form:
Workflow Full User Guide | 9 - Forms and User Displays | 1135
Inputs
The following table describes parameters for this form:
Note:
You can enter a maxi
mum number of 10 fields
into a form, starting from
Item 0 and ending with
Item 9. This value repre
sents the total number
of fields displayed in the
final form layout regard
less of the number of la
bels entered.
Item 0 (through 9) Label String Enter the label name for the first
form field.
Item 0 (through 9) Value Int32 The default value in the text box
is zero. If the form is not read-on
ly, the user can change this value.
If the form is read-only, the value
Workflow Full User Guide | 9 - Forms and User Displays | 1136
Outputs
The following table describes parameters for this form:
Inputs
The following table describes parameters for this form:
Note:
Any new value must co
incide with the available
indexes.
Workflow Full User Guide | 9 - Forms and User Displays | 1137
Note:
The length of the array
determines the number
of buttons displayed on
the form.
Outputs
The following table describes parameters for this form:
When you bind to a data item, an operator can perform an action based on the data item that was
retrieved. The data item value is tied to mask and limits values. When the data item input parameter
changes, the value is checked against the Format Mask input parameter and/or the High Limit and Low
Limit input parameters. If the value(s) match(es), then the form is ready to be submitted.
Note:
These parameters are configured when the form is selected for a Form activity.
Workflow Full User Guide | 9 - Forms and User Displays | 1138
Inputs
The following table describes parameters for this form:
Important:
A value must be entered in the Data Item and Prompt fields.
Tip:
For more information on
applying masks, see the
Mask Properties in the
MSDN Library.
Note:
The value entered in the
form must be up to the
high limit value, not in
cluding the high limit val
ue. For example, if the
high limit is 100, the val
ue cannot be higher than
99.
Note:
The value entered in the
form must be above the
low limit value, not in
cluding the low limit val
ue. For example, if the
low limit is 1, the value
must be higher than 1.
Outputs
The following table displays parameters for this form:
When a user enters a value, it is checked against the Format Mask input parameter and/or the High Limit
and Low Limit input parameters. If the value(s) match(es), then the form is ready to be submitted.
Inputs
The following table describes parameters for this form:
Tip:
For more information on
applying masks, see the
Mask Properties in the
MSDN Library.
Note:
The value entered in the
form must be up to the
high limit value, not in
cluding the high limit val
ue. For example, if the
high limit is 100, the val
ue cannot be higher than
99.
Note:
The value entered in the
form must be above the
low limit value, not in
cluding the low limit val
Workflow Full User Guide | 9 - Forms and User Displays | 1142
Outputs
The following table describes parameters for this form:
When a user enters a value, it is checked against the Format Mask input parameter. If the values match,
then the form is ready to be submitted.Inputs
Tip:
For more information on
applying masks, see the
Mask Properties in the
MSDN Library.
Workflow Full User Guide | 9 - Forms and User Displays | 1143
Note:
The length of the array
determines the number
of columns.
Outputs
The following table describes parameters for this form:
Yes/No Form
The yes or no form allows a user to select either yes or no in a form.
Inputs
The following table describes parameters for this form:
Outputs
The following table describes parameters for this form:
The Overview tab in the Display Editor is your starting point for creating forms or user displays. You can
select an existing assembly or web page for a display or form.
Use the Designer tab to create User-defined Select this option to create a
new client content form or user display using the
Designer.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Note:
The project name is the same as the resource name. Changing the project name does not
affect the resource name.
6. From the Language list, select the programming language you want to use for code behind, and
then click OK.
7. Design and create your form or user display using the Designer.
8. Save the form or user display.
Related information
Use a form in a workflow (on page 1148)
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
3. To view your form or display, in the Displays panel, click Global Viewer.
Workflow Full User Guide | 9 - Forms and User Displays | 1147
Configure forms to view during run time after they have been completed or
acquired
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
You can view completed or acquired forms in the Task List if they are configured to support this.
To view... Go to step...
Note:
You cannot submit a form that is loaded in this state.
14. You can view forms in several ways. From the Task List of a running workflow:
◦ Click the Task History tab, and then click the Input button. Recently completed task
information is shown. To view previously run forms, from the Form drop-down menu, select
a form.
◦ Click the Tasks tab, and then from the Task Steps list, select a previously completed step of
a running task.
◦ You can view a currently running form that has been acquired by someone else.
Note:
A completed task cannot be re-executed; therefore, the Submit and Cancel buttons are not
available.
Note:
You must have already added a pre-existing form or created a custom form before you can add it
to a workflow.
Workflow Full User Guide | 9 - Forms and User Displays | 1149
You can add a form that was created in Visual Studio or a custom form that was developed using the
Forms Designer. If the form has input and output parameters, it will typically have a preceding activity to
give it input, and a subsequent activity to receive its output. These other activities may themselves be
forms, which can be useful for testing.
Note:
Only activated subprocesses are available for workflows.
Prerequisites
Note:
You cannot set a WPF form's equipment context for use in the Web Task List.
Note:
To view the full list of properties, select the Advanced check box.
13. To set the equipment context in a workflow Task List, click SetEquipmentContext, and then click
Finish.
Note:
All manual settings are overridden if a form in the Task List uses the Set Equipment
Context client method to assign equipment.
19. Optional: To prevent changing context information during run time, you can hide or disable the
buttons on the Task List.
The following table describes the common, optional input parameters of the web-based forms and
displays:
Note:
You can import and export custom HTML forms and simple web forms.
Workflow Full User Guide | 9 - Forms and User Displays | 1152
Use the Designer tab to create User-defined Select this option to create a
web content form or user display using Sil
verlight for Silverlight forms.
Use the Designer tab to create a User-defined Select this option to create an
simple web form HTML form or user display.
Note:
These forms can be used
during run time in the fol
lowing locations only:
• Workflow Task
List (regular)
• Mobile Task List
• Vision Task List
The following procedures indicate the basic steps involved in creating a simple workflow with a web form.
Tip:
Text fields can be used to display read-only information, such as headings or titles on your
form. Text boxes can be used for processing operator input.
Note:
For a video tutorial of this topic, use a browser to open http://www.youtube.com, and then search
for GE Proficy Workflow - Developing a Web Form for a Workflow.
1. Log in to Workflow.
a. Launch Workflow client using either the Start menu or desktop icon.
c. Optional: In the Authentication Type setion, select the type appropriate to your user profile.
f. Click OK.
b. In the Form Fields section, click the Text form control to add the field to your form.
Workflow Full User Guide | 9 - Forms and User Displays | 1154
Tip:
You can add multiple text fields, as well as other form controls. Each text control is
labelled and numbered in the Name field in sequence; for example, Text1, Text2, and
so on.
a. In the Form Fields section, click the Text Box form control to add the field to your form.
The Layout area displays the basic configuration for your form.
c. Click Save.
5. To view your form or display, in the Displays panel, click Global Viewer.
6. Create a workflow resource.
a. In the navigator, click Workflow > Workflows.
b. Click Add Workflow.
c. In the Name field, enter a name, such as My First Workflow.
Workflow Full User Guide | 9 - Forms and User Displays | 1155
d. In the Description field, enter clarifying information about the workflow resource, such as
This is my first workflow.
c. From the Standard Activities panel, drag and drop a Form activity into the subprocess.
e. In the Name field, enter a name, such as WebFormActivity, and then click OK.
f. From the activity configuration panel, in General Settings, click the ellipsis button next to the
Forms field.
The Universal Browser appears.
g. In the Universal Browser, click Global Displays > Forms, and then select the form that you
created, My First Form.
i. Click Save.
9. Add activities to the subprocess to display form information to and request input from an operator.
Workflow Full User Guide | 9 - Forms and User Displays | 1156
You can bind user input from the form's text box control (step 4) to workflow variables. For
example, you can add a Status Message activity to your subprocess in order to deliver a message
to your operator regarding a particular task, and request input.
a. From the Standard Activities panel, drag and drop a Status Message activity into the
subprocess after the Form activity.
b. From the activity configuration panel, in General Settings, click the drop-down arrow next to
the Message field, and then select Expression to bind the message in your form.
c. In the Enter Expression field, enter the following expression: "User entered:"+
e. Expand the Form activity, WebFormActivity, that you added to the subprocess.
f. To complete the expression, double-click the text box value, Text Box Control Name.Value,
that you created in step 4.
You have created the following expression: "User entered:"+{WebFormActivity}.{Text Box
Control Name.Value}
g. Click OK.
h. From the Standard Activities panel, drag and drop a Delay activity into the subprocess after
the Status Message activity.
i. In the Timeout field, select the seconds section, and then use the arrows to set a 5-second
delay.
j. Click Save.
d. In the Description field, enter clarifying information about the resource, such as This is my
first schedule.
f. In the Displays panel, click Workflow Management > Workflow Editor > Overview.
i. In the Start Task Filter section, select the Is schedule visible in Start Task window check
box.
j. Click Save.
d. Click Start.
The task that you created is now visible in the Task List. You can enter data into the form,
view work instructions, and submit changes.
Tip:
For Vision users, click the TASKS tab to see pending workflows.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
You can view the name of the field property when you add a Form activity to a workflow in
the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. In the URL field, enter the absolute path of the image's location.
d. In the Alignment field, from the drop-down list, select an alignment value.
▪ Left
▪ Center
▪ Right
e. In the Height field, enter a whole number to represent the number of pixels for the height of
the image.
Note:
If no value is specified, the default dimensions are used.
Workflow Full User Guide | 9 - Forms and User Displays | 1159
f. In the Width field, enter a whole number to represent the number of pixels for the width of
the image.
Note:
If no value is specified, the default dimensions are used.
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Text field, enter content that is displayed to the operator and provides more
information about the form.
c. In the Size field, from the drop-down list, select a text size.
▪ Normal
▪ Small
▪ Medium
▪ Large
d. In the Alignment field, from the drop-down list, select an alignment value.
Workflow Full User Guide | 9 - Forms and User Displays | 1161
▪ Left
▪ Center
▪ Right
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
11. To allow an operator to enter text only into the text box, configure the related properties.
a. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
b. Optional: In the Value field, enter predefined text in the field for the operator to view.
c. Optional: In the Maximum Characters field, enter a whole number to indicate the number of
character space available to operators during run time in the related field.
12. To allow an operator to enter numbers only into the text box, configure the related properties.
a. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
a. Optional: In the Minimum Value field, set the fewest number of characters required for the
operator to enter into the text box; and/or
b. Optional: In the Maximum Value field, set the greatest number of characters required for the
operator to enter into the text box.
13. To ensure an operator enters a password into the text box, configure the related properties.
a. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
b. Optional: In the Maximum Characters field, enter a whole number to indicate the number of
character space available to operators during run time in the related field.
Workflow Full User Guide | 9 - Forms and User Displays | 1163
14. To hide the text box from the operator, configure the related property.
a. Optional: In the Value field, enter predefined text in the field for the operator to view.
15. Click Save.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. From the Required drop-down list, select one of the following options:
Workflow Full User Guide | 9 - Forms and User Displays | 1164
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
d. Optional: In the Value field, enter predefined text in the field for the operator to view.
e. Optional: In the Number of Lines field, enter a whole number to indicate the number of
available lines available to the operator in the text area during run time.
f. Optional: In the Maximum Characters field, enter a whole number to indicate the number of
character space available to operators during run time in the related field.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
d. From the Auto Check drop-down list, select one of the following options:
▪ True, to display a check box to the operator that is already marked.
▪ False, to display a check box to the operator that is clear.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
8. Optional: To move fields around the Layout area, select the field to drag and drop it to a different
location within the panel.
9. Optional: To delete a field, select it, and then click Delete.
10. In the Properties section, you can configure the form fields.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
d. Required: In the Options field, enter one or more values that is viewable to an operator
during run time as a drop-down list.
f. Optional: From the Default Option drop-down list, select an entry from your Options list to
indicate which item you want the operator to interact with first.
The default option is (none). If you do not change this value, there is no option selected in the run-
time form.
11. Click Save.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
Workflow Full User Guide | 9 - Forms and User Displays | 1167
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. Required: In the Options field, enter one or more values that is viewable to an operator
during run time as a drop-down list.
e. Optional: From the Default Option drop-down list, select an entry from your Options list to
indicate which item you want the operator to interact with first.
The default option is (none). If you do not change this value, there is no option selected in the run-
time form.
11. Click Save.
Note:
You can create HTML forms for use only in the Workflow client Task List and in the Mobile Task
List.
a. In the Name field, enter a unique identifier by modifying the existing text.
Note:
You can view the name of the field property when you add a Form activity to a
workflow in the Workflow Editor. You can then bind a value to this property.
b. In the Label field, enter descriptive text on the form control that is displayed to the operator.
c. From the Required drop-down list, select one of the following options:
▪ True, to ensure the operator enters a value in the form. If no value is entered, the form
cannot be submitted.
▪ False, to give the operator the option to enter a value in the form. If no value is
entered, there is no effect on form submission.
d. Required: In the Options field, enter one or more values that is viewable to an operator
during run time as a drop-down list.
Workflow Full User Guide | 9 - Forms and User Displays | 1169
f. Optional: From the Default Option drop-down list, select an entry from your Options list to
indicate which item you want the operator to interact with first.
The default option is (none). If you do not change this value, there is no option selected in the run-
time form.
11. Click Save.
You must save your form in order to save the form code.
Note:
The file name defaults to the name of your form, with .html extension.
7. Click Save.
Properties
Properties
Note:
This path must be acces
sible by the machine that
the operator is working
on during run time.
Actual Tool Type: Text User-defined Specifies the format of the text
box that appears in the form.
Properties
Properties
Properties
Properties
Properties
Installation Location
The sample form files are available in the following directory:
• The HTML for a web form that makes use of a jQuery data grid.
• The jQuery libraries needed to use the data tables in the form.
• A modified ActivityExtensions.dita file that makes the JSON (JavaScript Object Notation)
libraries available to a workflow.
• A Workflow Project that contains:
◦ A workflow that demonstrates the conversion between a JSON string and a DataTable using
the NewtonSoft.JSON library, as well as creating and using the data table in a Code activity.
The workflow uses the JSON string to pass data for a grid into the form.
◦ A schedule to start the sample workflow.
◦ A form object that references the sample form.
1. The contents of Form Web Page, including the subfolders, must be hosted on a web server.
2. The file, tasklistform.min.js (in <32-bit installdir>:\Program\Applications
\Workflow\SDK), must also be hosted.
3. Update SampleCustomForm.html to use the correct paths for script and style imports. Use fully
qualified server names (for more information, see Requirements for Creating Custom Web Forms).
4. Update the following file, which can be found in the installation directory appropriate to your
system architecture (32- or 64-bit), <installdir>\Program\Data\Projects\SOAProject
\AppServers\Workflow\Workflow\ActivityExtensions.dita, to include the
NewtonSoft.JSON library (see sample in <installdir>\Program\Applications\Workflow
\Samples\ActivityExtensions).
5. Restart your Workflow application server.
6. Deploy the Sample Custom Form.zip project (in <installdir>\Proficy\Proficy
Workflow\Program\Applications\Workflow\Samples\Sample Custom Web Form
\Workflow Project\.
7. Update the form Sample Custom Form (HTML) to use the correct URL for your web server (for
example, https://<MyServer>:8443/SampleForm/SampleCustomForm.html).
8. Enable the workflow and schedule named Sample – Show Custom Form.
9. Start the Sample – Show Custom Form schedule and view the task in the Task List.
Workflow Full User Guide | 9 - Forms and User Displays | 1182
Note:
When creating other custom forms, you can use whichever style you prefer.
Related reference
Requirements for Creating Custom Web Forms (on page 1182)
Form Library
All custom web forms must include the form library, which is contained in tasklistform.min.js via
a script tag (for example, <script src="https://<Insert Host Name Here>/tasklistform.min.js"></script>).
This file is located in <32-bit installdir>:\Program\Applications\Workflow\SDK. You can
also find a file that provides information about calling the required functions that allow forms to work in
the Task List.
• formLoaded() when it is ready to receive input data; for example, in the onloaded event of your
body element
• submitForm() to perform a submission back to workflow; for example, in the onsubmit handler of
your form element
• cancelForm() when it wishes to signal a cancellation of the form; for example, in the onclick
handler of a cancel button)
Workflow Full User Guide | 9 - Forms and User Displays | 1183
For examples of how these calls are performed, see the included sample form.
Here>/SampleForm/css/jquery-ui.css"/>
Here>/SampleForm/css/ui.jqgrid.css"/>
Note:
The HTTPS configuration for custom HTML forms is also applicable to Workflow task client.
To use a custom HTML form with the Web HMI Task List, Web HMI must be configured to allow
connections to the custom form host.
The custom form will fail to load if the reverse proxy is not configured. Use the proxy whitelist to
accomplish the configuration.
Workflow Full User Guide | 9 - Forms and User Displays | 1184
myformhost:port" ],
Note:
Exception for radio buttons: All radio buttons in a radio group have the same name.
• Labels: The For attribute must be set to the ID of the corresponding element.
Note:
Exception for radio buttons: Labels for radio groups have the Name property set to the
same Name of each radio button. A label element must be present to ensure that the radio
button options can be modified from a running workflow.
• Authentication: For custom web forms to work properly, there must be no authentication on the
server hosting these forms.
• Modifying forms: If you make changes to the custom form, you must save it in order for the
changes to work.
• To tell the host which methods to call when passing in the initial workflow inputs and when
collecting the form outputs to return, the form must call addInputParameterFunction and
addOutputParameterFunction. This call is handled automatically for most basic HTML elements,
such as <p>, <input>, <textarea>, <select>, and <img>.
• Inputs:
◦ Add an input parameter function with the string name <elementName>.InitialValue for each
control input that you want to handle.
◦ In the sample form, the jqGrid populates using a JSON representation of a table:
Workflow Full User Guide | 9 - Forms and User Displays | 1185
if (addInputParameterFunction) {
addInputParameterFunction('jqGrid.InitialValue', populateForm);
• Outputs:
◦ Add an output parameter function with the name <elementName>.Value for each control
output that you want to provide. Returns a string.
◦ In the sample form, a JSON representation of the table is returned:
if (addOutputParameterFunction) {
addOutputParameterFunction(collectFormOutput);
Note:
The custom form
must provide a
mechanism for
Workflow Full User Guide | 9 - Forms and User Displays | 1186
HTTP Headers
To load custom web forms, you must:
Note:
This section assumes that you have a knowledge of web administration, and that you have
already set up a web application and created a location containing a custom web form.
6. In the Value field, enter the host where the Task List will be hosted. For example, for the Vision web
server, enter https://mywebserver.
7. Click OK.
8. To add another header, from the Actions panel, click Add.
9. In the Name field, enter Access-Control-Allow-Headers.
10. In the Value field, enter authorization,content-type,pragma,cache-control.
11. Click OK.
Attribute Description
Attribute Description
Important:
If you make
changes to the lo
cal version of the
Workflow Full User Guide | 9 - Forms and User Displays | 1189
Attribute Description
Related reference
Basic Forms and Displays (on page 1144)
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Tip:
Click Remove to remove the selected file(s).
8. Click Save.
Note:
This section discusses the basics of building WPF-based forms with VB.Net with some attention
given to WinForm-based forms.
Introduction
A form can display data or allow you to interact with a running process, or both. VB.Net projects with user
controls are used to build the forms. A pre-built base form is provided to reduce the amount of coding
required. The base form handles implementing the communication interfaces to and from a workflow.
References are used to add classes to the coding project. Overrides are used to override the inputs and
outputs of the base form and to allow the passing of inputs to and from a workflow into your form code. A
ValidateForm method allows code to be used to verify the data in the form and provide a message to the
end user if the data is not valid.
These are the core aspects of building custom forms. This section also includes advanced topics for
reading and writing data internally to and from the form and also to subscribe to events within the form.
This section deals primarily with WPF-based forms that are developed in Visual Studio 2005 or 2008 with
VB.Net. WinForm-based development is similar; however, there are several steps that differ. Additional
notes are provided for those steps where WinForm-based development differs.
Prerequisites
To build forms, you need either:
• Read data internally from other available data service providers to the form, as well as from
Workflow
• Write data from the form to other data service providers, as well as outputs to Workflow
• Forms can be set up to published events from other service providers, as well as Workflow events
The Interfaces
In order to communicate with the Workflow client in a standard way, a form should implement the IForm
interface. You can implement the interfaces yourself, but the easiest way to achieve this is to extend a
base class.
Available Forms
A base form is provided, which implements the communication interfaces. To use the
base form, you must inherit it, and then override three methods (to input, output, and
validate data). It is located in the Program folder of the installation directory, and is called
Proficy.Platform.Samples.Forms.BaseForm.dll.
Sample forms are also included. You can copy one of the sample forms and modify it to create a new
form. The samples are available for download.
Note:
If you are creating a form based on WinForms, then use the base form located in
Proficy.Platform.Samples.Forms.BaseFormVB.dll.
Related reference
Form Design Environment (on page 672)
Related information
Forms and User Displays Authoring Guide (on page 671)
1. In Visual Studio, create a new VB project form using the WPF User Control Library or Class Library
project templates.
Note:
If you are creating a form based on WinForms, use the "User Windows Forms Control
Library" (which is called "Windows Control Library" in Visual Studio 2005) or "Class Library"
project templates.
Note:
If you are creating a form based on WinForms, use the "User Control" file template.
4. In the References section of the project, browse to the Program folder of the Workflow installation
directory and add references to the following:
◦ Proficy.Platform.Core.DisplayFramework.dll
◦ Proficy.Platform.Core.ProficySystem.dll
◦ Proficy.Platform.Samples.Forms.Baseform.dll
If you are using WPF, add the following .NET references if they are not already added to your
project:
◦ PresentationCore
◦ PresentationFramework
◦ WindowsBase
If you are using WinForms, add the following .NET reference if it is not already added to your
project:
◦ System.Windows.Forms
5. Add the following imports to include these classes in your project.
◦ System
◦ System.Collections.Generic
◦ System.Windows
◦ System.Windows.Controls
◦ Proficy.Platform.Samples.Forms.Base
These imports are required in order to resolve the types used by BaseForm.
Workflow Full User Guide | 9 - Forms and User Displays | 1194
Note:
If you are creating a form based on WinForms rather than WPF, you should import
System.Windows.Controls instead of System.Windows.Forms. The other imports
mentioned above remain the same.
6. Change the class to inherit from the BaseForm; that is, change the .vb file to contain the following
Inherits statement:
Public Class UserControl1
Inherits Proficy.Platform.Samples.Forms.Base.BaseForm
You must also modify the .xaml.vb file to derive from that class, as well, by adding the namespace
of the BaseForm and changing the beginning and ending tags to use it. When you are finished,
the .xaml file should look as follows:
<base:BaseForm x:Class="UserControl1"
xmlns:base="clr-namespace:Proficy.Platform.Samples.Forms.Base;assembly=Proficy.Platform.Samples.Forms.BaseForm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<Grid>
</Grid>
</base:BaseForm>
Note:
If you are creating a form based on WinForms, then your form should inherit from
BaseFormVB.Proficy.Platform.Samples.Forms.Base.VB.BaseFormVB.
An error displays because the other partial class does not have the same Inherits line.
Note:
Do not give your class a namespace.
7. Switch to the Designer View and create the user interface elements for the form, such as text
boxes, labels, and list boxes.
Workflow Full User Guide | 9 - Forms and User Displays | 1195
Note:
If you are creating a form based on WinForms, set the Autosize property on the user
control to True. This allows the form to automatically size to the window pane size in the
Task List.
8. Switch to the Code View and paste in Regions code for Private Variables, InputParameters,
OutputParameters, and Overrides. There are three functions in the Overrides region:
◦ TransferDataIn: This function gets called prior to displaying the form. It allows for the
transfer of data from the input parameters into the display components.
◦ ValidateForm: This function gets called to validate the form prior to attempting to return
parameters. This function gets called before TransferDataOut.
◦ TransferDataOut: This function gets called prior to returning the outputs from the form.
It allows for the transfer of data from the display components and the setting the output
fields.
For more information, see Overriding the Base Form Methods and Declaring Parameters.
9. Build the project.
10. When the project builds successfully into a DLL, add it to Workflow as a new form. See Add pre-
existing forms and user displays to Workflow.
Related reference
Overriding the Base Form Methods (on page 1198)
Note:
All areas that are compatible with the current resource appear. Green icons indicate a
compatible view.
Workflow Full User Guide | 9 - Forms and User Displays | 1196
Tip:
Click Remove to remove the selected file(s).
8. Click Save.
Add custom submit, cancel, and enable to a form using the Designer
The form can be configured so that the Workflow Task List Submit and Cancel buttons are not visible
when the form is displayed in the Task List. You can also ensure that a form is only ready for submission
after the appropriate operator interaction by enabling/disabling the Submit button.
The Submit button will now become enabled after the operator performs an action.
3. To add code-designed forms to a workflow, see Configure a Form activity.
Declaring Parameters
A form has input data that it processes into output data, even though it may not have a user interface.
This section discusses the input and output parameters, which are passed to and from the client using
the IForm interface.
The base form implements this interface; therefore your variables need to be declared only with the
specific attribute of InputProperty or Outputproperty, as follows:
#Region "InputParameters"
#End Region
#Region "OutputParameters"
<Global.Proficy.Platform.Samples.Forms.Base.OutputProperty _
<Global.Proficy.Platform.Samples.Forms.Base.OutputProperty _
#End Region
With the InputProperty attribute, the variable automatically receives its initial value from the client, if it is
bound. With the OutputProperty attribute, the value of the variable is automatically passed to the Client for
binding after the form has been submitted.
The arguments for constructing the attributes are Name, DisplayName, and Description. The Name
is used internally (that is, it is never displayed) and it must be unique among both input and output
properties. The DisplayName is the name that users see in the Workflow Editor, in the Input and Output
pane, and must also be unique. The Description appears in the Workflow Editor under the DisplayName,
for example, in tooltips.
Related information
Form Development in Visual Studio (on page 1190)
TransferDataIn()
This is where you write the code that sets up the user interface according to the input parameters, or any
other initialization. This method is called after the input parameters have received their value, but before
the form is displayed.
This is where you write the code that validates the form after the Submit button is clicked. If there is an
error, errorMessage is set to display in a dialog box, and False is returned; otherwise True is returned. This
method is called after the Submit button is clicked.
TransferDataOut()
This is where you write the code that sets the values of the output parameters, according to the current
state of the user interface. This method is called only after ValidateForm is returned as True.
The following sample form shows a list of radio buttons and an optional comment box:
Import.System
Imports System.Collections.Generic
Imports System.Windows
Imports System.Windows.Controls
Workflow Full User Guide | 9 - Forms and User Displays | 1199
Imports Proficy.Platform.Samples.Forms.Base
Inherits Proficy.Platform.Samples.Forms.Base.BaseForm
#End Region
#Region "Overrides"
' This function gets called prior to displaying the form. Transfer the data
PromptLabel.Text = _prompt
' Since the number of radio buttons is variable, we create the list here
_buttons.Add(button)
button.Text = label
button.Font = x
button.Height = 20
button.Width = 300
RadioButtonsPanel.Controls.Add(button)
Next
_buttons(0).Checked = True
Else
_buttons(_default).Checked = True
End If
Workflow Full User Guide | 9 - Forms and User Displays | 1200
End If
Me.CommentPanel.Visible = False
If _commentVisible Then
CommentPanel.Visible = True
CommentText.Text = _comment
CommentLabel.Text = _commentPrompt
End If
End Sub
' This function gets called prior to returning the outputs from the form. Transfer
' data from the display components and set the output fields.
_selectedIndex = i
Exit For
End If
Next
If _commentVisible Then
_comment = CommentText.Text
End If
End Sub
''' <summary>
''' This function gets called to validate the form prior to attempting to return parameters.
''' </summary>
errorMessage = ""
If _buttons.Count = 0 Then
Return False
End If
CommentText.Focus()
Return False
End If
Return True
End Function
#End Region
#Region "InputParameters"
' These are the input parameters for the form. The values of these fields are
' set automatically by the base class when this form is initialized.
' The InputProperty specifies the User Readable Parameter Name and the Help Text for the
Button")> _
comment field")> _
#End Region
#Region "OutputParameters"
' These are the output parameters for the form. The values of these fields are
Workflow Full User Guide | 9 - Forms and User Displays | 1202
#End Region
End Class
The project must to be compiled to generate the DLL that is used to create the display that will be used to
access the form within Workflow.
The code that reads the data should be inserted into the TransferDataIn() override, and then the properties
of the display objects can be set to values from the data.
An existing sample form (UsersFormVB) shows a list of user names obtained from the Personnel service
provider. The code for the override is as follows:
Try
TryCast(userStartup.GetDefaultProvider("IPersonnel"), Proficy.Platform.Services.Personnel.Interfaces.IPersonnel)
_usersList.Add(person.S95Id)
Next
Workflow Full User Guide | 9 - Forms and User Displays | 1203
_usersList.Sort()
UsersListBox.Items.AddRange(_usersList.ToArray())
End If
Catch e As Exception
HeaderLabel.ForeColor = System.Drawing.Color.Red
End Try
End Sub
The code that writes the data should be inserted into the TransferDataOut() override.
An existing sample form (LoggerFormVB) takes a message from the form and writes it to the standard
log file. The code for the override is as follows:
Get
End Get
End Property
' There are no output paremeters, but we have this override which is called on Submit.
' To see the DEBUG ones you have to lower the logging level.
Case 0
Logger.Info(gsd, LoggerText.Text)
Exit Select
Case 1
Logger.[Error](gsd, LoggerText.Text)
Exit Select
Workflow Full User Guide | 9 - Forms and User Displays | 1204
Case 2
Logger.Debug(LoggerText.Text)
Exit Select
Case Else
Exit Select
End Select
End Sub
Return input
End Function
Related information
Form Development in Visual Studio (on page 1190)
Subscribing to Events
Your form can respond to published events.
The code that subscribes to the event is inserted into the TransferDataIn() override, adding your event
handler, in which properties of the display objects (or output parameters) can be set to values from the
event arguments.
For example, a time event can be set up to recur every 30 seconds, and the form display the time of the
most recent event. The code is as follows:
Imports System
Imports System.Collections.Generic
Imports System.Windows
Imports Proficy.Platform.Core.Cdo.Connections
Imports Proficy.Platform.Core.ClientTools.ServiceDirectory
Imports Proficy.Platform.Core.ProficySystem.MobileObject
Imports Proficy.Platform.Core.ProficySystem.Types
Imports Proficy.Platform.Samples.Forms.Base
Inherits BaseFormVB.Proficy.Platform.Samples.Forms.Base.VB.BaseFormVB
Workflow Full User Guide | 9 - Forms and User Displays | 1205
' The published Time Event to subscribe to is coming from Workflow via an input parameter in this case.
SubscribeToEvent(_directoryResource.LdapAddress )
End Sub
subscription.Subscribe()
End Sub
' This is called when the event occurs, and the EventArgs may be used to adjust the
' values of display objects, or to set output parameter values. In this case we have a
' recurring event,and we update a text block with the time of the latest event, changing
EventTimeText.Text = newText
EventTimeText.ForeColor = System.Drawing.Color.Blue
Else
EventTimeText.ForeColor = System.Drawing.Color.Red
End If
EventTimeText.Refresh()
End Sub
End Class
This technique can be generalized for any item that can be subscribed to; however, the
EventOccurredEventArgs will contain different information depending on the type of event. In the above
example, this information is ignored, but in general the information can be extracted and displayed in the
form.
• equipment properties
• time events
• condition events
• new work request events
• work request status changed events
• workflow task expired events
• workflow task step expired events
In each case the LDAP address of the item must be located in the DirectoryViewer, and then copied and
pasted as an argument into the SubscribeToEvent call.
SomeLabel.Text = newValue.ToString()
End Sub
SomeLabel.Text = eventInfo.Description
End Sub
Related information
Form Development in Visual Studio (on page 1190)
If Cancel is pressed, neither ValidateForm nor TransferDataOut are called, so setting an output parameter
only has an effect if Submit is pressed. If the parameter is bound to something (for example, an input
parameter of a subsequent form), then the target object remains with its default value if Cancel is
pressed.
_selection = UsersListBox.SelectedItem
End Sub
Related information
Form Development in Visual Studio (on page 1190)
Important:
Support for Silverlight and Silverlight forms will be discontinued with the next major release of the
software.
Form Creation
A form cannot be converted from WPF to Silverlight or vice versa after the form creation process starts.
During form authoring, be sure to select the correct type of form to create in the Display Editor.
Technical Limitations
As a technical limitation, .NET content can run only in thick clients (that is, the Proficy Client) where
the .NET Framework is installed. It cannot run directly in a web browser or directly on a mobile device.
Similarly, Silverlight content can run only in a web browser with a Silverlight plug-in installed. Silverlight
content can also run on a mobile device that supports Silverlight (such as Windows 7 mobile devices or
Symbian Series 60 phones); however, we do not support these devices.
** In general, .NET content cannot run on mobile devices. However, the Mobile-Sized Task List is designed
to run on a server and display content on a mobile device using either GraphOn or Terminal Services.
A form that will be run on a mobile device should be designed with the small form factor in mind.
However, that same form will work in both a thick client and a web environment.
Note:
Although a Silverlight form can run in all three environments, it is not recommended.
The following topics describe the tasks necessary to build Silverlight forms.
Related information
Create a Silverlight form for web-based content (on page 1208)
Note:
Naming conventions for Silverlight projects are the same as those for WPF displays and
forms. Project names can contain only letters, numbers, or underscores.
Workflow Full User Guide | 9 - Forms and User Displays | 1209
Note:
If multiple users are saving Silverlight forms at the same time, the Feedback Zone may display
a message indicating that the form failed to build, even though the build process is actually
ongoing. In this scenario, the client log file (found at <installdir>\Proficy\Logs
\ProficyClient.log) includes an entry reading ERROR: [HttpRequestTimedOutWithoutDetail.
As a result, to save new changes to the form, reload it in one of the following ways.
• In the Displays panel, select Global Viewer, and then select Display Editor
Or
• In the navigator, select another form, and then select the form again.
1. In the Silverlight designer, click the Toolbox tab, and then expand the appropriate control group.
2. Click the control you want to add, and then in the designer, drag an outline where you want the
control to appear.
If the form will be edited later in Visual Studio and the Source property will be set from Visual Studio, it
must be set in code behind, not in XAML. This can be done by adding code, such as the following, to the
InitializeImageSources method in MainPage.Proficy.cs:
Image sources must come from a Web server (not a file:// style URL). The Web server must have a
clientaccesspolicy.dita in its root directory. Thus, if the URL for your image is http://mywebserver:8000/
images/animals/kitty.jpg, the client access policy must have a URL of http://mywebserver:8000/
clientaccesspolicy.dita.
Workflow Full User Guide | 9 - Forms and User Displays | 1210
To access the Selected Date property in the Binding dialog box or the Expression Editor, clear the Hide
Advanced Properties check box.
To bind to the Selected Date or to use it in an expression, bind directly to Selected Date; do not use the
Value sub-property.
To work with subproperties of SelectedDate, you must modify the XAML (for bindings) or the
MainPage.Proficy.cs (for expressions) files by hand. Editing the MainPage.Proficy.cs file must be done in
Visual Studio.
Note:
For more information, see Edit forms using Visual Studio 2010.
One method of binding to subproperties by modifying the XAML by hand is to bind to the desired
subproperty under the Value subproperty in the designer, and then in Visual Studio, edit the affected file
and remove the ".Value" and/or "__Value" from the binding. The binding has one ".Value" to remove. The
expression has one ".Value" and one "__Value" to remove.
The following table lists the calendar control bindings that can be used and the bindings that will not
work.
Calendar1.SelectedDate Calendar1_SelectedDate.Value
Calendar1_SelectedDate.DayOfYear Calendar1_SelectedDate.Value.DayOfYear
{Calendar1__SelectedDate__Value__DayOfYear} {Calendar1__SelectedDate__Value}
{Calendar1__SelectedDate__DayOfYear} {Calendar1__SelectedDate}
public MainPage()
InitializeProficyData();
Button1.Click += SayHello;
MessageBox.Show("Hello");
• Only one user should edit a form at a time in the Silverlight Designer. If two users edit at the same
time, unexpected errors could occur. The last user who saves can overwrite the changes of the
other user.
• Updating a form while others are requesting the form may result in an error. Form XAP files are
cached in the WebModulesCache directory. For example, if user A is downloading the old form
in the Web Task List, while user B is updating the form in the Silverlight Designer, and user C is
requesting the new form in the Web Task List, an error could occur.
Code that was written in a separate Silverlight class library can also be invoked from code behind. The
scenarios are outlined in the following topics:
• To use an existing Silverlight control, follow the instructions in Add a reference to a Silverlight
assembly.
• To create your own control, create it in Visual Studio as a Silverlight class library project. Test it
within Visual Studio to validate that the control works as it should before trying to use it in the
Silverlight Designer. Then, follow the instructions in Add a reference to a Silverlight assembly.
Note:
For either procedure, see Create a custom data type editor for the Silverlight Designer to
customize the design-time experience with the control.
Related information
Add a reference to a Silverlight assembly (on page 1219)
Create a custom data type editor for the Silverlight Designer (on page 1216)
Note:
There is a known issue with using GUID as a data type.
◦ For complex data types, if a property using this type is not being persisted, it may help to
initialize the default value of the property using the SetValue method as described below.
• If you want the property to be configurable through the designer, the Editor-Browsable attribute
should be set to Always or Advanced.
• The Category attribute can be used to specify the category this property appears in.
Below is an example showing the instructions property to be exposed on My CustomControl. For the
definition below, this property appears in the Designer with a default value of "Please enter in the
values below." A different value for this property can be specified through the default property editor
provided. In this case, it is a simple textbox. In addition, this property value can be driven by a binding or
expression in the Silverlight Designer.
DependencyProperty.Register("Instructions", typeof(string),
typeof(MyCustomControl), new
[EditorBrowsable(EditorBrowsableState.Always),
Category("Definition")]
String; }
For complex data types, a default value may need to be specified inside the control constructor instead
of the DependencyProperty definition. It is required only if the custom property is not being serialized to
XAML when the property is configured from within the Silverlight Designer. See the example below:
public HelpfulDataGrid()
{
Workflow Full User Guide | 9 - Forms and User Displays | 1214
After the control is created and tested from within Visual Studio, refer to Add a reference to a Silverlight
assembly, which explains how to configure the control so it appears in the toolbox.
Related information
Add a reference to a Silverlight assembly (on page 1219)
Create a custom data type editor for the Silverlight Designer (on page 1216)
Design Mode
It may be helpful to give the custom control different design-time behavior than run-time behavior.
if (DesignModeCheck.IsInDesignMode(this))
LayoutRoot.Visibility = Visibility.Visible;
else
LayoutRoot.Visibility = Visibility.Collapsed;
};
Related information
Restrictions and Tips for Creating a Silverlight Control (on page 1212)
Workflow Full User Guide | 9 - Forms and User Displays | 1215
1. Add Silverlight assemblies containing the custom data types and/or editors, but use an input file
with the assembly file names specified:
CustomDataTypeAssemblies.txt
2. Create a comma-separated file listing the custom data types, custom data type editors, and their
assemblies. The following sample file can be created with the UpdateSilverlightDataType –s
command line:
*DataType assembly filename,DataType class name,DataType editor assembly filename,DataType editor class name
Proficy.Visualization.SampleControls.dll,SampleControls.CustomList,Proficy.Visualization.SampleControls.Design.
dll,SampleControls.Design.CustomListPropertyEditor
Proficy.Visualization.SampleControls.dll,SampleControls.CustomItem,Proficy.Visualization.SampleControls.dll,Sam
pleControls.Design.CustomItemPropertyEditor
3. Add custom data types and their property editors with the UpdateSilverlightDataType command. If
the assemblies in the input CSV file do not have a full path, then put it in the same directory as the
assemblies.
Important:
Any custom data type editors that were written to work with Visual Studio or Expression Blend will
not work in the Silverlight Designer because it is a Silverlight application that requires all loaded
code to be in Silverlight. Visual Studio and Expression Blend are desktop applications, so data
type editors written for them are not written in Silverlight.
1. Create the data type editor in Visual Studio as a Silverlight 4 class library project. The data type
editor can be in a separate class library from the control definition.
Note:
The data type editor will be used only by the Silverlight Designer at design time and not
when the control is being run from the Workflow client or Web Task List at run time.
Proficy.Platform.Core.DisplayFramework.Controls.Design.PropertyEditorBase
◦ Proficy.Platform.Core.DisplayFramework.dll
◦ Proficy.Platform.Core.DisplayFramework.Design.dll
◦ AuroraCommon.dll
◦ AuroraInterfaces.dll
Note:
◦ For 32-bit systems, the references reside in the <Installed directory>:
\Program Files\Proficy\Proficy Workflow\Silverlight directory.
◦ For 64-bit systems, the references reside in C:\Program Files
(x86)\Proficy\Proficy Workflow\Silverlight directory.
/// <summary>
/// Returns the UI for this property editor. This method will only be called once.
/// This UI is responsible for detecting when the property Value has changed, and setting
/// PropertyValue with the new value when this occurs. For example, is this editor launches
/// a dialog to configure the property, PropertyValue can be set when the dialog closes.
/// </summary>
/// <summary>
/// This method is called when PropertyValue changes anytime after initialization is complete.
/// This includes changes initiated by the user and when Reset to Default is selected. Any updates
/// to the property editor UI that would need to occur in these cases should be added here.
/// The PropertyValue can be used to access the new value of the property configured by this
/// editor. GetPropertyEditorUI will be called prior to this method being called.
/// </summary>
Other helper methods available from PropertyEditorBase that call from GetPropertyEditorUI
include:
/// <summary>
/// Returns a control that can be used to show a read-only view of the item.
/// </summary>
/// <summary>
/// </summary>
/// <summary>
/// Forces all the properties currently displayed in the Property panel to be re-evaluated. This
/// method should be used if setting the current property might affect the values of other
/// properties.
/// </summary>
4. Configure the custom data type editor to be used in the Silverlight Designer.
Workflow Full User Guide | 9 - Forms and User Displays | 1218
Note:
Any configuration made here applies to all Silverlight Designer forms, not just the one that is
currently selected in the navigator.
Note:
If the custom data type or the data type editor are not in assemblies that have already been
added as references, follow the instructions in Add a reference to a Silverlight assembly.
This makes the data type editor available to the Silverlight Designer.
Related information
Add a reference to a Silverlight assembly (on page 1219)
For example, in a custom control with a property of type TestProperty, TestProperty is the custom data
type and it is a DependencyObject. It has a DependencyProperty, ValueAsStringProperty.
1. In the custom editor for TestProperty, assign the custom data type property value
(this.PropertyValue) to set the value for TestProperty.
2. In addition, since the custom data type has a dependency property, call SetLocalValue so that its
value is written to XAML.
this.PropertyValue = tp;
tp.SetLocalValue(TestProperty.ValueAsStringProperty, _ui.Text);
The call must be invoked first, and then the library can be leveraged from the code behind in the Silverlight
project. To edit code from Visual Studio rather than the Silverlight Designer, see Edit Forms using Visual
Studio 2010.
Note:
To load the assembly so you can use the classes in it, follow the instructions in Add a reference
to a Silverlight assembly.
Related information
Add a reference to a Silverlight assembly (on page 1219)
Note:
Files added here will be available to all Silverlight forms, and not just the one currently selected in
the Navigator.
Note:
The next time the Silverlight Designer is opened, the reference will be available for use
from any Silverlight project. Any custom controls defined in any of the assemblies will
appear in the Silverlight Designer toolbox under the Custom Controls category.
1. In the Display Editor, on the Silverlight Config tab, select the reference you want to remove, and then
click Remove.
2. Click Add to re-add the reference, and then click Save. Recompiling the file to disk is not sufficient
since this reference must be saved to the server.
Note:
The referenced assembly is bundled into the form's XAP file. Any projects built against
a specific referenced assembly version continue to use that older version, even if the
reference is updated in the Silverlight Config interface, because the older version is
referenced in the form's XAP file.
3. To use the new version of the assembly, open the form's project in the Silverlight Designer, and then
save and build it.
Workflow Full User Guide | 9 - Forms and User Displays | 1221
Note:
If changes to the assembly include removal of controls or modification of public
properties, a screen may appear that indicates there was a load failure.
The error in the Feedback zone attempts to indicate what the issue is. Often, the
XAML file must be manually edited to correct the load failure. For example, the
following line defining the Silverlight Control should be removed because the
reference to SilverlightClassLibrary1.dll where this control was defined was removed:
<scl:SilverlightControl …/>
Related information
Edit forms using Visual Studio 2010 (on page 1228)
Add custom submit, cancel, and enable to a form using the Designer
The form can be configured so that the Workflow Task List Submit and Cancel buttons are not visible
when the form is displayed in the Task List. You can also ensure that a form is only ready for submission
after the appropriate operator interaction by enabling/disabling the Submit button.
Add custom auto submit and auto cancel to a Silverlight form using Visual
Studio
If a form is created in Visual Studio rather than the Designer, custom submit and cancel buttons can be
configured.
Workflow Full User Guide | 9 - Forms and User Displays | 1222
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="RootElement"
xmlns:vpic="clr-namespace:VantagePoint.InputControls;assembly=StatusControls"
xmlns:ppcdff="clr-
namespace:Proficy.Platform.Core.DisplayFramework.Forms;assembly=Proficy.Platform.Core.DisplayFramework"
ppcdff:FormProperties.IsSubmitVisible="False"
ppcdff:FormProperties.IsCancelVisible="False"
x:Class="SampleForm_VSSL.MainPage">
<UserControl.Content>
public MainPage()
InitializeComponent();
InitializeProficyData();
MySubmitButton.Click += OnSubmit;
Workflow Full User Guide | 9 - Forms and User Displays | 1223
MyCancelButton.Click += OnCancel;
3. In each handler, add any custom code that is required, followed by the code necessary to submit or
cancel and close the form.
//Custom Code
MessageBox.Show("Submitting");
if (FormHost != null)
FormHost.SubmitCommand.Execute();
//Custom Code
MessageBox.Show("Cancelling");
if (FormHost != null)
FormHost.CancelCommand.Execute();
4. The Submit button can be enabled or disabled depending on the interaction of the operator
with the Tasks List. For example, by adding the following call method and setting the value in
the form code, the Submit button becomes disabled after the operator performs an action:
FormProperties.SetIsSubmitEnabled(this, false).
You can use this value to ensure that a form is submitted only after valid data is entered to prevent
premature form submission.
5. To add code-designed forms to a workflow, see Configure a Form activity.
Workflow Full User Guide | 9 - Forms and User Displays | 1224
public MainPage()
ProficyComposition.SatisfyImports(this);
InitializeComponent();
InitializeProficyData();
FormProperties.SetIsSubmitVisible(this, false);
FormProperties.SetIsCancelVisible(this, false);
3. The Submit button can be enabled or disabled depending on the interaction of the operator
with the Task List. For example, by adding the following call method and setting the value in
the form code, the Submit button becomes disabled after the operator performs an action:
FormProperties.SetIsSubmitEnabled(this, false).
You can use this value to ensure that a form is submitted only after valid data is entered to prevent
premature form submission.
4. To add code-designed forms to a workflow, see Configure a Form activity.
Configure visibility of the scroll bar for Silverlight forms hosted in the Task
List
To disable the horizontal and vertical scroll bars in forms used in a web-based Task List, you can
configure the FormProperties class in order to set the visibility to false.
public MainPage()
ProficyComposition.SatisfyImports(this);
InitializeComponent();
InitializeProficyData();
// Example: Setting the Web Task List's ScrollBar Visibility property to Disabled
FormProperties.SetHorizontalScrollBarVisibility(this, ScrollBarVisibility.Disabled);
FormProperties.SetVerticalScrollBarVisibility(this, ScrollBarVisibility.Disabled);
Unlike the Task List Cancel button, there is no mechanism in place to disable a custom cancel button
when the form is configured to disallow canceling.
If you click a custom cancel button on a form where canceling is not permitted, the cancel operation fails
with an exception that is noted in the feedback zone.
1. Add Silverlight assemblies containing the custom data types and/or editors with the
UpdateSilverlightAssembly command.
2. Create a comma-separated file listing the custom data types, custom data type editors, and their
assemblies. Here’s a sample file, which can be created with the UpdateSilverlightDataType –s
command line:
*DataType assembly filename,DataType class name,DataType editor assembly filename,DataType editor class name
Proficy.Visualization.SampleControls.dll,SampleControls.CustomList,Proficy.Visualization.SampleControls.Design.
dll,SampleControls.Design.CustomListPropertyEditor
Proficy.Visualization.SampleControls.dll,SampleControls.CustomItem,Proficy.Visualization.SampleControls.dll,Sam
pleControls.Design.CustomItemPropertyEditor
3. Add custom data types and their property editors with the UpdateSilverlightDataType command.
If the assemblies in the input csv file do not have a full path, then put it in the same directory as the
assemblies.
Attributes Description
Attributes Description
The InputAttribute and OutputAttribute attributes should be used to indicate if the property should be
treated as an input or an output parameter. If neither is present then a property with a public set method
will be treated as an input parameter. If there is no public set method and there is a public get method
then the property will be treated as an output parameter. Examples of properties with attributes are shown
below:
• [EditorBrowsable]
[Input]
[System.ComponentModel.DefaultValueAttribute("default value")]
[System.ComponentModel.Description("PropertyWithInputAndOutput Description")]
• [EditorBrowsable]
[System.ComponentModel.Description("PropertyWithInput Description")]
[ParameterRenameAttribute("PropertyRenamed")]
• [EditorBrowsable]
[Output]
[System.ComponentModel.Description("PropertyWithOutput Description")]
• [EditorBrowsable]
[System.ComponentModel.Description("DirectoryResourceOutput Description")]
DirectoryResource(""); } }
Limitations
Avoid editing the following files:
• App.xaml
• App.xaml.cs
• DataItems.dat
• MainPage.Proficy.cs
Workflow\Program\Designer\Projects. The project files are stored in a sub-directory with the same name
as the project.
Related information
Specify Parameter Metadata for Silverlight Forms (on page 1226)
Note:
If this is the first time the project has been opened, the project must be saved and
assigned a project name. Save the form to store the project in the database as well as in
the filesystem.
5. Note the name of the project, which may be different than the name of the form. The name of the
project is the root node in the Project tab of the Silverlight Designer.
6. Close the Proficy Client or make sure the form is not open in the Display Editor, either by navigating
to a different form or selecting a different view in the Show Compatible panel.
7. Open the project in Visual Studio 2010.
Workflow Full User Guide | 9 - Forms and User Displays | 1230
Note:
Sometimes when a project is opened in Visual Studio using a share to the server, it may
not compile or run. This is caused by a security issue in Visual Studio.
If problems are encountered when compiling or running the file, try the following:
Related information
Edit forms using Visual Studio 2010 (on page 1228)
Note:
You may need to make minor changes to the form to enable the Save button. The form will
be rebuilt and saved to the database.
Related information
Debug Content Created in the Silverlight Designer (on page 1231)
Workflow Full User Guide | 9 - Forms and User Displays | 1231
Related information
Use logging and FeedBackService (on page 1233)
Related information
Edit forms using Visual Studio 2010 (on page 1228)
1. From the Navigator, select the Workflow > Workflows, and then add a new workflow.
2. From the Show Compatible panel, select Workflow Editor.
3. On the Overview tab, set the status to Enable.
4. On the Workflow Editor tab, add a local subprocess.
5. Set the Task Step Assignments to Override Workflow Task Assignments.
6. Set the Personnel field to the user that will log in to the Web Task List.
7. Add a Form activity to the subprocess.
8. In the Form field, click the ellipsis button to select the form you want to debug.
9. Click Save.
Related information
Edit forms using Visual Studio 2010 (on page 1228)
1. Locate the project on the server. The form's project can be found in the <Install Directory> \Proficy
Workflow\Program\Designer\Projects\{Project Name} directory on the server.
2. Open the project in Visual Studio 2010. It will have the name <Project Name>.csproj.
3. Set breakpoints.
4. Attach the project to the process to be debugged.
5. To debug:
◦ In the Web Tasks List:
a. Close all Internet Explorer instances. This will make it easier to identify the Internet Explorer
instance that is hosting the Web Task List.
b. Start the Web Task List, but do not log in.
c. Attach to the Internet Explorer process that is hosting the Web Task List. (In Visual Studio
2010, go to the Debug menu and bring up the Attach to Process dialog. Look for the Internet
Explorer processes. Look for the instance that has a type of Silverlight. Attach to that
process.)
Workflow Full User Guide | 9 - Forms and User Displays | 1233
Related information
Edit forms using Visual Studio 2010 (on page 1228)
Related information
Use logging and FeedBackService (on page 1233)
For example, insert the highlighted code snippet into your MainPage constructor:
public MainPage()
GetType().FullName);
FeedbackService.AddMessage("LoadUnload", FeedbackMessageType.Info,
message);
_logger.Info(message);
Workflow Full User Guide | 9 - Forms and User Displays | 1234
};
A more common use of the logger is to catch various exceptions and log them:
void TrySomethingRisky()
try
...
catch (Exception e)
_logger.Error(e.Message);
Related information
Debug Content Created in the Silverlight Designer (on page 1231)
This section discusses how to debug the code inside a form to get a better understanding of why the
form is behaving as it is.
There are two different scenarios described in this section. One is debugging a custom form that was
created using Visual Studio. The other is debugging a form that was created with the Forms Designer, and
also describes the capability to edit that form in Visual Studio, if necessary.
Workflow Full User Guide | 9 - Forms and User Displays | 1235
Important:
You must have Visual Studio 2008 installed on the machine on which you want to debug for either
of the scenarios in the following sections to work.
In this scenario, the source code should be found somewhere on your system; it is not
persisted in the Workflow database.
There is one symbol file for each project you created, and symbol files are needed only for
the assemblies that you need to debug into.
Tip:
Symbol files match the file name, but have a .pdb extension instead of .dll, and are
found in the same folder where the .dll is built to. As the .dll is rebuilt, so is the .pdb,
so these files must match each other in order to debug properly.
▪ When you are finished debugging the form and are ready to run in production again,
remove this as an additional file in the Display Editor. Be aware that this file will
remain on any client machines that have already downloaded it, so you must also
manually delete the file from the My Documents\Proficy Workflow\UI Assemblies\
folder. Otherwise, the symbol information will continue to be loaded each time the
form is loaded.
3. Open the project code using Visual Studio.
Open the code files you want to debug into and set your breakpoints by clicking in the extreme
left margin. Putting a breakpoint in the constructor of your form is a good idea in order to test a
breakpoint being hit.
Generally, you will do this by running a workflow that has this form specified in a form activity.
When the form is loaded into the Task List on this machine, you should see your breakpoints being
hit in Visual Studio. Alternatively, you can select the form in the navigator, and open it in the Global
Viewer. However, in this case no parameters will be passed into your form as they may be from a
workflow.
7. Stop debugging.
Debugging this form should provide some information about what is going wrong. Before you
make any changes, however, you must first stop debugging. Use the Debug menu in Visual Studio
to stop debugging, and then make your code changes, save your changes, and recompile.
Now that the assembly has changed, go to the Display Editor in the Client and upload the new
version of the assembly. In addition, if you had added any additional files (including .pdb files),
make sure you remove and re-add these to reflect the latest versions. If you had not specified .pdb
files in this manner and had only manually copied them to the folder, you must copy them again
to the My Documents\Proficy Workflow\UI Assemblies folder if you want to continue
debugging.
When you are finished debugging, review Step 2 for instructions on removing the .pdb files when
they are no longer needed.
Workflow Full User Guide | 9 - Forms and User Displays | 1237
Related information
Form Editing and Debugging (on page 1234)
The .pdb file for the form in this scenario can be found at My Documents\Proficy Workflow\UI
Projects\<formName>\bin\Debug\.
Making the .pdb files available for debugging can be done in one of 2 ways:
◦ Copy the .pdb files that correspond to the form assembly and dependencies to the My
Documents\Proficy Workflow\UI Assemblies\ folder on the machine on which you want to
debug the form.
▪ When you are finished debugging the form and are ready to run in production again,
delete these files from the My Documents\Proficy Workflow\UI Assemblies\ folder;
otherwise, the symbol information will continue to be loaded each time the form is
loaded.
◦ Add the .pdb files as additional files in the Display Editor in the Workflow client. This
automatically copies the file to the My Documents\Proficy Workflow\UI Assemblies\ folder
for all machines when they try to load this form.
▪ When you are finished debugging the form and are ready to run in production again,
remove this as an additional file in the Display Editor. Be aware that this file will
remain on any client machines that have already downloaded it, so you must also
manually delete the file from the My Documents\Proficy Workflow\UI Assemblies\
folder. Otherwise, the symbol information will continue to be loaded each time the
form is loaded.
3. Keep the source code local.
In the Designer, click the Project tab. Right-click the top node, which is labeled with the project
name, and then select Delete local copy of this project when Editor is closed. This keeps the source
code on this machine in order to enable debugging scenarios. Otherwise, the local copy of the
source code is automatically deleted when you close the Display Editor.
Workflow Full User Guide | 9 - Forms and User Displays | 1238
The project is generated as a folder on the Client machine under <Logged in user> \My Documents
\Proficy Workflow\UI Projects\AdjustTextSize. This folder can be downloaded onto the Proficy
Client machine by opening the Client and loading the form into the Display Editor.
Open the code files you want to debug into and set your breakpoints by clicking in the extreme
left margin. Putting a breakpoint in the constructor of your form is a good idea in order to test a
breakpoint being hit.
Alternatively, if you want to debug the form from within the Display Editor while you are testing it,
you can attach to FormTester.exe. This process appears only while a test is in progress.
Generally, you will do this by running a workflow that has this form specified in a form activity.
When the form is loaded into the Task List on this machine, you should see your breakpoints being
hit in Visual Studio. Alternatively, you can select the form in the navigator, and open it in the Global
Viewer. However, in this case no parameters will be passed into your form as they may be from a
workflow.
8. Stop debugging.
Debugging this form should provide some information about what is going wrong. Before you
make any changes, however, you must first stop debugging. Use the Debug menu in Visual Studio
to stop debugging, and then make your code changes, save your changes, and recompile.
Even though you have rebuilt the form locally, the changes have not been saved yet to the Proficy
system. To do this, you must first open the form in the Display Editor and click the Designer tab. A
prompt appears informing you that the source code saved for this form is different than the files on
disk. Select No so that your local changes will be used and not overwritten. Your modified project is
now loaded in the designer.
To save these source code files to the server, click the Save button on the title bar (in the upper
right corner). If the Save button is not enabled, make a minor modification to the project to trigger
an indication that it requires saving. Also, if you had added any additional files (including .pdb files),
make sure you remove and re-add these to reflect the latest versions, and then save these changes,
as well. If you had not specified .pdb files in this manner and had only manually copied them to the
Workflow Full User Guide | 9 - Forms and User Displays | 1239
folder, you must copy them again to the My Documents\Proficy Workflow\UI Assemblies
folder.
You can now test the new version of your form to verify that your changes have fixed the issue or
go back to Step 4 to debug further.
When you are finished debugging, review Step 2 for instructions on removing the .pdb files when
they are no longer needed.
Related information
Form Editing and Debugging (on page 1234)
Related information
Form Editing and Debugging (on page 1234)
Does the <formname>.pdb file exist in My Documents\Proficy Workflow\UI Assemblies\ and does
the timestamp on it match <formname>.dll? If not, choose one of the following methods to repair the
problem.
Note:
If this file is modified on disk, the file saved to the server is not automatically modified. You
must remove and re-add the file in the Display Editor.
Workflow Full User Guide | 9 - Forms and User Displays | 1240
The .pdb file is reloaded only if the .dll file has changed. If you modified the .pdb file but not the .dll file,
restart the Workflow client and then re-attach to the Workflow client to debug.
Related information
Form Editing and Debugging (on page 1234)
Localizing a Form
If you want a form to always load in a specific language, you can set the language in code behind.
Use the following code snippets to set the form in a specific language. This example uses Spanish.
C#
LanguageSwitchingManager.Current.LanguageIdentifier = "Spanish";
VB
LanguageSwitchingManager.Current.LanguageIdentifier = "Spanish"
Related reference
Language Switching (on page 926)
Context-aware displays
While forms are intended for use within a workflow, user displays are intended to live in the Workflow
client, outside the context of a workflow.
User displays are created in much the same way as forms; however, there are limitations with user
displays, as follows:
Workflow Full User Guide | 9 - Forms and User Displays | 1241
If the IsRequired property is set to true on a control's output parameter, the user will not be able to submit
the form unless this output parameter has been set to any non-null value.
The user can submit a form only if the IsValid property of all output parameters evaluate to true. The
IsValid property is typically configured with an expression.
The InvalidText property allows you to specify the error to display if a user attempts to submit the form
when the IsValid value does not evaluate to true. If you do not specify an error in the InvalidText property,
the expression configured for the IsValid property will be displayed.
SectionTitle
The Masked TextBox control has all the usual TextBox properties with an additional Mask property. At
configuration time you can enter the mask and specify the format of the mask. The following illustration
provides an example.
The following illustration shows the text box at run-time. An underscore character (_) indicates that a
letter or digit is expected.
Related reference
Common Controls (on page 729)
The Validating TextBox control has all the usual TextBox properties with additional IsValid and InvalidText
properties. The IsValid property is typically configured with an expression. The expression must evaluate
to true for the value to be considered valid.
The InvalidText property is used to specify the tooltip text to display when the value entered in the text
box is invalid.
When the data entry does not meet the validation specification, the text box outlined in red and a tooltip is
displayed, indicating the error.The following illustration provides an example.
Related reference
Common Controls (on page 729)
if (isValid)
if (ValidatingTextBox1.Text == "55")
isValid = false;
return isValid;
If this assembly is not present on all client machines already, then it should be added on the Overview tab
of the Designer to the Additional Files area. It is then downloaded to each client when the form is loaded.
On machines where the Designer will be used, the referenced assembly must also be copied into the
Program directory of the Proficy install (as a peer to ProficyClient.exe). This is not required in cases where
the Client is only running the form, but not modifying it.
Note:
Beginning with Workflow 2.5, .NET 4.5 is required to develop display or form assemblies. Custom
display or form assemblies that target earlier versions of .NET will continue to function as before.
However, saving changes made to such custom assemblies requires that they be upgraded,
which is accomplished in different ways, based on the version of .NET:
• For an assembly that pre-dates .NET 4.0, you must upgrade the assembly when you open
it. Failure to do so results in an error and the inability to save the edited assembly.
• For an assembly that targets .NET 4.0, the assembly is upgraded automatically when
opened, and changes to such assemblies can be saved as before.
Related reference
Designer: Project Panel (on page 684)
You can specify which category heading any control should be shown under by using the attributes
highlighted in the example below. You can also specify which heading a control's properties should
appear under.
using System.ComponentModel;
[DesignerCategory("Common Controls")]
new PropertyChangedCallback(OnMaskPropertyChanged)));
whether
The following procedure requires you to add additional assembly references to the form. Any additional
references should be added through the Designer to ensure that they are added properly. If a reference is
added in Visual Studio, be absolutely certain that you set the CopyLocal and SpecificVersion attributes to
false or the form may not be useable with future product releases.
In forms or user displays generated in the Designer, you can access the IServiceDirectory service from the
Host as follows:
IServiceDirectory;
The IServiceDirectory service provides access to service providers through their interface names, as
follows:
as ICustomSP;
For example, an IEquipment Service Provider method can be executed with the following code:
Workflow Full User Guide | 9 - Forms and User Displays | 1245
IEquipment;
TextBox tb = TextBox1;
tb.Text = result.ToString();
• using Proflicy.Platform.Services.Equipment.Interfaces;
• using Proficy.Platform.Core.ProficySystem.Types;
For a custom Service Provider, you require the appropriate assembly and namespace references.
Related reference
Server and Client Methods Events (on page 1114)
There are several ways to yse code snippets to programmatically sort items in a control. The following is
an example, written in C#.
In this example:
• SearchMethod is the name of the server method defined to execute the search method. An event
handler was added to the ExecutedSuccessfully event in the Designer (that is, right-click the
control, and then select Add Event Handler).
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Windows;
using System.Windows.Controls;
using Proficy.Platform.Core.DisplayFramework;
using Proficy.Platform.Core.DisplayFramework.Forms;
using System.Windows.Data;
using System.ComponentModel;
namespace SortedSearchExample
public MainForm()
InitializeComponent();
Sort("DisplayName", ListSortDirection.Ascending);
if (dataView != null)
dataView.SortDescriptions.Clear();
dataView.SortDescriptions.Add(sd);
dataView.Refresh();
}
Workflow Full User Guide | 9 - Forms and User Displays | 1247
}
Chapter 10. Building and Configuring Workflows
Workflow Design Basics
Workflow Design Basics
Workflows are configured collections of subprocesses, activities, reference data, and functional resources
that are used to complete the defined process from start to finish.
Under the Workflow model, using the Workflow Editor, you configure all aspects of a workflow's processes
and specifications that are used during production.
Workflow logic may be internal and invisible to operators; however, most of the logic requires interaction
through a user interface. Workflows that are visible to operators are called tasks, and when they
are running, they can be viewed in the Task List or Task Management display, depending upon the
permissions available to a user.
A workflow may also be composed of subprocesses. These subprocesses may only be internal and
invisible to operators; however, they must be valid (that is, contain no errors) and enabled (active) for a
workflow to run. But, like workflow, they may require user interaction. If they are visible to operators, they
are called task steps. Task steps can include their own documentation and forms, which appears to users
in the Task List display.
Tasks and task steps can be routed to different workstations based on equipment or user requirements.
For example, a task might contain an Insert Flange task step. When executed, this task step is routed
to the console of the flange insertion worker. This task step presents him with a diagram of the flange
install and a form to submit when he is finished. Sequences of task steps can be used to guide users
through complex operations. Operators can input data into forms, that can then be used by the rest of the
workflow or stored for reporting purposes.
b. Click Bind.
The Select Variable dialog box appears.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1249
5. To configure a subprocess:
a. From the subprocess configuration panel, click Override Workflow Task Assignments.
c. Click Bind.
The Select Variable dialog box appears.
6. Locate and select the resource you want to use, and then click OK.
Note:
Only one resource can be selected.
7. Click Save.
Workflow Binds
A binding allows you to specify the source from which the actual value will be obtained. When the value
for the source changes, the bound property value will automatically update, as well.
Important:
Bind values must match the displayed data type.
For some properties, you can also create a two-way binding, whereby if the bound property value changes,
the source also changes. This type of scenario is property dependent; that is, it does not apply to all
properties on all form controls.
Bindings that involve input parameters or output parameters are explicitly created as one-way bindings.
For example, if you bind from an output parameter's Value property to the Text property of a text box, then
if the text in the text box changes, the output parameter updates. However, if the output parameter's Value
property changes, the text box's Text property does not update.
Workflow Expressions
A workflow expression is an algebraic expression that defines a calculation that the system performs
at run time. Workflow expression syntax allows you to manipulate strings, test for relationships and
conditions, and perform arithmetic calculations.
You can build simple or complex expressions. They are user-defined and consist of one or more of the
following components:
• Functions
• Operators
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1251
• Variables
• Literals
Tip:
For general information on building expressions, see Expression Editor.
• workflow-level variables
• subprocess-level variables
• activity-level variables
• user activity-level vari
ables
• fault handler activity vari
ables
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1252
• data type
• bind path
• description
Note:
The default value for
date/time is always as
sociated with the current
time zone, unless a time
zone is specified using a
different function in the
expression. Any actions
performed in the same
expression using this re
sultant value uses the
current or specified time
zone for evaluation.
Note:
The property you are creating an expression for and its data type are displayed in the Expression
Editor in the upper left and upper right, respectively.
Workflow Literals
A literal value allows you to enter a static value for the resource you are configuring.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1253
Important:
Literal values must match the displayed data type.
Workflow Properties
You can use properties to further define the resource you are configuring.
Properties existing in the workflow or process scopes that are defined on the workflow are available when
authoring a global subprocess. These new properties are different from other workflow variables like local
variables or parameters because they are available on every (process) workflow definition.
Properties
The following table describes the available options.
Task Instance Expired All All Time that the task in
stance can no longer be
performed.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1256
You can create a maximum of 1000 workflows; however, the size of each workflow can affect the
performance of your system.
Activities, local variables, and expressions (used for conditions, bindings, and so on) all contribute to the
size of a workflow. The type of activity also contributes; for example, a call method uses more memory to
initialize than a simple write activity does. Each branch of an If/Else or parallel activity is considered an
activity. For example, an If/Else activity with two branches is considered three activities before you add
anything to either branch.
Keep the following guidelines in mind when you are building workflows.
• Keep the total activity count to fewer than 2000 (across all subprocesses)
• Keep the total number of variables, parameters, external events, and data items to fewer than 500
(across all subprocesses)
Note:
Global subprocesses and user activities each count as single activities regardless of the
number of child items they contain. These activities can be used to help reduce the size of your
workflows.
Important:
Data item limits include child activities.
Note:
This procedure applies to subprocesses and subprocess activities.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
This procedure applies to subprocesses and subprocess activities.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If you navigate from the editor and then return, you cannot undo or redo previous tasks in the
workflow.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Click... To...
Print a workflow
Note:
If you navigate from the editor and then return, you cannot undo or redo previous tasks in the
workflow.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If you navigate from the editor and then return, you cannot undo or redo previous tasks in the
workflow.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
Do this... To...
Note:
This procedure applies to subprocesses and subprocess activities.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1261
Tip:
Click Show All to automatically fit the workflow to your current view.
Workflow Foundations
Workflow Foundations
This section provides you with general information about workflows, from information you need to
develop them to running them.
Tasks
Workflow tasks are accessible when a workflow has been put into a run time state. When a workflow is
running, the task information is available to the computers and operators assigned to that task or task
step, as well as to administrators.
Tasks can be broken down into multiple task steps by defining subprocesses that contain specific
information on how a task should be completed. If a workflow is set as a continuous workflow, then each
running loop finishes the post process and starts a completely new running workflow within the Task List.
When a workflow is created, enabled, and saved, it is available to be executed. Part of creating a workflow
includes determining operator tasks, such as deciding task priorities, writing work instructions, linking
required documents, assigning personnel and equipment, configuring conditional events, and setting task
expiration. These tasks are defined in the Workflow Editor.
Task step information is displayed in the Task List in General Operating Environment or in Task
Management for Adininistrators while a task is being processed. Users, such as operators or
administrators, can see all tasks that need to be performed for a running workflow. In the Task List, an
operator can filter the tasks or task steps to include only his own, or he can view all tasks and task steps
assigned to him. Higher level users, such as administrators, can view this same information in Task
Management.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1262
Tip:
The Workflow Task List can be integrated into other GE HMI applications. For more information,
see Task Controls in GE HMIs.
These execution control functions invoke the appropriate human, equipment, and application resources
necessary to complete a process. They act as the link between the process as modeled within the
workflow and the process as it is seen in the real world.
The workflow execution engine is also responsible for starting and ending a workflow instance,
controlling activity scheduling within an operational process, interacting with applications, process
equipment, and human resources. This can be distributed across a number of computing resources to
cope with the volume of processes that operate within a facility.
The execution engine records internal tracking data in workflows that includes the state information
associated with a running workflow instance. The execution engine persists the workflow instance
state when a subprocess completes. The persisted state can be used to recover and restart a
workflow instance from failure conditions, or if it was stopped. If a workflow is stopped normally, the
postsubprocess, postprocess, and unload steps run before the instance stops (they will not run if the
server crashes). The workflow instance can continue from the start of the current subprocess by using
the restart command. When this happens, the instance restarts by running the load, preprocess, and
presubprocess steps. Then it restarts at the beginning of the subprocess that was running before the
workflow stopped.
You can interact with the execution engine to monitor, troubleshoot, and debug a running workflow. This is
a critical feature that allows you to identify and diagnose any issues with a workflow or any of its activities
to work towards completion of the instance.
Persistence in Workflows
The execution engine records internal tracking data in worflows that includes the state information
associated with a running workflow instance. The execution engine persists the workflow instance
state when a subprocess completes. The persisted state can be used to recover and restart a
workflow instance from failure conditions, or if it was stopped. If a workflow is stopped normally, the
postsubprocess, postprocess, and unload steps run before the instance stops (they will not run if the
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1263
server crashes). The workflow instance can continue from the start of the current subprocess by using
the restart command. When this happens, the instance restarts by running the load, preprocess, and
presubprocess steps. Then it restarts at the beginning of the subprocess that was running before the
workflow stopped.
You can define a process or workflow, which is normally comprised of a number of steps with a logical
execution path. Each step can involve manual interaction with a user or can be automated with your
equipment. This software enables your process to follow and record the outcome of the execution.
Workflows are configured collections of subprocesses, activities, reference data, and functional resources
that are used to complete the defined process from start to finish.
Workflow Foundations provides you with general information about workflows, from information you need
to develop them to running them.
The Task Management display shows task and task step information related to the corresponding
Equipment, Personnel, or Proficy System Computers as selected in the navigator.
The workflow configuration panel in the Workflow Editor allows you to configure task details, properties,
parameters, variables, events, namespaces, and data sources for workflows.
A subprocess is part of a user-defined process in a workflow. For a workflow to run, all subprocesses
must be valid (contain no errors) and enabled (active).
Global subprocesses allow you to develop and store standard and frequently used subprocesses. These
subprocesses can be reused in various workflows. They are preconfigured and then are available in the
Global Subprocesses list where you are creating your workflow.
When a global subprocess is inserted into a workflow, you can change it to a local subprocess. Then, you
can configure the subprocess to meet the specific needs of the currently selected workflow.
Activities comprise the main building blocks or steps that perform the actions in a subprocess or
workflow.
Schedules are used to run a workflow when an event occurs and provide more configuration options for
specific workflows; however, they are created and executed separately from workflows.
Faults are errors or failures that occur within a workflow while it is running.
You can test and review workflows before they become part of your production environment by
performing basic tests and verifying instance control.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1264
The debugging function allows you to locate and isolate an error in your workflow in order to fix it before
the workflow is used in a production environment.
The Tracking Configuration tab allows you to track subprocess or workflow level data and local variables
while a workflow is running.
The Web Services Service Provider extends Workflow capabilities by allowing you to use SOAP (Simple
Object Access Protocol) web services that provide WSDL(Web Services Description Language) metadata.
Workflow publishes a web service, IWorkflowWebService, that allows schedule operations. You can
browse all configured workflow schedules and start one or more of them, as well as get information on
running workflow instances.
Categories allow you to organize the resources associated with your workflows.
Completion codes indicate how a subprocess finishes, and may change depending on the outcome of the
subprocess execution.
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
The Workflow Task List can be integrated into other GE HMI applications.
Service interfaces allow you to access one or more call methods that you can use when developing your
workflow.
eSOP (Electronic Standard Operating Procedures) offers a simplified solution for managing and
developing workflows. It increases the efficiency of your development process by utilizing differing skill
levels to develop the final workflow product.
You can use the REST APIs to interact with the Workflow application over the Internet.
All workflows are process-oriented. A workflow is a representation of what happens as the result of
executing the process. It is made up of subprocesses, which are made up of activities. A subprocess is
a grouping of activities that accomplish a specific outcome. An activity is a single logical action within a
subprocess and is the smallest unit of work that can be performed within a process.
A scheduled task contains all necessary information about the process to enable it to be executed by the
workflow execution engine. A scheduled task specifies when a process begins (that is, when it enters a
run-time state, or becomes a workflow instance), the event that triggers it, who the instance is assigned
to, the specific location it must be performed, or what inputs/outputs are required.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1265
When the workflow definition begins running, the load step starts and any activities within this step run.
After the load step runs, the preprocess step is triggered, which begins the process event cycle.
When the preprocess step finishes, the body of the process begins. The body consists of the
presubprocess and postsubprocess steps, as well as a subprocess and flow control activities such
as If/Else and Parallel activities. A process can also consist of one or many subprocesses and each
subprocess has zero or more activities grouped together within it. The cycle of presubprocess,
subprocess, and postsubprocess run until all the subprocesses within the process are complete. The
postprocess step begins after the last subprocess ends. When the postprocess step ends, the unload
step begins. When this step finishes running, the workflow instance ends.
The standardization of these process steps is important because it gives you the flexibility to define a
workflow and each step in a manner that is most effective and relevant to a specific process and the
needs of your business. However, for a workflow as a whole to be functional, you must add activities into
the process steps. See Activities Used to Create Workflows for information on building your workflow
definition.
The process steps described below run during a workflow instance at least once; however, the process
flow is modified when:
When an unhandled fault occurs, the current subprocess ends at the fault, but the workflow instance ends
in the normal way. That is, the postsubprocess, postprocess, and unload steps run before the instance
completes.
When a workflow runs in a continuous loop, the load step runs once during its first execution cycle.
For subsequent cycles, the workflow repeats the process cycle starting with the preprocess step and
continues through the postprocess step. The load step does not run again. The continuous loop cycle
continues in this way until the process is shutdown or an unhandled fault occurs. At this point, the unload
step runs and the workflow instance ends.
A workflow instance can also be stopped while it is running. The workflow is halted in a controlled
manner, but it is still live, which means that it still available to run by restarting it.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1266
Load
The load step is the first step in a workflow cycle. It is used to perform a one-time only setup for the
workflow instance.
The load process is a good starting point to add initial data common setup procedures inherent to your
process. It is also a good starting point from which to facilitate the completion of other subprocesses
located within the workflow instance. By using the load step in this manner, you can ensure that the
necessary steps for the process are enabled and executed.
If the workflow is set on a continuous loop, this step only runs once.
Preprocess
The preprocess step starts after the load step ends. This step performs any initialization work required for
the process.
If the workflow is set on a continuous loop, this step becomes the first step reinitiated after the
postprocess step ends. The continuous loop then runs between the preprocess and postprocess steps.
The only time this loop breaks is if an end command is used or an unhandled fault occurs. The workflow
then continues through the rest of the steps to the unload step.
Presubprocess
This step performs any initialization work required for the subprocess.
The presubprocess step starts after the preprocess step and at the beginning of every subprocess. It
allows a variety of input and output scenarios to be completed before each subprocess starts.
For a workflow to run, all subprocesses must be valid (contain no errors) and enabled (active).
A workflow must be constructed of one or more subprocess. Each subprocess is a self-contained entity
where the majority of the logic is added to run a workflow. Subprocesses group a set of related activities
in a workflow and appear as a single task step. A subprocess can exist only between the presubprocess
and postsubprocess.
Subprocesses allow you to create a series of steps to accomplish a task, assignment, event-driven, or
activated process. The contents of a subprocess consist of activities that can be placed in any order
depending on the requirement. You can think of the contents of a subprocess as a workflow without the
defined structure and in a simple linear path.
Within a subprocess activity, you can select a manual start option for a workflow. This option allows
you to configure a subprocess to be either an automated aspect of a workflow, or to require operator
interaction within the workflow process. When the manual start check box is cleared, the subprocess
runs automatically when the workflow is activated. When this check box is selected, the workflow stops
when a manual start subprocess is reached within the workflow. At this point, an operator is required to
intervene in the process and complete an action before the workflow can continue.
Within a workflow definition, you can select a continuous option for the workflow instance. However, in a
continuous loop, you cannot loop a single subprocess. During the continuous loop, every step from the
preprocess to the postprocess is completed in the continuous loop cycle. You can, for example, put in
conditional activities to facilitate a small loop inside of the subprocess in case a step is not completed or
an error found.
Inputs and outputs of a subprocess can be linked from and to other subprocesses or execution cycle
steps. For example, you can create a dependency on the output of subprocess1 for subprocess2, or the
input of subprocess1 is dependent on the output of the preprocess or load steps. Therefore, you can
ensure that at each step of the execution cycle, there are dependencies that must be met before the cycle
can continue onto the next step.
Subprocesses also have a built-in completion code variable that is always tracked. While a subprocess is
running, this variable can be set to any available completion code for a project. A default value must be
supplied for this completion code.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1268
Note:
You can configure up to 1000 subprocesses.
Postsubprocess
The postsubprocess step starts after the subprocess, and at the end of every subprocess listed.
This step performs any uninitialization and recording work required for the subprocess. It allows a variety
of input and output scenarios to be completed after each subprocess ends. At the end of this step,
tracking data for the subprocess is recorded, including the completion code and any tracked subprocess
variables.
Properties
The following table describes the available options.
Postprocess
The postprocess step completes a workflow before the unload step starts.
The postprocess activities are identical to any subprocess, but the setup of these activities is different
because it is the end of the workflow cycle. At the end of this step, tracking data for the process is
recorded, including any tracked process variables.
If the workflow is set on a continuous loop, this step is the last step. The workflow runs through the
postprocess and then starts again at the preprocess step. The only time this loop breaks is if an end
command is used or an unhandled fault occurs. The workflow then continues past the postprocess step
to the unload step.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1269
Unload
The unload step is the last step in a workflow cycle.
When the unload step is triggered and its activities are finished running, the instance ends.
Resource View
The Resource View provides you with more information at a glance of certain properties associated with
workflow and schedule resources.
These properties are in a table that you can sort by clicking on a column heading.
Tip:
To view the properties associated with workflow resources, select View Workflows. To view the
properties associated with schedule resources, select View Schedules.
Note:
This section indicates
the latest version used,
not all versions available.
Last Modified Workflows and Workflow Sched Indicates the date and time the
ules resource was last modified.
Category Workflows and Workflow Sched Shows the name of any cate
ules gories that are assigned to the re
source.
This information is generally used by administrators for high-level navigation. A user with the appropriate
security permissions can view all tasks and task steps routed to any selected location, personnel, or
resource. For example, all instances of a specific computer being used to perform certain tasks. As a
result, administrators can oversee all running tasks.
The Task Management display appears identical to the Task List; however, there are actions you can
perform and displays that are visible only in the Task List. For example, the ability to acquire tasks and
provide input through the Task Inputs tab is only available in the Task List.
Information that is displayed only in Task Management include tasks that have missing resource
information, such as equipment or personnel assignments.
Run-time Status
A workflow whose status is set to Enabled can be used in a live production environment. All resources,
such as schedules, associated with that workflow must also be enabled. A workflow whose status is set
to Disabled cannot be used in a run-time state; however, it can be edited and run in test mode.
Note:
If a workflow is a duplicate of another enabled workflow, it must be enabled again after it is
duplicated.
Instance Behavior
You can define the allowed behavior of a workflow. Select from the following options:
Tip:
Persistence is disabled by default, which provides better performance of your workflow.
To support recovery in the event of server problems, or to stop and restart your workflow,
enable persistence by removing the selection from this check box.
Related information
Workflow Execution Engine Overview (on page 1262)
For... Do this...
4. On the Overview tab, in the Workflow Instance Behavior section, select the appropriate check box
for your workflow.
◦ To run more than one of the same workflow at the same time, select Allow multiple
instances of this workflow to be running at once.
◦ For better workflow performance, select Disable persistence for instances of this workflow.
◦ To restart stopped instances, select Automatically restart stopped instances of this
definition on server start.
5. Click Save.
Click... To...
In the workflow display, you can choose a specific workflow instance to view, or you can view all instances
of the selected workflow. If you select Show all instances, information for all current workflow instances
displays. If you select Show instances of selected object, information for only the selected workflow
instance displays. This display also provides information on the current runtime and debug state of the
workflow instance.
You can use the headings of this display to sort workflow instances. For example, if you click on the State
heading, all workflow instances are sorted alphabetically by state.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1273
Instance Details
This section provides general information about a selected workflow instance, such as the Instance ID,
the name of the workflow definition and the schedule it is attached to, the date and time the instance was
started, as well as how it was started. The values of input parameters passed to this workflow are also
listed in this section.
Instance Control
This section allows you to interact with a selected workflow instance. You can control it through the
following commands:
• Stop
Use this button to halt the workflow by cancelling the current subprocess and executing the post-
process steps.
• Restart
Use this button to reset the workflow instance at the start of the current subprocess and continue
running it. You can use this button to restart a workflow if it has not been configured to restart
automatically.
• Terminate
Use this button to end the workflow instance at the current execution point. The post-process
steps do not run and the instance cannot be restarted.
Debugging Control
This section allows you to start a debugging session for a workflow instance. For more information on
these commands, see Debugging a workflow instance.
Compile Errors
Compile errors occur when there is a problem with a workflow and it cannot execute.
Workflow Errors
When a workflow resource is invalid, such as a subprocess or user activity, you receive an error message
that you can view in the Overview section of the Workflow Editor, or in the Feedback Zone. The type of
errors you see can be either configuration errors, such as a broken binding, or external errors, such as a
missing resource being referenced in the workflow (for example, a data item). You can use the compile
feature to resolve an issue with external resources only. For example, if you restore a missing piece of
equipment, you can use the Compile button to make the workflow valid.
Note:
You can use the compile feature to resolve an issue with external resources only.
5. After you fix any external errors associated with the workflow (such as data items, events, or
missing equipment), click the Compile button.
6. Click Save.
Version Control
You can update workflow resources (workflows, subprocesses, user activities, and schedules) while a
workflow is running. This information is displayed in the Overview section when you are configuring your
workflow.
You can modify enabled workflow resources without stopping all of the running workflows that are
associated with those resources. As a result, you can make changes that affect an existing workflow both
in a development and production environment. All existing running workflows will continue to run with the
older version of the workflow until that workflow has terminated. Any newly started workflows will use the
new revision.
Related reference
Workflow Instance Management (on page 1270)
Related information
Add manual version control to a workflow, subprocess, user activity, or schedule (on page 1275)
Related reference
Workflow Instance Management (on page 1270)
Task Configuration
Task Configuration
The workflow configuration panel in the Workflow Editor allows you to configure task details, properties,
parameters, variables, events, namespaces, and data sources for workflows.
Under the Task Details tab in the Workflow Configuration Panel, you can input or attach more information
related to a workflow that helps a user perform tasks in the Task List or Task Management.
Important:
To validate the workflow, a location and/or personnel task assignment must be selected.
The following procedures indicate the basic steps involved in creating a simple workflow with a web form.
Tip:
Text fields can be used to display read-only information, such as headings or titles on your
form. Text boxes can be used for processing operator input.
Note:
For a video tutorial of this topic, use a browser to open http://www.youtube.com, and then search
for GE Proficy Workflow - Developing a Web Form for a Workflow.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1277
1. Log in to Workflow.
a. Launch Workflow client using either the Start menu or desktop icon.
c. Optional: In the Authentication Type setion, select the type appropriate to your user profile.
f. Click OK.
b. In the Form Fields section, click the Text form control to add the field to your form.
Tip:
You can add multiple text fields, as well as other form controls. Each text control is
labelled and numbered in the Name field in sequence; for example, Text1, Text2, and
so on.
i. In the Name field, enter a unique identifier by modifying the existing text. For example,
enter Text Control Name. For example, enter Text Control Name.
ii. In the Text field, enter content that is displayed to the operator and provides more
information about the form. For example, enter Form Title.
iii. In the Size field, from the drop-down list, select a text size.
iv. In the Alignment field, from the drop-down list, select an alignment value.
a. In the Form Fields section, click the Text Box form control to add the field to your form.
The Layout area displays the basic configuration for your form.
c. Click Save.
5. To view your form or display, in the Displays panel, click Global Viewer.
6. Create a workflow resource.
a. In the navigator, click Workflow > Workflows.
b. Click Add Workflow.
c. In the Name field, enter a name, such as My First Workflow.
d. In the Description field, enter clarifying information about the workflow resource, such as
This is my first workflow.
c. From the Standard Activities panel, drag and drop a Form activity into the subprocess.
e. In the Name field, enter a name, such as WebFormActivity, and then click OK.
f. From the activity configuration panel, in General Settings, click the ellipsis button next to the
Forms field.
The Universal Browser appears.
g. In the Universal Browser, click Global Displays > Forms, and then select the form that you
created, My First Form.
i. Click Save.
9. Add activities to the subprocess to display form information to and request input from an operator.
You can bind user input from the form's text box control (step 4) to workflow variables. For
example, you can add a Status Message activity to your subprocess in order to deliver a message
to your operator regarding a particular task, and request input.
a. From the Standard Activities panel, drag and drop a Status Message activity into the
subprocess after the Form activity.
b. From the activity configuration panel, in General Settings, click the drop-down arrow next to
the Message field, and then select Expression to bind the message in your form.
c. In the Enter Expression field, enter the following expression: "User entered:"+
e. Expand the Form activity, WebFormActivity, that you added to the subprocess.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1280
f. To complete the expression, double-click the text box value, Text Box Control Name.Value,
that you created in step 4.
You have created the following expression: "User entered:"+{WebFormActivity}.{Text Box
Control Name.Value}
g. Click OK.
h. From the Standard Activities panel, drag and drop a Delay activity into the subprocess after
the Status Message activity.
i. In the Timeout field, select the seconds section, and then use the arrows to set a 5-second
delay.
j. Click Save.
d. In the Description field, enter clarifying information about the resource, such as This is my
first schedule.
f. In the Displays panel, click Workflow Management > Workflow Editor > Overview.
i. In the Start Task Filter section, select the Is schedule visible in Start Task window check
box.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1281
j. Click Save.
d. Click Start.
The task that you created is now visible in the Task List. You can enter data into the form,
view work instructions, and submit changes.
Tip:
For Vision users, click the TASKS tab to see pending workflows.
Note:
Filter categories are used exclusively to filter tasks and task steps within the Task List. Categories
that are associated with resources are used to group those resources and to allow you to search
for and find those resources more effectively.
Administering Filters
You use the Filter Editor to manage filter configuration.
• associate the filter with personnel classes, users, computers and/or pieces of equipment; and
• specify predefined filter criteria.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1282
Through a combination of assignments and criteria selection and configuration, you determine the
conditions under which a filter is displayed in Task List, as well as the tasks or tasks steps that are
displayed when an operator enables a filter.
Note:
To ensure that Task List users are able to work with Predefined Filters and Personal
Filters during run time, you must assign permissions to those users. Some users, such as
administrators, may have automatic permissions.
Note:
You can enter whole
numbers only, such as 0,
1, 2, 3, and so on.
Note:
All task steps that have
been acquired by another
operator are hidden.
Not Started
A manual start is
required.
Running
In execution.
Completed
Completed as re
quired.
Cancelled
Cancelled by the
operator or system.
Skipped
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1284
No executed due
to jump action or a
condition branch.
Note:
If a task or task step ex
pires while the filter is
on, the task or task step
will continue to be dis
played in the Task List.
determine the Task List users who have access to a given filter, such that the user must be among either
the associated users or personnel classes; must be working on an associated computer; or must be
working on a task or task step related to an associated piece of equipment. A filter can be applied to
multiple resources, and a resource can have multiple filters applied to it.
Note:
When duplicating an equipment resource, any Task List filters that are assigned to the original
equipment resource will not be automatically assigned to the new resource. Instead, you must
manually assign the filter to the new equipment resource, as described beginning at step 6 of this
procedure.
a. In the Task Name field, enter text related to the name of an existing task.
b. In the Priority field, enter a number (for example, 6), a range of numbers (for example, 1-5),
or a series of ranges or numbers (for example, 1-5, 10, 12-22) that represents the number
that was assigned to the task when configuring the workflow, to indicate the task's priority
for filtering purposes.
Note:
You can enter whole numbers only, such as 0, 1, 2, 3, and so on.
c. To view steps that apply to you only, select the Only show my task steps check box.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1286
d. Set the values for the Task Step State criterion by selecting from the corresponding drop-
down list.
State Description
Not Started Task step has not been reached in the exe
cution cycle yet.
Running In execution.
e. In the Categories field, select the check box, and then click Set Categories to select a
preconfigured category.
f. Set values for the Assignments criterion by selecting the related check box, and then:
▪ For location, click Set Location(s) to select one or more resources.
▪ For personnel, click Set Personnel to select a resource.
g. Select the option applicable to the type of expiration filter that you want to configure, and
then specify the related value.
▪ Select Expires In to set how long from the current time the task or task step will
expire.
▪ Select Expires Before to set the date and time the task or task step is scheduled to
expire.
9. Continue selecting from the lists that appear until you find the resource that you want to associate
the filter with.
10. Click OK.
11. For each resource that you want to associate the filter with, repeats steps 7-10.
12. Click Save.
You must already have added the filter resource to the Workflow model as well as added the related
resources to personnel classes, equipment, users, and computers to perform this procedure.
To... Do this...
To... Do this...
c. Click OK.
Break the association between the Task a. Select the resource listing.
List filter and one or more resources b. Click Remove.
Related information
Configure Task List filter assignments and criteria (on page 1285)
You must already have added the filter resource to the Workflow model as well as added the related
resources to personnel classes, equipment, users, and computers to perform this procedure.
1. From the navigator, select the model that contains the resource you want to work with.
In the next pane, a list of resources appears.
2. Continue selecting from the lists that appear until you find the resource you want to work with.
3. In the Displays panel, click Workflow Management > Filter Assignments.
The Filters tab lists the filters currently associated with the resource.
4. From the Filters tab, edit the filters associated with the resource as required.
To... Do this...
To... Do this...
d. Click OK.
Related information
Configure Task List filter assignments and criteria (on page 1285)
You can add Filtering Categories to workflow tasks and/or subprocess/global subprocess task steps.
Task Assignments
Task assignments include routing workflow task to a location or personnel resource depending on the
requirement of the workflow.
Important:
To validate the workflow, a location and/or personnel task assignment must be selected.
However, if you are creating a workflow for a web-based environment, you should not assign a
specific computer as a location.
Tip:
You can use a Write Activity to change some property values at run time.
Tip:
Click the arrow to bind
this location to a select
ed variable. Click the ar
row to bind this location
to a selected variable.
You can bind this item to
defined variables.
Tip:
Click the arrow to bind
this location to a select
ed variable. Click the ar
row to bind this location
to a selected variable.
You can bind this item to
defined variables.
Note:
When location is configured at the workflow level, the settings are applied to all subprocesses in
the workflow unless they are overridden on the subprocess.
Note:
Only one resource can be selected.
Note:
When personnel are configured at the workflow level, the settings are applied to all subprocesses
in the workflow unless they are overridden on the subprocess.
Note:
Only one resource can be selected.
Tip:
You can use a Write Activity to change some property values at run time.
Continuous check box User-defined; Workflow level Select this check box to set the
workflow to run in a continuous
loop.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1293
Related reference
Workflow Process Steps (on page 1265)
Tip:
You can check the syntax and test your expression to ensure that it evaluates correctly.
3. Click OK.
4. Optional: To disable the expression and remove the loop, clear the Continuous check box.
Note:
The expression is not removed. As a result, it can be reinstated at a later time.
Task Name
Task Name is a general read property that is available at the workflow level.
Tip:
With these properties, you can build an expression or perform a bind.
Note:
This property can be
used in a Write Activity.
8. To remove the task name, click the arrow next the property you want to clear, and then select Reset
to Default.
9. Click Save.
Highlight Color
Highlight Color is a general writable property that you can use to emphasize a task or task step during run
time. When viewing these tasks during run time, you will observe a bar of color on the task that you set a
color against.
Tip:
With this property, you can build an expression or perform a bind.
Tip:
You can use this property
to either:
• bind to another
Color object or to
a string that con
verts to a Color, or
• use in a Write Ac
tivity to change
the property at run
time.
The following procedure contains more than one method for configuring color. Select the method that
suits your run-time workflow requirements best.
subprocess task step Drag and drop a Local Subprocess into the
workflow and click it, or click an existing sub
process. Click the Task Step Details tab.
a. At the workflow level, on the General tab, click Edit next to Local Variables.
The Edit Local Variables dialog box appears.
b. Click Add.
d. In the Initial Value field, enter a color value (for example, red), and then click OK.
Note:
You cannot use an irrelevant string value, such as abcdefg, or an invalid hex code.
f. In the Highlight Color field, select Bind from the drop-down arrow.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1297
g. From the Workflow Local Variables properties, select the string value that you entered
earlier, and then click OK.
h. Go to step 10.
8. To set the highlight color to another property of type Color, perform the following steps.
If you want to add the color from one subprocess to another subprocess, you require more than
one subprocess in the workflow.
b. In the Highlight Color field, select Bind from the drop-down arrow.
The Select Variable dialog box appears.
c. From the properties of the workflow or subprocess that contains a configured color value,
select Highlight Color, and then click OK.
d. Go to step 10.
a. Double-click a subprocess, insert a Write activity, and then click Add Write.
The Select Variable dialog box appears.
11. If required, from the drop-down arrow, select Bind to bind to another Object type or String property.
12. To remove the color, click the arrow next to the property you want to clear, and then select Reset to
Default.
13. Click Save.
If the task/task step action or form for your run-time workflow requires a signature, select the Signature
Required check box.
Tip:
You can bind these properties to a resource related to a workflow or subprocess.
Tip:
You can bind this property to a resource related to a workflow or subprocess.
1. You can configure an electronic signature from various locations within a workflow depending on
which action during run time you want to set an electronic signature against.
2. On the configuration panel, in the Electronic Signature Settings area, select the Signature Required
check box.
3. In the Valid Performers field, click the ellipsis button to select the security group (personnel
resource) that the signature performer must be a member of.
4. If you want the task/task step action or form to close and the workflow to proceed if the electronic
signature fails, select the Close if Signature Fails check box.
Note:
A task/task step action or form can be cancelled without a signature if it has been
preconfigured to do so; however, if you cancel, the task step is skipped and the workflow
continues.
5. If a second signature is required before the task/task action or form can be submitted, do the
following.
a. Select the Verifier Required check box.
b. In the Valid Verifiers field, click the ellipsis button to select the security group (personnel
resource) that the signature verifier must be a member of.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1301
6. In the E-Signature Description field, enter a description of the action being performed or the values
that were entered on the task/task step action or form. This description is recorded with the
electronic signature record.
7. Click Save.
The following examples describe how to use binding for valid performers and verifiers.
You develop a global subprocess that will be used in multiple places in your facility. In this subprocess
you have included a form activity that is configured with electronic signature requirements.
One of the workflows that uses the subprocess controls Line A and the other workflow controls Line B.
You want to ensure that a different group of users can sign this form. For example, for Line A, the group
Line A Operators must perform the signing; for Line B, the group Line B Operators must perform the
signing.
To ensure that the correct group of users can sign the form, configure an input parameter for the
subprocess so that the security group DirectoryResource data type is passed into the subprocess. On the
form activity, bind the Valid Performers group property to the value of the input parameter.
In this way, you can specify different valid groups based on the workflow the subprocess is being used in
without having to rewrite or duplicate your subprocess logic.
II: Bind a valid performer or verifier to the current value of a data item
To use this method, use a Search call method (see IDirectorySearch service interface) to dynamically get
to a different security group and bind to its result.
Note:
If you follow either of these examples to configure a binding that uses a DirectoryResource data
type, you must ensure that your logic is correctly set up so that it resolves to a security group at
run time.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1302
Tip:
With these properties, you can build an expression or perform a bind.
Tip:
This property cannot be
set at run time using a
Write Activity.
You must have a second workflow or schedule preconfigured with Auto Select to be able to add it to a
Start Workflow (or Start Schedule) activity.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1303
Tip:
You can also perform the same procedure with the Start Schedule activity.
Note:
If you select Bind, you must select a template workflow.
10. Optional: In the Template Workflow field, click the ellipsis button to select a template workflow.
11. Click Save.
You can use Auto Select in a workflow with parallel subprocesses in order to select a task step other than
the first subprocess in the Parallel activity.
5. Insert a Parallel activity, and then add a Local Subprocess to each branch.
6. Configure each subprocess, and then select the second one to run this subprocess instead of the
first.
Tip:
You can have more than two branches and set Auto Select on whichever subprocess
meets your requirements.
7. From the subprocess configuration panel, click the Task Step Details tab.
8. From the Auto Select drop-down list, select True to ensure that the task execution receives priority
during run time.
9. If required, create an expression or perform a bind to set parameter values.
10. Click Save.
Note:
To view the full list of properties, select the Advanced check box.
9. Select one of the following client methods, and then click Finish.
◦ To automatically select a task at the workflow level, click Set Selected Task.
◦ To automatically select a task step at the subprocess level, click Set Selected Task Step.
10. Based on the source selected, configure the following property.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1305
◦ If you set a task, in the Task Name field, enter the related name.
◦ If you set a task step, in the Task Step Name field, enter the related name.
11. If required, create an expression or perform a bind to set parameter values.
12. Click Save.
Parameters
Parameters are used to pass data into and out of a workflow or subprocess, so that they can interact with
other workflows and subprocesses.
There are two main types of parameters: input parameters and output parameters.
Tip:
You can use a Write Activity to change some property values at run time.
Parameter Attributes
The following table describes the available options.
Tip:
See section on each attribute for configuration.
10. From the Parameters list, select the parameter you want to work with.
11. From the Details list:
a. In the Name field, enter a name.
b. From the Type list, select a data type.
c. From the Direction list, select either In (for input) or Out (for output).
d. Optionally, in the Description field, enter more information for this attribute.
12. Optional: To change this value at run time, use a Write Activity.
13. Click OK, and then click Save.
Local Variables
Local variables are used as local data sources that are available to the running workflow during the
lifetime of the workflow instance.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1307
Local variables can be written to by an activity bind or from a Write activity. For example, you have a
workflow with a subprocess called Subprocess1, and the subprocess contains two activities: Activity1
and Activity2. Subprocess1 also contains a local variable called Variable1. When the workflow runs and
reaches Subprocess1, Activity1 writes to Variable1. Activity2 can now read from Variable1, and Variable1
can be manipulated depending on the type of activity that Activity2 is defined as.
Local variables can be defined at both the workflow and subprocess levels. Subprocess local variables
can be accessed only from within the specific subprocess they were created in, whereas workflow level
local variables can be accessed from anywhere within the workflow. For example, an activity in one
subprocess can write to a workflow local variable, and in turn be accessed again in another subprocess.
Tip:
You can use a Write Activity to change some property values at run time.
Allow tracking for this variable N/A Select this check box to add the
local variable to a trackable vari
ables list in Tracking Configura-
tion, and to ensure that data relat
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1308
Important:
To track a variable, you
must also select it in
Trackable Variables in
the Tracking Configura
tion tab.
Note:
To view a tracked vari
able after a workflow has
run, enable tracking at
both the process (work
flow) and subprocess
level.
Related reference
Tracking Data in Workflows (on page 1527)
Related information
Configure or modify a local variable for a workflow or subprocess (on page 1308)
Attributes include:
• parameters
• local variables
• data items
• external events
• namespaces
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1309
b. In the Folders list, select the resource type you want to work with.
c. In the resource type list, select the resource you want to work with.
f. To configure a workflow: From the workflow configuration panel, click Edit next to the
attributes collection you want to work with.
g. To configure a subprocess, double-click the subprocess you want to work with. Then, from
the subprocess configuration panel, click Edit next to the attributes collection you want to
work with.
Tip:
See section on each attribute for configuration.
2. From the Local Variables list, select the variable you want to work with.
3. From the Details list:
c. In the Initial Value field, enter a value that corresponds to the data type.
d. If applicable, select or clear the Allow tracking for this variable check box.
e. Optionally, in the Description field, enter more information for this attribute.
Note:
To view a tracked variable after a workflow has run, enable tracking at both the
process (workflow) and subprocess level.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1310
Data Items
Data items are data bound to data sources that are external to the current workflow. If the data item has a
defined data type, then the data item acts as a local variable of that data type.
For example, you can create a data item bound to the value of an iFIX tag. Each time the data item is
accessed, the current value of the iFIX tag is returned. You can use this data item in an expression to
determine a branching condition, which uses external data to drive execution of the workflow.
Note:
You can configure up to 50 data items for each workflow definition.
You can specify the run-time data source data items in both Workflow Schedules and in the Workflow
Editor Test tab. The data item configured in the workflow is used as a template to validate that the one
chosen in the schedule is the correct data type.
In order for a parameterized data item to be effective, a run-time data source must be in a workflow. The
parameterized data item on a subprocess cannot be directly linked to a data source; it must be bound to
a workflow data item. This also means that it cannot be bound to a parameterized data item defined on
another subprocess. If the parameterized data items are either unbound or are bound to an incompatible
workflow data item, your workflow will not be valid.
Data items are also used indirectly. For example, when you use multiple columns of data, or when
advanced configuration of the read or write is required, you must use a Read Data Items or Write Data
Items activity to access the data item.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1311
Data items can also be used in Create Event activity expressions by binding an event variable to a data
item. For more information, see Conditional Events.
Note:
Values displayed in the activity configuration panel are the default values of the selected data
item. If you change the values in this configuration panel when configuring an activity, then these
new values will be used.
Make this data item a parameter System-defined Select this check box, to config
ure the data source in Workflow
Schedules and the Workflow Edi
tor Test tab.
Valid Event Variable System-defined Indicates that the data item can
be used as an event variable.
This information displays after
you have added a data source.
For more information, see Condi-
tion Event ExpressionVariables.
Attributes include:
• parameters
• local variables
• data items
• external events
• namespaces
Tip:
See section on each attribute for configuration.
10. From the Data Items list, select the item you want to work with.
11. From the Details list:
b. In the Data Source field, click the ellipsis button, and then select and configure the required
data item.
See Configure a data source item for a resource.
c. If applicable, select or clear the Make this data item a parameter check box.
d. Optionally, in the Description field, enter more information for this attribute.
Note:
Parameterized data items defined on a subprocess must be bound to data items defined on a
workflow when the subprocess is added to a workflow.
Attributes include:
• parameters
• local variables
• data items
• external events
• namespaces
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1314
Tip:
See section on each attribute for configuration.
10. From the Data Items list, select the item you want to work with.
11. From the Details list, select the Make this data item a parameter check box.
12. Click OK, and then click Save.
Related information
Add a resource to the workflow model (on page 1356)
External Events
External events allow the workflow or subprocess to use events defined outside of the workflow.
These external events that a subprocess or workflow can bind to can be objects that are events within
the application, or from other software applications that have published events to Workflow. Some of the
external events available include: production, conditional, timed, and work order events.
Properties
The following table describes the available options.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1315
Related reference
Create Event Activity (on page 1445)
Namespaces
A namespace is a logical design-time naming convenience, used mainly to define scope in an application
and organize classes and other types in a single hierarchical structure.
Note:
Code activities use the imported namespaces on the workflow and subprocess to resolve simple
type names.
The namespace concept is part of the .NET Framework, and is used to organize types into logical
groupings. A type's full name is made up of a namespace and a simple name. Although a type's full name
can always be used in a Code activity, it is more common to use the type's simple name.
Example
System.dita.ditaDocument is a type that is used to work with a document containing XML data. The
namespace for that type is System.dita and the simple type name is XmlDocument. The full name,
System.dita.ditaDocument, can be used directly in a Code activity to refer to the type. However, if the
System.dita namespace is added to the Namespaces list, the simple name, XmlDocument, can be used
instead which increases the clarity of the code. Using the namespace also means that the simple names
for other types in the System.dita namespace can also be used.
Namespace Browser
The following table describes the available options.
Tip:
Navigate through the menus by expanding the parent namespace.
9. Click the right arrow to add the selected namespace to the Imported Namespaces list.
10. Click OK, and then click Save.
Linked Documents
You can link documents or web sites in workflow tasks, subprocess task steps, and schedule tasks. If the
document is defined at the task level, it is visible in all task steps.
In the Linked Documents area, you can attach a document or web site address for the person performing
a running workflow task (or a subprocess task step) to reference. These documents can include anything
that an operator requires to perform or complete an operation.
Linked documents appear in the Documents panel in the Task List and Task Management while a
workflow is in a run-time state. They are embedded in this panel unless your Microsoft Windows
configuration does not allow this, and can be in any application format that the user's workstation
supports. However, if a document opens outside the linked documents panel, the user is responsible for
closing it.
Tip:
When you link a document at the workflow level, that is, to a task, it remains open while the task
runs (unless the user closes it or opens another document). All embedded documents close
automatically when a task is completed.
In order to access a linked document on a mobile device, you must host the file on a web server. As a
result, network file paths and non-web-based resources are inaccessible.
Access Permissions
Note:
You must have the ability to apply or assign documents to a task.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1319
Example
If a maintenance operator is performing a maintenance task on a piece of equipment that he has not
worked on for some time, the service manual can be an important reference. The service manual can be
linked and then viewed for reference while carrying out the maintenance work.
Note:
The Display Name and URL/UNC properties allow you to build an expression or perform a bind.
Tip:
This property is used on
ly in a Write activity.
Tip:
The file name of any
browsed document you
attach is automatically
entered in this field. You
can accept this file name
or enter a different name.
Note:
For URLs, you must enter
http://.
Note:
Setting the Visible prop
erty to False does not
close an open linked doc
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1321
Tip:
• Mobile-sized Task List only: To view Microsoft Office 2007 and later documents inside an
Internet Explorer browser window, add a registry patch.
• Web Task List only: To open embedded documents, set the URI for each link to an absolute
path, save documents in a folder on a server, and give the folder share permissions.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1322
Prerequisites
Related information
Add a registry patch (on page 1356)
Work Instructions
The Work Instructions tab is where you can input detailed instructions for a person performing a task or
task step.
These instructions appear as a Work Instructions button in the Task List. If no information is available,
this section is not visible to an operator. The information can include anything that an operator requires to
perform a workflow task or a subprocess task step, or finds useful to complete the task/task step.
Note:
If content in the work instructions area exceeds a certain threshold, the editor may not perform
optimally during design time, as well as in the Task List during run time. To prevent this issue, use
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1323
the following recommendations: use small graphic files; use small amounts of text, or several line
breaks, within the body of the work instructions area.
For more information, see Replace keyword text during run time.
Attributes
The following table describes the available options.
Prerequisites
Tip:
You can type text or insert information copied from another application, as well as
graphics.
8. Click Save.
Note:
To update work instructions during run time, see the instructions related to keyword replacement.
Related reference
Keyword Properties (on page 1453)
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Related reference
Keyword Properties (on page 1453)
Available Actions
When a workflow is running in the Task List, operators can perform various advanced actions within a
task and/or task step. Many of these actions require specific user permissions that can be set in the Key
Sets section of Workflow. You can also configure some of these actions to require an electronic signature
for verification.
These actions are available for both a task and a task step:
Prerequisites
Note:
You can enter whole numbers only, such as 0, 1, 2, 3, and so on.
Related reference
Task Priority (on page 1327)
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1327
Prerequisites
Related reference
Expiration in Schedules (on page 1506)
Task Priority
Task Priority is a general read property that is available at the workflow level. Task Priority is a general
read property that is available at the workflow level. You can apply a numeric value for a task. This priority
setting does not affect the execution of the workflow; it is used only for sorting and filtering within the
Task List.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1328
Restrictions
A priority number is set in a running workflow at the task level only.
Access Permissions
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
Task Expiration
Operators can enter an explanation as to why a task or task step expired.
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
An expiration is a visual indication about how much time is available to perform a workflow task (or a
subprocess task step). Expirations determine the duration of a task or task step when a workflow or a
subprocess is in a run-time state.
In a workflow instance, if a task or task step expires, you can still complete it. The entire process is
not lost; however, the task or task step is logged as having timed out, and the workflow state changes
and initiates an event that you can hook into. This event can also be used as a means of escalation. If
required, you can then run the task or task step again. A running task is not interrupted if a task expires.
Example
During the execution of a task, one of the task steps expires because of an equipment maintenance issue.
The task supervisor can, during the execution of the subsequent task steps, go back and complete or
restart the expired task step when the employee and equipment are available to complete the task step.
Expiration Options
Note:
The Absolute and Relative expiration types allow you to build an expression or perform a bind.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1329
Tip:
Insert a condition event
to: provide the comple
tion countdown, or en
sure a condition is met to
expire this item.
Canceling Tasks
Operators can cancel an entire task or an individual task step in the Task List.
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1330
Continuous Loop
If a task is cancelled during the execution of one loop in a continuous workflow, a new task is created for
the next loop. The current cancelled task is removed from the Task List and is replaced by the new one,
starting again at the first step.
Tracking in a Loop
If tracking in a workflow is turned on, each task appears as two separate tasks in Task History.
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
Task Jumps
Operators can skip from one task step to another in the Task List when a workflow is running.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1331
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
• In If/Else activities at the workflow level, the jump does not re-evaluate the condition if these
activities were skipped. The condition is evaluated again if the If/Else activity is executed again;
that is, if you jump to the start of the If/Else.
• When jumping back to a task step, the new one appears in the Task List, and the old one is
removed; however, all task steps display in the Task History tab, if applicable.
• The workflow structure that created the task determines which steps are valid to jump to at a
particular stage of task execution.
Note:
Operators must have authorization to perform certain actions in the Task List, which can be
assigned to them in the Security Editor. They may, however, still view the contents in this area.
For a workflow to run, all subprocesses must be valid (contain no errors) and enabled (active).
A workflow must be constructed of one or more subprocess. Each subprocess is a self-contained entity
where the majority of the logic is added to run a workflow. Subprocesses group a set of related activities
in a workflow and appear as a single task step. A subprocess can exist only between the presubprocess
and postsubprocess.
Subprocesses allow you to create a series of steps to accomplish a task, assignment, event-driven, or
activated process. The contents of a subprocess consist of activities that can be placed in any order
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1332
depending on the requirement. You can think of the contents of a subprocess as a workflow without the
defined structure and in a simple linear path.
Within a subprocess activity, you can select a manual start option for a workflow. This option allows
you to configure a subprocess to be either an automated aspect of a workflow, or to require operator
interaction within the workflow process. When the manual start check box is cleared, the subprocess
runs automatically when the workflow is activated. When this check box is selected, the workflow stops
when a manual start subprocess is reached within the workflow. At this point, an operator is required to
intervene in the process and complete an action before the workflow can continue.
Within a workflow definition, you can select a continuous option for the workflow instance. However, in a
continuous loop, you cannot loop a single subprocess. During the continuous loop, every step from the
preprocess to the postprocess is completed in the continuous loop cycle. You can, for example, put in
conditional activities to facilitate a small loop inside of the subprocess in case a step is not completed or
an error found.
Inputs and outputs of a subprocess can be linked from and to other subprocesses or execution cycle
steps. For example, you can create a dependency on the output of subprocess1 for subprocess2, or the
input of subprocess1 is dependent on the output of the preprocess or load steps. Therefore, you can
ensure that at each step of the execution cycle, there are dependencies that must be met before the cycle
can continue onto the next step.
Subprocesses also have a built-in completion code variable that is always tracked. While a subprocess is
running, this variable can be set to any available completion code for a project. A default value must be
supplied for this completion code.
Note:
You can configure up to 1000 subprocesses.
These properties are scoped differently. If the property does not explicitly have a value, the value will be
the default value for the type. See Scope Definitions.
Properties
The following table describes the available options.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1333
Process Scope
Scope Definitions
The scope of a property, as well as the location of the activity that it is defined on in a workflow,
determines if it can be referenced or accessed by a workflow bind.
The following table defines the type of properties that are accessible in a workflow:
Important:
Data item limits include child activities.
Tip:
You can use a Write Activity to change some property values at run time.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1339
Panel Attributes
The following table describes the available options.
Configure subprocesses
Enable Property
Enabled is a read/write property that can be read from and written to at run time.
This property is defined on a subprocess and is process-scoped. This property can be configured using a
literal value, a bind, or an expression. It can also be modified at run time using either a or . When Enabled
is set to True, the activity or subprocess is included in an activated/running workflow or schedule.
Note:
The global subprocess must be enabled in order to execute at run time.
When Enabled is set to False, the activity or subprocess does not execute; however, the presubprocess
and postsubprocess steps run, as is typical in process procedures. When Enabled is set to False, the task
step does not appear in the task client display.
Note:
You can select this option only from within a subprocess or activity and you cannot set the
Enabled property for an activity during run time.
Note:
The global subprocess
must be enabled in order
to execute at run time.
• Reset to Default:
Subprocess is reset to
True.
• Bind: Opens the Select
Variable dialog box where
you can select an applica
ble property or parameter.
• Expressions: Opens the
Expression Editor where
you can create an expres
sion.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
6. Drag and drop a Local Subprocess into the workflow and double-click it, or double-click an existing
subprocess.
Note:
Note:
The global subprocess must be enabled in order to execute at run time. For more
information, see Enable and disable a subprocess.
Note:
If Manual Start is set to True, you cannot set Visible to False. That is, when Manual Start is set to
True, the activity appears in the task display.
• Reset to Default:
Subprocess is reset to
True.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If required, configure the workflow.
Visible Property
When the Visible property is set, the corresponding task step will appear in the Task List during run time.
Visible is a read-only property that can be read and used as a bind source, but cannot be written to. It is
also defined on a subprocess and is process-scoped. This boolean property can be configured using a
literal value. If Visible is set to False, then a corresponding step does not appear in the Task List or Task
Management; however, the subprocess is still executed.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1344
Important:
• If this property is set to True, then the personnel and/or location assignments in the workflow
configuration panel must be set.
• If the subprocess has any activities or actions that require user interaction, this property must be
set to True.
• Task expiry
• Work instructions
• Linked documents
• Form activity
• Status Message activity
• Manual Start property
• Reset to Default:
Subprocess is reset to
True.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If required, configure the workflow.
Tip:
If Visible is set to True, you must also configure Task Assignments. For more information,
see Configuring workflows.
9. Click Save.
It is a read-only string property that can be read and used as a bind source, but cannot be written to. It
is also defined on a subprocess and is workflow-scoped. This property can be configured using a literal
value.
Subprocess Group User and system-defined Enter a label for the subprocess
group (literal string).
• Reset to Default:
Subprocess is reset to an
empty string.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If required, configure the workflow.
Note:
If this is a global subprocess, a default label is already entered, which you can override.
9. Click Save.
These task steps can be sent to an assigned computer or an operator at that station to complete.
However, if a task step is specified to a location only, any user will be able to see that task step at that
location. For example, a single workflow may have a task step assignment that requires that an item be
scanned with a bar code scanner at station 2, while station 3 has a task step assignment that is a request
for a count of items.
Important:
In order for a workflow to run, it must be assigned to a person or a piece of equipment.
Reassignments
Task steps can be reassigned during run time. This can happen in one of the following ways:
• From Task List/Task Management, you can intervene and reassign the task. When steps are
reassigned, they can no longer be acquired and any predefined acquirement is removed.
• A workflow can change at run time using a Write Activity.
• A workflow can make a change to another workflow through the Start Schedule or Start Workflow
activities.
Note:
If a workflow is in a continuous loop, task step reassignments do not affect the next loop.
Properties
Override Workflow Task Assign User-defined Select this check box to allow a
ments user to override the equipment
and/or personnel resources as
signed to the subprocess activity.
Tip:
Click the arrow to bind
this location to a select
ed variable or reset it to
the default value.
Tip:
Click the arrow to bind a
personnel resource to a
selected variable or reset
it to the default value.
Note:
If required, configure the workflow.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1349
7. To configure a subprocess:
a. From the subprocess configuration panel, click Override Workflow Task Assignments.
8. Locate and select the resource you want to use, and then click OK.
Note:
Only one resource can be selected.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If required, configure the workflow.
7. To configure a subprocess:
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1350
a. From the subprocess configuration panel, click Override Workflow Task Assignments.
8. Locate and select the resource you want to use, and then click OK.
Note:
Only one resource can be selected.
Automatically acquire task step User-defined Select this check box to set the
computer and/or user settings to
the computer and/or user on the
first Task List display that it ap
pears on.
Note:
When steps are reas
signed, they can no
longer be acquired and
any predefined acquire
ment is removed.
Note:
If required, configure the workflow.
Note:
To edit a subprocess, it must be disabled.
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Click... To...
Click... To...
Note:
The Enabled property of the subprocess activity within a workflow must also be set to
True for the subprocess to execute at run time. For more information, see Configure a
subprocess to run within a workflow.
Important:
If operator interaction of a task step is required, the Visible Property must be set to True.
Tip:
With these properties, you can build an expression or perform a bind.
Task Step Name User-defined; Subprocess level Specifies a unique name to dis
tinguish it from the subprocess
name. No two subprocesses in
one workflow should have the ex
act same name.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1353
Tip:
This property can be
used in a Write Activity.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
7. From the subprocess configuration panel, click the Task Step Details tab.
8. In the Task Step Name field, enter a name for the task.
9. If required, create an expression or perform a bind to set parameter values.
10. To remove the task step name, click the arrow next the property you want to clear, and then select
Reset to Default.
11. Click Save.
Note:
If required, configure the workflow.
7. From the subprocess configuration panel, click the Task Step Details tab.
8. From the Expiration Type drop-down list, select:
◦ Relative to set a countdown
◦ Absolute to set an exact expiry time
9. For a relative expiration:
a. In the Duration field, set the number of days, hours, minutes, or seconds until the expiration.
b. To set a conditional event, select the Condition Event check box.
c. Click Configure Event.
10. For an absolute expiration:
a. In the Duration field, enter a date and time.
b. Click OK.
11. If required, create an expression or perform a bind to set parameter values.
12. Click Save.
Tip:
• Mobile-sized Task List only: To view Microsoft Office 2007 and later documents inside an
Internet Explorer browser window, add a registry patch.
• Web Task List only: To open embedded documents, set the URI for each link to an absolute
path, save documents in a folder on a server, and give the folder share permissions.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1355
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
If required, configure the workflow.
7. From the subprocess configuration panel, click the Task Step Details tab.
8. In the Linked Documents list, click the Remove button.
9. Click Save.
The Mobile-sized Task List supports opening files inside browser windows. However, with Microsoft
Office 2007 and later, some applications (such a Word, Excel, and PowerPoint) open only outside the
browser window regardless of settings. Therefore, opening these file types using the Mobile-sized Task
List does not work.
To open these files inside a browser window using the Mobile-sized Task List, apply the following registry
patch. These registry settings must also be on the machine that the mobile client is deployed to.
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8]
"BrowserFlags"=dword:80000024
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1357
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.RTF.8]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.12]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.DocumentMacroEnabled.12]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetMacroEnabled.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetBinaryMacroEnabled.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.8]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.ShowMacroEnabled.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.8]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShowMacroEnabled.12]
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1358
"BrowserFlags"=dword:800000A0
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}]
"Word.Document.12"=hex:
"Word.Document.8"=hex:
"Excel.Sheet.8"=hex:
"Excel.Sheet.12"=hex:
"PowerPoint.Show.8"=hex:
"PowerPoint.Show.12"=hex:
Highlight Color
Highlight Color is a general writable property that you can use to emphasize a task or task step during run
time. When viewing these tasks during run time, you will observe a bar of color on the task that you set a
color against.
Tip:
With this property, you can build an expression or perform a bind.
Tip:
You can use this property
to either:
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1359
• bind to another
Color object or to
a string that con
verts to a Color, or
• use in a Write Ac
tivity to change
the property at run
time.
The following procedure contains more than one method for configuring color. Select the method that
suits your run-time workflow requirements best.
subprocess task step Drag and drop a Local Subprocess into the
workflow and click it, or click an existing sub
process. Click the Task Step Details tab.
a. At the workflow level, on the General tab, click Edit next to Local Variables.
The Edit Local Variables dialog box appears.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1360
b. Click Add.
d. In the Initial Value field, enter a color value (for example, red), and then click OK.
Note:
You cannot use an irrelevant string value, such as abcdefg, or an invalid hex code.
f. In the Highlight Color field, select Bind from the drop-down arrow.
The Select Variable dialog box appears.
g. From the Workflow Local Variables properties, select the string value that you entered
earlier, and then click OK.
h. Go to step 10.
8. To set the highlight color to another property of type Color, perform the following steps.
If you want to add the color from one subprocess to another subprocess, you require more than
one subprocess in the workflow.
b. In the Highlight Color field, select Bind from the drop-down arrow.
The Select Variable dialog box appears.
c. From the properties of the workflow or subprocess that contains a configured color value,
select Highlight Color, and then click OK.
d. Go to step 10.
a. Double-click a subprocess, insert a Write activity, and then click Add Write.
The Select Variable dialog box appears.
11. If required, from the drop-down arrow, select Bind to bind to another Object type or String property.
12. To remove the color, click the arrow next to the property you want to clear, and then select Reset to
Default.
13. Click Save.
If the task/task step action or form for your run-time workflow requires a signature, select the Signature
Required check box.
Tip:
You can bind these properties to a resource related to a workflow or subprocess.
Tip:
You can bind this property to a resource related to a workflow or subprocess.
1. You can configure an electronic signature from various locations within a workflow depending on
which action during run time you want to set an electronic signature against.
2. On the configuration panel, in the Electronic Signature Settings area, select the Signature Required
check box.
3. In the Valid Performers field, click the ellipsis button to select the security group (personnel
resource) that the signature performer must be a member of.
4. If you want the task/task step action or form to close and the workflow to proceed if the electronic
signature fails, select the Close if Signature Fails check box.
Note:
A task/task step action or form can be cancelled without a signature if it has been
preconfigured to do so; however, if you cancel, the task step is skipped and the workflow
continues.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1364
5. If a second signature is required before the task/task action or form can be submitted, do the
following.
a. Select the Verifier Required check box.
b. In the Valid Verifiers field, click the ellipsis button to select the security group (personnel
resource) that the signature verifier must be a member of.
6. In the E-Signature Description field, enter a description of the action being performed or the values
that were entered on the task/task step action or form. This description is recorded with the
electronic signature record.
7. Click Save.
Tip:
With these properties, you can build an expression or perform a bind.
Tip:
This property cannot be
set at run time using a
Write Activity.
You must have a second workflow or schedule preconfigured with Auto Select to be able to add it to a
Start Workflow (or Start Schedule) activity.
Tip:
You can also perform the same procedure with the Start Schedule activity.
Note:
If you select Bind, you must select a template workflow.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1366
10. Optional: In the Template Workflow field, click the ellipsis button to select a template workflow.
11. Click Save.
You can use Auto Select in a workflow with parallel subprocesses in order to select a task step other than
the first subprocess in the Parallel activity.
Tip:
You can have more than two branches and set Auto Select on whichever subprocess
meets your requirements.
7. From the subprocess configuration panel, click the Task Step Details tab.
8. From the Auto Select drop-down list, select True to ensure that the task execution receives priority
during run time.
9. If required, create an expression or perform a bind to set parameter values.
10. Click Save.
Tip:
You can use a Write Activity to change some property values at run time.
You can also configure other visible elements of the Task List and copy these configurations to other
computers to ensure consistency across all workstations. For more information, see User Interface
Controls in the Task List.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1367
Note:
If the view that you have set does not have content, the Views panel defaults to the Forms view.
Controls
Note:
This functionality is not applicable to the Mobile-sized Task List.
All controls of the Task List are visible unless configured otherwise. If the check box next to a control is
cleared, the control will not be available during run time.
Tip:
All changes to the My Task List Editor section must be saved before you can copy the
configuration to other computers or personnel classes.
Task Step Context Navigator User-defined Provides the ability in real time to
view and navigate all tasks steps
currently running.
Preview
Displays the layout of the My Task List Editor based on the visibility selections. You can view the
selections in either the Horizontal Layout Mode or the Vertical Layout Mode.
Global Subprocesses
Global Subprocesses
Global subprocesses allow you to develop and store standard and frequently used subprocesses. These
subprocesses can be reused in various workflows. They are preconfigured and then are available in the
Global Subprocesses list where you are creating your workflow.
When global subprocesses are used in a workflow, they cannot be changed from this location; they are
read-only (as indicated by the lock symbol next to the subprocess). You can perform basic tasks, such as
change the name and bind parameters, but the internal process cannot be edited. However, if you want
to make a change to a global subprocess so that it is reflected in all workflows that use this subprocess,
you can edit the original subprocess by selecting it from the Subprocesses resources folder (using the
Universal Browser).
You can also choose to make a local copy of a global subprocess if you decide that the global subprocess
does not fully meet the needs of the workflow. When you make a subprocess local, you can make
changes that are reflected only in the current workflow. The Global Subprocesses list does not change.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1372
In addition, if you have created a subprocess specific to a workflow and you want to re-use it in other
workflows, you can make the subprocess global, which adds it to the Global Subprocesses list. However,
you cannot make a local subprocess global if it has references to data outside the subprocess (excluding
parameters). For example, if you are using a workflow level variable in a bind or expression, you must
remove this external data reference before you are able to create a global subprocess. The subprocess
must be self-contained for it to work as a global subprocess.
Global subprocesses are designed the same as local workflow subprocesses. They are configured
in isolation and can contain any activity or variable that any manually created subprocess can have.
These subprocesses can have input and output parameters that can be bound when they are added to a
workflow, and they can also be composed of several user-defined activities. Global subprocess cannot be
deleted if it is being used by a workflow or subprocess.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
b. To change the name of the subprocess, in the activity configuration panel, click Edit.
Note:
Changing the name of a global subprocess does not change the name of the
original subprocess; it only changes the name within the current subprocess.
8. Click Save.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1373
Note:
A subprocess must be self-contained for it to work as a global subprocess; therefore, you must
remove any reference to external data.
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
Note:
The new subprocess is added to the Global Subprocesses list and the Subprocesses
resource list.
9. Click Save.
If you are using a global subprocess in a workflow and you want to make a change to it in order to better
meet the needs of your workflow, you can make the subprocess local. This change does not affect the
Global Subprocesses list. A resource must already have been added in order to select it from this list. For
more information, see Add a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1374
Note:
If the workflow contains multiple global subprocesses, the index operation will return only the first
instance that it finds.
Tip:
◦ If you want to write to the local variable, from the Type field, select Object.
◦ If you want to read the value of the local variable, from the Type field, select a data
type, and then in the Initial Value field, set a value.
Note:
You must have preconfigured global subprocesses available in your activities toolbox.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1375
Note:
If you are using the same Write activity that you added in Step 12, then click Add
Write.
b. Click the ellipsis button to select the local variable that you want to read from, and then click
OK.
d. From the Select Variable dialog box, select a variable from the result of the Index activity.
Make Global/Local
When a global subprocess is inserted into a workflow, you can change it to a local subprocess. Then, you
can configure the subprocess to meet the specific needs of the currently selected workflow.
There are properties that exist in the workflow or process scopes that are defined on a workflow's process
step. They are supplied by the workflow engine and are available when authoring a global subprocess.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1376
Basic Activities
Activities Used to Create Workflows
Activities comprise the main building blocks or steps that perform the actions in a subprocess or
workflow.
Within each activity, there are a number of dependencies and relationships that can be created to other
activities within subprocesses. The behavior of activities are configured through their properties and
variables. Variables can also be used to output results from the activity's execution.
For example, some activities, such as the parallel activity, can have other activities placed inside them. By
doing so, processes can be expanded and the branched activity can run more simultaneous activities to
complete the required result.
Common Properties
You can configure the following common properties for each step contained within a workflow: name,
description, and the enabled feature.
The steps in a workflow where you can configure these properties include: load, preprocess,
presubprocess, subprocess, postsubprocess, postprocess, and unload. Setting these attributes allows
you to identify an activity or a subprocess within a workflow, as well as decide whether or not to include
the step in the workflow instance.
Note:
The description is not
displayed in the Task
List.
Note:
You can only select this
option within a sub
process or activity.
Insert an activity
Note:
Activities can be inserted at both the workflow and subprocess levels; however, not all activities
are available at both levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
Note:
A resource must already have been added in order to select it from this list.
Prerequisites
After you create a workflow, you can add and configure activities. Activities enable a workflow to process
the tasks necessary to the successful completion of a workflow.
Delete an activity
Note:
When you delete a branching activity, such as If/Else or Parallel, all contained activities are also
deleted.
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1379
Related information
Add a resource to the workflow model (on page 1356)
Move an activity
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Related information
Add a resource to the workflow model (on page 1356)
• If/Else
• Parallel
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Related information
Add a resource to the workflow model (on page 1356)
• If/Else
• Parallel
A resource must already have been added in order to select it from this list. For more information, see Add
a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1381
Note:
This action only removes the selected branch. To remove the entire activity, see Delete an
activity.
7. Click Save.
Related information
Add a resource to the workflow model (on page 1356)
Standard Activities
Activities define how each subprocess is executed. Task steps are created by placing multiple activities in
a subprocess. The placement of these activities defines how the subprocess functions when a workflow
runs.
Tip:
When you create subprocesses through the use of activities, it is important to review your
subprocess to ensure that it functions as intended. The preferred method is by testing your
workflow before putting it into production.
Custom Activities
You can create your own user-defined activities for use in a subprocess. For more information, see Third
Party Activities.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1382
Related reference
Third-party Activities (on page 1382)
Related information
Predefined User Activities (on page 1386)
Third-party Activities
Workflow can utilize third-party activities that are compatible with Microsoft Windows Workflow
Foundation.
With these elements, extensibility is greatly enhanced, and a variety of other options are available to
create a workflow.
Important:
We do not directly support these activities. At the time of this printing, third-party activities have
not been tested with our software. Use of third party activities should be properly tested prior to
being implemented in a production environment.
Important:
If you are using third-party activities in a multi-server environment, you must install all associated
files on each server using these activities.
ActivityExtensions.dita
The following sample configuration files demonstrate the structure for the XML document you must use
to define the server, location of the file, and the assemblies used. The AssemblyUri, Category, and any
DependencyAssemblyUris must be edited to reflect your third-party activity requirements.
File Location
After the file has been created, place the ActivityExtensions.dita file in the following location on
the server (where your application was installed):
<installdir>\Proficy Workflow\Program\Data\Projects\SOAProject\AppServers
\Workflow\Workflow
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1383
Important:
The activity assembly and its dependent assemblies must go in the following path in order for the
URI to work: \Proficy Workflow\Program\Applications\Workflow
Example 1
The following is a sample configuration file for a single activity assembly with a single dependency:
<ActivityExtensions xmlns="http://schemas.datacontract.org/2004/07/Proficy.Workflow.Services">
<ActivityExtension>
<AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly.dll</AssemblyUri>
<Category>Custom Activities</Category>
<DependencyAssemblyUris>
<DependencyAssemblyUri>net.tcp://
localhost/Program/Applications/Workflow/CustomActivityAssembly.dll</DependencyAssemblyUri>
</DependencyAssemblyUris>
</ActivityExtension>
</ActivityExtensions>
Example 2
The following is a sample configuration file to use with two activity assemblies, one with two
dependencies, and on one with no dependencies:
<ActivityExtensions xmlns="http://schemas.datacontract.org/2004/07/Proficy.Workflow.Services">
<ActivityExtension>
<AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly1.dll</AssemblyUri>
<DependencyAssemblyUris>
<DependencyAssemblyUri>net.tcp://
localhost/Program/Applications/Workflow/CustomActivityAssembly2.dll</DependencyAssemblyUri>
<DependencyAssemblyUri>net.tcp://
localhost/Program/Applications/Workflow/CustomActivityAssembly3.dll</DependencyAssemblyUri>
</DependencyAssemblyUris>
</ActivityExtension>
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1384
<ActivityExtension>
<AssemblyUri>net.tcp://localhost/Program/Applications/Workflow/CustomActivityAssembly2.dll</AssemblyUri>
<DependencyAssemblyUris/>
</ActivityExtension>
</ActivityExtensions>
ActivityExtension Contains AssemblyUri, Category, Contains the defining tags for the
DependencyUris required assemblies.
Further Information
To view more information on how to create custom activities for Microsoft Windows Workflow
Foundation, using your Internet browser, navigate to the Microsoft MSDN library and search for:
Developing Workflow Activities.
Related reference
Common Properties (on page 1376)
Related information
Activities Used to Create Workflows (on page 1376)
First Assembly
• Assembly: ActivityAssembly1.dll
• Dependencies: ActivityAssembly1Dependency1.dll, ActivityAssembly1Dependency2.dll
Second Assembly
• Assembly: ActivityAssembly2.dll
• Dependencies: (none)
ActivityExtensions.dita
The ActivityExtenions.dita file contains the necessary information and path locations for the 3rd
party assemblies to be used with Workflow. Continuing our example utilizing ActivityAssebly1.dll and
ActivityAssembly2.dll from above, including their dependencies, the ActivityExtensions.dita file should
contain the following code:
<ActivityExtensions xmlns="http://schemas.datacontract.org/2004/07/Proficy.Workflow.Services">
<ActivityExtension>
<AssemblyUri>net.tcp://localhost/Workflow/ActivityAssembly1.dll</AssemblyUri>
<Category>Custom Activities</Category>
<DependencyAssemblyUris>
<DependencyAssemblyUri>net.tcp://localhost/Workflow/ActivityAssembly1Dependency1.dll</DependencyAssemblyUri>
<DependencyAssemblyUri>net.tcp://localhost/Workflow/ActivityAssembly1Dependency2.dll</DependencyAssemblyUri>
</DependencyAssemblyUris>
</ActivityExtension>
<ActivityExtension>
<AssemblyUri>net.tcp://localhost/Workflow/ActivityAssembly2.dll</AssemblyUri>
<Category>Custom Activities</Category>
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1386
<DependencyAssemblyUris/>
</ActivityExtension>
</ActivityExtensions>
Result
After the assembly DLL and DLL dependencies are placed, and the ActivityExtensions.dita is created,
you must restart the Proficy Server service and Workflow client. Upon opening up a new workflow in the
Workflow Editor, you will see your new assemblies below the Activity Toolbox.
User activities allow you to develop and store standard and frequently used activities. They are configured
in isolation, can be reused in various subprocesses, and have the capability of taking input and output
parameters. When a user activity is used by a workflow or subprocess, it cannot be deleted. It also cannot
be edited if a workflow that uses the activity is running. A subprocess may be composed of several user
activities.
When user activities are used in a subprocess, they cannot be changed; they are read-only (as indicated
by the lock symbol next to the activity). You can perform basic tasks, such as change the local name
and bind parameters, but the internal process cannot be edited. If you want to make a change to a user
activity so that it is reflected in all subprocesses that use this activity, you can edit the original activity by
selecting it from the User Activities resources folder in the Navigator.
You can also choose to make a local copy of a user activity if you decide that the global version does not
fully meet the needs of the subprocess. When you make an activity local, you can make changes that are
reflected only in the current copy of the activity. The User Activities list does not change.
In addition, if you have created a user activity specific to a subprocess and you want to re-use it in other
workflows, you can make the activity global, which adds it to the User Activities list. However, you cannot
make a local user activity global if it has references to data outside the user activity (excluding data
passed into parameters). The user activity must be self-contained for it to work as a global activity.
User activities are displayed in the toolbox of the workflow editor after they are created in the User
Activities resources folder. If you add a category to the user activity, it is displayed under this category;
otherwise, it will be listed as Uncategorized. A user activity can have multiple categories assigned to it.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1387
Note:
Only users with administrative access or with the appropriate key set permissions can add and
configure user activities.
b. To change the name of the user activity, in the activity configuration panel, click Edit.
Note:
Changing the name of a global user activity does not change the name of the
original user activity; it only changes the name within the current subprocess.
Related reference
Workflow Binds (on page 1250)
If you are using a global user activity in a subprocess and you want to make a change to it in order to
better meet the needs of your workflow, you can make the user activity local. This change does not affect
the user activity if it is used in other workflows. A resource must already have been added in order to
select it from this list.
Note:
A user activity must be self-contained for it to work as a global activity; therefore, you must
remove any reference to external data.
A resource must already have been added in order to select it from this list. When user activities
are created in the resource list, they are available to be added to a subprocess or process step and
configured.
Related reference
User Activities Configuration Panel (on page 1391)
Properties
You can use the following properties to work with user activities in a workflow:
Related reference
Workflow Properties (on page 1253)
Limits
User activities are self-contained; therefore, these limits do not include the children of other activities. For
example, if an existing user activity has 50 child activities, and it is used within a new user activity, it only
counts as one child activity.
Important:
Data item limits include child activities.
Related reference
Limits for Workflows (on page 1256)
Note:
To edit a user activity, it must be disabled. A resource must already have been added in order to
select it from this list.
Click... To...
Related information
Add a resource to the workflow model (on page 1356)
Unlike other levels of the workflow, completion codes or fault handlers cannot be added directly to user
activities. However, faults can be handled using the normal fault scope mechanism, or thrown to the
calling activity.
Panel Attributes
Tip:
You can use a Write Activity to change some property values at run time.
4. To add an activity, drag it to the appropriate drop point within the user activity.
Tip:
For more information on configuring other workflow activities, see Standard Activities.
5. For attributes, click Edit next to the attributes collection you want to work with.
Related reference
Standard Activities (on page 1381)
The outputs of the call method are available as variables to the rest of the workflow. For example, you can
call a method in the production model to get the current status of a work request.
Note:
For this feature to function correctly, you must configure a subprocess in one of the following
ways to ensure that a user acquires the task step. Then, to verify that the task step is acquired,
check the Current User property on the subprocess to ensure it is not null.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1393
Related reference
Common Properties (on page 1376)
Related information
Activities Used to Create Workflows (on page 1376)
Note:
If required, configure the workflow.
6. Drag and drop a Call Method activity into the subprocess, or select an existing call method.
7. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
8. Double-click the service provider you want to use, and then select the call method.
9. Click Next.
10. In the Item specific configuration section, configure the method.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1394
Note:
Item configuration depends on the selected source and item. Some items do not require
configuration.
11. At run time, if you want to return all data from the selected item, select the Return all data option.
12. At run time, if you want to return a subset of data from the selected item at run time, select the
Return only a subset of data option, and then from the data tree, select the data you want returned.
Note:
If the item returns only a single piece of data, the Return all data option is selected, and
you cannot retrieve a subset of data.
Important:
The Call Web Method that was provided in earlier versions of Workflow is still available. You can
continue to use it for your legacy web services; however, it is recommended that for all new web
services configurations, you should use the Web Services Service Provider to add and configure
web service definitions.
• WCF (Windows Communication Foundation) web service, where the endpoint or interface name is
clearly defined in the WSDL (Web Services Description Language) file.
• Conventional web services, where no endpoint or interface is defined in the WSDL file.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1395
Note:
The URL must end with ?
WSDL.
Method Name User-defined alphanumeric string Specifies the name of the web
(A-Z, a-z, 0-9) method being called.
The output parameter is the return value of the call method; therefore, you do not need to enter a value.
Important:
Null values are not supported in a sequence of input parameters. For example, if three input
parameters are required, the first and/or second parameters cannot be null. In this case, you
can either use InputParam1 through InputParam3 for your input parameters, or you can use the
Expression Editor to enter the numeral 0 or an empty string into the parameter field that you want
to leave empty.
Code Activity
The Code activity allows you to write custom logic; therefore, you can augment the functionality of a
workflow to meet your needs.
The Code activity only supports the language VB.NET. Using VB.NET, you can enter any valid snippet of
code to accomplish specific needs based on the code entered. Using the Code activity, you can create
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1396
parameters in the code body that can be bound to workflow fields, parameters, external variables, activity
properties, and any additional bindable resources. However, you cannot directly access resources in the
application, or any external resource.
Important:
When a code activity runs in a workflow, no other activity can run, even within a parallel activity.
Therefore, avoid writing long-running code blocks.
To access external resources, running workflow resources must be passed in as parameters to the code.
While a workflow can access only Workflow and main system assemblies, it can also import namespaces
from external sources. All scripting within the Code activity is entered into the script editor.
Important:
When writing your code, ensure that you call Dispose on all objects that implement IDisposable
created by your code. For example, if you open a file, you must also ensure that you close that file.
Variable declarations and assignments (Dim i as In Declaring a class, interface, structure, or enum.
teger; i = 5)
Calling static methods on known/imported types Returning a value: Code activities have no return
values, they must provide output through code pa
rameters (for example, you can call ‘return’ to indi
cate you want the snippet to end, but you cannot
call ‘return true’).
Data Types
All system and application data types are supported. Importing namespaces is performed by using the
namespace import functionality within a workflow definition or subprocess. The imported namespaces
apply to all Code activities in the workflow or subprocess after they have been added. Further to this,
Workflow allows you to add references from other assemblies.
Parameters
The Code activity parameters consist of subprocess and workflow parameters that have already been
configured. To use elements of the workflow (for example, parameters, local variables, activity properties,
and so on) in your code snippet, you must add a parameter and link it to the desired data. Changes to
a parameter's value are reflected in the workflow after the code has been executed. For example, the
parameters are 'ref' or 'InOut'.
AdjustedValue = 100
End If
Upon running this script in an instance of a workflow, Field2 will be set to the value of AdjustedValue.
Related reference
Common Properties (on page 1376)
Example 1
In this example, there is a subprocess local variable called Field1 and another called Field2. In the code
activity configuration the parameter Field1 will be bound to the parameter called InitialValue. The Field2
field will be bound to a parameter called AdjustedValue. The following is an example of how this appears
in the code activity editor:
AdjustedValue = 100
End If
Upon running this script in an instance of a workflow, Field2 will be set to the value of AdjustedValue.
Example 2
In this example there are 2 parameters in the code activity: an Integer called InitialValue, which could be
bound to a local variable or activity property, and a boolean called PerformFunction which is also bound to
a local variable and serves as an ouput. The code snippet will perform a simple calculation on InitialValue
and if the value is greater than 100, PerformFunction is set to true, which in turn, could drive a different
execution path.
PerformFunction = True
Else
PerformFunction = False
End If
Example 3
In this example, you can use a static string method to compare a variable to the string “Done”. If they
match then the code snippet will exit (using the Return statement). Otherwise, it will carry on and do
something else indicated by the comment.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1399
Return
End If
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
The resource properties available are dependent on the activities, parameters, data items,
and local variables already configured. Not all options are available for each output value.
Related information
Add a resource to the workflow model (on page 1356)
Note:
Parameters must already have been added to the Code activity.
Tip:
If the code is invalid, the activity is shaded red, and a red exclamation mark appears,
indicating which lines contain errors. If the Code activity is not red, then it is valid.
Related information
Add a resource to the workflow model (on page 1356)
Index Activity
An Index activity is used with any collection of data to look up a value at a specified index on the
collection.
An Index activity allows you to select a single row or column out of a DataTable data type. Historian is a
common source of data tables that can be accessed through Data Items. To access a cell of a data table,
insert two Index activities. The first Index activity selects the row, and the second binds to the output of
the first Index activity to select the column of that row.
Properties
The Index activity contains the following configuration options:
Note:
If sufficient metadata is
available, when indexing
the rows collection of the
DataTable, there is an
output property for each
column in the table.
Related reference
Common Properties (on page 1376)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
The resource properties available are dependent on the activities, parameters, data items,
and local variables already configured. Not all options are available for each output value.
8. Click OK.
9. In the Index Type field, click the arrow and select a data type.
10. In the Index field, enter a literal value, or click the drop-down arrow to perform a bind or create an
expression.
11. Click Save.
Note:
If the workflow contains multiple global subprocesses, the index operation will return only the first
instance that it finds.
Tip:
◦ If you want to write to the local variable, from the Type field, select Object.
◦ If you want to read the value of the local variable, from the Type field, select a data
type, and then in the Initial Value field, set a value.
Note:
You must have preconfigured global subprocesses available in your activities toolbox.
Note:
If you are using the same Write activity that you added in Step 12, then click Add
Write.
b. Click the ellipsis button to select the local variable that you want to read from, and then click
OK.
d. From the Select Variable dialog box, select a variable from the result of the Index activity.
Note:
Data items must be configured with an Equipment model resource at either the workflow or
subprocess level.
Reads
Reads can be added to or removed from the Read Data Items activity. When you add a data item to the
Read Data Items activity, a data item block is presented, displaying the input and output parameters.
Input and output parameters vary depending on the data item you select. The parameters can be anything
related to the data type of the data item selected.
Related information
Add a resource to the workflow model (on page 1356)
Write Activity
The Write activity performs a set of writes to workflow variables. The source of each write can be an
expression, a bind, or a user-defined absolute value.
Note:
Data types must match when writing to parameters and variables, or when using expressions.
Note:
You must match the data type with the value to be written.
Related reference
Workflow Binds (on page 1250)
Writes
Writes can be added to or removed from the Write Data Items activity. When adding a data item to the
Write Data Items activity a data item block is presented, displaying the input and output parameters. By
default, the input and output parameters are blank as configured by initial binding.
Input and output parameters vary depending on the data item you select. The parameters can be anything
related to the data type of the selected data item.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1408
Related reference
Common Properties (on page 1376)
Tip:
More than one data item can be added to this activity.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Related information
Add a resource to the workflow model (on page 1356)
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1409
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Related reference
Workflow Binds (on page 1250)
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1410
Related information
Add a write to the Write Data Item activity (on page 1408)
When you place a Start Schedule activity in a subprocess, step, fault scope, or fault handler, the activity
runs when the activity is reached in the process. The Start Schedule activity can have parameters passed
to and from it. If output parameters are being used, the activity can be configured to pause the workflow
until the schedule that is called has been completed and the value for the output is available.
Note:
A workflow will terminate if the workflow that it is calling terminates, regardless of any related
preconfigured settings, such as the Wait for the workflow to complete setting.
Settings Tab
You can use the Start Schedule activity to start a preconfigured workflow schedule from the workflow you
are currently configuring.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1411
Note:
If you do not select a
template, your workflow
will result in a validation
error at runtime.
Note:
The schedule and tem
plate schedule must
have matching input pa
rameters; otherwise, at
runtime, the workflow
will fail.
Wait for the workflow to com User-defined Select this check box to allow a
plete user to pause a workflow to wait
for the 4140workflow that it is
calling to complete.
Note:
• If a workflow
is calling a dis
abled or termi
nated workflow,
it will also termi
nate regardless of
the status of this
property.
• A workflow can
not be recursive;
that is, it cannot
call itself.
End the workflow if cancelled User-defined; Literal Select this check box to allow a
user to end a schedule if the run-
time activity is cancelled. Ending
the schedule means that it stops
running and, if persistence is en
abled, terminates it. Cancelling
the activity also ends the work
flow and any child tasks. This ac
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1413
Assignments Tab
When you use this activity to start another workflow, you can override the preconfigured location and
personnel assignments by selecting new location and/or personnel resources. You can also bind the
assignment to a workflow property. The assignments displayed are related to the selected workflow
schedule, as well as the workflow attached to that schedule.
Override
Assignments are configured in a workflow where you bind personnel and location properties. However,
when you use this activity to start a schedule, you can override these assignments for the schedule you
are starting. Depending on the schedule, you may be able to override assignments at the workflow level or
the subprocess level.
Related information
Schedules (on page 1485)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you select Bind, you must select a template schedule.
7. In the Template Schedule field, click the ellipsis button to select a template schedule.
8. Configure the template's available input parameters to match the schedule's parameters.
9. If applicable, to clear field contents, click the drop-down arrow, and then select Reset to Default.
10. Optional: Select Wait for the workflow to complete, and then configure any available output
parameters.
11. If applicable, select Wait for the workflow to complete, and then select End the workflow if
cancelled.
12. Click Save.
Note:
Activities can be inserted at both the workflow and subprocess levels.
5. Insert an activity:
◦ At the workflow level:
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you select Bind, you must select a template schedule.
7. In the Template Schedule field, click the ellipsis button to select a template schedule.
8. Configure the template's available input parameters to match the schedule's parameters.
9. If applicable, to clear field contents, click the drop-down arrow, and then select Reset to Default.
10. Select Wait for the workflow to complete, and then configure any available output parameters.
11. Click Save.
12. Click the Assignments tab.
a. To configure, select the Override check box associated with the workflow or subprocess.
b. To update the resource or to edit an existing bind, click the ellipsis button next to the
Location or Personnel field.
c. To change the assignment value between bind or literal, click the drop-down arrow.
13. Click Save.
Related reference
Workflow Binds (on page 1250)
Related reference
Workflow Binds (on page 1250)
Settings Tab
You can use the Start Workflow activity to start a preconfigured workflow from the workflow you are
currently configuring.
Note:
A workflow will terminate if the workflow that it is calling terminates, regardless of any related
preconfigured settings, such as the Wait for the workflow to complete setting.
Note:
If you do not select a
template, your workflow
will result in a validation
error at runtime.
Note:
The workflow and tem
plate workflow must
have matching input pa
rameters; otherwise, at
runtime, the workflow
will fail.
Wait for the workflow to com User-defined Select this check box to allow a
plete user to pause a workflow to wait
for the other that it is calling to
complete.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1419
Note:
• If a workflow
is calling a dis
abled or termi
nated workflow,
it will also termi
nate regardless of
the status of this
property.
• A workflow can
not be recursive;
that is, it cannot
call itself.
End the workflow if cancelled User-defined Select this check box to allow a
user to end a workflow if the run-
time activity is cancelled. Ending
the workflow means that it stops
running and, if persistence is en
abled, terminates it. Cancelling
the activity first ends any child
tasks before the workflow itself
ends. This action removes work
flow results from the server to
save space.
Assignments Tab
When you use this activity to start another workflow, you can override the preconfigured location and
personnel assignments by selecting new location and/or personnel resources. You can also bind
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1420
the assignment to a property of the workflow. The assignments displayed are related to the selected
workflow.
Override
Assignments are configured in a workflow where you bind personnel and location properties. However,
when you use this activity to start a workflow, you can override these assignments for the workflow you
are starting. Depending on the workflow, you may be able to override assignments at the workflow level or
the subprocess level.
Example
You can use a Start Workflow activity to create production work requests. These production orders
trigger a dispatching workflow, which gets the work request, reads the work process segments, and then
executes the workflows that have been assigned to the process segment.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1421
Related reference
Common Properties (on page 1376)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you select Bind, you must select a template workflow.
7. Optional: In the Template Workflow field, click the ellipsis button to select a template workflow.
8. Configure the template's available input parameters to match the workflow's parameters.
9. If applicable, to clear field contents, click the drop-down arrow, and then select Reset to Default.
10. Select Wait for the workflow to complete, and then configure any available output parameters.
11. If applicable, select Wait for the workflow to complete, and then select End the workflow if
cancelled.
12. Click Save.
Important:
The Assignments tab is not available when a bind is set on the workflow.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the Settings tab, in the Workflow field:
◦ click the ellipsis button to select a workflow, or
◦ from the drop-down arrow, select Bind to bind the workflow to a directory resource variable.
Note:
If you select Bind, you must select a template workflow.
7. In the Template Workflow field, click the ellipsis button to select a template workflow.
8. Configure the template's available input parameters to match the workflow's parameters.
9. If applicable, to clear field contents, click the drop-down arrow, and then select Reset to Default.
10. Select Wait for the workflow to complete, and then configure any available output parameters.
11. Click Save.
12. Click the Assignments tab.
a. To configure, select the Override check box associated with the workflow or subprocess.
b. To update the resource or to edit an existing bind, click the ellipsis button next to the
Location or Personnel field.
c. To change the assignment value between bind or literal, click the drop-down arrow.
13. Click Save.
Related reference
Workflow Binds (on page 1250)
Note:
You cannot modify a workflow's output parameters, but you can bind the parameters.
Tip:
Select No Bind to restore the default output.
8. Click Save.
Related reference
Workflow Binds (on page 1250)
Note:
Continuously looping workflows are not affected by this activity.
Related reference
Workflow Expressions (on page 1250)
Prerequisites
Tip:
You can use other workflow activities, such as Status Message Activity, to prevent confusion for
operators when a task ends unexpectedly.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1426
Note:
If no information is entered into this field, the default reason is Cancelled by system.
5. Click Save.
Related reference
Status Message Activity (on page 1453)
Complete Task Step User-defined; Boolean Select this option to ensure that
the subprocess cancels all exe
cuting activities and transitions
to completion.
Note:
If this option is selected,
form activities are can
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1427
Cancel Task Step User-defined; Boolean Select this option to ensure that
the subprocess cancels all exe
cuting activities and transitions
to a cancelled state. When you
select this option, the Cancel
Reason appears.
Cancelled by system
Related reference
Form Activity (on page 1456)
Prerequisites
Tip:
You can use other workflow activities, such as Status Message Activity, to prevent confusion for
operators when a task ends unexpectedly.
Note:
If no information is entered into this field, the default reason is Cancelled by system.
5. Click Save.
Related reference
Status Message Activity (on page 1453)
Note:
The following restrictions apply:
• The message queue name cannot be null or empty, and you cannot use workflow instance
ID, task instance ID, or task step instance ID as a queue name, because doing so causes
the activities to fault at run time.
• Empty GUIDs are not allowed.
• Leading and trailing spaces are trimmed in the queue name; otherwise, the queue name is
invalid.
• If the queue name is not a reserved value but the queue already exists, no fault occurs.
Prerequisites
Note:
The following restrictions apply:
◦ The message queue name cannot be null or empty, and you cannot use workflow
instance ID, task instance ID, or task step instance ID as a queue name, because
doing so causes the activities to fault at run time.
◦ Empty GUIDs are not allowed.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1430
◦ Leading and trailing spaces are trimmed in the queue name; otherwise, the queue
name is invalid.
◦ If the queue name is not a reserved value but the queue already exists, no fault
occurs.
3. Click Save.
Related reference
Workflow Binds (on page 1250)
Note:
The following restrictions apply:
• The message queue name cannot be null or empty, and you cannot use workflow instance
ID, task instance ID, or task step instance ID as a queue name, because doing so causes
the activities to fault at run time.
• Empty GUIDs are not allowed.
• Leading and trailing spaces are trimmed in the queue name; otherwise, the queue name is
invalid.
• A queue must be created before sending a message.
• The workflow instance should be running before sending a message. If it is not running,
the instance is not loaded/restarted.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1431
Queue Name User-defined; GUID; String Specifies the name of the mes
sage queue, which is scoped to
this workflow instance. This val
ue can be configured using a lit-
eral value, expression, or bind.
Related reference
Workflow Literals (on page 1252)
Related reference
Workflow Binds (on page 1250)
Note:
The following restrictions apply:
• The message queue name cannot be null or empty, and you cannot use workflow instance
ID, task instance ID, or task step instance ID as a queue name, because doing so causes
the activities to fault at run time.
• Empty GUIDs are not allowed.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1433
• Leading and trailing spaces are trimmed in the queue name; otherwise, the queue name is
invalid.
• A queue must be created before sending a message.
• The workflow instance should be running before sending a message. If it is not running,
the instance is not loaded/restarted.
Queue Name User-defined; GUID; String Specifies the name of the mes
sage queue, which is scoped to
this workflow instance. This val
ue can be configured using a lit-
eral value, expression, or bind.
Message Received Read Only; Boolean Specifies whether the sent mes
sage has been received.
Related reference
Workflow Literals (on page 1252)
Prerequisites
1. From a subprocess, drag and drop a Receive Message from Queue activity.
2. In the Queue Name field, provide a name for the message queue. This value can be configured
using a literal value, expression, or bind.
3. Optional: In the Time Out field, use the up and down arrows to set the duration that the message
remains in the queue before it expires. You can set the number of days, hours, minutes, and/or
seconds.
4. From the Message Type drop-down list, select the data type related to the message being received.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1435
5. The following fields are informational, based on the interactions with the Send Message to Queue
activity.
a. The Message field displays the message being received from another workflow or activity.
b. The Message Received field indicates whether the sent message has been received.
c. The Timed Out field indicates whether the sent message expires. It is True if the activity
times out.
6. Click Save.
Related reference
Workflow Binds (on page 1250)
Note:
The following restrictions apply:
• The message queue name cannot be null or empty, and you cannot use workflow instance
ID, task instance ID, or task step instance ID as a queue name, because doing so causes
the activities to fault at run time.
• Empty GUIDs are not allowed.
• Leading and trailing spaces are trimmed in the queue name; otherwise, the queue name is
invalid.
• If the queue name is not a reserved value, but the queue already exists, no fault occurs.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1436
Related reference
Workflow Literals (on page 1252)
Prerequisites
Related reference
Workflow Literals (on page 1252)
Delay Activity
The Delay activity allows a pause or a time out in a sequence or process while a workflow is running.
When the activity has met the specified criteria, the process or sequence can then complete the next set
of activities assigned to the process.
The Delay activity can be configured in days, hours, minutes, or seconds. The time-out value can also be
bound to a subprocess or workflow variable, or used in an expression, which can be used to get TimeSpan
values for the delay.
1. Insert an activity.
2. On the activity configuration panel, in the Timeout field, use the arrows to set the delay.
3. If applicable, to perform a bind or reset, click the drop-down arrow.
4. Click OK, and then click Save.
Related reference
Workflow Binds (on page 1250)
Related information
Insert an activity (on page 1377)
Break Activity
The Break activity ends the execution of For Each and Parallel activities, exiting the activity at the point
following the break. So, if there are any activities following the Break activity, they do not execute.
Note:
When using a Break activity, it must be contained within a For Each or Parallel activity; otherwise,
the workflow becomes invalid.
Related reference
Common Properties (on page 1376)
While Activity
The While activity repeats the execution of a workflow subsection as long as a specified condition is true.
The condition is checked each time the activity begins.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1438
When configuring a While activity, ensure that the While condition eventually resolves to False; otherwise,
the execution of the While branch will repeat indefinitely.
Properties of activities inside a While loop are not available to activities outside of the loop. If values in
a While loop need to be accessed, they can be stored in local variables allowing binding from activities
outside the local variable.
Important:
A condition must be set on the While loop in order to be valid.
Conditions
While activity conditions are created through the Workflow Expressions builder. Enter a valid expression
for the condition using a combination of the functions, variables, completion codes, and operators.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Important:
As long as the While activity expression evaluates to True, it continues to loop. As soon as the
condition evaluates to False, the process continues.
Related information
Add a resource to the workflow model (on page 1356)
Parallel Activity
A Parallel activity contains two or more sequences that execute at the same time. All branches complete
before the activity completes, unless a Break activity is used.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1440
Note:
If you are opening an existing Parallel activity at the subprocess level from a version of Workflow
prior to 2.1 SP1, the Parallel activity is automatically updated to a newer version of this activity in
order to support the new functionality contained in the Break activity.
Related reference
Common Properties (on page 1376)
Prerequisites
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
6. To add an activity to a branch, from the Standard Activities panel, click and drag the activity you
want to insert to a drop point.
7. To add another branch to a Parallel activity, select the activity, and then click .
A new branch is added to the right.
8. Optional: If you have added this activity to a subprocess, add a Break activity to end its execution
within this activity.
9. Click Save.
1. At the beginning of the For Each activity, a For Each variable local to that branch is set to the first
instance in the collection.
2. Execution continues to the end of the For Each activity. Activities refer to the For Each variable to
perform operations with or on the current instance.
3. At the end of the For Each activity:
◦ If all instances in the collection are exhausted, execution continues after the For Each
activity.
◦ Otherwise, execution returns to the beginning of the For Each activity and the local For Each
variable is set to the next item in the collection.
Note:
The order in which instances are chosen from the collection cannot be configured.
General Settings
Inputs Description
Inputs Description
Note:
When binding to a Data
Table returned by a data
item read, if the For Each
is bound to the rows col
lection of the DataTable,
there is an output proper
ty for each column in the
table.
Outputs Description
Example
For Each can repeat all subprocesses by selecting the workflow's subprocesses property as the Items
Collection for iteration.
Related reference
Workflow Binds (on page 1250)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1443
Prerequisites
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
The resource properties available are dependent on the activities, parameters, data items,
and local variables already configured. Not all options are available for each output value.
8. Click OK.
9. Click and drag an activity you want to insert onto the For Each activity drop point, and configure it.
10. Optional: If you have added this activity to a subprocess, add a Break activity to end its execution
within this activity.
11. Click Save.
Related reference
Break Activity (on page 1437)
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1444
If/Else Activity
The If/Else activity changes execution of the workflow to one of multiple exit branches based on the
resolution of a condition.
An If/Else branch can have multiple exit branches, each of which has a condition. Conditions on multiple
exit flows are calculated from left to right. The flow executes on the first exit branch whose condition
evaluates to True. There are no conditions on the last branch of the activity, as it is automatically set to
True.
Tip:
The subprocess property value Visible Property can be used for this activity.
If/Else Branch
The If/Else branch contains one or more sequences as branches. Each branch has a condition that is
evaluated to a boolean result. If the condition evaluates to True, the sequence for that branch is queued
as the next activity for the workflow instance to execute. Conditions are evaluated from left to right, and
the first sequence with a condition evaluating to True is executed. If no condition is specified, the branch
serves as an Else and always executes.
Note:
There can be only one condition placed on a branch of an If/Else activity, with the exception of the
last branch.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Tip:
For more information, see Workflow Expressions.
Related reference
Workflow Expressions (on page 1250)
Related information
Add a resource to the workflow model (on page 1356)
Event-based Activities
These activities are used when you require workflow logic to start an event during run time.
This event is triggered when the workflow is executing. Also, the output property of the event provides the
subscription resource that is used by the Wait for Event Activity.
Configuring the Create Event activity is similar to creating a condition event in Workflow; however, there
are some differences. For variables, when you bind expression variables to external data, you must
choose a data item from the workflow. For expressions, workflow variables and completion codes are
now accessible.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
For more information, see Condition Events.
The Wait For Event activity can subscribe to events created in the Event model. To use these events in
the current workflow's Wait for Event activity, they must be added to External Events in the subprocess or
workflow configuration panels.
The Wait For Event activity can also subscribe to local events created in a workflow by the Create Event
Activity, or may trigger Event Handlers.
General Settings
The following table describes the wait behaviors available for this activity:
All events to occur N/A Select this option if you want the
activity to wait for all events in
the events list to occur before
moving to the next activity.
Events
Property Values
The following property values are available for this activity:
Related reference
Workflow Binds (on page 1250)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
The resource properties available are dependent on the activities, parameters, data items,
and local variables already configured. Not all options are available for each output value.
Related reference
Workflow Binds (on page 1250)
Note:
The resource properties available are dependent on the activities, parameters, data items,
and local variables already configured. Not all options are available for each output value.
9. Click OK.
10. Select No Bind to restore the default output.
11. Click Save.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1451
Keyword Activities
You can use keywords to replace text in work instructions and email subjects and bodies. This text is
replaced with keyword values in a workflow at run time.
Note:
If required, configure the workflow.
Insert... To...
Update Work Instruction Keywords ensure that the change in the value of a work
flow variable is reflected in the work instruction
text. Go to step 8.
b. In the Keyword Text field, bind the activity to the property whose text you want to
replacement .
The activity's output is the text that was defined to replace the keyword.
8. To automatically update keywords in work instructions when the workflow begins, insert the
Update Work Instruction Keywords activity.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1452
Note:
This activity is used only if the values in a work instruction should be updated during the
execution of a task step.
9. Click Save.
Inputs
Outputs
Related reference
Keyword Properties (on page 1453)
Related information
Replace keyword text during run time (on page 1451)
You use this activity if the value of a work instruction requires updating during the execution of a task
step. Then, the work instruction is automatically updated when the workflow begins and any task step
begins.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1453
Keyword Properties
Keywords are derived from local variables and properties configured in a workflow. Keyword property
values are substituted during run time.
You can add keywords using a Replace Keywords or Update Work Instruction Keywords activity in a
workflow.
Additionally, custom keywords can be defined as local variables within a workflow or subprocess with
the variable name referenced directly inside the standard keyword delimiters. Keywords are resolved
at the lowest possible scope. For example, if a workflow and a subprocess both have a Name property,
the <@Name@> keyword in a subprocess will be substituted with the subprocess name since that is the
immediate scope, not the workflow name (the parent scope).
Note:
The list of keywords associated with a task template is a reference available for Task Builders. It
does not make a keyword value available during run time unless the keyword name maps to an
existing property or local variable.
Workflow Properties
For a list of properties that can be used with keywords, see Workflow properties.
Subprocess Properties
For a list of properties that can be used with keywords, see Properties for subprocesses.
Operator Activities
These activities are used by operators when a workflow is running the Task List.
The Status Message activity allows you to create custom status messages which are visible when a
workflow is running. By using status messages, you provide information about a variety of considerations
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1454
related to the task to the operators performing these tasks; for example, long processing times. Each
subsequent status message activity overwrites the previous message.
Tip:
The property value of the containing subprocess must be Visible Property in order for this activity
to be valid, and a message must be entered.
General Settings
Example
Waiting for unit ‘x’ to finish processing.
X is an equipment name obtained from a Production Service Provider call method. For this message to
display, you require a Call Method activity and Index activity to pull the correct data into the location where
the Status Message activity is.
As a result, in the Status Message expression, you will need the following:
Related reference
Visible Property (on page 1343)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Tip:
For more information, see Property Value Types.
9. Click Save.
Related information
Add a resource to the workflow model (on page 1356)
Form Activity
The Form activity allows user-created forms and displays to be exposed in the Task List of a running
workflow.
Forms are added and created in the Global Displays model. The Form activity binds to the form that is
located in this model. Forms are visible in a user's Task List when a workflow is running. Logic can also
be included in a form that allows it to recognize an event occurrence and respond to it. For example, a
form can either prompt an operator to perform an action, such as entering information in a form, or it can
ensure that an action performed by an operator, such as scanning a bar code, automatically submits the
form. It is the event handler in the Form activity that ensures these operations. For more information, see
Event Handlers.
Electronic signatures can be configured for a form and those signatures are collected at run time and
stored in your SQL Serverdatabase for audit trailing purposes. For more information, see Purpose of
Electronic Signatures.
During run time, when a Form activity is reached in a task step, execution pauses until the form is
completed by an operator. Forms can be submitted or cancelled by the personnel or location assigned to
the subprocess. However, for some types of forms, you can configure them to be automatically submitted
or cancelled. You can also choose to allow a user to cancel a form.
Important:
The Visible Property of the containing subprocess must be set for this activity to be valid.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1457
Form Types
A Form activity used in a workflow can either be configured to use a regular, hard-coded form, or it can be
dynamic, where the form shown is determined at run time.
Regular Form
Dynamic Form
Bind the form to a directory resource variable in the workflow, allowing the workflow to
determine the form to show at run time. The Form activity must specify a template form that
describes the metadata (parameters and events) that the run-time form requires.
General Settings
The following table describes the available attributes for the Form activity. To clear any field, select Reset
to Default using the arrow next to the field.
Dynamic Forms:
Note:
You must select a tem
plate; otherwise, your
workflow will receive a
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1458
Note:
The form and template
form must have match
ing parameters, including
matching display names;
otherwise, the running
workflow will fail.
Allow user to cancel form N/A Select this check box if you want
users to have the option of can
celling the form during run time.
If this check box is selected, a
Cancel button appears at the bot
tom of the form.
Maintain form record upon com N/A Select this check box if you want
pletion to receive completed form data
after a form has been submitted
or cancelled.
Note:
If this box is not checked:
• No data will be
stored in memory.
• Completed form
information will
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1459
not be available in
Task Step Details
or in Task History.
The following table describes the default output properties for this activity.
Note:
Only activated subprocesses are available for workflows.
Text
Input Parameters
Image
Input Parameters
List Boxes
Input Parameters
Note:
If both the initial index and value are set, and they both are different, then the index takes
precedence over the value.
Note:
For custom forms, plain
text option names only
are supported, not arbi
trary HTML.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1463
Output Parameters
Radio Buttons
Input Parameters
Note:
If both the initial index and value are set, and they both are different, then the index takes
precedence over the value.
Note:
For custom forms, plain
text option names only
are supported, not arbi
trary HTML.
Output Parameters
Combo Boxes
Input Parameters
Note:
If both the initial index and value are set, and they both are different, then the index takes
precedence over the value.
Note:
For custom forms, plain
text option names only
are supported, not arbi
trary HTML.
Output Parameters
Check Boxes
Input Parameters
Output Parameters
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1469
Text Area
Input Parameters
Output Parameters
Text Boxes
Input Parameters
Output Parameters
Related reference
Workflow Binds (on page 1250)
Event Handlers
Event handlers are activity sequences that are triggered by a specific event. They allow a workflow to run
logic when the events occur while the form is active.
Two types of events can be selected for a form event handler. One is a form event, which is part of the
selected form. The other is a workflow event, which is available from External Events or the Create Event
activity.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1471
When a workflow is running, only one event handler can run at a time; event handlers cannot run parallel.
The events are held in a queue until another event handler finishes running. A limit of 10 event handlers
can be queued during run time. If an event handler faults, the Form activity also faults.
An event handler can also update, as well as write to, input properties of a Form activity. Form authors can
specify whether a form input property can be updated inside the form event handler. If these properties
cannot be updated, they will not be available to use in a bind. If you use these properties in an expression,
you cannot change the values.
Limits
A Form activity has a limit of 25 event handlers, and 15 events that can be defined by a form.
Event Source
The event source is the name of the resource used as the source of the event. Event properties are then
generated for the event handler based on this source.
An event handler can be added for a dynamic form and it acts identically to an event handler that is added
for a regular form. For a dynamic form, however, the events defined on the template must be equivalent to
those on the run-time form (display names must match); otherwise, the handlers will not run.
Event Properties
Event properties are generated for the event handler based on the selected event source. The following
table describes the common event properties related to an event source.
Note:
External Events, a Create Event activity, or a form event must be defined in order to add an event
handler.
Note:
External Events, a Create Event activity, or a form event must be defined in order to add an event
handler.
Note:
You cannot set the same initial input value to a form more than once. You can set the form
value back to the initial value by performing these steps:
a. Write a different value, such as an empty string.
b. Write the original value again.
10. In the Task Step Behavior section, to ensure that the step is acquired when an event occurs, select
True. If you do not want this behavior, select False.
11. In the Form Behavior on Complete section, to automatically submit or cancel the form, select True
in the related field.
Note:
You can set only one of these properties to True. Both Submit and Cancel cannot be True.
Note:
Form events in web-based HTML5 forms are supported only in Vision.
<!DOCTYPE html>
<html>
</head>
<body>
</form>
</body>
</html>
1. Write a page (HTML document) that contains the form data that you want to use.
For a basic sample document, see Event Handlers for Web-based Forms.
2. In the data-formevents attribute, define the form event.
3. In the navigator, click Global Displays > Forms.
4. In the Displays panel, click Display Editor.
5. On the Overview tab, select Use a web page, and then add the URL that points to where the HTML
document is hosted.
6. Click Save.
7. In the navigator, click Workflow > Workflows.
8. In the resource list, select the workflow that you want to work with. If no workflow exists, create a
new workflow.
9. In the Displays panel, click Workflow Management > Workflow Editor.
10. Click the Workflow Editor tab.
11. Drag and drop a Local Subprocess into the workflow and double-click it, or double-click an existing
subprocess.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1476
Note:
If you want to add more event handlers, you must repeat steps 12 and 13 after updating
the HTML document, and then configure the handlers again.
Important:
You cannot set the same initial input value to a form more than once. You can set the form value
back to the initial value by performing these steps:
Related reference
Event Handlers for Web-based Forms (on page 1474)
If the task/task step action or form for your run-time workflow requires a signature, select the Signature
Required check box.
Tip:
You can bind these properties to a resource related to a workflow or subprocess.
Tip:
You can bind this property to a resource related to a workflow or subprocess.
1. You can configure an electronic signature from various locations within a workflow depending on
which action during run time you want to set an electronic signature against.
2. On the configuration panel, in the Electronic Signature Settings area, select the Signature Required
check box.
3. In the Valid Performers field, click the ellipsis button to select the security group (personnel
resource) that the signature performer must be a member of.
4. If you want the task/task step action or form to close and the workflow to proceed if the electronic
signature fails, select the Close if Signature Fails check box.
Note:
A task/task step action or form can be cancelled without a signature if it has been
preconfigured to do so; however, if you cancel, the task step is skipped and the workflow
continues.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1479
5. If a second signature is required before the task/task action or form can be submitted, do the
following.
a. Select the Verifier Required check box.
b. In the Valid Verifiers field, click the ellipsis button to select the security group (personnel
resource) that the signature verifier must be a member of.
6. In the E-Signature Description field, enter a description of the action being performed or the values
that were entered on the task/task step action or form. This description is recorded with the
electronic signature record.
7. Click Save.
The following examples describe how to use binding for valid performers and verifiers.
You develop a global subprocess that will be used in multiple places in your facility. In this subprocess
you have included a form activity that is configured with electronic signature requirements.
One of the workflows that uses the subprocess controls Line A and the other workflow controls Line B.
You want to ensure that a different group of users can sign this form. For example, for Line A, the group
Line A Operators must perform the signing; for Line B, the group Line B Operators must perform the
signing.
To ensure that the correct group of users can sign the form, configure an input parameter for the
subprocess so that the security group DirectoryResource data type is passed into the subprocess. On the
form activity, bind the Valid Performers group property to the value of the input parameter.
In this way, you can specify different valid groups based on the workflow the subprocess is being used in
without having to rewrite or duplicate your subprocess logic.
II: Bind a valid performer or verifier to the current value of a data item
To use this method, use a Search call method (see IDirectorySearch service interface) to dynamically get
to a different security group and bind to its result.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1480
Note:
If you follow either of these examples to configure a binding that uses a DirectoryResource data
type, you must ensure that your logic is correctly set up so that it resolves to a security group at
run time.
You can configure multiple Write to File activities in a single workflow. Each activity can write to a
separate file or you can append the content to an existing file.
Related reference
Common Properties (on page 1376)
Literal Enter the text that you want to write to the log
file.
7. In the File Path field, enter a name for the log file.
Note:
◦ Workflow log files are automatically written to the folder %ProgramData%
\Proficy\Workflow Files.
◦ You can include additional folders to the file path that are relative to this path.
◦ If you enter a non-existent file name, the application creates a new file.
8. From the Include Timestamp drop-down list, select True to include a time stamp with the content
being written; select False if you do not want to include a time stamp.
9. In the Max File Size (MB) field, enter the maximum size of the log file, in MB. When the maximum
file size is reached, a new file is created with the same name, but including a number; for example,
<filename>.1.txt. Each successive file that is generated in this way will be incremented by
one.
10. Click Save.
eSOP Activities
These activities are used when working with the eSOP Editor.
Inputs
Processes an eSOP task and returns all of the task's properties.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1482
Outputs
The following properties are associated with the task being processed.
Inputs
Processes an eSOP task step and returns all of the task step's properties.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1484
Outputs
The following properties are associated with the task step being processed.
Schedules
Schedules
Schedules are used to run a workflow when an event occurs and provide more configuration options for
specific workflows. However, they are created and executed separately from workflows.
Schedules can be used to override values configured for a workflow, such as task priority, work
instructions, assignments, expiration, and linked documents. They also provide the ability to enter literal
values for workflow input parameters, as well as bind to variables and event properties.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1486
There are four configuration tabs in Workflow Schedules: details, parameters, task details, and tracking
configuration. Each tab, starting with Details, works in succession and inherits the original properties of
the task details for the selected workflow.
Example
You have a workflow called Machine Cleaning. This workflow is used to clean a number of different
models of mixers. A supervisor selects the workflow, assigns a role, location, and input parameters, and
then schedules it for a particular day. The workflow is given context with a role, location, the mixer model
to clean, and point in time to execute. When the workflow event and schedule are enabled, the schedule is
available to be executed.
Note:
You can configure up to 3000 schedules.
You can select a workflow to be scheduled, as well as the options related to how the schedule starts.
Schedules are executed based on a timed event, conditional event, production event, or a manual trigger.
When you create a schedule, you must completely configure all elements, except Version, on the Overview
tab. Here, you select the workflow to be scheduled, and then you can either assign an event to trigger the
schedule, or you can manually run the schedule.
Note:
Only elements on the Overview tab require configuration. The other tabs in schedules are
optional.
Schedule Configuration
The following table describes the available options.
Note:
If you select a disabled
workflow, this schedule
cannot run.
Tip:
For information on
configuring scheduled
events from Workflow
Schedules, see Event
Sources.
Manual Trigger: Run Workflow N/A Click to manually start the select
ed workflow. This button is avail
able only after a workflow is se
lected and the schedule is en
abled.
Note:
To edit a schedule, it must be disabled.
Click... To...
For... Do this...
◦ To run more than one of the same workflow at the same time, select Allow multiple
instances of this workflow to be running at once.
◦ For better workflow performance, select Disable persistence for instances of this workflow.
◦ To restart stopped instances, select Automatically restart stopped instances of this
definition on server start.
5. Click Save.
Note:
A workflow schedule must be associated with a workflow task in order to start it from the Start
Task feature, and this workflow (and schedule) must be enabled, with the Visible property set to
True.
Schedule Configuration
The following table describes the available options.
Is Schedule Visible in Start Task N/A Select this check box to ensure
Window that the selected schedule ap
pears in the list of tasks present
ed when you click the Start Task
button.
Note:
If an equipment or com
puter resource is select
ed for the location fil
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1490
Note:
A workflow schedule must be associated with a workflow task in order to start it from the Start
Task dialog box during run time, and this workflow and its associated workflow must be enabled.
Event Sources
Event sources are data items that you can subscribe to.
When you configure the scheduled settings in a workflow schedule or the trigger settings of a condition
event, event source properties are available to define further.
Important:
Available event sources depend on the service providers you have installed.
• Task Expired
• Task Step Expired
Tip:
To remove an event from the schedule, click Delete.
7. Click Save.
When an event source is added to a workflow schedule, you can bind the parameters from the attached
workflow to event properties.
Note:
You can only bind parameters to property values of similar data types.
Following are all available properties that are specific to this event source.
TaskPriority Nullable Int32 The task priority order for the cur
rent workflow
Following are all available properties that are specific to this event source.
TaskPriority Nullable Int32 The task priority order for the cur
rent workflow
The information is inherited from the selected workflow; however, you can override previous
configurations of task/task steps to meet the needs of your workflow schedule.
Schedule Parameters
The parameters available in Workflow Schedules are the preconfigured input parameters or data items of
the selected workflow. If the selected workflow has no parameters, no information displays on this tab.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1498
Note:
Subprocess level parameters and fault handler parameters are not displayed in the workflow
schedule parameters list.
Schedule parameters can be set with a static initial value for the parameter, or can be bound to any
variable or event property (if an event is attached to the schedule). The values and the types of values
available to be configured depend on the selected workflow. A parameter reconfigured in Workflow
Schedules is saved as part of the schedule configuration and overrides the workflow parameters.
Note:
If any parameter types are changed in an attached workflow after that workflow was attached to
the schedule, the original workflow parameters displayed in the schedule appear as invalid.
The following table shows the options available when modifying the input parameters:
Note:
This option is available
only if an event is at
tached to the current
schedule.
Tip:
The system prevents you from entering an invalid value or selecting an invalid binding.
Note:
To configure parameters, a workflow containing parameters must be attached to the current
schedule. The type of parameters available to configure depends on the existing data types
associated with the parameter. Therefore, the parameter fields vary.
Workflow: Priority User-defined; Whole number Select the Use default workflow
priority option to retain the cur
rent workflow priority.
Note:
Priority is used for sort
ing and filtering tasks in
the Task List; it does not
affect the execution of
the workflow.
Note:
You can enter whole numbers only.
7. Click Save.
Note:
A resource must already have been added in order to select it from this list.
Work instructions are useful for the person performing the task or task step. These instructions appear in
the Input panel in the Task List and Task Management while a workflow is in a run time state.
Schedule work instructions work User-defined Enter new work instructions for
space the selected task or task step.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1502
Tip:
You can insert information copied from another application, as well as graphics, but it
cannot exceed 4 MB.
8. Click Save.
In the Linked Documents area, you can attach a document or web site address for the person performing
a running workflow task (or a subprocess task step) to reference. These documents can include anything
that an operator requires to perform or complete an operation.
Linked documents appear in the Documents panel in the Task List and Task Management while a
workflow is in a run-time state. They are embedded in this panel unless your Microsoft Windows
configuration does not allow this, and can be in any application format that the user's workstation
supports. However, if a document opens outside the linked documents panel, the user is responsible for
closing it.
Note:
You must have the ability to apply or assign documents to a task.
Tip:
When you link a document at the workflow level, that is, to a task, it remains open while the task
runs (unless the user closes it or opens another document). All embedded documents close
automatically when a task is completed.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1503
Example
If a maintenance operator is performing a maintenance task on a piece of equipment that he has not
worked on for some time, the service manual can be an important reference. The service manual can be
linked and then viewed for reference while carrying out the maintenance work.
• document name
• original vs. override
• override vs. original
Tip:
• Mobile-sized Task List only: To view Microsoft Office 2007 and later documents inside an
Internet Explorer browser window, add a registry patch.
• Web Task List only: To open embedded documents, set the URI for each link to an absolute
path, save documents in a folder on a server, and give the folder share permissions.
4. Click the Task Details tab, and then click the Linked Documents tab.
5. In the Task/Task Steps panel, select:
◦ The workflow to add a document to the task.
◦ A subprocess to add a document to the task step.
6. Click Add.
7. Click Browse to select the file or web site address, or in the URL/UNC field, enter the full path to the
document, or the web address of the web site.
8. In the URL/UNC Text field, enter a name for the file or web site, or accept the default.
Note:
The full file path or web site address must be entered.
Assignments in Schedules
The Assignments area is where you can override the previously configured location/personnel
assignments for workflow tasks or subprocess task steps, depending on the requirements of the
schedule. These task/tasks steps can be sent to an assigned computer or operator at that station to
complete.
Note:
The schedule must contain either a personnel or location assignment, but it can also contain
both. When you clear an assignment, the original workflow assignment is not retained.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1505
Tip:
Click Clear to remove the selection.
9. Click Save.
Note:
Click Clear to remove the selection.
Expiration in Schedules
You can set an expiration date and/or time for workflow tasks, subprocess task steps, and scheduled
tasks.
An expiration is a visual indication about how much time is available to perform a workflow task (or a
subprocess task step). Expirations determine the duration of a task or task step when a workflow or a
subprocess is in a run-time state.
In a workflow instance, if a task or task step expires, you can still complete it. The entire process is
not lost; however, the task or task step is logged as having timed out, and the workflow state changes
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1507
and initiates an event that you can hook into. This event can also be used as a means of escalation. If
required, you can then run the task or task step again. A running task is not interrupted if a task expires.
Example
During the execution of a task, one of the task steps expires because of an equipment maintenance issue.
The task supervisor can, during the execution of the subsequent task steps, go back and complete or
restart the expired task step when the employee and equipment are available to complete the task step.
Expiration Options
Note:
The Absolute and Relative expiration types allow you to build an expression or perform a bind.
Tip:
Insert a condition event
to: provide the comple
tion countdown, or en
sure a condition is met to
expire this item.
Select... To...
Absolute modify the exact expiry date and time, and then
click the drop-down arrow to select a date and
time.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1509
Select... To...
Note:
To include a condition event, select this
check box.
9. Click Save.
Overrides
The following table is an overview of the tracking configuration options available when you want to
override the current workflow settings:
Note:
To view a tracked variable after a workflow has run, enable tracking at both the process
(workflow) and subprocess level.
Override Default Tracking for this N/A Select this check box to enable
Schedule the Tracking Settings options.
Enable Tracking: Track at the N/A Select this option to track work
Process Level Only flow data only.
Enable Tracking: Track at the N/A Select this option to track both
Process and Subprocess Level workflow and subprocess data.
Faults
Faults
Faults are errors or failures that occur within a workflow while it is running.
Faults can occur for any number of reasons, such as issues in activity execution or with one of the
runtime services. When a fault occurs, it is raised to the workflow runtime and the workflow is terminated.
If a fault is raised while an activity is executing, the remainder of the activity’s work is cancelled. If more
activities follow the faulted activity, that work cannot be started or completed. With no way to handle
these faults, the workflow can never complete.
Faults can be both user-defined and created automatically by the system. A workflow can be configured
to recover from faults; however, if a fault is not handled, the workflow ends and logs a description of the
fault.
Workflow allows you to work with faults in three ways: through Fault activity, Faulty Scope activity, and
Fault Handlers. Each one of these functions has both a versatile and specific role to play when designing
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1511
a process. By using these functions, expected issues can be resolved without causing a major system
disruption.
Note:
You can configure up to 1000 faults.
Fault Configuration
Fault configuration provides general information about the currently selected fault.
Attributes
The Fault Message specifies a message that will be reported when a fault occurs.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1512
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Fault Activity
Fault activities allow you to end a workflow in a predictable way under specific conditions. It is used to
create a user-defined stop point within a workflow where an error is raised.
If a fault resource is selected when the fault activity is configured, that fault is raised with its associated
error message. If a fault has not been selected, the activity raises a default fault, or a non-specific error.
The common use for a fault activity is within a fault scope where the end result is expected and defined.
Fault activities should not be used in a linear process as they will cause the process and the workflow to
end and begin the postsubprocess and unload steps.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1513
Fault Edit
You can create a fault activity while developing a workflow. You can edit, view, and add a fault activity to
any step within this workflow.
The benefit of fault scopes is that they have built-in resolutions to these failures. Scopes have fault
handlers that deal with these issues so that the workflow instance can resume after the scope runs if
an error occurs. So, if the fault is handled, the workflow continues at the point immediately following the
scope. There can be many levels of scopes, which are nested in the subprocess.
The fault scope activity allows a series of activities to be contained in the scope. If a failure during a
workflow instance is predictable, you can add a fault handler that is associated with the fault to resolve
these circumstances. For example, if you can predict that a new process designed on a production floor
may fail some of the time, a special set of fault handlers can be assigned to this scope to deal with the
failure.
The fault scope activity is also associated with fault handlers as they pertain to level promotion. Within
a fault scope, there are a series of fault handlers at various levels to try and catch any error or failure
that is occurring. The fault scope searches for handlers to run. If the scope cannot find a handler to
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1514
deal with the fault (that is, if no resolution to this fault is found), the fault is promoted to the next level of
fault scope where it could possibly be handled by its fault handlers. The next level could be another fault
scope activity (if the scope is nested), or upwards to the subprocess/step itself. The same sequence of
events happens until there are no further levels to promote to. If there are no more levels (that is, the fault
reaches the workflow level), the workflow stops and an error is logged.
Note:
You cannot configure a fault scope at the workflow level.
Fault Handler
The fault handler's main role is to provide a means of recovery from an error in a workflow. It associates a
specific error with the recovery process.
One or more fault handlers can be added to a scope. The scope itself is a subprocess or a step within
a workflow or a fault scope activity. However, no matter how many fault handlers are within a scope,
only one will run based on the configuration of the handlers. Fault handlers can be configured to handle
specific faults, system faults, or all faults. The handler that runs is the first one that is appropriately
configured to resolve the fault. The path that is followed to find the appropriately configured fault handler
is a linear path (from left to right).
If any handler runs, the currently running subprocess ends and the rest of the workflow continues to
run as prescribed, starting at the next subprocess. If no handler runs or an unhandled fault occurs, the
current subprocess ends at the fault and the workflow instance ends in the normal way; that is, the
postsubprocess, postprocess, and unload steps run before the instance completes.
Fault handlers exist at two levels: within a process step and within a fault scope activity. Logic for the
fault handlers can be defined at both levels. It is important to have handlers at both these levels to be able
to try and resolve any issues that cannot be resolved at the activity level.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1515
Handle System Exception User and system-defined Select this check box to handle
any system fault that was not
created by a user. When you se
lect this check box, the Handled
Faults Edit link is enabled.
Handled User Faults: Select User-defined Click this link to open the Uni
Faults versal Browser to select one or
more faults to add to the select
ed fault handler activity. The se
lected faults display below Han
dled Faults in the activity configu
ration panel.
Handled User Faults: Clear List User-defined Click this link to remove any user-
defined faults previously added
to this fault handler activity.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1516
Properties
The following fault handler activity properties are available through these binds: Write activity and Local
Variables.
Related reference
Write Activity (on page 1406)
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1517
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list. For more
information, see .
Note:
Activities can exist only between the presubprocess and postsubprocess.
Test Workflows
Testing Workflows
You can test and review workflows before they become part of your production environment by
performing basic tests and verifying instance control.
If a fault occurs that causes the workflow to terminate, the termination reason displays.
Note:
Testing and debugging workflows before putting them into production is strongly encouraged to
prevent faults in a running workflow and to troubleshoot potential issues.
Test Workflow: Test User-defined Click this button to test the cur
rent workflow.
Test Workflow: Stop Testing User-defined Click this button to stop testing
the current workflow.
Test Instance Control: Restart User-defined Click this button to restart a run
ning workflow.
Test Instance Control: Stop User-defined Click this button to stop a work
flow during execution.
Test Parameters
You can configure the parameters of the workflow you are testing during the testing process.
The input parameters and test results sections display information only during a manual test of the
current workflow. Test input and output parameters do not remain when you navigate from one workflow
to another, and do not remain part of the workflow definition when the workflow is saved.
When you perform a test, you can reconfigure input parameters that are applied during this test only.
When the test is complete, you can view the output parameters based on the results of the test. The
values available for configuration are based on the parameters that have already been added in other
configuration panels.
Related reference
Parameters (on page 1305)
Note:
Parameters must have already been added to a workflow to configure them in a running workflow.
For more information, see Add attributes to a workflow or subprocess.
Debug Workflows
Debugging
The debugging function allows you to locate and isolate an error in your workflow in order to fix it before
the workflow is used in a production environment.
In the Workflow Editor, you can review and assess a workflow to ensure it is ready for use. This is done by
attaching the debugger to a workflow and testing it. You use the commands on the Debugger Control Bar
to perform these operations.
A debugging session occurs when you attach a debugger to a running workflow, which can be done in
both a test or a production environment. If you attach the debugger before the workflow instance runs,
the debugger pauses at the load step. At this point, you can set any required breakpoints and then move
through the workflow step by step, pausing the workflow at each step or activity before it starts to run. If
the workflow configuration at any of these steps requires outside interaction, such as the Form activity
and the Manual start function, you must perform these actions before continuing the debugging session.
Also, at each step, you can see the properties in the Variable Viewer. Each step in a workflow is made
up of a variety of configurations. When you are in a debugging session, you can view the parameters,
properties, and variables that are associated with both the selected step and the workflow as a whole.
A debugging session finishes when the debugger toolbar is detached or the workflow instance is
completed or ended. You can detach the debugger from a workflow instance so that it can continue
running normally, or be paused or ended.
When you are in a debugging session, the workflow is in a read-only state. Only one user can attach the
debugger to a particular workflow instance at a time; however, it is possible to have multiple users attach
the debugger to different workflow instances at the same time. Only five debugging sessions for any
given workflow are allowed at one time.
Breakpoints
Breakpoints allow you to intentionally pause a workflow when it reaches a specific location, such as a
process step or activity. The workflow automatically pauses whenever a breakpoint is reached if the
workflow debugger is attached.
When a workflow instance is paused, you can use use the Variable Viewer to inspect the current values of
activity properties. This allows you to verify the expected behavior of your workflow and to diagnose any
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1522
problems. The Variable Viewer not display information while an activity is running; it is available only when
the workflow instance is paused.
Breakpoints are managed by a user who has specific security permissions. When the breakpoints are
set in a workflow definition, they remain part of the workflow during the current client session. When
this session ends, the set breakpoints are removed. You have the option to add and remove a single
breakpoint at any process step or activity, or to remove all breakpoints at one time.
In the workflow Workspace, debugging commands and controls are active on the debugger control bar.
This view also shows current workflow activity and active breakpoints. You cannot edit the workflow
because the activity panel is not available; however, the workflow Variable Viewer shows the name,
current value, and data type of properties, parameters, and local variables within a selected step.
These commands represent the functionality of the buttons on the Debugger Control Bar, as well as the
meaning of the images displayed during a debug session.
Note:
A resource must already have been added in order to select it from this list. For more information,
see Add a resource to the workflow model.
1. Start a debugging session. See Start and end a test debugging session.
Note:
To start a debugging session for a running workflow, see View a workflow instance.
2. On the Workflow Editor tab, select a step within the workflow, and then click Add a Breakpoint.
3. To remove a single breakpoint, select the step with the breakpoint you want to remove, and then
click Remove a Breakpoint.
4. To remove all breakpoints, click Remove all Breakpoints.
Note:
If any workflow configurations require outside interaction, you must perform these actions by
logging into a separate Client application before continuing the debugging session. Otherwise,
when you navigate away from the debugging session, the session is lost.
1. Start a debugging session. See Start and end a test debugging session.
Note:
To start a debugging session for a running workflow, see View a workflow instance.
Note:
Each time you click Step, the next activity runs, and then pauses before running the next
step or activity. If there are multiple subprocesses, you step through the presubprocess
and postsubprocess before and after each subprocess until the final subprocess runs.
1. Start a debugging session. See Start and end a test debugging session.
Note:
To start a debugging session for a running workflow, see View a workflow instance.
2. To see the values for each process step or activity, select that step or activity in the workflow. The
values display in a table in the Variable Viewer area.
Note:
A resource must already have been added in order to select it from this list.
Note:
The debugger detaches automatically if the workflow instance finishes or is stopped.
4. From the Workspace, select the workflow instance you want to end, and then click Kill Debug
Session.
Important:
Authorized users can end a workflow debugging session; however, if the workflow was
running before the debug session started, it will continue running after the session ends.
Track Data
Tracking Data in Workflows
The Tracking Configuration tab allows you to track subprocess or workflow level data and local variables
while a workflow is running.
Tracking Settings
When you enable tracking settings, you can track data at the workflow level, or at both the workflow
and subprocess levels. These settings control whether workflow and subprocess data is maintained for
reporting purposes, as well as whether you can view this data in Task History in the Task List.
Note:
To view a tracked variable after a workflow has run, enable tracking at both the process
(workflow) and subprocess level.
Tracked Variables
Tracked variables are the local variables added and configured in the Workflow Editor, where you can
define them as trackable. They are the only types of preconfigured variables that can be tracked in
tracking configuration. These variables can be tracked at both the workflow and subprocess levels. They
are viewed the in Trackable Variables panel, and are based on the workflow or subprocess you select in
their respective configuration panels. From this list, you can further define the variables you want tracked.
Depending on the data you want to retain when a workflow is executed, different variables can be selected
at different times.
Tip:
Tracking configurations can be overridden in a workflow schedule.
Example
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1528
Use a Form activity to write to local variables, and then track these variables to ensure the action was
completed. When tracking is enabled, the results from the form can be viewed in a report.
Note:
Local variables must have already been added to the workflow or subprocess in order to
configure them in tracking.
Enable tracking
When you enable tracking, a variety of workflow tracking data is saved for reporting purposes and task
history details. For more information on the data that is saved, see Workflow Tables in the Reporting
Database section.
Note:
To view a tracked variable after a workflow has run, enable tracking at both the process
(workflow) and subprocess level.
Note:
To view a tracked variable after a workflow has run, enable tracking at both the process
(workflow) and subprocess level.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1529
Important:
The Call Web Method that was provided in earlier versions of Workflow is still available. You can
continue to use it for your legacy web services; however, it is recommended that for all new web
services configurations, you should use the Web Services Service Provider to add and configure
web service definitions.
The Web Services Service Provider defines the methods and displays used to add and remove web
services to and from Workflow, and to configure the security, location URL, and endpoint information used
to connect to the web service. It is responsible for publishing information about the web services and
their methods to the Directory of Resources so that they can be accessed in the navigator and the method
selection dialog boxes (that is, for call methods and forms).
You can add a web service by associating the Web Services Service Provider with a WSDL file located at
a specified URL. The WSDL file is downloaded and read to determine the configuration of the web service.
The Web Services Service Provider then publishes methods that correspond to the methods described in
the web service.
Note:
You can create up to 100 web services definitions in your system.
After adding and configuring your web service, you can use the web service by configuring its methods in
the existing Workflow call method activity, or by configuring the methods as server methods in forms.
The published web service methods are available in the Configure Method dialog box and are listed
under an interface that corresponds with the web service definition they are associated with. For
example, if you create a web service definition named WebService1, then the interfaces configured for
the associated WSDL appear in the Configure Method dialog box with the methods listed below it, as
WebService1_<contract of service>. If you use the methods with the call method activity, the input and
output parameters that were configured for each method are displayed in the activity configuration panel.
If you use the methods as server methods in WPF or Silverlight forms, the input and output parameters
are displayed in the Properties panel of the forms designer.
If the data types configured in the web service are not compatible with Silverlight (for example, Datatable),
then the collection types generated in the methods appear formatted as arrays.
User Name and Password fields are available on the Overview tab of the Web Service Editor where you
can enter the optional user credentials. If the web service uses a client certificate authentication scheme,
then the Client Certificate Details fields are available on the Overview tab of the Web Service Editor.
The security/authentication mode used by the server determines the binding required by the Workflow
client to create a connection. Unsecured web services use the BasicHTTPBinding; all other security
modes use the WSHttpBinding. The supported security modes used by both binding types are:
• None
• Message
• Transport
You must have a web service with valid WSDL running before you can add a web service in Workflow
using the Web Services Service Provider.
In order to manage web services, you must be a member of a personnel group that has the Manage Web
Service key set permission assigned to it.
Web service complex types can be instantiated and initialized using the Code activity. A namespace
related to a web service has to be added in the Namespace Browser in the Workflow Editor when
configuring a workflow.
Note:
The Workflow application server must have the Silverlight SDK 5.0 and the Silverlight Runtime 5.0
installed. Client machines must have Silverlight Runtime 5.0 installed.
1. In the navigator, click Proficy System > Proficy System > Web Services.
2. Click Add Web Service.
3. In the Name field, enter a unique name for the web service.
Namespace details are automatically populated in the Namespace field.
4. In the WSDL URL field, enter the address of the WSDL file you want to associate with the web
service.
5. In the Description field, enter more information related to the web service.
6. To change the preconfigured string in the Namespace field, enter a new namespace using C#
namespace guidelines.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1532
Note:
If the web service interfaces and methods do not appear in the Silverlight forms editor,
then you must restart the Workflow client.
In order to manage web services, you must be a member of a personnel group that has the Manage Web
Service key set permission assigned to it.
Important:
If the web service is not licensed (as indicated by the message in the License Overview area),
then you cannot execute any of the methods contained in the WSDL file.
1. In the navigator, click Proficy System > Proficy System > Web Services.
2. From the Web Service Definition list, select the web service you want to work with.
3. In the Displays panel, click Web Service Editor.
4. Click the Overview tab.
5. In the Endpoint field, select an endpoint you want the web service to use for communications.
6. In the Location URL field, change the address of the WSDL file only if one of the following has
occurred:
◦ The web service has been moved to a different server.
◦ The server is renamed.
◦ The web service is hosted at a different URL.
7. Depending on the authentication scheme the web service uses, do one of the following:
Note:
If the endpoint is configured to use the user name and password details, then in order to
test or use this endpoint, you must enter valid information in these fields.
8. Repeat steps 5-6 for each endpoint to configure for the web service.
9. Click Save.
Prerequisites
You can delete a web service that is configured for use in a non-running workflow; however, when that
workflow is loaded in the Workflow Editor, a validation error is displayed indicating that the workflow
uses a connection that no longer exists. You cannot delete a web service definition that is being used in a
running workflow instance.
If any Silverlight form is configured to use a server method that is associated with a deleted web service,
then an error message is displayed in the Feedback Zone. If the same server method contains a complex
data type, you cannot configure that method again; the method must be deleted from the form, added
again, and then configured.
1. In the navigator, click Proficy System > Proficy System > Web Services.
2. From the Web Service Definition list, select the web service you want to remove.
3. Click Delete, and then click OK.
In order to manage web services, you must be a member of a personnel group that has the Manage Web
Service key set permission assigned to it.
If the test passes, the results are displayed in the Outputs panel. If the test fails, an error is
displayed in the Feedback Zone.
Note:
For testing purposes, you can use only simple input such as strings and integers. More
complex data types are not supported for testing. This restriction also applies to the
output values.
In order to manage web services, you must be a member of a personnel group that has the Manage Web
Service key set permission assigned to it.
The web service must be refreshed if one of the following has occurred:
1. In the navigator, click Proficy System > Proficy System > Web Services.
2. From the Web Service Definition list, select the web service you want to work with.
3. In the Displays panel, click Web Service Editor.
4. Click the Refresh tab.
5. In the WSDL URL field, enter the address of the WSDL file you want to associate with the web
service.
6. Click Refresh.
7. Restart the Workflow client and application server to apply the changes.
Note:
If the WSDL URL has changed, the new value can be saved only if the refresh is successful;
otherwise, it reverts to the old value.
The following table describes the information available for configuring a web service on the Overview tab.
The following table describes the information available for testing a web service.
The web service must be refreshed if one of the following has occurred:
Important:
After the web service is refreshed you must restart the Workflow application server and any
clients in order to apply the changes.
The following table describes the information available for refreshing a web service.
Usage Limitations
Consider the following run-time issues when configuring WSSP.
Issue Description
Inability to download secure WSDLs Operators without the appropriate security permis
sions cannot download WSDL metadata from secu
rity-enabled web services.
Inability to duplicate web services connections Operators cannot duplicate a connection because
this option is not enabled.
Inability to edit the web services name Operators cannot modify the name of the existing
web service connection because this option is not
enabled.
Inability to edit the web services configuration file Operators cannot make permanent changes to the
WSSP connection during run time because they do
not have access to the related configuration file.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1539
Issue Description
Inability to restore a web services database Operators cannot restore a database with web ser
vices proxies because those proxies are not saved
on disk. The web service must be deleted and cre
ated again.
https://<ServerName>:8202/SOAServer/SOAProject/Workflow/Workflow/
IWorkflowWebService
https://<ServerName>:8202/SOAServer/SOAProject/Workflow/Workflow/IBrowse?wsdl
If you are working in a multiple server environment, ensure that the web server is on the workflow server:
https://<ServerName>:8202/WorkflowServer/SOAProject/Workflow/Workflow/IBrowse?
wsdl
Note:
Administrators are unable to log in using the web service interface.
Methods
These operations are provided by the Workflow web service. You can also use the related data contracts
to customize these methods when developing workflows.
Important:
The Call Web Method that was provided in earlier versions of Workflow is still available. You can
continue to use it for your legacy web services; however, it is recommended that for all new web
services configurations, you should use the Web Services Service Provider to add and configure
web service definitions.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1540
GetFilteredWorkflowSchedules
Filters a set of schedules and returns only those schedules that match a regex filtering expression. It
returns a collection of data contract objects from WorkflowScheduleData.
Outputs Description
Data Contract
Properties of the WorkflowScheduleData object. This object is returned by the
GetFilteredWorkflowSchedules method.
[DataContract]
[DataMember]
[DataMember]
[DataMember]
GetFilteredWorkflowSchedulesEx
Returns a list of workflow schedules.
Outputs Description
Data Contract
The ScheduleFilter object passes into the GetFilteredWorkflowSchedulesEx method and provides the
required parameters to this method.
[DataContract]
[ DataMember ]
[ DataMember ]
StartWorkflowScheduleWithResult
Starts the named workflow schedule with specified input parameter values, and returns a workflow
instance ID. The client can then make additional requests against this instance at a later time.
Data Contracts
The StartScheduleParameters object passes into the StartWorkflowScheduleWithResult method and
provides the required parameters to this method. It contains the following properties and uses the
WorkflowIdentifier ENUM.
[DataContract]
[DataMember]
[DataMember]
Schedules start based on the WorkflowIdentifier values requested. This data contract can contain either
the address of the schedule or its display name and user version. The type of data being sent is specified
by the Type parameter of WorkflowIdentifier. If this parameter is not set and no address is provided, then
the schedule start defaults to Address and throws an exception.
[DataContract]
[DataMember]
[DataMember]
[DataMember]
[DataMember]
[DataContract]
[EnumMember]
Address,
[EnumMember]
DisplayName
}
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1543
GetScheduleDetails
Allows you to search for a workflow schedule using either the schedule's address or its display name and
user version. If a schedule is found, a list of all the schedule's parameters is returned.
Outputs Description
GetWorkflowInstance
Accepts IDs for a workflow instance and a WorkflowInstanceData object containing the information
relating to this workflow instance, and returns data related to the instance.
Outputs Description
Data Contracts
The WorkflowInstanceData object returns WorkflowInstance information, and contains the following
properties.
[DataContract]
[DataMember]
[DataMember]
[DataMember]
[DataMember]
GetWorkflowInstances
Accepts IDs for a workflow instance and returns data related to the instance.
Outputs Description
Data Contracts
The WorkflowInstanceFilter object passes into the GetWorkflowInstances method and can filter by
schedule address. You can impose limits on the number of results returned. It contains the following
properties.
[DataContract]
[DataMember]
[DataMember]
[DataContract]
[DataMember]
[DataMember]
[DataMember]
[DataMember]
Categories
Categories
Categories allow you to organize the resources associated with your workflows.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1546
Note:
You assign categories directly from within a workflow. If a category has not already been created,
you can also create it within the workflow you want to use it in. When you create a category from
within a workflow, it is also added to the Categories folders list.
• workflow
• schedules
• subprocesses
• user activities
• faults
• completion codes
• filters
When you assign categories to these resources, you can filter and search your project elements more
effectively without having to browse for them. When you modify the name of a category resource, it is
reflected in all associated resources.
Category Configuration
Category configuration provides general information about the currently selected category.
Attributes
Using Associated Resources, you can display workflow resources that have a category assigned to them.
Note:
The new category appears in the Selected Categories box, as well as in the Categories folder of the
navigator.
Note:
You can add as many category resources as required.
Completion Codes
Completion Codes
Completion codes indicate how a subprocess finishes, and may change depending on the outcome of the
subprocess execution.
Any information the completion code provides is pre-set and user-defined. This information is referred
to as values. You can define a set of completion codes for workflows in a project. Each subprocess has
a built-in completion code property that can be preconfigured, depending on your needs. In general, if
a subprocess completes as X, then set the completion code value to state X. If a subprocess does not
complete as X, then set the completion code to state Y.
Example
If the default value of the completion code property is set to "Success," and the subprocess finishes
as expected, the completion code value remains as "Success." If the default value of the completion
code property is set to "Success," and the subprocess encounters a problem during execution, the pre-
set completion code value becomes "Failure." You would have preconfigured the values "Success" and
"Failure" in the workflow development stage to provide more information about the outcome of the
subprocess.
Completion codes are also important for reporting purposes. They store the subprocess history, or the
result of the subprocess. This information can be included in history reports.
Completion codes can also be used to make decisions in other parts of a workflow's process. That is,
you can compare a subprocess' completion code property to one of the defined completion codes in an
If/Else condition to decide which workflow path to follow.
Related information
Task Step (Subprocess) Configuration (on page 1267)
These codes are user-defined. Completion codes are defined by two types of values: a default value and
a value. The default completion code value is the value given to the CompletionCode property of the
subprocess before the subprocess is executed. The value for a completion code property indicates the
end result of your subprocess. If you do not set the default value of a subprocess' completion code or
write the value using an activity, the value of the completion code property is not affected. The default
setting remains undefined.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1549
You create completion codes in the navigator to use in workflows. Examples of possible completion
codes are:
You can view values that have been assigned to a subprocess during a debugging session. As you step
through a workflow, the Variable Viewer in Debug View displays this information.
Common Uses
Completion codes are resources that make up a standard set of values. These values are used with
completion code subprocess properties to indicate how a subprocess has finished. You can set one of
the values that has been preconfigured in the standard set of values to the completion code property. This
is done through the Write activity.
You can also test and/or compare the value of the completion code property to a standard set of values
using Workflow expressions. In general, any activity that allows you to create an expression allows you to
use a completion code. The most common place where a completion code is used within a subprocess
is in an If/Else activity. Because If/Else allows for conditional resolutions, you can use this activity to
check the values of a specified completion code, as well as to check to see how another activity within a
subprocess completed. To do this, use the equality or inequality operator in an expression to compare the
value of the completion code property to one of the values in the completion code set.
Related reference
Write Activity (on page 1406)
Note:
Completion codes must already have been added to the Completion Codes folder.
Note:
You can use only one completion code resource per subprocess.
Note:
Completion codes must already have been added to the Completion Codes folder.
Note:
You can use only one completion code resource per subprocess.
10. Select the value for the completion code property, and then click OK.
11. If required, to bind the value, click the arrow and select Bind.
a. In the Select Variable dialog box, click the Subprocess or Workflow tab.
b. Select the completion code you want to bind to.
c. Click OK.
12. Click Save.
Related reference
Write Activity (on page 1406)
Note:
Completion codes must already have been added to the Completion Codes folder.
b. Insert an operator.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1552
Note:
You can only use the equality (==) and inequality (!=) operators with completion
code properties and values.
c. Click the Completion Codes tab, and select a completion code to complete your expression.
Related reference
If/Else Activity (on page 1444)
Actuals
Actuals
Resource actuals show the as-performed actual values for a resource during a production cycle. A
resource actual is associated with a resource specification, making it easy to compare actual and
specified values for properties.
When the planned use of resources does not match the actual use of resources, then an actual is used.
The actual records the true values of resources during production, which can be compared to expected
use. Work process segments have specifications, but no way to record actual values. Using actuals
makes it possible to take a true measurement of the resources that were used.
Example
Suppose you have a workflow for attaching a wheel to a hub. You specify in the work process definition
that during the production process, one wheel/rim assembly and six lug nuts are consumed. Now, you
want to write an application that tracks your inventory of lug nuts, so you can replace them when needed.
One way to do that would be to simply subtract six lug nuts from inventory every time the process runs.
But sometimes a lug nut is defective, or was stripped while the operator tried to add it, and another one
is needed. Now seven lug nuts have been consumed. With an actual, you can record that seven lug nuts
were used instead of six, so the inventory count can be maintained accurately.
By having these values associated with the specifications, you can also tell when your production is
in control. If your inventory seems to be shrinking faster than it should, you can write queries to return
the difference between actual and specified values for the last month’s work requests. You can use the
queries to spot the point where you are using more resources than you specified. You can then drill down
through the work responses looking for correlations with other specifications. Maybe you find that the
spoilage rate for lug nuts goes up whenever an operator used air hammer #2. So you order an inspection
of the hammer, and find out that it’s not sealing the lug nuts correctly due to a flaw, and fix it.
Specification properties and their actual properties go a level deeper. Suppose you specify that a beer
batch must cook for 2 hours at 135 degrees. Then your final beer batch goes through quality assurance
and does not pass inspection. How can you determine what went wrong? You can run a query that
compares actual measured values against specification values, to find anomalies. Your query shows that,
the actual measured temperature during cooking was 110 degrees, not the specified 135 degrees. So you
inspect the cooker, and find out it has a defective thermostat.
Depending on the type of actual you are creating, before you proceed with this procedure, make sure you
have created the appropriate equipment, material, or personnel resource you are configuring the actual(s)
for.
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
Attention:
The following procedure is provided as an example only and is not meant to be used in a
production environment.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1554
a. On the workflow configuration panel, in the Personnel field, click the ellipsis button, and then
select the personnel resource you want to assign to this workflow.
c. Click Add, and then configure an input parameter with a Type of String, a Direction of In,
and a unique name to bind to the S95 Id of the work request you will create in step 5b.
d. Click Add, and then configure an output parameter to represent the resource actual's display
name, with a Type of String, a Direction of Out, and a unique name to bind to the Write
activity you will add in step 20d.
e. Click Add, and then configure an output parameter to represent the results of the workflow,
with a Type of Boolean, a Direction of Out, and a unique name to bind to the Write activity
you will add in step 20h.
f. Click OK.
g. Add a local subprocess to the workflow, click Edit on the subprocess configuration panel,
enter a unique name to represent the resource actual configuration, and then click OK.
h. Add another local subprocess after the first, click Edit on the subprocess configuration
panel, enter a unique name to represent the query you will configure in step 9, and then click
OK.
3. Double-click the resource actual subprocess, and then insert a Call Method activity.
4. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
5. In the IProductionRuntime methods, click CreateWorkRequest, click Finish, and then configure the
input parameters.
a. Optional: In the Description field, enter information to uniquely describe the work request.
b. In the S95 Id field, bind to the input parameter you configured for the workflow in step 2c.
c. In the Work Definition field, click the ellipsis button, and then select the work definition to
associate with the work request.
6. Insert another Call Method activity, and then click Configure Method.
7. In the IProdictionRuntime methods, click CreateWorkResponse, and then click Next.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1555
a. In the Item specific configuration area, select a work type from the drop-down list, and then
click Finish.
b. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
c. Optional: In the Description field, enter information to uniquely describe the work response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the work response.
e. In the S95 Id field, enter a name for the work response, or click the arrow and create an
expression; for example, "<workresponsename>" + ToString(CurrentDateTime()), which will
create a unique name for every work response that is created when this workflow is run.
The value of "<workresponsename>" is the name you choose to give to the work responses.
f. In the Work Request field, click the arrow, and then bind the work response to the work
request you created in step 5.
8. Insert another Call Method activity, and then click Configure Method.
9. In the IProductionRuntime methods, select CreateSegmentResponse, and then click Finish.
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the segment
respone.
c. Optional: In the End Time field, click the arrow, and then select the terminating date and time
for the segment response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the segment response.
e. In the Parent Id field, click the arrow, and then bind the segment response to the output
parameter of the work response you created in step 6.
f. In the S95 Id field, enter a name for the segment response, or click the arrow and create
an expression; for example, "<segmentresponsename>" + ToString(CurrentDateTime()),
which will create a unique name for every segment response that is created when this
workflow is run.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1556
The value of "<workresponsename>" is the name you choose to give to the segment
responses.
g. Optional: In the Start Time field, click the arrow, and then select the starting date and time
for the segment response.
h. In the Work Process Segment field, click the ellipsis button, and then select the work
process segment to associate with the segment response.
10. Insert another Call Method activity, and then click Configure Method.
11. In the IProductionRuntime methods, select the method applicable to the type of actual you are
creating, based on your need to set initial start and end time values:
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the resource actual
you want to create.
c. If the call method you are configuring allows you to designate the initial End Time value,
click the drop-down arrow to set the date and time.
d. Depending on the type of resource actual you are creating, in the Equipment, Material, or
Personnel field, click the ellipsis button, select the appropriate resource for the actual, and
then click OK.
e. Optional: If you are creating a material resource actual, then, in the Lot or Sublot ID field,
enter a literal value, or click the drop-down arrow to perform a bind or create an expression.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1557
Note:
The data type of this field must be GUID.
f. In the Quantity field, enter a literal value, or click the drop-down arrow to perform a bind or
create an expression.
g. Optional: In the Requirement ID field, enter the resource requirement you want to associate
with the actual, or click the drop-down arrow to perform a bind or create an expression.
Note:
The data type of this field must be GUID.
h. In the S95 ID field, enter the unique name of the resource actual as you want it to appear on
the segment response.
i. If the call method you are configuring allows you to designate the initial Start Time value,
click the drop-down arrow to set the date and time.
j. In the Segment Response ID field, click the drop-down arrow and bind the value to the
ReturnValue of the output paramter of the segment response you created in step 9.
k. In the Unit of Measure field, enter the unit of measure you want to associate with the
resource actual.
b. Click Add, and then configure a variable with a Type of String, an Initial Value of **, and a
unique name to bind to the Write activity you will create in step 20e.
c. Click OK.
18. In the IProductionRuntime methods, click QuerySegmentResponses, click Finish, and then
configure the input parameters.
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. From the Detail Level drop-down list, select FullDetails.
19. Insert a For Each activity after the QuerySegmentResponses Call Method activity, and then
configure it as follows:
a. On the activity configuration panel, click Edit, enter a unique name to represent the activity,
and then click OK.
b. In the Collection field, click the arrow, bind to the return value of the call method you added
in step 9, and then click OK.
20. Insert another For Each activity after the first For Each activity, and then configure it as follows:
a. On the activity configuration panel, click Edit, enter a unique name to represent the activity,
and then click OK.
b. In the Collection field, click the arrow, bind to the resource actual property of the For Each
activity you added in step 19, and then click OK.
Be sure to select the appropriate property for the type of resource actual you are creating.
For example, if you are creating an equipment actual, select the EquipmentActuals property.
c. Insert a Write activity inside the current For Each activity, and then add two writes.
d. Bind the first write to the workflow output parameter you configured in step 2d, bind the
value of the write to the DisplayName property of the current For Each activity, and then click
OK.
e. Bind the second write to the DisplayName property of the local variable you created in step
15b, bind the value of the write to the DisplayName property of the current For Each activity,
and then click OK.
g. For the left branch of the If/Else activity, click Edit on the activity configuration panel to
enter a unique name for the condition, and then click Edit Condition to enter an expression
that represents the result the workflow should evaluate to; for example, {Query Segment
Responses}.{Equipment Display Name} == "01 - Motherboard Attach".
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1559
h. Insert a Write activity within the left branch of the If/Else activity after the condition, click
Edit on the activity configuration activity panel to enter a unique name for the write activity,
bind the write to the output parameter you created in step 2e, and then from the Value drop-
down list, select True.
After you create a workflow, you can add and configure actuals using call methods for service providers.
You can create expressions or bind properties for many of these properties, depending on your actual
requirements.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1560
Note:
Item configuration depends on the selected source and item. Some items do not require
configuration.
10. At run time, if you want to return all data from the selected item, select the Return all data option.
11. At run time, if you want to return a subset of data from the selected item at run time, select the
Return only a subset of data option, and then from the data tree, select the data you want returned.
Note:
If the item returns only a single piece of data, the Return all data option is selected, and
you cannot retrieve a subset of data.
Note:
The data type of this field must be GUID.
Note:
The data type of this field must be String[].
18. In the Resource Type field, select a resource type from the drop-down menu.
19. Click Save.
REST APIs
REST APIs
You can use the REST APIs to interact with the Workflow application over the Internet.
tion=execute&time value. }
out=30
Timeout: amount
of time to wait for
results in seconds.
To return immedi
ately without a re
sult, use 0, or do
not specify.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1562
"Id":"00b8dc5c-ed03-4654-ab64-b841e72bf681",
"Links":[{
"Rel":"self",
"Href":"https://localhost:8444/ProficyWebApi/api/UserActivities/00b8dc5c-ed03-4654-ab64-b841e72bf681"
}]
},{
"Id":"a5857385-51e5-442b-8764-84d4080b9bda",
"DisplayName":"Do Stuff",
"Links":[{
"Rel":"self",
"Href":"https://localhost:8444/ProficyWebApi/api/UserActivities/a5857385-51e5-442b-8764-84d4080b9bda"
}]
},
"InputParameters" : [{
"Name" : "Parameter1" ,
}],
"OutputParameters" : [{
"Name" : "Parameter2" ,
}],
"Id" : "a5857385-51e5-442b-8764-84d4080b9bda" ,
"Links":[{
"Rel":"self",
"Href":"https://localhost:8444/ProficyWebApi/api/UserActivities/a5857385-51e5-442b-8764-84d4080b9bda"
},{
"Rel":"UserActivities",
"Href":"https://localhost:8444/ProficyWebApi/api/UserActivities"
}]
Code Description
Code Description
HTTP Method URI Example Default Port Request Body Return Value
erformerGroupName",
"VerifierRequired":"
True",
"ValidVerifiers":"Ve
rifierGroupName",
"Description":"Sign
ing required"
"UserName":"UserName",
"Password":"UserPassword",
"Comment":"I am signing
this"
HTTP Method URI Example Default Port Return Value Status Parameter
"Id":
3: Cancelled
"fff91ac0-6df0-4f
40-b7eb-1526ec13e5c 4: Failed
7",
"Status": 2,
"PerformerSignatur
e": {
"UserName":
"user",
"SigningTime":
"2016-05-26T18:30:3
2.017",
"Comment":
},
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1566
HTTP Method URI Example Default Port Return Value Status Parameter
"VerifierSignatur
e": {
"UserName":
"admin",
"SigningTime":
"2016-05-26T18:30:4
8.03",
"Comment":
"I am verifying
this"
To cancel an existing signature record, use the signature ID that is returned from the creation request.
A cancel action parameter, cancelSignature, is required and its value should be true; otherwise the
signature record won’t be cancelled.
Signing Errors
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1567
Code Description
Code Description
Code Description
Base URL
https:/<serverName>:<port>/ProficyWebApi/api/Equipment
Authentication is required on each request. Basic authentication with username and password must be
provided in the Authorization header.
Request Parameters
At least one of the following parameters must be specified in the request.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1569
equipmentName String Y/N Retrieve equipment instances with this display name.
className String Y/N Retrieve equipment instances that are associated with this
equipment class.
The following example displays all equipment instances with the specified display name.
URL https://serverName:port/ProficyWebApi/api/Equip
ment?equipmentName=<display name>
Sample Response {
"Id": "0cb0632b-04c1-4f16-9620-44aaa6e0d0a0",
"Name": "Area1",
"Description": "",
"Hierarchy": "Enterprise/Site/Area1",
"Classes": [
"Class1",
"Class2"
],
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0"
},
"Id": "fcbae6fd-36df-4997-88e5-4a39eddc760c",
"Name": "Area1",
"Hierarchy": "Enteprise2/Site/Area1",
"Classes": [],
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipme
nt/fcbae6fd-36df-4997-88e5-4a39eddc760c"
The following example displays all equipment instances with the specified display name and that are
associated with the specified class name.
URL https://serverName:port/ProficyWebApi/api/Equip
ment?equipmentName=<display name>&class
Name=<equipment class>
Sample Response [
"Id": "0cb0632b-04c1-4f16-9620-44aaa6e0d0a0",
"Name": "Area1",
"Description": "",
"Hierarchy": "Enterprise/Site/Area1",
"Classes": [
"Class1",
"Class2"
],
"Links": [
"Rel": "self",
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1571
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0"
Request Parameters
The following parameter is optional in the request.
Note:
Where <id> is the unique identifier for the equipment instance.
The following example displays the details for the specified equipment instance, including its properties.
URL https://serverName:port/ProficyWebApi/api/Equip
ment/<id>
Return Value Returns the details for the specified equipment in
stance, including the properties.
Note:
The returnProperties parameter is not re
quired when you want to include equip
ment instance properties in the request.
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1572
Sample Response {
"Properties": {
"Class1-P1": {
"Description": "",
"UnitOfMeasure": "",
"Value": "p1Value",
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0?propertyName=Clas
s1-P1"
},
"ColorProperty": {
"UnitOfMeasure": "",
"Value": "Green",
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0?propertyName=Color
Property"
},
"PropertyInt32": {
"Description": "",
"UnitOfMeasure": "",
"Value": 46,
"Links": [
"Rel": "self",
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1573
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0?propertyName=Prope
rtyInt32"
},
"Id": "0cb0632b-04c1-4f16-9620-44aaa6e0d0a0",
"Name": "Area1",
"Description": "",
"Hierarchy": "Enterprise/Site/Area1",
"Classes": [
"Class1",
"Class2"
],
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0"
The following example displays the details for the specified equipment instance, but does not include its
properties.
URL https://serverName:port/ProficyWebApi/api/Equip
ment/<id>?returnProperties=false
Return Value Returns the details for the specified equipment in
stance, excluding the properties.
Sample Response {
"Properties": {},
Workflow Full User Guide | 10 - Building and Configuring Workflows | 1574
"Id": "0cb0632b-04c1-4f16-9620-44aaa6e0d0a0",
"Name": "Area1",
"Description": "",
"Hierarchy": "Enterprise/Site/Area1",
"Classes": [
"Class1",
"Class2"
],
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0"
Request Parameters
The following parameter must be specified in the request.
Note:
URL https://serverName:port/ProficyWebApi/api/Equip
ment/<id>?propertyName=<property name>
Return Value Returns the details of the named property for the
specified equipment instance.
Sample Response {
"Description": "",
"UnitOfMeasure": "",
"Value": "Blue",
"Links": [
"Rel": "self",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0?propertyName=Color
Property"
},
"Rel": "parent",
"Href":
"https://sql2014server:8444/ProficyWebApi/api/Equipment
/0cb0632b-04c1-4f16-9620-44aaa6e0d0a0"
Request Parameters
The following parameter must be specified in the request.
URL https://serverName:port/ProficyWebApi/Equip
ment/<id>?propertyName=<property name>
Return Value Updates the details of the named property for the
specified equipment instance
"UnitOfMeasure": "",
"Value": "Green"
Code Description
The simplified step-by-step process separates the complexity of workflow design from constructing and
maintaining the actual task and task step content. An important advantage of eSOP is that users are able
to be part of the basic workflow development process without knowledge of authoring the more complex
structure of a workflow.
These users have in-depth understanding of the business and/or production processes in
their organizations, as well as expertise in designing Workflow applications to support those
processes. They are responsible for creating or adapting workflows for interface with the
eSOP feature through specialized activities, and then designing templates that tie those
workflows to step-by-step tasks developed in eSOP by the process experts.
Task Builders
Related reference
Design eSOP Workflows Overview (on page 1598)
Related information
Task Construction for Procedures (on page 1615)
• Workflow Designers, who create or adapt workflows for interface with eSOP.
• Task Builders, who input the specific details to help a workflow designer create the final workflow
used in production.
System Administrator Outlines the approach taken in Client Layout Configuraton for
this documentation based on the eSOP Users
type of user working with Work
flow eSOP.
Workflow Designer and Task Describes the purpose of the eSOP Orientation
Builder eSOP feature, provides a high-
level view of eSOP development,
and outlines the user interface.
Task Builder Provides detailed instructions for Task Construction for Procedures
performing the activities required
to configure step-by-step tasks in
eSOP.
Related reference
Design eSOP Workflows Overview (on page 1598)
Workflow Full User Guide | 11 - eSOP | 1579
Related information
Client Layout Configuration for eSOP Users (on page 1582)
The eSOP process has two levels of design. The Workflow Designer first must design and develop a
workflow, including properties, parameters, activities, and so on. Then, the Workflow Designer must
configure items in the eSOP model to provide an outline for the Task Builder to define implementations of
the workflow in the form of tasks representing standard operating procedures.
b. Establishes specific settings for the task, including associated personnel and equipment,
expiration time, priority, and schedule.
Note:
Changing the template associated with a task may have implications for the
configuration of the task, such as rendering your task invalid if there are more steps
in the template than in the task.
d. Specifies additional settings and/or information for the task, as required, based on unique
organization needs and the custom configurations implemented in the underlying template
to address those needs.
Related reference
Design eSOP Workflows Overview (on page 1598)
Related information
Task Construction for Procedures (on page 1615)
Recommendation
To use any sample resource, you must duplicate and re-name it before you modify it.
Important:
Samples may be updated in future versions to demonstrate new functionality and the upgrade
process is expected to overwrite any modifications you have made to the samples.
When you modify an eSOP template workflow that has been associated with an eSOP task template, you
must update the eSOP task template to ensure your task is compatible with the new workflow. You can
do this by editing the eSOP task template, selecting the template workflow again, and saving it. This will
update all tasks associated with the template.
Workflow Sample
A sample workflow template named Sample Sequential Template is part of installation. We
recommend that you use this type of template as the basis of your eSOP workflow.
You can find the Sample Sequential Template in the navigator at Workflow > Workflows.
This template is configured to meet the requirements of most workflows. Workflow designers can use it
as a foundation for building a workflow that will be used in eSOP. It demonstrates eSOP functionality such
as comment forms, emails, keyword replacement, and jumps.
Workflow Full User Guide | 11 - eSOP | 1581
In a sequential template, the workflow subprocesses are all the same (so, no branching or looping is
available at the workflow level). This template type allows you to configure jump options and move the
order of the task steps configurations up or down using the eSOP Task Editor.
Note:
If there are more eSOP task steps than template subprocesses in this workflow, during run time,
the workflow terminates.
You can use this template to track workflow run-time data to meet your internal reporting needs. To use
the workflow template for this purpose, copy the existing Sample Sequential Template workflow, rename
it to a unique name, and then enable tracking on the Tracking Configuration tab. Then, in the workflow or
subprocess list, select the variables you want to track.
Fault Samples
Three fault samples are part of eSOP. You can find these resources in the navigator at Workflow > Faults.
Exit Wait
Contained within a fault scope. If this type of fault occurs, the loop stops and skips to the
next step. Or, if you are using jumps, to the next jump selection. The workflow does not
terminate.
There are more eSOP task steps than template subprocesses in this workflow. The number
of subprocesses cannot be less than the number of task steps. If this type of fault occurs, it
will cause the workflow to terminate.
There are more eSOP linked documents in a step than in its corresponding subprocess. The
number of linked documents available for a subprocess cannot be less than the number
configured for a task step. If this type of fault occurs, it will cause the workflow to terminate.
Demonstrates functionality created for task steps, such as comment forms, emails, keyword
replacement, and jumps.
Workflow Full User Guide | 11 - eSOP | 1582
Jump Samples
®
Two jump form samples are part of eSOP. They are built in Microsoft Visual Studio. You can find these
resources in the navigator at Global Displays > Forms. Jump forms indicate that, during run time, the user
can jump to the next task step.
Related reference
Design eSOP Workflows Overview (on page 1598)
Associate a global subprocess with a task step template (on page 1604)
Task Builders require access to only the eSOP Task Editor display. The eSOP access instructions in this
documentation that are specific to these users assume that the client is configured in this manner, which
requires the following conditions to be in place.
1. A People resource for the user has been added to the Personnel model. For more information, see
Add users and personnel classes.
2. The user's workstation has been added as a Computer resource in the Proficy System model. For
more information, see Add a resource to a model.
3. A Group that is assigned only the default permissions associated with the System Visibility Key
Set has been configured in the Personnel model. For more information, see Add Groups and Add
workstations to key sets for a group.
4. The user has been designated as a member of the Group that is configured for default System
Visibility permissions. For more information, see Add one or more users to a group.
5. The user's workstation has been configured to show the eSOP solution and Task Editor display
upon system startup. For more information, see Configure computer startup options.
6. The user's workstation has been configured to hide the navigator and the Display panel either for:
◦ the workstation itself, if the user does not share the workstation with other users who have
differing access needs (for more information, see Configure computer startup options), or
◦ only the user, if the user does share the workstation with other users who have differing
access needs (for more information, see Override a computer's startup options).
General Controls
When working in eSOP, it is important to save the work you do. If you do not want to save it, you can
cancel it.
General Controls
When you view task information in the Task Editor, several controls are available to work with the tasks.
Workflow Full User Guide | 11 - eSOP | 1585
Categories
You can filter the Task List by preconfigured categories. These categories organize concepts or features
into groups. When you apply category filters, you focus information within your Task List.
Template
Click Set to associate a workflow template to a task.
Assignments
Task assignments include routing the task to a location or personnel resource depending on the
requirement of the workflow.
Categories
You can filter the Task List by preconfigured categories. These categories organize concepts or features
into groups. When you apply category filters, you focus information within your Task List.
Assignments
By default, subprocess assignments are configured at the workflow level, where you can bind personnel
and location properties, as well as write to the assignments from anywhere in the workflow. However, you
can override these assignments for a specific subprocess and reassign the tasks to other personnel or
locations.
Status
You can choose whether or not a task step executes as part of the task at run time.
Enabling Schedules
For convenience, you can enable or disable at once all schedules associated with a task. To enable or
disable individual schedules, select a schedule, and then go to the Status section.
Is Schedule Visible in Start Task N/A Select this check box to ensure
Window that the selected schedule ap
pear in the list of tasks present
ed when you click the Start Task
button.
Trigger Event
You can set an event that will activate the schedule for execution.
Status
You can choose whether or not a schedule executes as part of the task at run time.
Task Started
Sends an email
when a task starts.
Task Expired
Sends an email
when a task ex
pires.
Sends an email
when a task step
starts.
Sends an email
when a task step
expires.
Keywords in eSOP
If the Workflow Designer has configured keyword properties for a task or task step, you view them on the
Keywords tab.
System-defined keywords are marked Reserved. User-defined keywords can be added to the list by
clicking the Add button. All keywords can be removed from the list.
Related reference
Keyword Properties (on page 1453)
Related information
Replace keyword text during run time (on page 1451)
Template Editor
You use the Template Editor to associate a workflow with a template, customize preconfigured user
controls, and indicate specific text to be replaced with live values during workflow run time.
Set Templates
Workflow Designers create workflows to be used as eSOP task templates. You must first define the
workflow and configure the template options.
Workflow Full User Guide | 11 - eSOP | 1593
Sequential
Sequential tem
plates have sub
processes that are
aligned in a linear
order and displayed
top to bottom; that
is, the task steps
are all the same. As
a result, no branch
ing or looping sub
processes are avail
able; however, you
can jump between
steps by configur
ing jump options,
as well as move
task steps around.
Fixed
Parallel
In these template
types, the workflow
contains a Paral
lel activity, allowing
for branched sub
processes.
Work Instructions
The Work Instructions tab is where you can input detailed instructions for a person performing a task or
task step.
Workflow Full User Guide | 11 - eSOP | 1596
These instructions appear as a Work Instructions button in the Task List. If no information is available,
this section is not visible to an operator. The information can include anything that an operator requires to
perform a workflow task or a subprocess task step, or finds useful to complete the task/task step.
Note:
If content in the work instructions area exceeds a certain threshold, the editor may not perform
optimally during design time, as well as in the Task List during run time. To prevent this issue, use
the following recommendations: use small graphic files; use small amounts of text, or several line
breaks, within the body of the work instructions area.
For more information, see Replace keyword text during run time.
Attributes
The following table describes the available options.
Note:
For URLs, you must enter
http://.
SectionTitle
A workflow being used in eSOP must be designed for that specific use. A sample workflow template
named Sample Sequential Template is part of installation. We recommend that you use this type of
template as the basis of your eSOP workflow. To use any sample resource, you must duplicate and re-
name it before you modify it.
Note:
Changing the template associated with a task may have implications for the configuration of the
task, such as rendering your task invalid if there are more steps in the template than in the task.
Workflow Full User Guide | 11 - eSOP | 1599
The following information outlines the design options for your workflow.
Note:
If you are using a copy of the Sample Sequential Template from a version older
than Workflow 2.5, then you must update your existing workflow in order to access
all the new functionality. As such, the new Categories property on the Read Task
Definition and the Read Task Step Definition activities must be written to the
Categories property on the workflow and subprocess respectively.
◦ To provide more information at run time for the user, you can add Work Instructions or
Linked Documents to a task or task step. Work instructions can be changed using keywords
through the Update Work Instruction Keywords activity.
◦ To use email to interact with users when a workflow is running, you can use the
IEmailService service interface to send emails automatically to the appropriate user to
indicate when tasks have started or expired. For example, depending on the context, you can
use keywords to replace the text in the email subject and/or body to reflect the task being
performed.
• In the eSOP model, if you want to add custom forms for use by the Task Builder, add the related
assembly in Config Panels.
• Using Task Templates, associate a workflow with one of three eSOP template for use by Task
Builders. You can also add custom forms for task that are available for use by the Task Builder.
Workflow Full User Guide | 11 - eSOP | 1600
• Using Task Step Templates, you can associate a predefined global subprocess with your eSOP
task template to add to your workflow. You can also add custom forms for task steps that are
available for use by the Task Builder.
• Keywords. You can add a list of the available custom keywords that the Task Builder can use when
working with tasks. You can add keywords in two ways:
◦ Use the Keywords tab in the Template Editor
◦ Use a Replace Keywords or Update Work Instruction Keywords activity
Related reference
Sample Files Available with eSOP Installation (on page 1580)
Add custom input panels to create dynamic tabs in the Task Editor
Workflow designers can import a user control that has been designed using third-party software. This
control enables additional customized configuration during the task construction phase that task builders
use when configuring the final content.
Note:
®
Controls must have been created in Microsoft Visual Studio and support the IConfigPanel
interface. This interface is defined in the Proficy.eSOP.Interfaces assembly.
Tip:
For viewing preferences, you can move the table columns around. Click and hold the
column title and drag it to a new location within the table.
16. After you select a custom configuration panel, you can make further modifications related to the
panel inside the table.
a. To customize the name of the tab when viewed in the Task Editor, in the Tab Name column,
double-click inside the table cell to modify the name.
The new name reflects the tab name that will be viewed by the Task Builder during task
construction in the Task Editor.
Related information
Associate a workflow with a template (on page 1602)
A sample workflow template named Sample Sequential Template is part of installation. We recommend
that you use this type of template as the basis of your eSOP workflow.
Note:
All workflows to be used as task templates require the input parameter TaskName.
Tip:
You cannot save an invalid task. If you get a validation error message, adjust the number
of steps in your task, and then click Save.
Select... If you...
Select... If you...
9. If you added custom configuration panels that you want to appear for all task and/or task step
instances based on this template, perform one of the following actions.
Tip:
For viewing preferences, you can move the table columns around. Click and hold the
column title and drag it to a new location within the table.
10. After you select a custom configuration panel, you can make further modifications related to the
panel inside the table.
a. To customize the name of the tab when viewed in the Task Editor, in the Tab Name column,
double-click inside the table cell to modify the name.
The new name reflects the tab name that will be viewed by the Task Builder during task
construction in the Task Editor.
Prerequisites
Related reference
Keyword Properties (on page 1453)
Note:
If required, configure the workflow.
Insert... To...
Update Work Instruction Keywords ensure that the change in the value of a work
flow variable is reflected in the work instruction
text. Go to step 8.
b. In the Keyword Text field, bind the activity to the property whose text you want to
replacement .
The activity's output is the text that was defined to replace the keyword.
8. To automatically update keywords in work instructions when the workflow begins, insert the
Update Work Instruction Keywords activity.
Note:
This activity is used only if the values in a work instruction should be updated during the
execution of a task step.
9. Click Save.
Workflow Full User Guide | 11 - eSOP | 1607
Prerequisites
Related reference
Template Editor (on page 1592)
.NET or Silverlight Assembly User-defined Click Set to locate and select the
assembly that contains the dis
play you want to add.
Template Editor
You can configure panels for both the task and task step level. After you add the assembly in the Config
Panel Editor, you can further manipulate the order of the panels in the Template Editor. The outcome of
these configurations are displayed in the Task Editor and viewed by the person constructing tasks.
Related reference
Template Editor (on page 1592)
Related information
Add custom input panels to create dynamic tabs in the Task Editor (on page 1600)
Inputs
Outputs
Related reference
Keyword Properties (on page 1453)
Related information
Replace keyword text during run time (on page 1451)
You use this activity if the value of a work instruction requires updating during the execution of a task
step. Then, the work instruction is automatically updated when the workflow begins and any task step
begins.
Keyword Properties
Keywords are derived from local variables and properties configured in a workflow. Keyword property
values are substituted during run time.
You can add keywords using a Replace Keywords or Update Work Instruction Keywords activity in a
workflow.
Additionally, custom keywords can be defined as local variables within a workflow or subprocess with
the variable name referenced directly inside the standard keyword delimiters. Keywords are resolved
at the lowest possible scope. For example, if a workflow and a subprocess both have a Name property,
the <@Name@> keyword in a subprocess will be substituted with the subprocess name since that is the
immediate scope, not the workflow name (the parent scope).
Note:
The list of keywords associated with a task template is a reference available for Task Builders. It
does not make a keyword value available during run time unless the keyword name maps to an
existing property or local variable.
Workflow Properties
For a list of properties that can be used with keywords, see Workflow properties.
Subprocess Properties
For a list of properties that can be used with keywords, see Properties for subprocesses.
Inputs
Processes an eSOP task and returns all of the task's properties.
Outputs
The following properties are associated with the task being processed.
Inputs
Processes an eSOP task step and returns all of the task step's properties.
Workflow Full User Guide | 11 - eSOP | 1612
Outputs
The following properties are associated with the task step being processed.
Sequential Templates
Sequential templates have subprocesses that are aligned in a linear order and displayed top to bottom;
that is, the task steps are all the same. As a result, no branching or looping subprocesses are available;
however, you can jump between steps by configuring jump options, as well as move task steps around.
Note:
The number of steps in the task must be less than or equal to the number of steps in the
template; otherwise, the task is invalid.
Workflow Full User Guide | 11 - eSOP | 1614
Related reference
Sample Files Available with eSOP Installation (on page 1580)
Related information
Create and link a task (on page 1615)
Parallel Templates
In these template types, the workflow contains a Parallel activity, allowing for branched subprocesses.
Note:
The number of steps in the task must be less than or equal to the number of steps in the
template; otherwise, the task is invalid.
Fixed Templates
With fixed templates, the number of steps in the task cannot be increased from the pre-set amount;
however, you can remove steps, add missing steps, and re-order the steps.
Usage Restrictions
The following restrictions apply when using fixed templates:
• If the number of steps in the task is more than the number of steps in the template, the task is
invalid.
• If the template is changed or edited, and the number of steps is less than the number of
subprocesses, new steps are not added automatically. The user must add new steps to make
the task compatible with the modified template. However, if you change a template to another
template that includes no task steps, steps are added automatically.
Note:
If the steps in the fixed template do not match the corresponding subprocesses in the template
workflow (that is, they have been moved, added, or deleted), the task steps in the Task Editor are
highlighted in yellow. If the linked steps no longer exist in the corresponding template workflow,
the task steps are highlighted in red.
Workflow Full User Guide | 11 - eSOP | 1615
Task construction in eSOP involves configuration at both the task level and at the level of each step within
a task.
The order in which you perform the steps to construct tasks may vary somewhat from the order
presented in this documentation. For example, whereas you must create a task and associate it with a
template and with personnel and/or equipment before creating task steps, you can create task steps
before configuring email messages for the task itself.
Likewise, whereas certain steps (such as creating a task) are mandatory, others (such as linking related
documents to task steps) may be optional based the specific scenario that the task or task step is
designed to address.
Finally, additional construction steps may be required based on the specific needs of your organization as
reflected by custom configurations implemented in the related templates.
Related reference
Design eSOP Workflows Overview (on page 1598)
Related information
Task Maintenance (on page 1626)
Note:
If the grid interface is not displayed, click the Task button.
3. Select Task Templates, and then select the specific template that you want to associate the task
with.
Note:
For information and restrictions related to task templates, see these topics:
◦ Fixed Templates
◦ Parallel Templates
◦ Sequential Templates
4. Click OK.
5. On the Details tab, associate human and/or equipment resources with the task.
associate the task with one a. In the Personnel area, click Set.
or more human resources The Universal Browser appears.
associate the task with an equipment resource a. In the Personnel area, click Set.
Note:
You must establish the template as well as the personnel and/or equipment associations
and save your input before you can configure steps for the task.
6. In the Name field, enter the name that the system uses to identify the task.
7. In the Display Name field, enter the name that you want displayed in the Task List to identify the
task at run time.
Workflow Full User Guide | 11 - eSOP | 1617
Note:
For this and any other field containing text that may be displayed in the Task List, you can
type Keywords as part of your entry. For more information, see Use keywords in eSOP task
text.
Note:
You can enter whole numbers only.
11. In the Group field, select the option that reflects the category that you want to assign the task to, or,
if none of the options is appropriate, enter a new value directly in the field.
Note:
Although technically optional, this measure facilitates better viewing of tasks in the Task
Editor grid interface by letting you hide or display task listings by group.
Related reference
Fixed Templates (on page 1614)
To use the email feature in eSOP, you must perform steps 1-4 in the Send emails using the email service
provider topic.
Prerequisites
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
Note:
Here, as well as in the email message itself (step 6), you can type Keywords as part of your
entry. For more information, see Use keywords in eSOP task text (on page 1637).
5. In the Event Trigger field, select the option applicable to the configuration scenario.
Workflow Full User Guide | 11 - eSOP | 1619
b. Select Personnel, then select either People (for a single individual) or Classes (for a group
of individuals), and then select the specific person or class.
c. Click OK.
8. Click Save.
9. To configure additional emails, perform one of the following procedures.
◦ For the currently selected task, repeat steps 3-8.
◦ For a task other than the currently selected one, repeat steps 2-8.
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
Workflow Full User Guide | 11 - eSOP | 1620
Note:
If the Add Step button is inactive, either you have not established the required associations
for the task and saved your input (see Create and link a task (on page 1615)), or the
maximum number of steps that can be configured based on the associated template (as
noted under the pane that lists the task steps) has been reached.
2. On the Details tab, in the Name field, enter the name that the system uses to identify the task step.
3. In the Display Name field, enter the name that you want to be displayed in the Task List to identify
the task step at run time. Do not use the same display name more than once.
Note:
For this and any other field containing text that may be displayed in the Task List, you can
type Keywords as part of your entry.
4. Optional: In the Expiration field, use the arrow control or directly enter a value to specify the
duration after which the task step should be considered expired.
5. Optional: If the personnel and/or equipment associated with the task are different for the task
step, select the Override Assignments check box, and then in the Assignment area, change the
associations.
6. To activate the step as part of the task, in the Status area, click the Enable button.
7. Click Save.
8. For each step you want to add to the task, repeat steps 1 through 7.
Related information
Create and link a task (on page 1615)
Prerequisites
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
Note:
For this and any other field containing text that may be displayed in the Task List, you can
type Keywords as part of your entry. For more information, see Use keywords in eSOP task
text. You can also insert information copied from another application, as well as graphics.
Workflow Full User Guide | 11 - eSOP | 1622
4. Click Save.
5. For each step that you want to define work instructions for, repeat steps 3-4.
Related information
Use keywords in eSOP task text (on page 1637)
Prerequisites
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
Note:
You can only add the number of documents that the related workflow (associated
template) allows. You can view the maximum number at the bottom of the list pane. If the
Add Linked Doc button is inactive, the maximum number of documents has been reached.
4. In the Display Name field, enter the name that you want to be displayed in the Task List to identify
the linked document at run time.
Note:
For this and any other field containing text that may be displayed in the Task List, you can
type Keywords as part of your entry. For more information, see Use keywords in eSOP task
text.
Workflow Full User Guide | 11 - eSOP | 1623
5. Near the URL/UNC field, click Browse, and then in the displayed dialog box, navigate to and select
the document.
Note:
If you know the absolute path or full web site address for the document, you can enter it
directly in the field instead.
Related information
Use keywords in eSOP task text (on page 1637)
For the steps to configure task-step emails, see Configure task emails.
Related information
Configure task emails (on page 1618)
Prerequisites
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
Note:
For this and any other field containing text that may be displayed in the Task List, you can
type Keywords as part of your entry.
5. In the Jump To field, select the target task step for the jump.
Note:
If you want to remove the current jump configuration, click Clear.
6. Click Save.
7. To configure additional jumps, perform one of the following procedures.
◦ For the currently selected task step, repeat steps 3-6.
◦ For a task step other than the currently selected one, repeat steps 2-6.
Related information
Use keywords in eSOP task text (on page 1637)
Schedule a task
After you create a task, you can schedule it by designating the event that triggers it. If a task should be
performed in response to more than one event, you can create multiple schedules for the task.
Prerequisites
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
4. Optional: To manually launch the task at run time using the Start Task button in the Task List,
select the Is schedule visible in Start Task window check box.
5. Optional: In the Trigger Event area, click Set dialog box; select the event trigger you want to use;
and then click Finish.
Note:
You can create a schedule without an associated triggering event, such as when you are
configuring a task step for manual launch (see step 4 ).
Attention:
Because enabling a schedule activates the task for use at run time, schedules are initially
disabled by default, and you should not enable schedules until task configuration is
complete. For more information, see Activate a task.
7. Click Save.
8. To configure additional schedules for the task, repeat steps 2-7.
Related information
Activate a task (on page 1625)
Activate a task
When task construction is complete, you activate the task for use in your production run time environment
by enabling one or more schedules associated with the task.
Note:
If the Task Editor workspace displays the grid instead of the task editing interface, select the
listing for the task that you want to work on, and then click the Edit button. To return to the grid
interface, click the Tasks button.
individual associated schedules Select the schedule listing, and then in the Sta
tus area, click Enable.
3. Click Save.
The task is activated.
Task Maintenance
Task Maintenance
After initially constructing tasks, you can view basic configuration information for all tasks in a single
interface, as well as perform a number of maintenance activities.
Task maintenance in eSOP can take place at both the task level and at the level of each step within a task.
1. If the Task Editor grid is not displayed, click the Tasks toggle button.
2. Navigate the grid to find the task listings to view.
view a task listing that is currently hidden Expand the group that the task belongs to by
clicking the downward-pointing arrow beside
the group listing.
Tip:
To sort the task listings in descending
order, click the column heading again.
show or hide all task listings Click the double-headed arrow toggle button in
the grid heading row.
Note:
When you collapse all task listings,
group listings are still displayed. If any
of your tasks has not been assigned
to a specific group, a blank group list
ing is displayed in the grid, under which
the non-categorized task listings can be
found.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Note:
Changing the template associated with a task may have implications for the configuration
of the task, such as rendering your task invalid if there are more steps in the template than
in the task.
4. Click OK.
The Universal Browser appears.
5. Select Task Templates, and then select the specific template that you want to associate the task
with.
Note:
For information and restrictions related to task templates, see these topics:
◦ Fixed Templates
◦ Parallel Templates
◦ Sequential Templates
6. Click OK.
7. Click Save.
Related reference
Fixed Templates (on page 1614)
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
break the association between the a. In either the Personnel or Location area,
task and personnel or equipment click Clear.
Note:
The task must be associated
with either a personnel or equip
ment resource.
4. Click Save.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Note:
You can also change the name
that the system uses to identify
the schedule (see below) and/
or change the setting to control
whether the task can be manual
ly launched at run time (see be
low).
Attention:
Because enabling a schedule ac
tivates the task for use at run
time, schedules are initially dis
abled by default, and you should
not enable schedules until task
configuration is complete. For
more information, see Activate a
task.
break the association be a. Select the schedule configured for the
tween an event and the task event that you no longer want to trigger
the task.
b. Click Delete Schedule.
5. Click Save.
Related information
Activate a task (on page 1625)
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
remove personnel from the email recipient list a. In the Recipients area, select the listing
for the personnel resource that you want
to remove from the recipient list for the
email.
b. Click the Delete Recipient button.
Note:
At least one recipient must be
designated per email message.
For instructions on adding email
recipients and configuring oth
er email settings, see Configure
task emails.
6. Click Save.
Related information
Configure task emails (on page 1618)
Workflow Full User Guide | 11 - eSOP | 1633
Note:
If a step is the target of a jump that has been configured to facilitate skipping or repeating steps
under certain conditions, the jump must be deleted before the step can be removed.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Workflow Full User Guide | 11 - eSOP | 1634
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Duplicate a task
If you want to use a previously created task as the basis for another task, you can duplicate the original
task, and then modify the new task as required.
Note:
When you duplicate a task, the schedules associated with the original task are not duplicated for
the task copy.
Workflow Full User Guide | 11 - eSOP | 1635
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Related information
Task Construction for Procedures (on page 1615)
Note:
If a task step is the target of a jump, the jump must be deleted before the step can be disabled.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
5. Click Save.
The step is disabled.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Note:
If the schedule is the only one configured for the task, the task is deactivated.
Deactivate a task
If a procedure is no longer applicable, you can deactivate the corresponding eSOP task so that it is
unavailable during run time. You deactivate a task by disabling all related schedules.
1. In the Task Editor grid, click the listing for the task you want to modify.
Tip:
If the grid interface is not displayed, click the Task button. If you do not see the task listing
in the grid, expand the group that the task belongs to by clicking the downward-pointing
arrow beside the group listing.
Workflow Full User Guide | 11 - eSOP | 1637
1. In the Task Editor, click the task listing, and then click Keywords tab.
A read-only grid appears, displaying a list of keywords configured for the workflow template that
the task is associated with.
2. For each keyword that you want to use, make note of the corresponding name.
3. If you want to use the keywords in relation to a task step, select the listing for the step.
4. Click the tab containing the text field where you want to include keywords as part of your entry, and
then click in the field itself.
5. In the text location where you want the parameter value for the keyword to appear, enter the
keyword, using the convention <@Keyword@>.
Chapter 12. ActiveX Task Controls
Home
Workflow task controls can be integrated into existing HMI applications, such as HMI/SCADA CIMPLICITY
and HMI/SCADA iFIX. Workflow tasks are displayed in your application so you can operate them from
within these applications. You use the ActiveX Task List and Task Indicator controls to interact with and
view workflow tasks. The ActiveX Task List provides users with a list of tasks for a workflow. The Task
Indicator provides a user with relevant information regarding the status of the ActiveX Task List.
Important:
Product Options Installation Information. When using the ActiveX Task List, product option
updates made on the server are not automatically deployed to applications using the Task List.
The ProficyUpdater.exe application must be run manually, with administrative privileges, in
order to deploy production option updates on each client machine using ActiveX Task List.
Note:
At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
1. From the application splash screen, click Install ActiveX Task List.
Note:
If the splash screen does not appear, double-click SetupTaskList.exe from the root
directory of the installation folders.
Note:
You must first configure users using the Configure Client tool.
Note:
At any time during the configuration process, you can click Back to return to a previous
page to change your settings.
8. Click Install.
The Installation page appears, displaying the status of each installation step.
9. When the installation is complete, click Exit.
Note:
To change the server name, use the Configure Client tool. For more information, see Modify
the server configuration for a remote client. If you install the ActiveX Task List on a different
machine than the application server, you must access the Configure Client tool from the following
location: ../Program Files/Proficy/Proficy Task List/Program.
2. To add or modify a server, in the Server Name section, enter the fully qualified name of a server.
3. To modify the login authentication, in the Server Authentication section:
Select... To...
Manual Login prompt the user to enter a user name and pass
word at each login.
Control Property allow the user to view the user name and pass
word in the host's object properties.
4. If you selected Password Encryption in the Server Authentication section, add user credentials in
the User Configuration section:
a. In the Users panel, click Add.
b. In the Details panel, in the User Name field, enter an existing Workflow user name.
c. In the Password field, enter your user account password.
d. In the Confirm Password field, enter your password again.
5. Click Save.
Before configuring the ActiveX Task List, note the following information:
• Each installation of the ActiveX Task List can connect to only one Workflow server at a time.
• At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
• Workflow task controls and GE HMIs are related, but work independently from each other.
Therefore, user names and logins are separate.
• Like the Workflow client, the NET. TCP Port Sharing service must be enabled to use the Task List in
a host application.
• To change the server name, use the Configure Client tool. For more information, see Modify the
server configuration for a remote client. If you install the ActiveX Task List on a different machine
than the application server, you must access the Configure Client tool from the following location:
../Program Files/Proficy/Proficy Task List/Program.
Workflow Full User Guide | 12 - ActiveX Task Controls | 1641
Note:
At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
1. In your host application, add an OLE object. For more information, see the host application's online
help.
2. To create a control, select:
◦ Proficy Task List Control, or
◦ Proficy Task List Indicator Control.
3. To configure the control's properties, right-click the control, and then:
Note:
This name must match the S95 ID for
the equipment found in the Universal
Browser. For more information, see
Add a resource to the equipment mod-
el.
Tip:
Property configuration is not required
for Manual Login.
Related reference
Task List in HMIs (on page 1643)
Workflow Full User Guide | 12 - ActiveX Task Controls | 1642
Related information
Create optional displays and events in a host application (on page 1642)
1. In your host application, select an existing OLE object. For more information, see the host
application's online help.
2. For server connection, call the following methods:
Tip:
If you want operator interaction to call methods, you can add a button or create an event to
call these methods.
b. For the Task List Indicator Control, select one of the following options:
▪ ConnectTaskListIndicator
▪ DisconnectTaskListIndicator
User Configuration
When your system requires password encryption for server authentication, you must add user names
and passwords. This section is enabled only when the Password Encryption option in the Server
Authentication section is selected.
Note:
For the server authentication to be successful, users must have already been configured in
Workflow.
Workflow Full User Guide | 12 - ActiveX Task Controls | 1643
Server Authentication
There are three different methods for selecting how a user connects to the server in order to access the
Task List.
Manual Login
Select this option to prompt the user to manually enter a user name and password when accessing the
Task List.
Control Properties
Select this option to require the user to configure the user name and password through the control
properties of the HMI host.
Password Encryption
If you want the user names and passwords to be preconfigured, select this option. These credentials are
added in the User Configuration section prior to accessing the ActiveX Task List. In the object's properties,
the password is encrypted.
For users to be able to see the ActiveX Task List in a host application, security permissions must
be assigned to that user. These permissions are configured in Workflow. For more information, see
Understanding Security and Key Sets.
Note:
At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
Important:
For iFIX users:
Workflow Full User Guide | 12 - ActiveX Task Controls | 1644
To enable tabbing within the ActiveX Task List, you must set the IsSelectable property to True on
the ActiveX Task List, and when it first loads, you must manually select it with your mouse so that
it is selected.
Note:
You cannot use Equip
ment Classes for equip
ment changes.
• ConnectTaskList
• DisconnectTaskList
Workflow Full User Guide | 12 - ActiveX Task Controls | 1645
Login information can change during run time when the user who is logged into the server changes. The
ActiveX Task List displays after authentication has been performed.
If you receive a connection error message, review the following document for more information: Running
with a Standard Windows User Account.
Note:
The ActiveX Task List and Task Indicator share a connection; therefore, if one is connected, the
other uses that connection.
All the task level events expose the task ID and display name with the event. The ActiveX Task List
registers to the Workflow TaskInstanceChangedEvent for task level events.
Note:
For the Mobile-sized Task List, the only two events available are NewTask and TaskExpired.
NewTask string taskId, string taskName Starts a new task. Return type:
void.
TaskExpired string taskId, string taskName Event fires when a task that is al
ready in your ActiveX Task List
expires. It also fires when a new
task is added to your list that is
already expired, or has task steps
assigned to you that are already
expired. Return type: void.
The ActiveX Task List and the Task Indicator work together. When the ActiveX Task List is connected, the
Task Indicator does not display notifications; however, it changes color if the status of the ActiveX Task
List changes.
The indicator can be configured to integrate visually with the host application by changing the size and
background color of the indicator.
Note:
At a single workstation, only one Task Indicator object and one ActiveX Task List object can be
connected at a time per HMI application instance.
1. In your host application, modify an OLE object. For more information, see the host application's
online help.
2. To associate this control with a run-time message, edit the script.
3. To allow a user to connect directly to the ActiveX Task List from the Task Indicator, select the
TaskListIndicatorClick event and edit the script.
Note:
A user must already have entered authentication and be logged in.
4. Optional: To configure the format settings (such as size or background color), go to the object's
properties.
• ConnectTaskListIndicator
• DisconnectTaskListIndicator
Note:
The ActiveX Task List and Task Indicator share a connection; therefore, if one is connected, the
other uses that connection.
Task Events
All the task level events expose the task ID and display name with the event. The Task Indicator registers
to the Workflow TaskInstanceChangedEvent for task level events.
NewTask string taskId, string taskName Starts a new task. Return type:
void.
TaskExpired string taskId, string taskName Event fires when a task that is al
ready in your ActiveX Task List
expires. It also fires when a new
task is added to your list that is
already expired, or has task steps
assigned to you that are already
expired. Return type: void.
Important:
Validation errors are only raised through the NewFeedbackMessage event on the ActiveX
Task List. All other feedback messages related to the Task Indicator, such as a task instance
termination message, can be displayed through the Task Indicator.
The following table describes the icons associated with the Task Indicator:
Note:
Administrators are unable to log in using the web service interface.
Endpoint Addresses
For web services, endpoints get published to a specific address.
The preferred endpoints use HTTPS Port 1, which is configured to 8202 by default. To access these
endpoints, configure TLS/SSL and provide a user name and password with each request.
Metadata Endpoint
Each service also provides a metadata endpoint for accessing service metadata, and the WSDL file
can be accessed using that endpoint. The metadata endpoint address is on the first interface when the
interfaces are in alphabetical order by the full interface name. For system interfaces, this is typically
IBrowse.
For example, to access the IWorkflowWebService WSDL file, use the following address:
https://<ServerName>:8202/SOAServer/SOAProject/Workflow/Workflow/IBrowse?wsdl
Workflow Full User Guide | 13 - Service Interfaces | 1652
Note:
Self-signed certificates are less secure than trusted certificates and require additional
configuration on each client.
®
For more information, refer to Microsoft documentation for instructions on obtaining certificates and
SSL security configuration.
Two pieces of information are required to secure a call between a workflow and a service provider. These
two assessments ensure that user permissions are enforced before a method is called.
Caller context Evaluates the user against the target and deter
mines if the correct permissions are in place.
Note:
For this feature to function correctly, you must configure a subprocess in one of the following
ways to ensure that a user acquires the task step. Then, to verify that the task step is acquired,
check the Current User property on the subprocess to ensure it is not null.
User Interface
1. In the Security area, select the Enforce User Permissions check box.
2. Click Save.
3. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
Workflow Methods
Workflow Methods
Workflow provides a set of core service interfaces and call methods for you to use when creating a
workflow. This section describes these core service interfaces and the associated call methods.
1. In the navigator, select Workflow > Workflows, and then create a new Workflow or select a
Workflow from the list.
2. From the Displays panel, select Workflow Management > Workflow Editor.
The Workflow Editor page appears.
3. Select the Workflow Editor tab.
4. From the process map, choose from the following:
◦ Select Local/Global Subprocess from the Standard Activities menu, and then drag it onto
the Workflow diagram to create a new subprocess.
◦ Double-click an existing Subprocess to display it in the editor.
Workflow Full User Guide | 13 - Service Interfaces | 1654
Note:
You can select Next to display the parameters configuration panel for the selected call
method.
8. Click Finish.
The selected call methodappears below Method in the configuration panel.
9. Enter or edit values for each parameter in the selected call method, and then click Save.
10. Click Run ( ) to run the Workflow and the configured call method.
IArchiveManagement
IArchiveManagement allows you to create an archive file and select the data to include.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
ArchiveData (IArchiveManagment)
Specifies the unused runtime data that you want to archive and creates an archive record when the call
method runs.
Outputs Description
IAuditTrail
IAuditTrail allows you to write entries to the audit trail.
Workflow Full User Guide | 13 - Service Interfaces | 1656
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
WriteAuditEntry (IAuditTrail)
Creates the entry of a specific topic written to the audit trail.
No data is returned.
IDatabaseService
IDatabaseService provides access to relational data, such as databases.
Workflow Full User Guide | 13 - Service Interfaces | 1657
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
ExecuteProcedure (IDatabaseService)
Executes a stored procedure against a database connection, and provides for returning results in either
the actual format(s) of the specified parameter(s) or in string format.
In the Configure Method dialog box, click Next to select the connection and procedure. Next, specify
whether you want results returned in the actual format(s) of the parameter(s) in question (Return typed
values, the default) or string format (Return values as strings), and then click Finish. Your connection and
procedure selections determine the specific input parameters for the method, which you configure in the
Inputs section of the activity configuration panel.
Note:
Beginning with release 2.2 SP1, this method includes a new parameter (ConvertValues) that
allows you to specify whether returned values should be automatically converted to string format,
as was done in past releases. Prior implementations of this method will continue to function as in
the past.
Note:
In the Configure
Method dialog
box, this option
equates with Re
turn typed values.
Note:
In the Configure
Method dialog
box, this option
equates with Re
turn values as
strings.
Note:
Data transfer limit: 10
MB.
ExecuteStatement (IDatabaseService)
Executes a query or update statement against a database connection, and provides for returning results in
either the actual format(s) of the specified parameter(s) or in string format.
In the Configure Method dialog box, click Next to select whether you want to use an existing statement
or configure a new statement. In the latter case, clicking the corresponding Edit link opens a dialog box,
where you can specify the statement type and provider and then configure the statement itself. Next,
specify whether you want results returned in the actual format(s) of the parameter(s) in question (Return
typed values, the default) or string format (Return values as strings), and then click Finish.
Note:
Beginning with release 2.2 SP1, this method includes a new parameter (ConvertValues) that
allows you to specify whether returned values should be automatically converted to string format,
as was done in past releases. Prior implementations of this method will continue to function as in
the past.
Note:
In the Configure
Method dialog
box, this option
equates with Re
turn typed values.
Note:
In the Configure
Method dialog
box, this option
equates with Re
turn values as
strings.
Workflow Full User Guide | 13 - Service Interfaces | 1661
Note:
Data transfer limit: 10
MB.
IDirectorySearch
IDirectorySearch allows you to search the Directory of Resources for a set of resources based on a search
query, or for a list of resources based on a resource class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
CreateClassQueryExpression (IDirectorySearch)
Creates a query expression to return resources associated with a given class.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For example, if you select the personnel class "Operator" for your query
expression, then a list of all personnel resources associated with that class is returned.
Search (IDirectorySearch)
Returns an array of directory resources for a given search string.
This method provides the ability to filter results to include resources with names or descriptions that
contain but do not exactly match the specified filter text. For exact-match filtering, use the SearchEx
(IdirectorySearch) call method instead.
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs section of the
activity configuration panel, click the ellipsis button to select a resource.
Note:
To test your search strings, click Next in the Configure Method dialog box. Any values entered
here are used as values in the Inputs section of the activity configuration panel. For more
information, see Advanced Search.
• Equipment Resource
• Type - Enterprise
• Type - Work Request
• Category - <category
name>
Note:
This is not a compre
hensive list. If you want
to exclude just a single
Class classification, you
can configure a Create-
ClassQueryExpression
call method and bind this
parameter to the output
of that method instead.
• Equipment Resource
• Type - Enterprise
• Type - Work Request
• Category - <category
name>
Note:
This is not a compre
hensive list. If you want
to exclude just a single
Class classification, you
can configure a Create-
ClassQueryExpression
call method and bind this
parameter to the output
of that method instead.
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Workflow Full User Guide | 13 - Service Interfaces | 1666
Note:
If required, configure the workflow.
6. Drag and drop a Call Method into the subprocess and double-click it, or double-click an existing
Call Method activity.
7. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
8. Double-click IDirectorySearch to display the list of available call methods.
9. Click Search, and then do one of the following:
Click... To configure...
Click... To...
Tip:
Use the bind path that is as close to the
starting resource as possible. For ex
ample, if you want to find a Directory
Resource for a production segment, se
lect the Production Segments folder in
the Production model. The closer the
folder is to the actual resource, the bet
ter the search performance.
Note:
You can return partial matches. For example, if you want to find a resource named
MyEquipment and you search for My, all resources with My in the display name will
be returned, including MyEquipment.
◦ To find the exact Display Name, insert a For Each Activity or a While loop to iterate through
the results.
13. To return single search results:
a. Insert an Index activity after the Call Method activity.
b. In the Collection field, from the drop-down arrow, select Bind. The Select Variable dialog box
appears.
c. From the current Call Method, select the Output Parameter's ReturnValue, and then click OK.
d. In the Index field, enter 0 to return the first item in the collection. You can now access the
Directory Resource through the result of the Index activity.
14. Click Save.
15. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
Workflow Full User Guide | 13 - Service Interfaces | 1668
SearchEx (IDirectorySearch)
Returns an array of directory resources for a given search string, with the ability to filter results based on
whether the value specified for the resource name or description parameter partially or exactly matches
the actual value for the given parameter.
Note:
To test your search strings, click Next in the Configure Method dialog box. Any values entered
here are used as values in the Inputs section of the activity configuration panel. For more
information, see Advanced Search.
• Equipment Resource
• Type - Enterprise
Workflow Full User Guide | 13 - Service Interfaces | 1669
Note:
This is not a compre
hensive list. If you want
to exclude just a single
Class classification, you
can configure a Create-
ClassQueryExpression
call method and bind this
parameter to the output
of that method instead.
Filter Matching Option Search Filter Options Specifies the algorithm applied
to match the Name Filter and De-
scription Filter text to candidate
resources found by the search.
Options are:
• PartialMatchCaseInsen
sitive: Includes any can
didate resources with
names and descriptions
that contain the filter text
regardless of text case.
This is the default setting.
• ExactMatchCaseInsen
sitive: Includes any can
didate resources with
names and descriptions
that exactly match the fil
ter text regardless of text
case
Workflow Full User Guide | 13 - Service Interfaces | 1670
• Equipment Resource
• Type - Enterprise
• Type - Work Request
• Category - ,category
name>
Note:
This is not a compre
hensive list. If you want
to exclude just a single
Class classification, you
can configure a Create-
ClassQueryExpression
call method and bind this
parameter to the output
of that method instead.
Workflow Full User Guide | 13 - Service Interfaces | 1671
Outputs Description
IEmailService
You can use IEmailService to send emails as part of a workflow process.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
SendEmail (IEmailService)
You can add email addresses to a workflow to send an email message to several recipients. These emails
are sent from the default sender's preconfigured email address.
Input Data
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
SendEmailFromPerson (IEmailService)
You can add a single email address to a workflow to send an email message to a particular recipient from
a particular sender.
Workflow Full User Guide | 13 - Service Interfaces | 1673
Input Data
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
SendEmailSingle (IEmailService)
You can add an email address to a workflow to send an email message to a single recipient. These emails
are sent from the default sender's preconfigured email address.
Workflow Full User Guide | 13 - Service Interfaces | 1674
Input Data
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
SendEmailWithAttachments (IEmailService)
You can send an email message from the Workflow server with optional attachments to multiple
recipients.
Make sure that the email configuration for the server has been set up.
When configuring Workflow emails, recipients can be specified using the parameters for Recipient
Emails, Recipient Resources, or both. At least one recipient must be specified.
1. Click Configure Method to select a call method. See Configure Parameters for a Call Method for
more information.
2. Enter or edit values as shown in the table below, and then click Save.
3. Click Run ( ) to run Workflow and the configured call method.
Workflow Full User Guide | 13 - Service Interfaces | 1675
Recipient Emails String[] Email message recipients are expressed as email ad
dresses.
Recipient Resources IEnumerable<Directo Specifies a person, class, or group from the Personnel
ryResource> model who will receive the email. All recipients must
have email addresses must be configured in order avoid
errors.
Sender DirectoryResource Specifies the person or group from the Personnel model
who is sending the email. An email address must be con
figured for the sender resource.
Note:
If not specified, the default sender is used.
Subject String Specifies the subject heading of the email being sent.
Attachments String In the Inputs section of the configuration pane, click the
ellipsis (…) to open the String Collection Editor dialog
box. Enter the file paths of attachments to include with
the email message, and then click OK.
Note:
Attachment file paths represent file paths on the
Workflow server machine, not local paths.
Workflow Full User Guide | 13 - Service Interfaces | 1676
Enforce User Per N/A Check the Enforce User Permissions check box to use
missions the permissions of the Workflow’s current user when in
voking the method.
Tip:
You can test the email configuration by selecting the Test/Debug tab and clicking Test.
For the email service provider to work, you must configure permissions by selecting the appropriate check
box.
Note:
You must configure all required fields in order to avoid errors.
a. Required: In the Server host name field, enter the server from which emails will be sent.
b. Required: In the Server port number field, enter the server's port number.
c. Optional: In the Server timeout value field, enter the number of seconds allowable for an
email to be sent before the server times out.
d. Required: In the Default sender address field, enter the email address from which emails
will be sent.
e. Optional: In the Default sender name field, enter a name related to the sender of the email.
Workflow Full User Guide | 13 - Service Interfaces | 1677
f. Optional: In the Test recipient email address field, enter an email address to test the
sender's email, and then click Send Test Message.
If the sender's email works, a test email arrives in the recipient's Inbox.
4. To add recipients to an email distribution list, add an IDirectorySearch service provider to the
workflow.
a. Add the Search method to your workflow, following the steps in the Convert a resource's
display name to a Directory Resource topic.
c. From the Personnel folder, select the recipient that you want to send an email to, and then
click OK. If you want to send an email to all users, select Personnel, and then click OK.
d. Click Save.
5. Drag and drop a second Call Method activity into the subprocess.
6. To send emails during workflow execution, add one of the following email service call methods:
Note:
Ensure that each recipient has an email address associated with his account.
IEquipment
IEquipment allows you to read from and write to the Equipment model.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AddAspect (IEquipment)
Allows you to add an aspect to an equipment instance or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Acticities can exist only between the presubprocess and postsubprocess.
AddClass (IEquipment)
Allows you to add a class to an equipment instance.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Related reference
RemoveClass (IEquipment) (on page 1705)
AddPropertyAspect (IEquipment)
Adds an aspect to an equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Equipment property aspects dynamically extend equipment instance or class properties without
modifying or recompiling the original objects.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
AddPropertyClass (IEquipment)
Allows you to add a property of type Class to an equipment instance.
Workflow Full User Guide | 13 - Service Interfaces | 1682
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
AddClassPropertyToClass (IEquipment)
Allows you to add a property of type Class to an equipment class.
AddPropertyToClass (IEquipment)
Allows you to add a property to an equipment class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
CreateClass (IEquipment)
Allows you to create a new equipment class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Outputs Description
CreateEquipment (IEquipment)
Creates a new equipment instance of a given type under the given parent.
Workflow Full User Guide | 13 - Service Interfaces | 1684
Outputs Description
DeleteClass (IEquipment)
Allows you to delete an equipment class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
DeleteEquipment (IEquipment)
Deletes an equipment instance.
Note:
• If the selected
equipment in
stance has any
child resources,
those child re
sources will also
be deleted.
• When a resource
is deleted, it can
not be recovered.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
GetAspectTypes (IEquipment)
Returns the applicable and applied aspect types for an equipment instance or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Outputs Description
GetClassProperties (IEquipment)
Returns a list of properties defined by an equipment class.
Outputs Description
GetDataSourceLink (IEquipment)
Gets the current data source binding for a given equipment property.
Outputs Description
GetEquipmentChildren (IEquipment)
Returns a collection of all the child resources for the specified parent resource.
Note:
Returns the child resources one level below the specified parent.
Outputs Description
Outputs Description
Note:
The Index activity returns
only integer values.
GetEquipmentParent (IEquipment)
Returns the parent of the specified equipment resource.
Outputs Description
GetPropertyAspectTypes (IEquipment)
Returns the applicable and applied aspect types for an equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Workflow Full User Guide | 13 - Service Interfaces | 1690
HasAspect (IEquipment)
Checks whether an equipment instance or class has the specified aspect applied to it.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
HasClass (IEquipment)
Checks if a given instance has the given class.
Workflow Full User Guide | 13 - Service Interfaces | 1693
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
HasPropertyAspect (IEquipment)
Checks whether an equipment instance or class property has a specified aspect applied.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1694
Outputs Description
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
Note:
Activities can exist only between the presubprocess and postsubprocess.
ReadClasses (IEquipment)
Returns a list of classes associated with an equipment instance.
Outputs Description
ReadEquipmentClassValues (IEquipment)
Reads the values of a class property of a specific equipment instance.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
ReadEquipmentValue (IEquipment)
Reads the value of a single property or attribute of a specific equipment resource.
Outputs Description
ReadEquipmentValues (IEquipment)
Returns the values of all of the properties and attributes of a specific equipment resource.
Outputs Description
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see the related properties
for the equipment model.
ReadEquipmentValuesByName (IEquipment)
Returns the values of named properties and attributes of a specific equipment resource.
Outputs Description
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from,see the related properties
for the equipment model.
ReadPropertyAttribute (IEquipment)
Returns the value of an attribute of an equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
ReadPropertyAttributes (IEquipment)
Returns the values of all attributes of an equipment instance or class property.
Workflow Full User Guide | 13 - Service Interfaces | 1701
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
7. Double-click IEquipment to display the list of available call methods.
8. Click ReadPropertyAttributes, and then click Finish. The input parameters appear on the activity
configuration panel.
9. Configure the call method as follows:
a. In the Equipment Instance or Class field, click the ellipsis button, and then select the
instance or class whose property you want to read.
b. In the propertyName field, enter the name of the property whose attributes you want to read.
10. Click Save.
11. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
ReadPropertyAttributesByName (IEquipment)
Returns the attribute names of the specified equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1703
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the attributeNames field, click the ellipsis button to open the String Collection Editor
dialog box, where you can enter the names of the attributes you want to read.
Note:
Enter only one attribute name per line.
b. In the Equipment Instance or Class field, click the ellipsis button, and then select the
instance or class whose attributes you want to read.
c. In the propertyName field, enter the name of the property whose attributes you want to read.
RemoveAspect (IEquipment)
Removes an aspect from an equipment instance or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
RemoveClass (IEquipment)
Removes a specified equipment class from an equipment instance.
Workflow Full User Guide | 13 - Service Interfaces | 1706
RemovePropertyAspect (IEquipment)
Removes an aspect from an equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list. For more
information, see Add a resource to the workflow model.
5. Insert an activity:
◦ At the workflow level:
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
Note:
Activities can exist only between the presubprocess and postsubprocess.
RemovePropertyFromClass (IEquipment)
Allows you to remove a property from an equipment class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Workflow Full User Guide | 13 - Service Interfaces | 1708
RemovePropertyFromEquipment (IEquipment)
Allows you to remove a property from an equipment instance.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
SetDataSourceLink (IEquipment)
Sets a data source binding on a given equipment property.
No data is returned.
WriteEquipmentValue (IEquipment)
Writes the value to the Value attribute of the specified property of the selected equipment instance or
class.
Note:
• You can write a value of a different data type than the actual type of the equipment
property and Workflow will attempt to convert the value to the correct type. However, some
data types cannot be converted. If a data type cannot be converted, an error message
appears.
• If you override a default value on an property inherited from an equipment class, the new
value appears in blue.
No data is returned.
WritePropertyAttribute (IEquipment)
Writes to an attribute of an equipment instance or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the attribute field, enter the name of the attribute you want to write to.
b. In the Equipment Instance or Class field, click the ellipsis button, and then select the
instance or class whose property you want to write to.
c. In the Property Name field, enter the name of the property whose attribute you want to write
to.
d. In the Value field, click the arrow, and then select Bind. The Select Variable dialog box
appears.
The Select Variable dialog box appears.
IEquipmentConfig
IEquipmentConfig provides methods for configuring the equipment model.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
ProvisionEquipmentModel (IEquipmentConfig)
Uploads equipment data to the equipment model by processing the commands in the
EquipmentProvisioning table.
Outputs Description
IEquipmentHistorian
IEquipmentHistorian allows you to read from and write to Historian tags.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
GetHistorianTagAttributes (IEquipmentHistorian)
Retrieves the attributes of the Historian tag associated with the specified equipment property.
Note:
In the Configure Method
dialog box, click Next to
select a resource. Other
Workflow Full User Guide | 13 - Service Interfaces | 1713
Outputs Description
1. Add a workflow that will be used to configure the attributes of an Historian tag.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
b. Expand the call method you created in step 2 and, from the Return Value list for the call
method, select the attribute you want to configure.
c. Click OK.
d. On the activity configuration panel, enter a value for the attribute or bind the value to another
attribute.
a. In the Equipment Address field, click the ellipsis button, and then select the same equipment
resource you selected in step 6a.
b. In the Property Name field, enter the name of the same equipment property you specified in
step 6b.
c. In the Tag Attributes field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
d. Expand the call method you created in step 2, and then select the Return Value output
parameter.
e. Click OK.
IsHistorianProperty (IEquipmentHistorian)
Verifies whether the selected property is associated with an Historian tag.
Note:
In the Configure Method
dialog box, click Next to
select a resource. Other
wise, in the Inputs sec
tion of the activity con
figuration panel, click the
ellipsis button to select a
resource.
Workflow Full User Guide | 13 - Service Interfaces | 1716
Outputs Description
ReadHistoricalValue (IEquipmentHistorian)
Retrieves historical data from the Historian tag associated with the specified equipment property.
Note:
In the Configure Method
dialog box, click Next to
select a resource. Other
wise, in the Inputs sec
tion of the activity con
figuration panel, click the
Workflow Full User Guide | 13 - Service Interfaces | 1717
Outputs Description
SetHistorianTagAttributes (IEquipmentHistorian)
Configures the Historian tag attributes for the specified equipment property.
Note:
• CollectorName
• CollectorType
• SourceAddress
• CalculationTriggers
• CollectionType
• CollectionInterval
• DataType
• StoreMilliseconds
Outputs Description
SetHistorianTagValue (IEquipmentHistorian)
Configures the value of the Historian tag associated with the specified equipment property.
Note:
In the Configure Method
dialog box, click Next to
select a resource. Other
wise, in the Inputs sec
tion of the activity con
figuration panel, click the
ellipsis button to select a
resource.
Outputs Description
IEvent
IEventManager allows you to read from the Event model and to create an event subscription for a specific
event resource.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
GetEventSubscription (IEvent)
Creates an event subscription for either a condition or time event.
Outputs Description
IExtensionData
IExtensionData allows you to access temporary workflow data that was previously stored in a system
repository. This stored data can be associated with both internal and external systems.
For example, if you have a workflow that contains production data that is relevant to external systems
only, you can store it as extension data. This data can be retrieved and returned to the external system at
a later time when production results are being output.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
GetExtensionData (IExtensionData)
Gets extension data.
Outputs Description
RemoveExtensionData (IExtensionData)
Removes extension data.
StoreExtensionData (IExtensionData)
Stores extension data.
Workflow Full User Guide | 13 - Service Interfaces | 1722
IITService
IITService allows you to read from the Proficy System model.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
GetAllComputers (IITService)
Returns configuration data for all computers on your network.
Note:
There are no input parameters for this call method.
Outputs Description
GetComputer (IITService)
Retrieves configuration data for a specified computer.
Workflow Full User Guide | 13 - Service Interfaces | 1723
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the data that can be returned, see Automatic Login and Logout
and Client Access Configuration in Startup Options.
GetLinkedEquipment (IITService)
Reads the linked equipment address of a computer.
Outputs Description
ILicense
The ILicense service method provides access to active licensing information.
On the activity configuration panel, you can use a bind or expression to define your input parameters.
Additionally, you can type these input parameters in manually.
Subtopics in this section describe each service method for this service interface.
GetLicenseUsage (ILicense)
Gets all the active license information.
Outputs Description
GetLicenseUsageForComputer (ILicense)
Gets all the active license information for a specified computer.
Outputs Description
GetLicenseUsageForUser (ILicense)
Gets all the active license information for a specified user.
Outputs Description
IMaterial
IMaterial allows you to read from and write to the Material model.
On the activity configuration panel, you can use a bind or expression to define your input parameters.
Additionally, you can type these input parameters in manually.
Subtopics in this section describe each service method for this service interface.
AddAspect (IMaterial)
Allows you to add an aspect to a material definition or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Material aspects dynamically extend existing material definition instances or classes by adding new
attributes and business logic without modifying or recompiling the original objects.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Related reference
AddAspect (IMaterial) (on page 1725)
Related information
Verify a material aspect (on page 1743)
AddClass (IMaterial)
Allows you to add a specified material class to a specified material definition.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1728
AddLotToAssembly (IMaterial)
Adds a parent/child assembly relationship between two material lots.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
b. Select the return value of the call method you added in step 11, and then click OK.
b. Select the return value of the call method you added in step 11, and then click OK.
AddPropertyAspect (IMaterial)
Adds an aspect to a material definition or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Workflow Full User Guide | 13 - Service Interfaces | 1731
Material property aspects dynamically extend material definition instance or class properties without
modifying or recompiling the original objects.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
AddPropertyToClass (IMaterial)
Allows you to add a property to a material class.
On the activity configuration panel, you can use a bind or expression to define your input parameters.
Additionally, you can type these input parameters in manually.
ClearPropertyFromLotProperty (IMaterial)
Clears the material definition property from being a lot property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1733
CreateMaterialClass (IMaterial)
Allows you to create a new material class.
On the activity configuration panel, you can use a bind or expression to define your input parameters.
Additionally, you can type these input parameters in manually.
Outputs Description
CreateMaterialDefinition (IMaterial)
Creates a new material definition.
Outputs Description
CreateMaterialLot (IMaterial)
Creates a lot for a particular material resource.
Workflow Full User Guide | 13 - Service Interfaces | 1734
Outputs Description
CreateMaterialSublot (IMaterial)
Creates a sublot for a particular material that is under a specified parent material resource.
Outputs Description
DecrementMaterialLotOrSublotQuantity (IMaterial)
Reduces the quantity of a specified material lot or sublot.
Outputs Description
DeleteMaterialClass (IMaterial)
Allows you to delete a material class.
On the activity configuration panel, you can use a bind to define your input parameters.
DeleteMaterialDefinition (IMaterial)
Deletes a material definition.
Note:
When a resource is delet
ed, it cannot be recov
ered.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
DeleteMaterialLotOrSublot (IMaterial)
Deletes a specified material lot or sublot.
FindMaterialDefinitions (IMaterial)
Finds all of the material definitions that exactly match the defined parameter names and values.
The material properties you search for include those properties belonging to material definitions and
classes associated with material definitions.
When you configure the search parameters, keep the following in mind:
• You can use empty strings as parameter values; however, null values are not allowed.
• You can enter a maximum of 10 parameters in each field.
• You must enter the same number of name and value parameters.
• Boolean values must be entered as 1 to represent True or Yes, or 0 to represent False or No.
• DateTime values must be in UTC time zone, with the following format: yyyy-mm-dd hh:mi:ss.
• The search returns a maximum of 5,000 results.
Outputs Description
When you configure the search parameters, keep the following in mind:
• You can use empty strings as parameter values; however, null values are not allowed.
• You can enter a maximum of 10 parameters in each field.
• You must enter the same number of name and value parameters.
• Boolean values must be entered as 1 to represent True or Yes, or 0 to represent False or No.
• DateTime values must be in UTC time zone, with the following format: yyyy-mm-dd hh:mi:ss.
• The search returns a maximum of 5,000 results.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
Enter a maximum of 10, one on each line.
10. In the Parameter values field, click the ellipsis button to open the String Collection Editor dialog
box, and then enter the parameter values you want to use as search criteria.
Note:
Enter a maximum of 10, one on each line.
GetAspectTypes (IMaterial)
Returns the applicable and applied aspect types for a material definition or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
GetClassProperties (IMaterial)
Returns a list of properties defined by a material class.
Outputs Description
GetPropertyAspectTypes (IMaterial)
Returns the applicable and applied aspect types for a property owned by a material definition or material
class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
7. Double-click IMaterial to display the list of available call methods.
8. Click GetPropertyAspectTypes, and then click Finish.
The input parameters appear in the activity configuration panel.
9. Configure the call method as follows:
a. In the Material field, click the ellipsis button, and then select a class or definition.
b. In the Property Name field, enter the name of the property to read.
10. Click Save.
11. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
HasAspect (IMaterial)
Checks whether a material definition or class has the specified aspect applied to it.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
HasClass (IMaterial)
Checks if a given material definition is associated with a given material class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
HasPropertyAspect (IMaterial)
Checks if a property owned by a material definition or material class has a specified aspect applied to it.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1746
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
IncrementMaterialLotOrSublotQuantity (IMaterial)
Increases the quantity of a specified material lot or sublot.
Outputs Description
IsLotAssemblyDescendant (IMaterial)
Returns a value indicating whether the defined material lot is the descendant of a root material lot within
an assembly.
QueryMaterialLots (IMaterial)
Performs a query against a runtime database for material lots. All material lots that match the specified
query criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns up to 500 of
the most recently modified lots. To return additional results, configure one or more queries
using the Last Modified Time (Max) and Last Modified Time (Min) parameters. Bind the Last
Modified Time (Max) parameter of subsequent queries to the OldestLastModified property of
Workflow Full User Guide | 13 - Service Interfaces | 1749
the MaterialLotCollection output parameter (in the Select Variable dialog box) from the previous
query to return the next set of results. Each query returns up to 500 results.
• OnlyAttributes
• IncludeChildSublots
• IncludeProperties
• FullDetails
• True
• False
Last Modified Time (Max) DateTime Specifies the latest modified date
and time to include in your query.
This is the most recent date/time
that returned material lots were
modified.
Note:
The name you enter
must be an exact match
for the S95 ID. S95 IDs
are case sensitive and
wild cards are not per
mitted in a query.
Outputs Description
QueryMaterialSublots (IMaterial)
Performs a query against a runtime database for material sublots. All material sublots that match the
specified query criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns up to 500 of the
most recently modified sublots.To return additional results, configure one or more queries
using the Last Modified Time (Max) and Last Modified Time (Min) parameters. Bind the Last
Modified Time (Max) parameter of subsequent queries to the OldestLastModified property of
Workflow Full User Guide | 13 - Service Interfaces | 1751
the MaterialLotCollection output parameter (in the Select Variable dialog box) from the previous
query to return the next set of results. Each query returns up to 500 results.
• OnlyAttributes
• IncludeChildSublots
• IncludeProperties
• FullDetails
• True
• False
Last Modified Time (Max) DateTime Specifies the latest modified date
and time to include in your query.
This is the most recent date/time
that returned material sublots
were modified.
Note:
The name you enter
must be an exact match
for the S95 ID. S95 IDs
are case sensitive and
wild cards are not per
mitted in a query.
Outputs Description
ReadAllMaterialValues (IMaterial)
Returns the values of all of the properties and attributes of a material resource.
Workflow Full User Guide | 13 - Service Interfaces | 1753
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see the related properties
for the material model.
ReadAllPropertyAttributes (IMaterial)
Returns the values of all attributes of a material definition or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1754
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the Material field, click the ellipsis button, and then select a resource.
b. In the Property Name field, enter the name of the property whose attributes you want to
read.
10. Click Save.
11. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
ReadClasses (IMaterial)
Returns a list of classes associated with a specified material definition.
Outputs Description
ReadClassProperties (IMaterial)
Retrieves the property values belonging to a specified class from a specified material definition.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
ReadMaterialLot (IMaterial)
Returns a list of attributes associated with a specified material lot.
• OnlyAttributes
• IncludeChildSublots
• IncludeProperties
• FullDetails
Outputs Description
ReadMaterialSublot (IMaterial)
Returns a list of attributes associated with a specified material sublot.
• OnlyAttributes
• IncludeChildSublots
• IncludeProperties
• FullDetails
Outputs Description
ReadMaterialValue (IMaterial)
Reads the value of a single property or attribute of a specific material resource.
Note:
In the Edit Method dialog box, click Next to add class definitions to the call method. This returns
only the parameters you choose from the class.
Outputs Description
ReadMaterialValuesByName (IMaterial)
Returns the values of all of the named properties and attributes of a material resource.
Note:
In the Edit Method dialog box, click Next to add class definitions to the call method. This returns
only the parameters you choose from the class.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see the related properties
for the material model.
ReadPropertyAttribute (IMaterial)
Returns the value of an attribute of a material definition or class property.
Workflow Full User Guide | 13 - Service Interfaces | 1760
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
ReadPropertyAttributesByName (IMaterial)
Returns the attribute names of the specified material definition or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
RemoveAspect (IMaterial)
Removes an aspect from a specified material definition or class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Workflow Full User Guide | 13 - Service Interfaces | 1764
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
RemoveClass (IMaterial)
Removes a specified material class from a specified material definition.
Workflow Full User Guide | 13 - Service Interfaces | 1765
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
RemoveLotFromAssembly (IMaterial)
Removes an assembly relationship between a parent material lot and a child material lot.
RemovePropertyAspect (IMaterial)
Removes an aspect from a property owned by a material definition or material class.
Workflow Full User Guide | 13 - Service Interfaces | 1766
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
7. Double-click IMaterial to display the list of available call methods.
8. Click RemovePropertyAspect, and then click Finish.
The input parameters appear in the activity configuration panel.
9. Configure the call method as follows:
a. In the Aspect Name field, enter a name of the aspect you want to remove.
b. In the Material field, click the ellipsis button, and then select class or definition..
c. In the Property Name field, select the property you want to remove the aspect from.
10. Click Save.
11. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
RemovePropertyFromClass (IMaterial)
Allows you to remove a property from a material class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
SetMaterialLotOrSublotLocation (IMaterial)
Sets the equipment location for a specified material lot or sublot.
Workflow Full User Guide | 13 - Service Interfaces | 1768
SetMaterialLotOrSublotQuantity (IMaterial)
Sets the quantity specified by a lot or sublot requirement.
SetMaterialLotOrSublotStatus (IMaterial)
Sets the status of a specified lot or sublot.
SetMaterialLotToClosed (IMaterial)
Sets the specified material lot to a closed status. When a lot is in this state, it is no longer part of runtime,
so it can be archived and purged.
SetPropertyToLotProperty (IMaterial)
Specifies the material to be a lot property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
UpdateMaterialLotS95Id (IMaterial)
Updates the S95 ID of a material lot.
WriteMaterialLotProperties (IMaterial)
Writes to properties of a specified material lot.
WriteMaterialValue (IMaterial)
Writes a value to an attribute or property for a material definition.
WritePropertyAttribute (IMaterial)
Writes to an attribute of a material definition or class property.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the Attribute field, enter the name of the attribute you want to write to.
b. In the Material field, click the ellipsis button, and then select the material definition or class
whose property you want to write to.
c. In the Property Name field, enter the name of the property whose attribute you want to write
to.
d. In the Value field, click the arrow, and then select Bind. The Select Variable dialog box
appears.
The Select Variable dialog box appears.
IOpcClient
IOpcClient allows you to read from the OPC Client model.
Workflow Full User Guide | 13 - Service Interfaces | 1773
On the activity configuration pane, you can use a Workfow Bind or Workflow Expression to define your
input and output parameters.
Subtopics in this section describe each service method for this service interface.
AddOPCGroup (IOpcClient)
Adds an OPC group to the specified OPC server.
Note:
The default is True.
Note:
The default is True. If
false, reading is per
formed against the OPC
server's cache.
Workflow Full User Guide | 13 - Service Interfaces | 1774
Outputs Description
AddOPCItem (IOpcClient)
Adds the specified OPC item to the specified OPC group.
Outputs Description
CreateDataSourceLink (IOpcClient)
Creates a data source link that can be used to access an OPC item.
Outputs Description
CreateDataSourceLinkWithAttributes (IOpcClient)
Create a data source link that can be used to access an OPC item.
Outputs Description
DeleteOPCItem (IOpcClient)
Deletes the specified OPC item from the specified OPC group.
Outputs Description
WriteGroupData (IOpcClient)
Writes to a group of OPC items simultaneously.
IOpcUa
IOpcUa allows you to read from the OPC UA model.
On the activity configuration panel, you can use a Workflow Bind or Workflow Expression to define your
input and output parameters.
Subtopics in this section describe each service method for this service interface.
AddOPCUAGroup (IOpcUa)
Adds an OPC UA group to the specified OPC UA server.
Outputs Description
AddOPCUAItem (IOpcUa)
Adds the specified OPC UA item to the specified OPC UA group.
Outputs Description
CreateDataSourceLink (IOpcUa)
Create a data source link that can be used to access an OPC UA item.
Note:
Beginning with 2.6 SP1 SIM 4 release, this method accepts only two input parameters (Group
Address, Item Name), which by default includes the attributes namely Value, Quality, and
Timestamp in the resulting link. Prior implementations of this method will continue to function as
in the past.
Outputs Description
CreateDataSourceLinkWithAttributes (IOpcUa)
Create a data source link that can be used to access an OPC UA item.
Workflow Full User Guide | 13 - Service Interfaces | 1778
Outputs Description
DeleteOPCUAItem (IOpcUa)
Deletes the specified OPC UA item from the specified OPC UA group.
WriteGroupData (IOpcUa)
Writes to a group of OPC UA items simultaneously.
IPersonnel
IPersonnel allows you to read from and write to the Personnel model.
Workflow Full User Guide | 13 - Service Interfaces | 1779
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AddAspect (IPersonnel)
Allows you to add an aspect to a person or personnel class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Personnel aspects dynamically extend existing personnel instances or classes by adding new attributes
and business logic without modifying or recompiling the original objects.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Related information
Remove a personnel aspect (on page 1793)
AddClass (IPersonnel)
Associates a personnel class with a specific personnel resource.
AddPropertyToClass (IPersonnel)
Allows you to add a property to a personnel class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
ChangeAuthenticatedPersonPassword (IPersonnel)
Changes a person's password using encrypted passwords.
ChangePersonPassword (IPersonnel)
Changes a person's password using plaintext passwords.
CreatePerson (IPersonnel)
Creates a new person.
Tip:
If you want to create a
Windows domain user,
you must enter the name
value in the following
format: <Fully Quali-
fied Windows Domain
Name>\<Windows Ac-
ple MyDomain.MyCompa-
ny.com\RobertGray). Be
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1784
Outputs Description
CreatePersonnelClass (IPersonnel)
Allows you to create a new personnel class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Outputs Description
DeletePerson (IPersonnel)
Deletes a person resource.
Note:
When a resource is delet
ed, it cannot be recov
ered.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1785
DeletePersonnelClass (IPersonnel)
Allows you to delete a personnel class.
On the activity configuration panel, you can use a bind to define your input parameters.
GetAspectTypes (IPersonnel)
Returns the applicable and applied aspect types for a person or personnel class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Workflow Full User Guide | 13 - Service Interfaces | 1786
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
GetClassProperties (IPersonnel)
Gets the properties for a specific class.
Workflow Full User Guide | 13 - Service Interfaces | 1787
Outputs Description
HasAspect (IPersonnel)
Checks whether a person or personnel class has the specified aspect applied to it.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
HasClass (IPersonnel)
Checks if a specific person is associated with a specific class.
Outputs Description
ReadAllPersonnelValues (IPersonnel)
Returns the values of all of the properties and attributes of a personnel resource.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the property attributes that can be read from, see the
related properties for Workflow Users and Personnel Classes, Workflow Groups, and Key Set
Permissions.
ReadClasses (IPersonnel)
Get the classes associated with a specific person.
Outputs Description
ReadClassProperties (IPersonnel)
Retrieves the values for properties of a specific class from a specified person.
Outputs Description
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the property attributes that can be read from, see the
related properties for Workflow Users and Personnel Classes, Workflow Groups, and Key Set
Permissions.
ReadPersonnelValuesByName (IPersonnel)
Returns the values of all of the named properties and attributes of a personnel resource.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the property attributes that can be read from, see the
related properties for Workflow Users and Personnel Classes, Workflow Groups, and Key Set
Permissions.
RemoveAspect (IPersonnel)
Removes an aspect from a person or personnel class.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
RemoveClass (IPersonnel)
Removes a specified personnel class association from the selected personnel resource.
Workflow Full User Guide | 13 - Service Interfaces | 1795
RemovePropertyFromClass (IPersonnel)
Allows you to remove a property from a personnel class.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
VerifyUserCredentials (IPersonnel)
Performs a check to verify that the provided user credentials are valid.
Outputs Description
• true
• false
WritePersonnelValue (IPersonnel)
Writes a value to an attribute or property for a personnel instance.
IProductionModel
IProductionModel allows you to read from or write to the Production model.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AddChildWorkDefinitionSegment (IProductionModel)
Associates a work definition segment as a child of another work definition segment.
You can create a segment hierarchy with a maximum of four levels. A work definition segment can be
associated with multiple child segments; however, the association name for each relationship must be
unique.
Important:
A work definition segment cannot be a child of another work definition segment if it is already a
parent to that segment. As well, a work definition segment cannot be a parent to another work
definition segment if it is already a child of that segment.
For example, you have two parent segments, named Build Bicycle and Build Tricycle. For Build Bicycle,
you have two Build Tire child segments. Even though the child segment being used is the same for both
tires, you must provide a unique name to each one of the associations: Front Tire and Rear Tire. The
Build Tricycle segment could also have a child segment named Front Tire. Even though the name of the
association is the same as Build Bicycle, the association is unique because it is for a different parent
segment.
Workflow Full User Guide | 13 - Service Interfaces | 1798
A parent work definition segment can be a container for its child segments, or it can have its own
execution steps. You can set the execution order on all levels of work definition segments within a
hierarchy.
Note:
We recommend that
you define the child seg
ments' order by the exe
cution order; that is, the
order in which each child
segment will be execut
ed.
AddEquipmentToProcessSegment (IProductionModel)
Adds an equipment specification to a work process segment.
The following table describes the input parameters for this method.
Workflow Full User Guide | 13 - Service Interfaces | 1799
AddMasterSegmentToWorkDefinition (IProductionModel)
Adds a master segment to a work definition.
A master segment is a work process segment that contains information that applies to all work definition
segments associated with a work definition. In other words, a master segment is a template for a
work request. For example, a customer name can be represented as a segment parameter in a master
segment.
A master segment can be associated with multiple work definitions; however, a work definition can be
associated with only one master segment. Work requests are created from an individual work definition
and, therefore, can also be associated with only one master segment.
AddMaterialToProcessSegment (IProductionModel)
Adds a material specification to a work process segment.
AddOperationsMaterialBillItem (IProductionModel)
Adds a material specification item as an operations material bill item to the operations bill of materials
(BOM) for the selected work definition.
Outputs Description
AddPersonnelToProcessSegment (IProductionModel)
Adds a personnel specification to a work process segment.
AddSegmentToWorkDefinition (IProductionModel)
Associates a work definition segment with a work definition.
AddWorkDataToProcessSegment (IProductionModel)
Adds a work data class to a process segment.
• False
• True
CreateOperationsMaterialBill (IProductionModel)
Creates an operations bill of materials (BOM) for the selected work definition.
Outputs Description
CreateProcessSegmentParameter (IProductionModel)
Adds a parameter to a process segment.
Workflow Full User Guide | 13 - Service Interfaces | 1804
CreateWorkDataClass (IProductionModel)
Creates a work data class.
Outputs Description
CreateWorkDataClassStringProperty (IProductionModel)
Creates a work data class property.
Workflow Full User Guide | 13 - Service Interfaces | 1805
Outputs Description
CreateWorkDefinition (IProductionModel)
Creates a work definition.
Outputs Description
CreateWorkDefinitionSegment (IProductionModel)
Creates a new work definition segment.
Outputs Description
CreateWorkSegmentParameter (IProductionModel)
Adds a parameter to a work definition segment.
Workflow Full User Guide | 13 - Service Interfaces | 1807
Data Type String Specifies the data type for the pa
rameter.
DeleteExistingWorkDefinition (IProductionModel)
Deletes the specified work definition.
DeleteProcessSegmentParameter (IProductionModel)
Deletes the specified parameter from the selected work process segment.
DeleteWorkDataClass (IProductionModel)
Deletes the selected work data class.
DeleteWorkDataClassProperty (IProductionModel)
Deletes the specified property from the selected work data class.
Work Data Class DirectoryResource Specifies the work data class you
are deleting the property from.
DeleteWorkDefinitionSegment (IProductionModel)
Deletes the selected work definition segment.
Note:
If the selected work definition segment is a parent to one or more child work definition segments,
deleting it removes only the association with the child segments; that is, the child work definition
segments are not deleted.
DeleteWorkProcessSegment (IProductionModel)
Deletes the selected process segment.
DeleteWorkSegmentParameter (IProductionModel)
Deletes the specified parameter from the selected work definition segment.
GetMasterSegmentForWorkDefinition (IProductionModel)
Gets the master segment for a work definition.
Outputs Description
GetResourceForWorkDefinition (IProductionModel)
Gets the resource specification that is linked to a work definition.
Workflow Full User Guide | 13 - Service Interfaces | 1810
Outputs Description
GetWorkDefinitionLinksForResource (IProductionModel)
Gets all of the work definitions linked to a resource specification.
Outputs Description
LinkResourceToWorkDefinition (IProductionModel)
Creates a resource link between a work definition and a resource specification.
ReadOperationsMaterialBill (IProductionModel)
Reads the attributes of an operations bill of material (BOM) associated with the selected work definition.
Outputs Description
ReadSegmentParameters (IProductionModel)
Reads the parameters of the selected work definition segment.
Outputs Description
ReadWorkDefinition (IProductionModel)
Reads the attributes, associated segments, and the details of a work definition.
• AttributesOnly
• IncludeSegments
• AttributesOnly
• IncludeParameters
• IncludeEquipment
• IncludeMaterial
• IncludePersonnel
• FullDetails
Outputs Description
ReadWorkDefinitionAssociatedSegment (IProductionModel)
Reads the attributes of a work definition to work process segment association and the details of the
associated work process segment.
• AttributesOnly
• IncludeParameters
• IncludeEquipment
• IncludeMaterial
• IncludePersonnel
• FullDetails
Outputs Description
ReadWorkDefinitionAssociatedSegmentsByParameter (IProductionModel)
Reads work definition segments that have a particular parameter ID and parameter value.
Outputs Description
ReadWorkDefinitionMaterialBills (IProductionModel)
Reads all of the operations bills of material (BOM) for the selected work definition.
Outputs Description
ReadWorkDefinitionSegment (IProductionModel)
Reads the attributes of the specified work definition segment.
• AttributesOnly
• IncludeParameters
• IncludeEquipment
• IncludeMaterial
• IncludePersonnel
• ChildrenOnly
• FullDetails
Workflow Full User Guide | 13 - Service Interfaces | 1815
Outputs Description
Note:
If you select ChildrenOn
ly or FullDetails as the
detail level, the immedi
ate child segments are
also returned.
RemoveChildWorkDefinitionSegment (IProductionModel)
Removes the association between a child work definition segment and its parent.
RemoveMasterSegmentFromWorkDefinition (IProductionModel)
Removes the master segment from a work definition.
Workflow Full User Guide | 13 - Service Interfaces | 1816
RemoveOperationsMaterialBill (IProductionModel)
Removes the specified operations bill of materials (BOM) from the selected work definition.
RemoveOperationsMaterialBillItem (IProductionModel)
Removes the specified item from the operations bill of materials (BOM) for the selected work definition.
RemoveResourceFromWorkDefinition (IProductionModel)
Removes the resource link to a resource specification for a work definition.
Workflow Full User Guide | 13 - Service Interfaces | 1817
RemoveSpecificationFromProcessSegment (IProductionModel)
Removes a specification from a process segment.
• Material
• Equipment
• Personnel
Workflow Full User Guide | 13 - Service Interfaces | 1818
RemoveWorkDataFromProcessSegment (IProductionModel)
Removes a work data class from a process segment.
SetProcessSegmentMasterValue (IProductionModel)
Sets the value of the specified work process segment's master segment flag.
SetWorkSegmentSpecification (IProductionModel)
Sets a resource for a class level specification for a work definition segment.
• Material
• Euipment
• Personnel
SetWorkSegmentSpecificationQuantity (IProductionModel)
Sets the quantity for a specification associated with a work process segment.
• Material
• Equipment
• Personnel
Workflow Full User Guide | 13 - Service Interfaces | 1820
UpdateChildWorkDefinitionSegmentAssociationName (IProductionModel)
Updates the name of the specified work definition segment association.
UpdateWorkDefinitionSegmentOrder (IProductionModel)
Updates the order for a work segment association to a work definition.
UpdateWorkDefinitionDetails (IProductionModel)
Updates the details of a work definition.
• Production
• Maintenance
• Quality
• Inventory
• Mixed
• Unspecified
UpdateWorkDefinitionSegmentDetails (IProductionModel)
Updates the details of a work definition segment.
UpdateWorkProcessSegmentDetails (IProductionModel)
Updates a work process segment using information provided in attributes.
Work Type String Specifies the work type that describes the
category of work the work definition is as
sociated with.
Workflow Full User Guide | 13 - Service Interfaces | 1823
WriteSegmentParameters (IProductionModel)
Writes to the parameters of a specified work definition segment.
Note:
• This write modifies configuration data of the work definition segment, as well as all work
requests that are subsequently created against any work definitions that contain the
segment.
• In the Configure Method dialog box, click Next to select a work process segment whose
parameters you want to write to. The parameters appear in the Inputs area of the activity
configuration panel.
Work Definition Segment input Dependent on each parameter's Specifies the values for the para
parameters data type meters to write.
IProductionReport
IProductionReport allows you to read from the Production model.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
Workflow Full User Guide | 13 - Service Interfaces | 1824
QueryEquipmentActuals (IProductionReport)
Performs a query against the runtime database for equipment actuals associated with a given segment
response based on the selected input parameters. All equipment actuals that match the specified query
criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns all equipment
actuals.
Outputs Description
QueryMaterialActual (IProductionReport)
Performs a query against the runtime database for material actuals associated with a given segment
response based on the selected input parameters. All material actuals that match the specified query
criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns all material actuals.
Note:
If you query by material
lot or sublot, you must
specify the ID of the re
source.
Outputs Description
QueryPersonnelActual (IProductionReport)
Performs a query against the runtime database for personnel actuals associated with a given segment
response based on the selected input parameters. All personnel actuals that match the specified query
criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns all personnel
actuals.
Outputs Description
QuerySegmentResponses (IProductionReport)
Performs a query against the runtime database for segment responses based on the selected input
parameters. All segment responses that match the specified query criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns all segment
responses.
Actual Equipment End Time DateTime Specifies the utilization end date
and time, in UTC, for the actual.
Actual Equipment Start Time DateTime Specifies the utilization start date
and time, in UTC, for the actual.
Note:
If you query by material
lot or sublot, you must
specify the ID of the re
source.
Workflow Full User Guide | 13 - Service Interfaces | 1835
Actual Material End Time DateTime Specifies the utilization end date
and time, in UTC, for the actual.
Actual Material Start Time DateTime Specifies the utilization start date
and time, in UTC, for the actual.
Workflow Full User Guide | 13 - Service Interfaces | 1836
Actual Personnel End Time DateTime Specifies the utilization end date
and time, in UTC, for the actual.
Actual Personnel Start Time DateTime Specifies the utilization start date
and time, in UTC, for the actual.
• AttributesOnly
• IncludeWorkData
• IncludeEquipmentActuals
• IncludeMaterialActuals
• IncludePersonnelActuals
• ChildrenOnly
• FullDetails
Note:
This is a mandatory crite
rion displayed by default
in the Inputs section of
Workflow Full User Guide | 13 - Service Interfaces | 1839
Note:
If you select a work da
ta class in the Configure
Method dialog box, you
can also configure pa
rameters based on the
properties of that class.
Outputs Description
QueryWorkRequests (IProductionReport)
Performs a query against the runtime database for work requests based on the selected input
parameters.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Workflow Full User Guide | 13 - Service Interfaces | 1842
End Tinme (Max) DateTime Specifies the latest end date and
time to include in your query. On
ly responses that occurred on
or before this date/time are re
turned.
Note:
If you select Range, then
the End Time (Max) and
End Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have an
end date/time defined.
Note:
If you select Range, then
the End Time (Max) and
End Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have an
end date/time defined.
Note:
If you select Range, then
the Start Time (Max) and
Start Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have a
start date/time defined.
Workflow Full User Guide | 13 - Service Interfaces | 1845
Note:
If you select Range, then
the Start Time (Max) and
Start Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have a
start date/time defined.
• Draft
• Unscheduled
• Pending
• Running
• Paused
• Completed
• Failed
• Canceled
• Unknown
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see Work Requests.
QueryWorkResponses (IProductionReport)
Performs a query against the runtime database for work responses based on the selected input
parameters. All work responses that match the specified query criteria are returned.
In the Configure Method dialog box, click Next to select query criteria to include as input parameters on
the activity configuration panel.
Note:
If you do not select any query criteria as input parameters, your query returns all work responses.
• IncludeSegmentRespons
es
• AttributesOnly
End Time (Max) DateTime Specifies the latest end date and
time to include in your query. On
ly responses that occurred on
or before this date/time are re
turned.
Note:
If you select Range, then
the End Time (Max) and
End Time (Min) parame
Workflow Full User Guide | 13 - Service Interfaces | 1848
Note:
If you select Range, then
the End Time (Max) and
End Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have an
end date/time defined.
Workflow Full User Guide | 13 - Service Interfaces | 1849
Note:
This parameter applies
only if any of the work re
sponses you are query
ing have been moved
from one work request to
another.
• Ready
• Completed
• Holding
• Aborted
Workflow Full User Guide | 13 - Service Interfaces | 1850
• AttributesOnly
• IncludeWorkData
• IncludeEquipmentActuals
• IncludeMaterialActuals
• IncludePersonnelActuals
• ChildrenOnly
• FullDetails
Note:
If you select Range, then
the Start Time (Max) and
Start Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have a
start date/time defined.
Note:
If you select Range, then
the Start Time (Max) and
Start Time (Min) parame
ters are available and all
responses matching the
parameter inputs are re
turned. If you select Not
Set, then the query re
turns only those respons
es that do not have a
start date/time defined.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see Work Requests.
IProductionRuntime
The IProductionRuntime service interface relates to production oversight.
You can use the IProductionRuntime service interface call methods in workflows for scenarios commonly
encountered in overseeing production, including creating, modifying, querying, and deleting work requests,
work responses, segment responses, actuals, and other production-related items.
Related reference
Production Runtime Call Methods (on page 1879)
Related information
Common Production Runtime Workflow Scenarios (on page 1852)
The IProductionRuntime service interface provides call methods that can be used in workflows for
scenarios commonly encountered in overseeing production.
Workflow Full User Guide | 13 - Service Interfaces | 1853
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
In a workflow subprocess, you use two call method activities to perform this task. You can create
expressions or bind properties for many of these properties, depending on your workflow requirements.
Note:
Activities can exist only between the presubprocess and postsubprocess.
c. In the Location field, click the ellipsis button, and then select an equipment location.
d. In the S95 ID field, enter a name or expression, or bind a property or parameter to the
method.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
If you selected the Required Class check box on the Work Data tab of the associated work
process segment, then go to step 8. If not, go to step 9.
a. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
9. Click WriteWorkData.
b. Click Add classes of work data properties, and then select a work data class.
The properties for the selected work data class appear.
Workflow Full User Guide | 13 - Service Interfaces | 1857
c. To change properties, click Remove classes of work data properties, and then select a
different work data class.
d. Click Select all or select the check box of a specific property, and then click Finish. Each
property you select appears as an input parameter on the activity configuration panel.
e. For each property, enter a new value or expression, or bind a property or parameter to the
method.
f. In the Segment Response ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
g. From the Activities tab, select a ReturnValue for the segment response, and then click OK.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Before you begin, you must have the appropriate equipment and material resources (including lots and
sublots) available. In addition, you must have your production process configured; that is, work process
segments, work definition segments, and work definitions must all exist. You can use an existing work
request, or you can create a new work request. This procedure includes steps for creating a work request
as part of the workflow.
1. Add a workflow that will be used to set a material lot or sublot for a material requirement.
Note:
Activities can be inserted at both the workflow and subprocess levels.
2. Insert an activity:
Workflow Full User Guide | 13 - Service Interfaces | 1859
Note:
Activities can exist only between the presubprocess and postsubprocess.
b. In the Work Request field, click the arrow, and then select Bind.
Workflow Full User Guide | 13 - Service Interfaces | 1860
c. Expand the CreateWorkRequest call method you created in step 3, select the ReturnValue
parameter, and then click OK.
14. Insert an Index activity after the ReadSegmentRequirements call method and configure it to read
from the collection returned by the ReadSegmentRequirements call method.
15. Insert a ForEach activity after the Index activity, and then configure it as follows:
a. In the Collection field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. Expand the Index activity, select the MaterialRequirements parameter, and then click OK.
16. Insert a Call Method activity inside the ForEach activity, and then configure it as follows:
Tip:
If you are setting a material sublot, then use the QueryMaterialSublots call method
and the following sub-steps.
c. From the list of criteria, select Material Definition, and then click Finish.
d. On the activity configuration panel, from the Detail Level list, select OnlyAttributes.
e. In the Material Definition field, click the ellipsis button, select the material definition that is
associated with the material lot or sublot you want to set, and then click OK.
Note:
The material definition you select must be consistent with the material requirement;
that is, it must be the same as either the material definition or material class set in
the requirement.
17. Insert an Index activity inside the ForEach activity, below the QueryMaterialLots (or
QueryMaterialSublots) call method, and configure it to read from the collection returned by the call
method.
Workflow Full User Guide | 13 - Service Interfaces | 1861
18. Insert a Call Method activity inside the ForEach activity, below the Index activity, and then configure
it as follows.
c. On the activity configuration panel, in the Lot or Sublot Id field, click the arrow.
The Select Variable dialog box appears.
d. Expand the Index activity you configured in step 14, select the Id parameter, and then click
OK.
e. From the Lot Type list, select MaterialLot or MaterialSublot, depending on whether you are
setting a material lot or sublot for the material requirement.
g. Expand the ForEach activity you configured in step 15, select the Id parameter, and then
click OK.
Note:
If you perform a ReadSegmentRequirements call method on this work request after running
this workflow, it will return the lots and/or sublots that you set on the work request's material
requirements.
Depending on the type of actual you are creating, before you proceed with this procedure, make sure you
have created the appropriate equipment, material, or personnel resource you are configuring the actual(s)
for.
Workflow Full User Guide | 13 - Service Interfaces | 1862
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
Attention:
The following procedure is provided as an example only and is not meant to be used in a
production environment.
a. On the workflow configuration panel, in the Personnel field, click the ellipsis button, and then
select the personnel resource you want to assign to this workflow.
c. Click Add, and then configure an input parameter with a Type of String, a Direction of In,
and a unique name to bind to the S95 Id of the work request you will create in step 5b.
d. Click Add, and then configure an output parameter to represent the resource actual's display
name, with a Type of String, a Direction of Out, and a unique name to bind to the Write
activity you will add in step 20d.
e. Click Add, and then configure an output parameter to represent the results of the workflow,
with a Type of Boolean, a Direction of Out, and a unique name to bind to the Write activity
you will add in step 20h.
f. Click OK.
g. Add a local subprocess to the workflow, click Edit on the subprocess configuration panel,
enter a unique name to represent the resource actual configuration, and then click OK.
h. Add another local subprocess after the first, click Edit on the subprocess configuration
panel, enter a unique name to represent the query you will configure in step 9, and then click
OK.
3. Double-click the resource actual subprocess, and then insert a Call Method activity.
4. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
Workflow Full User Guide | 13 - Service Interfaces | 1863
5. In the IProductionRuntime methods, click CreateWorkRequest, click Finish, and then configure the
input parameters.
a. Optional: In the Description field, enter information to uniquely describe the work request.
b. In the S95 Id field, bind to the input parameter you configured for the workflow in step 2c.
c. In the Work Definition field, click the ellipsis button, and then select the work definition to
associate with the work request.
6. Insert another Call Method activity, and then click Configure Method.
7. In the IProdictionRuntime methods, click CreateWorkResponse, and then click Next.
a. In the Item specific configuration area, select a work type from the drop-down list, and then
click Finish.
b. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
c. Optional: In the Description field, enter information to uniquely describe the work response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the work response.
e. In the S95 Id field, enter a name for the work response, or click the arrow and create an
expression; for example, "<workresponsename>" + ToString(CurrentDateTime()), which will
create a unique name for every work response that is created when this workflow is run.
The value of "<workresponsename>" is the name you choose to give to the work responses.
f. In the Work Request field, click the arrow, and then bind the work response to the work
request you created in step 5.
8. Insert another Call Method activity, and then click Configure Method.
9. In the IProductionRuntime methods, select CreateSegmentResponse, and then click Finish.
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the segment
respone.
c. Optional: In the End Time field, click the arrow, and then select the terminating date and time
for the segment response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the segment response.
Workflow Full User Guide | 13 - Service Interfaces | 1864
e. In the Parent Id field, click the arrow, and then bind the segment response to the output
parameter of the work response you created in step 6.
f. In the S95 Id field, enter a name for the segment response, or click the arrow and create
an expression; for example, "<segmentresponsename>" + ToString(CurrentDateTime()),
which will create a unique name for every segment response that is created when this
workflow is run.
The value of "<workresponsename>" is the name you choose to give to the segment
responses.
g. Optional: In the Start Time field, click the arrow, and then select the starting date and time
for the segment response.
h. In the Work Process Segment field, click the ellipsis button, and then select the work
process segment to associate with the segment response.
10. Insert another Call Method activity, and then click Configure Method.
11. In the IProductionRuntime methods, select the method applicable to the type of actual you are
creating, based on your need to set initial start and end time values:
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the resource actual
you want to create.
c. If the call method you are configuring allows you to designate the initial End Time value,
click the drop-down arrow to set the date and time.
Workflow Full User Guide | 13 - Service Interfaces | 1865
d. Depending on the type of resource actual you are creating, in the Equipment, Material, or
Personnel field, click the ellipsis button, select the appropriate resource for the actual, and
then click OK.
e. Optional: If you are creating a material resource actual, then, in the Lot or Sublot ID field,
enter a literal value, or click the drop-down arrow to perform a bind or create an expression.
Note:
The data type of this field must be GUID.
f. In the Quantity field, enter a literal value, or click the drop-down arrow to perform a bind or
create an expression.
g. Optional: In the Requirement ID field, enter the resource requirement you want to associate
with the actual, or click the drop-down arrow to perform a bind or create an expression.
Note:
The data type of this field must be GUID.
h. In the S95 ID field, enter the unique name of the resource actual as you want it to appear on
the segment response.
i. If the call method you are configuring allows you to designate the initial Start Time value,
click the drop-down arrow to set the date and time.
j. In the Segment Response ID field, click the drop-down arrow and bind the value to the
ReturnValue of the output paramter of the segment response you created in step 9.
k. In the Unit of Measure field, enter the unit of measure you want to associate with the
resource actual.
b. Click Add, and then configure a variable with a Type of String, an Initial Value of **, and a
unique name to bind to the Write activity you will create in step 20e.
c. Click OK.
a. On the activity configuration panel, click Edit, enter a unique name to represent the activity,
and then click OK.
b. In the Collection field, click the arrow, bind to the resource actual property of the For Each
activity you added in step 19, and then click OK.
Be sure to select the appropriate property for the type of resource actual you are creating.
For example, if you are creating an equipment actual, select the EquipmentActuals property.
c. Insert a Write activity inside the current For Each activity, and then add two writes.
d. Bind the first write to the workflow output parameter you configured in step 2d, bind the
value of the write to the DisplayName property of the current For Each activity, and then click
OK.
e. Bind the second write to the DisplayName property of the local variable you created in step
15b, bind the value of the write to the DisplayName property of the current For Each activity,
and then click OK.
Workflow Full User Guide | 13 - Service Interfaces | 1867
g. For the left branch of the If/Else activity, click Edit on the activity configuration panel to
enter a unique name for the condition, and then click Edit Condition to enter an expression
that represents the result the workflow should evaluate to; for example, {Query Segment
Responses}.{Equipment Display Name} == "01 - Motherboard Attach".
h. Insert a Write activity within the left branch of the If/Else activity after the condition, click
Edit on the activity configuration activity panel to enter a unique name for the write activity,
bind the write to the output parameter you created in step 2e, and then from the Value drop-
down list, select True.
After you create a workflow, you can add and configure actuals using call methods for service providers.
You can create expressions or bind properties for many of these properties, depending on your actual
requirements.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
A resource must already have been added in order to select it from this list.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
Item configuration depends on the selected source and item. Some items do not require
configuration.
10. At run time, if you want to return all data from the selected item, select the Return all data option.
11. At run time, if you want to return a subset of data from the selected item at run time, select the
Return only a subset of data option, and then from the data tree, select the data you want returned.
Note:
If the item returns only a single piece of data, the Return all data option is selected, and
you cannot retrieve a subset of data.
Note:
The data type of this field must be GUID.
Note:
The data type of this field must be String[].
18. In the Resource Type field, select a resource type from the drop-down menu.
19. Click Save.
You can create expressions or bind properties for many of these properties, depending on your actual
requirements.
Note:
Activities can be inserted at both the workflow and subprocess levels.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
Item configuration depends on the selected source and item. Some items do not require
configuration.
10. At run time, if you want to return all data from the selected item, select the Return all data option.
11. At run time, if you want to return a subset of data from the selected item at run time, select the
Return only a subset of data option, and then from the data tree, select the data you want returned.
12. Click Finish.
13. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
14. Double-click IProductionRuntime to display the list of available call methods.
15. ClickWriteResourceActualProperties, and then click Next.
16. Click Browse resources for properties.
The Universal Browser appears.
17. Select one of the resource models, select a resource, and then click OK.
18. Select the properties to write to, and then click Finish.
19. In the Actual ID field, enter a literal value, or click the drop-down arrow to perform a bind or create
an expression.
Workflow Full User Guide | 13 - Service Interfaces | 1871
Note:
The data type of this field must be GUID.
20. In the field for each selected resource property, enter a literal value, or click the drop-down arrow to
perform a bind or create an expression.
21. From the Resource Type drop-down list, select a resource type to write to.
22. Click Save.
23. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
1. Create a new work request or ensure that you have a work request that you can move your work
responses to.
2. In the navigator, click Workflow > Workflows.
3. In the resource list, select the workflow that you want to work with. If no workflow exists, create a
new workflow.
4. In the Displays panel, click Workflow Management > Workflow Editor.
5. Click the Workflow Editor tab.
6. Insert an activity:
◦ At the workflow level:
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
Note:
Activities can exist only between the presubprocess and postsubprocess.
Note:
When you replace a segment requirement, the entire hierarchy of the existing segment
requirement is deleted and a new segment requirement with its associated hierarchy, if any, is
created.
Note:
Activities can exist only between the presubprocess and postsubprocess.
▪ Double-click the local subprocess you want to add the activity to.
▪ From the Standard Activities panel, click and drag the activity you want to insert to a
drop point.
6. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
7. Double-click IProductionRuntime to display the list of available call methods.
8. Click ReplaceSegmentRequirement, and then click Finish.
The input parameters appear in the activity configuration panel.
9. Optional: In the Name field, enter a name for the segment requirement, or bind a property or
parameter to the method.
If unspecified, the new segment requirement will have the same name as the segment it replaces.
10. Optional: In the Order field, enter an execution order for the segment requirement, or bind a
property or parameter to the method.
If unspecified, the new segment requirement will have the same order as the segment it replaces.
11. In the Requirement ID field, enter the ID of the segment requirement that will be deleted.
A new segment requirement will replace it at the same place in the hierarchy.
12. In the Work Definition Segment field, click the ellipsis button, and then select a work definition
segment.
The segment requirement uses this definition to define properties and hierarchy.
13. Click Save.
14. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
Depending on the type of actual you are creating, before you proceed with this procedure, make sure you
have created the appropriate equipment, material, or personnel resource you are configuring the actual(s)
for.
You can create expressions or bind properties for many of these properties, depending on your workflow
requirements.
a. On the workflow configuration panel, in the Personnel field, click the ellipsis button, and then
select the personnel resource you want to assign to this workflow.
c. Click Add, and then configure an input parameter with a Type of String, a Direction of In,
and a unique name to bind to the S95 Id of the work request you will create in step 5b.
d. Click Add, and then configure an output parameter to represent the resource actual's display
name, with a Type of String, a Direction of Out, and a unique name to bind to the Write
activity you will add in step 19d.
e. Click Add, and then configure an output parameter to represent the results of the workflow,
with a Type of Boolean, a Direction of Out, and a unique name to bind to the Write activity
you will add in step 19h.
f. Click OK.
g. Add a local subprocess to the workflow, click Edit on the subprocess configuration panel,
enter a unique name to represent the resource actual configuration, and then click OK.
h. Add another local subprocess after the first, click Edit on the subprocess configuration
panel, enter a unique name to represent the query you will configure in step 17, and then
click OK.
3. Double-click the resource actual subprocess, and then insert a Call Method activity.
4. On the activity configuration panel, click Configure Method.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
5. In the IProductionRuntime methods, click CreateWorkRequest, click Finish, and then configure the
input parameters.
a. Optional: In the Description field, enter information to uniquely describe the work request.
b. In the S95 Id field, bind to the input parameter you configured for the workflow in step 2c.
c. In the Work Definition field, click the ellipsis button, and then select the work definition to
associate with the work request.
6. Insert another Call Method activity, and then click Configure Method.
7. In the IProdictionRuntime methods, click CreateWorkResponse, and then click Next.
Workflow Full User Guide | 13 - Service Interfaces | 1875
a. In the Item specific configuration area, select a work type from the drop-down list, and then
click Finish.
b. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
c. Optional: In the Description field, enter information to uniquely describe the work response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the work response.
e. In the S95 Id field, enter a name for the work response, or click the arrow and create an
expression; for example, "<workresponsename>" + ToString(CurrentDateTime()), which will
create a unique name for every work response that is created when this workflow is run.
The value of "<workresponsename>" is the name you choose to give to the work response(s).
f. In the Work Request field, click the arrow, and then bind the work response to the work
request you created in step 5.
8. Insert another Call Method activity, and then click Configure Method.
9. In the IProductionRuntime methods, select CreateSegmentResponse, and then click Finish.
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the segment
respone.
c. Optional: In the End Time field, click the arrow, and then select the terminating date and time
for the segment response.
d. In the Location field, click the ellipsis button, and then select the equipment location to
associate with the segment response.
e. In the Parent Id field, click the arrow, and then bind the segment response to the output
parameter of the work response you created in step 6.
f. In the S95 Id field, enter a name for the segment response, or click the arrow and create
an expression; for example, "<segmentresponsename>" + ToString(CurrentDateTime()),
which will create a unique name for every segment response that is created when this
workflow is run.
Workflow Full User Guide | 13 - Service Interfaces | 1876
The value of "<workresponsename>" is the name you choose to give to the segment
response(s).
g. Optional: In the Start Time field, click the arrow, and then select the starting date and time
for the segment response.
h. In the Work Process Segment field, click the ellipsis button, and then select the work
process segment to associate with the segment response.
10. Insert another Call Method activity, and then click Configure Method.
11. In the IProductionRuntime methods, select one of the following call methods, and then click Finish:
◦ CreateEquipmentActual
◦ CreateMaterialActual
◦ CreatePersonnelActual
12. Configure the call method as follows:
a. On the activity configuration panel, click Edit, enter a unique name to represent the call
method, and then click OK.
b. Optional: In the Description field, enter information to uniquely describe the resource actual
you want to create.
c. Depending on the type of resource actual you are creating, in the Equipment, Material, or
Personnel field, click the ellipsis button, select the approprate resource for the actual, and
then click OK.
d. Optional: If you are creating a material resource actual, then, in the Lot or Sublot ID field,
enter a literal value, or click the drop-down arrow to perform a bind or create an expression.
Note:
The data type of this field must be GUID.
e. In the Quantity field, enter a literal value, or click the drop-down arrow to perform a bind or
create an expression.
f. Optional: In the Requirement ID field, enter the resource requirement you want to associate
with the actual, or click the drop-down arrow to perform a bind or create an expression.
Note:
The data type of this field must be GUID.
Workflow Full User Guide | 13 - Service Interfaces | 1877
g. In the S95 ID field, enter the unique name of the resource actual as you want it to appear on
the segment response.
h. In the Segment Response ID field, click the drop-down arrow and bind the value to the return
value of the output parameter of the segment response you created in step 9.
i. In the Unit of Measure field, enter the unit of measure you want to associate with the
resource actual.
b. Click Add, and then configure a variable with a Type of String, an Initial Value of **, and a
unique name to bind to the Write activity you will create in step 19e.
c. Click OK.
a. On the activity configuration panel, click Edit, enter a unique name to represent the activity,
and then click OK.
b. In the Collection field, click the arrow, bind to the resource actual property of the For Each
activity you added in step 18, and then click OK.
Be sure to select the appropriate property for the type of resource actual you are creating.
For example, if you are creating an equipment actual, select the EquipmentActuals property.
c. Insert a Write activity inside the current For Each activity, and then add two writes.
d. Bind the first write to the workflow output parameter you configured in step 2d, bind the
value of the write to the DisplayName property of the current For Each activity, and then click
OK.
e. Bind the second write to the DisplayName property of the local variable you created in step
14b, bind the value of the write to the DisplayName property of the current For Each activity,
and then click OK.
g. For the left branch of the If/Else activity, click Edit on the activity configuration panel to
enter a unique name for the condition, and then click Edit Condition to enter an expression
that represents the result the workflow should evaluate to; for example, {Query Segment
Responses}.{Equipment Display Name} == "01 - Motherboard Attach".
h. Insert a Write activity within the left branch of the If/Else activity after the condition, click
Edit on the activity configuration panel to enter a unique name for the write activity, bind the
write to the output parameter you created in step 2e, and then from the Value drop-down list,
select True.
20. In the IProductionRuntime methods, select one of the following call methods, and then click Finish:
◦ DeleteEquipmentActual
◦ DeleteMaterialActual
◦ DeletePersonnelActual
21. Configure the call method as follows:
a. In the Actual ID field, click the drop-down arrow, bind the value to the Id parameter of the
subprocess you created in step 2g, and then click OK.
b. In the Segment Id field, click the drop-down arrow, bind the value to the Id property of the
Query Segment Response subprocess you created in step 2h.
Workflow Full User Guide | 13 - Service Interfaces | 1879
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AddRequestMaterialBillItem (IProductionRuntime)
Adds an item as a request material bill item to the request bill of materials (BOM) for the selected work
request.
Outputs Description
AddResourceActualProperties (IProductionRuntime)
Adds named properties of the resource as resource actual properties.
Resource Type Dependent on each parameter's Specifies the resource type of the
data type resource actual being written to.
There are three options:
• Material
• Equipment
• Personnel
Workflow Full User Guide | 13 - Service Interfaces | 1881
AddResourceRequirementProperties (IProductionRuntime)
Adds named properties of the resource as resource requirement properties.
Resource Type Dependent on each parameter's Specifies the resource type of the
data type resource actual being written to.
There are three options:
• Material
• Equipment
• Personnel
AddWorkDataClassToResponse (IProductionRuntime)
Adds work data from a work data class to a segment response.
Workflow Full User Guide | 13 - Service Interfaces | 1882
Note:
If you add a work data class that the process segment does not have, when you try to write a
value to it, the write fails and no values are recorded. The data class must be an optional data
class in the process segment definition.
CreateEquipmentActual (IProductionRuntime)
Creates an equipment actual on a specified segment response, without the ability to set initial start and
end time values for the actual.
If you want to set initial start and end time values for the actual, use the CreateEquipmentActualEx call
method instead.
Note:
The S95 ID must be unique in the system or the call method fails.
Workflow Full User Guide | 13 - Service Interfaces | 1883
Outputs Description
Related reference
CreateEquipmentActualEx (IProductionRuntime) (on page 1884)
Workflow Full User Guide | 13 - Service Interfaces | 1884
CreateEquipmentActualEx (IProductionRuntime)
Creates an equipment actual on a specified segment response, with the ability to set initial start and end
time values for the actual.
Note:
The S95 ID must be unique in the system or the call method fails.
Outputs Description
CreateMaterialActual (IProductionRuntime)
Creates a material actual on a specified segment response, without the ability to set initial start and end
time values for the actual.
If you want to set initial start and end time values for the actual, use the CreateMaterialActualEx call
method instead.
Note:
• The S95 ID must be unique in the system or the call method fails.
• The material actual can be associated with only one of the following: a Lot ID, Sublot ID, or
a Material resource.
Workflow Full User Guide | 13 - Service Interfaces | 1886
Outputs Description
Related reference
CreateMaterialActualEx (IProductionRuntime) (on page 1887)
CreateMaterialActualEx (IProductionRuntime)
Creates a material actual on a specified segment response, with the ability to set initial start and end time
values for the actual.
Note:
• The S95 ID must be unique in the system or the call method fails.
• The material actual can be associated with only one of the following: a Lot ID, Sublot ID, or
a Material resource.
Outputs Description
CreateMaterialRequirement (IProductionRuntime)
Creates a material requirement for a segment requirement.
Workflow Full User Guide | 13 - Service Interfaces | 1889
• Consumed
• Produced
• Consumable
Outputs Description
CreatePersonnelActual (IProductionRuntime)
Creates a personnel actual on a specified segment response, without the ability to set initial start and end
time values for the actual.
If you want to set initial start and end time values for the actual, use the CreatePersonnelActualEx call
method instead.
Note:
The S95 ID must be unique in the system or the call method fails.
Outputs Description
Related reference
CreatePersonnelActualEx (IProductionRuntime) (on page 1891)
CreatePersonnelActualEx (IProductionRuntime)
Creates a personnel actual on a specified segment response, with the ability to set initial start and end
time values for the actual.
Note:
The S95 ID must be unique in the system or the call method fails.
Outputs Description
CreateRequestMaterialBill (IProductionRuntime)
Creates a request bill of materials (BOM) for the selected work request.
Outputs Description
CreateSegmentRequirement (IProductionRuntime)
Creates a new segment requirement that is based upon a supplied work definition segment.
Outputs Description
Related information
Create a segment requirement (on page 1857)
CreateSegmentResponse (IProductionRuntime)
Creates a segment response to associate with a work request or parent segment response, and work
process segment.
Workflow Full User Guide | 13 - Service Interfaces | 1895
- Or -
Note:
A child segment re
sponse will automatically
inherit its parent's work
response.
Outputs Description
CreateSegmentResponseForRequirement (IProductionRuntime)
Creates a segment response for a specified work response or parent segment response and segment
requirement.
Workflow Full User Guide | 13 - Service Interfaces | 1897
- Or -
Note:
A child segment re
sponse will automatically
inherit its parent's work
response.
Outputs Description
CreateWorkRequest (IProductionRuntime)
Creates a new work request based on a specified work definition.
Note:
The S95 ID must be unique in the system or the call method fails.
Outputs Description
CreateWorkResponse (IProductionRuntime)
Creates a work response based on a specified work definition.
Note:
Multiple process segment responses can be associated with a work response.
• Production
• Maintenance
• Quality
• Inventory
• Mixed
• Unspecified
Outputs Description
DeleteEquipmentActual (IProductionRuntime)
Deletes an equipment actual associated with a specific segment response.
If you require resource actuals to be created but do not need to keep them on a segment response, you
can delete the actuals immediately after creating them.
Workflow Full User Guide | 13 - Service Interfaces | 1901
DeleteMaterialActual (IProductionRuntime)
Deletes a material actual associated with a specific segment response.
If you require resource actuals to be created but do not need to keep them on a segment response, you
can delete the actuals immediately after creating them.
DeletePersonnelActual (IProductionRuntime)
Deletes a personnel actual associated with a specific segment response.
If you require resource actuals to be created but do not need to keep them on a segment response, you
can delete the actuals immediately after creating them.
DeleteResourceRequirement (IProductionRuntime)
Deletes a resource requirement.
• Material
• Equipment
• Personnel
Workflow Full User Guide | 13 - Service Interfaces | 1903
DeleteSegmentResponse (IProductionRuntime)
Deletes a specific segment response.
DeleteWorkRequest (IProductionRuntime)
Deletes a specific work request.
GetMasterSegmentForWorkRequest (IProductionRuntime)
Gets the master segment for a work request.
Note:
The master segment for a work request is a segment requirement.
Outputs Description
GetResourceForWorkRequest (IProductionRuntime)
Gets the resource specification that is linked to a work request.
Outputs Description
GetWorkRequestLinksForResource (IProductionRuntime)
Gets all work requests linked to a resource specification.
Workflow Full User Guide | 13 - Service Interfaces | 1905
Outputs Description
ReadRequestMaterialBill (IProductionRuntime)
Reads the attributes of a request bill of materials (BOM) associated with the selected work request.
Outputs Description
ReadSegmentRequirement (IProductionRuntime)
Reads the attributes of a specific segment requirement.
Workflow Full User Guide | 13 - Service Interfaces | 1906
• SegmentsOnly
• IncludeParameters
• IncludeEquipmentRequire
ments
• IncludeMaterialRequire
ments
• IncludePersonnelRequire
ments
• ChildrenOnly
• FullDetails
Outputs Description
ReadSegmentRequirements (IProductionRuntime)
Reads the attributes of segment requirements for a specific work request.
• SegmentsOnly
• IncludeParameters
• IncludeEquipmentRequire
ments
• IncludeMaterialRequire
ments
Workflow Full User Guide | 13 - Service Interfaces | 1907
• IncludePersonnelRequire
ments
• ChildrenOnly
• FullDetails
Outputs Description
Note:
Work parameters are the
properties that can be in
dexed.
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. Each segment requirement can contain work parameters, as well as material,
equipment, and personnel requirements. For information on the attributes that can be read from,
see Work Requests.
Workflow Full User Guide | 13 - Service Interfaces | 1908
ReadSegmentResponse (IProductionRuntime)
Reads the attributes of the specified segment response.
• AttributesOnly
• IncludeWorkData
• IncludeEquipmentActuals
• IncludeMaterialActuals
• IncludePersonnelActuals
• ChildrenOnly
• FullDetails
Outputs Description
ReadWorkData (IProductionRuntime)
Reads the attributes of a work data class that is associated with a specific segment response.
Note:
In the Configure Method dialog box, click Next to select a work data class and its properties that
you want to read. You can select all properties or a subset. If you do not select a work data class
or properties, all work data classes associated with the segment response are returned.
Outputs Description
Important:
The returned collection of data is based on user-defined values and is dependent on your
published data. For information on the attributes that can be read from, see Work Data Classes.
ReadWorkRequestAttributes (IProductionRuntime)
Reads the attributes of a specific work request.
Outputs Description
Important:
The returned data is based on user-defined values and is dependent on your published data. For
information on the attributes that can be read from, see Work Requests.
ReadWorkRequestMaterialBills (IProductionRuntime)
Outputs Description
RemoveRequestMaterialBill (IProductionRuntime)
Removes the specified request bill of materials (BOM) from the selected work request.
RemoveRequestMaterialBillItem (IProductionRuntime)
Removes a material requirement from the specified request bill of materials (BOM) for the selected work
request.
Workflow Full User Guide | 13 - Service Interfaces | 1911
ReplaceSegmentRequirement (IProductionRuntime)
Deletes the entire hierarchy of the existing segment requirement and creates a new segment requirement
with any associated hierarchy.
Outputs Description
RepurposeWorkResponses (IProductionRuntime)
Moves the work responses from one work request to another work request, regardless of the status of the
originating work request.
Note:
You can move all work responses for a work request; you cannot move a subset of work
responses.
Outputs Description
SetMaterialActualLotOrSublot (IProductionRuntime)
Sets a lot or sublot specified by a material actual.
SectionTitle
SetMaterialRequirementLotOrSublot (IProductionRuntime)
Sets a lot or sublot for the specified material requirement.
This call method is related to the SetResourceRequirement call method. While this call method is used to
set either a material lot or sublot on a material requirement, the SetResourceRequirement call method is
used to set a material definition on the requirement.
Important:
If you set a material definition on a requirement and then set a material lot (or sublot) on the
same requirement, when you read the requirement attributes (ReadSegmentRequirements call
method), the value that is returned is the value of the lot (or sublot). Therefore, whatever was last
set on that material requirement, by either method, is what is returned when read.
Workflow Full User Guide | 13 - Service Interfaces | 1914
SetResourceActualEndTime (IProductionRuntime)
Updates the utilization end time for a previously created material, personnel, or equipment actual.
• Material
• Equipment
• Personnel
SetResourceActualStartTime (IProductionRuntime)
Updates the utilization start time for a previously created material, personnel, or equipment actual.
• Material
• Equipment
• Personnel
SetResourceActualUse (IProductionRuntime)
Workflow Full User Guide | 13 - Service Interfaces | 1916
Note:
The value you enter
in this field should be
based on the resource
actual uses defined by
your business.
SetResourceRequirement (IProductionRuntime)
Sets the resource specified by a resource requirement.
This call method is related to the SetMaterialRequirementLotOrSublot call method. While this call method
is used to set a material definition on a material requirement, the SetMaterialRequirementLotOrSublot call
method is used to set either a material lot or sublot on the requirement.
Important:
If you set a material definition on a requirement and then set a material lot (or sublot) on the
same requirement, when you read the requirement attributes (ReadSegmentRequirements call
method), the value that is returned is the value of the lot (or sublot). Therefore, whatever was last
set on that material requirement, by either method, is what is returned when read.
• Material
• Equipment
• Personnel
SetResourceRequirementQuantity (IProductionRuntime)
Sets the quantity specified by a resource requirement.
• Material
• Equipment
• Personnel
SetResponseEndTime (IProductionRuntime)
Sets the end date and time for the work response or segment response.
SetResponseLocation (IProductionRuntime)
Sets the location of a work response or segment response.
SetResponseS95Id (IProductionRuntime)
Sets the S95 ID of a work response or segment response.
SetResponseStartTime (IProductionRuntime)
Sets the start date and time for the work response or segment response.
SetSegmentRequirementEndTime (IProductionRuntime)
Sets the scheduled latest end time of the segment requirement.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
SetSegmentRequirementOrder (IProductionRuntime)
Sets the order of a specified segment requirement.
SetSegmentRequirementS95Id (IProductionRuntime)
Sets the S95Id of a specified segment requirement.
SetSegmentRequirementStartTime (IProductionRuntime)
Sets the scheduled earliest start time and end time of the segment requirement.
startTime DateTime Specifies the earliest expected date and start time
of the segment requirement, in UTC.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
SetWorkRequestLocation (IProductionRuntime)
Sets the equipment location for a specific work request.
SetWorkRequestPriority (IProductionRuntime)
Sets the priority for a specified work request. Priorities are typically used for scheduling purposes.
Note:
The priority number can
be a negative value.
SetWorkRequestScheduledTimes (IProductionRuntime)
Sets the scheduled start and end date and time for a work request.
SetWorkRequestStatus (IProductionRuntime)
Sets the status of a specific work request.
• Draft
• Unscheduled
• Pending
• Running
• Paused
• Completed
• Failed
Workflow Full User Guide | 13 - Service Interfaces | 1924
• Canceled
• Unknown
SetWorkResponseAssociatedWorkRequest (IProductionRuntime)
Sets the associated work request of a work response.
SectionTitle
SetWorkResponseState (IProductionRuntime)
Sets the state of a work response.
Workflow Full User Guide | 13 - Service Interfaces | 1925
• Ready
• Completed
• Holding
• Aborted
WriteResourceActualProperties (IProductionRuntime)
Writes properties to a specific resource actual.
Note:
In the Configure Method dialog box, click Next to select a resource actual and its properties you
want to write. You can select all properties or a subset. Each property you select displays as an
input parameter on the activity configuration panel.
Resource Type Dependent on each parameter's Specifies the resource type of the
data type resource actual being written to.
There are three options:
• Material
• Equipment
• Personnel
WriteResourceRequirementProperties (IProductionRuntime)
Writes properties to a specific resource requirement.
Workflow Full User Guide | 13 - Service Interfaces | 1926
Note:
In the Configure Method dialog box, click Next to select a resource actual and its properties you
want to write. You can select all properties or a subset. Each property you select displays as an
input parameter on the activity configuration panel.
Resource Type Dependent on each parameter's Specifies the resource type of the
data type resource requirement being writ
ten to. There are three options:
• Material
• Equipment
• Personnel
WriteWorkData (IProductionRuntime)
Writes the values of a work data class to a specific segment response.
Note:
In the Configure Method dialog box, click Next to select a work data class and its properties you
want to write. You can select all properties or a subset. Each property you select displays as an
input parameter on the activity configuration panel.
Work data input parameters Dependent on each parameter's Specifies the value for each work
data type data property to write to the seg
ment response.
WriteWorkParameters (IProductionRuntime)
Writes the value of specified work definition segment parameters to a process segment.
Note:
In the Configure Method dialog box, click Next to select a work data class and its properties you
want to write. You can select all properties or a subset. Each property you select displays as an
input parameter on the activity configuration panel.
Work data input parameters Dependent on each parameter's Specifies the value for each work
data type definition segment parameter to
write to the process segment.
IProficyHistorian
IProficyHistorian allows you to manage Historian servers, including reading from and writing to Historian
collectors and tags.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AddCollector (IProficyHistorian)
Adds a new collector to an Historian server.
Workflow Full User Guide | 13 - Service Interfaces | 1928
• ihInterfaceUndefined
• ihIFix
• ihRandom
• ihOPC
• ihFile
• ihIFixLabData
• ihManualEntry
• ihOther
• ihCalcEngine
• ihServerToServer
• ihPI
• ihOPCAE
• ihCIMPE
• ihPIDistributor
• ihCIMME
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
AddTag (IProficyHistorian)
Adds a new tag to an Historian server.
• ihDataTypeUndefined
• ihScaled
• ihFloat
• ihDoubleFloat
• ihInteger
• ihDoubleInteger
• ihFixedString
• ihVariableString
• ihBlob
• ihTime
• ihMaxDataType
Workflow Full User Guide | 13 - Service Interfaces | 1930
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
CreateDataSourceLink (IProficyHistorian)
Creates a data source link to an Historian tag, which can be applied to an equipment property.
• CurrentValue
• Historical
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
DeleteCollector (IProficyHistorian)
Deletes a collector from an Historian server.
DeleteTag (IProficyHistorian)
Deletes a tag from an Historian server.
Outputs Description
GetCollectors (IProficyHistorian)
Retrieves the name of the collectors belonging to an Historian server.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Workflow Full User Guide | 13 - Service Interfaces | 1932
Outputs Description
GetTagAttributes (IProficyHistorian)
Retrieves the attributes of the specified Historian tag.
SectionTitle
Outputs Description
1. Add a workflow that will be used to configure the attributes of an Historian tag.
2. In the navigator, click Workflow > Workflows.
3. In the Workflows list, select the resource you want to work with.
4. In the Displays panel, click Workflow Management > Workflow Editor.
5. Click the Workflow Editor tab.
6. Insert an activity:
Workflow Full User Guide | 13 - Service Interfaces | 1933
Note:
Activities can exist only between the presubprocess and postsubprocess.
b. Expand the call method you created in step 9 and, then select the Return Value.
c. Click OK.
d. On the activity configuration panel, enter a value for the attribute or bind the value to another
attribute.
a. In the Historian Address field, click the ellipsis button, and then select the same Historian
server you selected in step 10a.
b. In the Tag Attributes field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
c. Expand the call method you created in step 9, and then select the Return Value output
parameter.
d. In the Tag Name field, enter the name of the same Historian tag you specified in step 10b.
e. Click OK.
SetTagAttributes (IProficyHistorian)
Sets the attributes of the specified Historian tag.
Note:
• We recommend that you use a Write activity to change the tag attributes before setting
them. For more information, see Configuring Historian Tag Attributes.
• CollectorName
• CollectorType
• SourceAddress
• CalculationTriggers
• CollectionType
• CollectionInterval
• DataType
• StoreMilliseconds
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
TagExists (IProficyHistorian)
Tests whether or not a tag exists on an Historian server.
Outputs Description
IPropertyGroup
IPropertyGroup allows you to read from or write to the properties of a resource.
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
ReadPropertyGroup (IPropertyGroup)
Reads property values of a resource based on property names of the property group.
Outputs Description
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the Property Group field, click the ellipsis button, and then select the property group you
want to read.
Note:
The call method uses this property group to do batch reads of properties pertaining
to a specified resource.
b. In the Resource field, click the ellipsis button, and then select the resource whose properties
you want to read.
WritePropertyGroup (IPropertyGroup)
Writes property values of a resource based on property names of the property group.
Note:
In the Configure Method dialog box, click Next to specify the property group to write to. After
selecting the property group, you can select the properties you want to write.
Note:
Properties are available
for selection only after
you select a property
group on the Configure
Methods dialog box.
Workflow Full User Guide | 13 - Service Interfaces | 1939
Outputs Description
Note:
Activities can exist only between the presubprocess and postsubprocess.
IResourceLinking
IResourceLinking allows you to work with resource links for all types of resources. You can start, edit, end,
and query links between resources in your system.
Using resource links, you can create a link between any two resources. This allows you to track all the
links for a specific resource or for a specific time period. For example, you can create one link between
an engine and an aircraft for a specified time period, and a second link for the same engine and another
aircraft for a different time period.
Workflow Full User Guide | 13 - Service Interfaces | 1941
On the activity configuration panel, you can use a bind or expression to define your input and output
parameters.
Subtopics in this section describe each service method for this service interface.
AlterResourceLink (IResourceLinking)
Modifies an existing user-defined resource link.
Note:
If the resource link al
ready has an end time
defined, you can modi
fy it to an earlier or later
date and/or time. If the
resource link does not
have a defined end time,
you can set it here. In ei
ther case, the end time
must be later than the
start time.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
EndResourceLink (IResourceLinking)
Ends a user-defined resource link.
Note:
The end time must be
later than the start time.
If a resource link already
has an end time config
ured for it, you can on
ly configure a new end
time that is earlier than
the configured time.
QueryCurrentResourceLinks (IResourceLinking)
Returns all current resource links for the specified source, target, and resource link name.
Note:
• You must provide a name, source, or target for the query, If you do not specify at least one
of these parameters, the workflow will terminate with an error message stating that one of
these parameters must be provided.
• If you specify only the resource link name, the information for all resource links with that
name is returned.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
This procedure can also be used to make a change to all resource links with the same source and/or
target resources, or any combination of the input parameters used in the QueryCurrentResourceLinks and
QueryResourceLinksByTime call methods.
a. In the Collection field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
b. Expand the call method you created in step 4, and then select the Return Value output
parameter.
This binds the For Each activity to the output of the QueryCurrentResourceLinks call
method.
c. Click OK.
a. If applicable, in the End Time field, click the first arrow, and then select a new date and time
for the resource link to end.
Note:
The end time must be later than the start time. If the resource link does not have
an end time configured, you can select any date and/or time that occurs after the
Workflow Full User Guide | 13 - Service Interfaces | 1945
start time. If a resource link already has an end time configured for it, you can only
configure a new end time that is earlier than the configured time.
b. In the Resource Link ID field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
c. Expand the ForEach activity you configured in step 6, expand the Properties list, and then
expand the Current Item list.
e. If applicable, in the Resource Link Name field, enter a new name for the resource links
returned by the QueryCurrentResourceLinks call method.
f. If applicable, in the Start Time field, click the first arrow, and then select a new date and/or
time for the resource link to begin.
Note:
The new start time can be earlier or later than the start time for the specified
resource links as long as the start time has not occurred yet.
The Configure Method dialog box appears, displaying a list of the available call method service
providers.
4. Double-click IResourceLinking to display the list of available call methods.
5. Click QueryCurrentResourceLinks, and then click Finish.
The input parameters appear in the activity configuration panel.
6. Configure the query.
resource link name In the Resource Link Name field, enter the name
of the resource links. This query returns all re
source links with this name.
target resource In the Target Address field, click the ellipsis but
ton and select the target resource. The query
returns all resource links with this target re
source.
7. Insert a form activity after the call method, and then configure it as follows:
a. In the Form field, click the ellipsis button, and then select the form you created in step 1.
b. In the InputParameter field, click the arrow, and then select Bind.
The Select Variable dialog box appears.
c. Expand the inserted call method, expand the output parameters, and then select the Return
Value of the call method.
d. Click OK.
8. Click Save.
9. Run the workflow, or, on the Test/Debug tab, test the workflow to ensure that your input parameters
are configured correctly.
Workflow Full User Guide | 13 - Service Interfaces | 1947
QueryResourceLinkByTime (IResourceLinking)
Returns all resource links with the specified source, target, and resource link name that exist within the
specified time range.
Note:
• You must provide a name, source, or target for the query, If you do not specify at least one
of these parameters, the workflow will terminate with an error message stating that one of
these parameters must be provided.
Note:
In the Configure Method dialog box, click Next to select a resource. Otherwise, in the Inputs
section of the activity configuration panel, click the ellipsis button to select a resource.
Outputs Description
StartResourceLink (IResourceLinking)
Starts a user-defined resource link between two resources.
Note:
You can create multiple
resource links with the
same name; however,
the source and/or tar
get resources must be
unique for each resource
link.
Note:
If the Start Time field is
blank, the start time de
faults to the current date
and time when the call
method runs.
Outputs Description
This procedure describes how to change one or more attributes of a group of resource links with the
same name.
Note:
Activities can exist only between the presubprocess and postsubprocess.
a. In the Resource Link Name field, enter a display name for the resource link.
b. In the Source Address field, click the ellipsis button and select the source resource.
c. If applicable, in the Start Time field, click the first arrow, and then select a date and time for
the resource link to begin.
Note:
If the Start Time field is left blank, the start time defaults to the current date and
time when the call method runs.
d. In the Target Address field, click the ellipsis button and select the target resource.
e. Click Save.
11. Repeat steps 5-6 to create as many StartResourceLink call methods as required. Use the same
resource link name for each call method, but ensure that each has different source and/or target
addresses.
Workflow Full User Guide | 13 - Service Interfaces | 1951
Important:
All resource links with the same name must have different source and/or target resources.
If you create a StartResourceLink call method that duplicates an existing call method, it is
ignored.
The iFIX Service Provider can be downloaded from the GE Technical Support web site, and is installed
with an existing Workflow 2.1 application.
Chapter 14. Operator Task List in the Workflow Client
Task List Overview
Using the Task List
When a workflow is running in the Task List, it is ready for operators to use it.
The Task List allows a user to view or perform a variety of workflow tasks, as well as to monitor the
progress of a these tasks. Within this list, an operator can view one or more tasks awaiting user attention.
The displayed tasks are determined by the logged in user ID, user role, and the equipment location of
the physical computing resource presenting the client application. This Task List is a component that
manages the interaction between operators and the workflow execution engine. It enables workflows that
require human interaction to progress.
The Task List also enforces authorization of specific Task List actions through the use of Workflow
security and role definitions. For example, the logged in user may have the ability to start a task but not
skip a task, or delegate the task to someone else.
Tip:
The Workflow Task List can be integrated into other GE HMI applications. For more information,
see Task Controls in GE HMIs.
Note:
If you are using an Android device for working with the Mobile Task List, we recommend that you
use Chrome version 31 or newer.
Title Bar
To log out of the Task List, tap your user name.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1953
Icon Description
Home
Refresh
Data Alert
Updates
Navigation Bar
The following icons give you information about the state of your Task List.
Icon Description
Tasks
Tasks Available
Task Expired
Task Selected
If you have a large number of tasks in your Task List, you can navigate through the pages using the arrow
buttons that are located at the top of the list.
Icon Description
Refresh
Icon Description
Action Bar
You can expand or collapse the Action Bar.
Icon Description
Action Bar
Help
Task
Equipment Context
Filters
Action Bar
Icon Description
Task Pages
Filters
Tasks
Start Task
Icon Description
Actions
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1955
Icon Description
Documents
Work Instructions
Forms
Manual Start
Icon Description
Actions
Documents
Work Instructions
Forms
Manual Start
Note:
Click To view
Click To view
Note:
The default view is the Tasks tab.
Click... To view...
In Tasks view:
Title name
Priority prioritization
Title name
Priority prioritization
When the zoom feature is available, you can adjust the size of the words on the screen. This slide zoom
allows you to increase the scale by five to ten times the original size. The settings of these adjustments
are saved when you log out.
Note:
You can only zoom WPF input forms.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
The default view is the Tasks tab.
Click... To view...
Note:
The default view is the Tasks tab.
Click... To view...
Note:
The default view is the Tasks tab.
Click... To view...
4. On the control bar, for small, medium, or large text, click the appropriate button: .
Note:
The font sizes change in the task bar, task grid, task headings, and Task Steps sections
only.
Task States
States indicate what is happening at a certain point within a running workflow.
States can be viewed in the Task History tab, a report, or in the Task Steps panel in the Task List.
States
The following tables display the different states that can be presented during run time, or through the
history, or reporting:
Task States
State Description
Running in execution.
State Description
Running In execution.
Not Started Task step has not been reached in the execution
cycle yet.
Color
Green complete
Red expired
Icons
Running
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1961
Cancelled
Skipped
Completed
Not Started
Stopped
Related information
Filter task step states (on page 1996)
Attributes
Note:
This name can be differ
ent from the task step
name.
User Interface
The task bar is located at the top of the Task List.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1963
Related reference
Task States (on page 1959)
Attributes
There are two ways to view the task grid:
User Interface
Attributes in the task grid can be sorted by clicking their respective headings. You can also open or close
the grid to increase your workspace.
Attributes
The workflow task navigator is situated between the task grid and Task Step panels; however, it is visible
only if there is more than one workflow running. The task step context navigator appears only if there are
three or more workflows running at the same time. They act as scroll bars, appearing and disappearing as
tasks and task steps run. Users can scroll through the list by clicking different bars.
The size and color of the bars in the navigator change depending on how many task steps are running
and the state they are in. Because these bars exist in real-time, the states change constantly. If you touch
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1964
a bar, the large version of the task step displays so you can view the details of that step. When a bar
flashes, it is waiting for operator interaction. Thus, it is a visual overview of production activities.
User Interface
The Task List displays two context navigators, one each for workflow tasks and task steps.
Attributes
The task steps available to be viewed depend on the layout mode and user permissions of your Task List.
If a workflow has any Status Message activities associated with it, this panel displays that information.
User Interface
Each task related to a workflow is listed in Task Steps.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1965
It displays any information that may require user interaction, such as a manual start or a form submission
for a task step.
User Interface
Click the Details button to see more information.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1968
Note:
The default view is the Tasks tab.
Click... To view...
Equipment Context
Equipment ContextShow Tasks for Equipment
You can manually set the Task List equipment context, which becomes associated with you as an
operator. You must be logged in to a Task List to set the equipment context.You can manually set the
Task List equipment context, which becomes associated with you as an operator. You must be logged in
to a Task List to set the equipment context.
If no equipment context is linked to an operator, then the context defaults from a linked piece of
equipment to the computer you are using. Otherwise, there will be no equipment context if there is no
linked piece of equipment to the computer.
This feature is related to the regular Task List only, not the Web Task List or Mobile-sized Task List.
Note:
Setting the equipment context on one Task List does not affect user settings on other lists unless
each list is manually refreshed.
Attribute Description
Attribute Description
Attribute Description
Icon Description
Note:
All manual settings are overridden if a form in the Task List uses the Set Equipment Context
client method to assign equipment.
Forms View
Forms View
You can view and complete forms for the selected task step.
The Views button is the default view in the Tasks tab. From the regular and web task lists, you can view
inputs as read-only from the Task History tab. To see a list of forms, go to the Input drop-down list.
Note:
HTML5 forms are not supported in the Web Task List.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1972
Note:
You must have authorization to perform certain actions in the ActiveX Task List. If you cannot
work in this area, you may not have the permission to do so, but you may still view the contents.
Note:
Cancelled Forms
If a form has been canceled before it was submitted, you are able to view the initial form fields only, not
any entries that an operator has made.
Submitted Forms
If a form has been submitted (that is, fully completed), then you are able to view the form's contents as it
appeared during submission. You cannot, however, submit the form again.
Note:
Operator input may not be required for a task step.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
For web-based forms, you must click the Submit button to submit your form. For all other
forms, you can press Enter to submit your form.
Related information
Sign forms electronically (on page 2016)
Manual Inputs
The Inputs section displays information that requires operator interaction for a task step, such as a
manual start or a form submission.If a task is preconfigured to wait for an operator to start it, you must
manually start a task step to progress the workflow.
If configured, you can view completed or acquired task forms. When a completed task step is selected,
the last submitted form for that task step is shown. If an acquired task step is selected, the currently
executing form is shown.
Manual Start Preconfigured Requires operator interaction. The Start button advances the workflow.
Form input User-defined; Requires operator interaction. Complete the form and submit it to ad
Preconfigured vance the workflow. If applicable, cancel the form to advance the work
flow; however, the Cancel button is available only if the user has permis
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1974
sion to do so. You can also use the Status Message to get more infor
mation about your form.
Tip:
In the Mobile-sized Task List, you can use the arrow next to the
Form button to display a selection of all available forms, both
running and completed, and then select a form from the list.
When there are no more task steps to perform, you will be noti
fied and the Start Task button becomes available.
E-signature User-defined; Requires operator interaction. A form may need to be signed electroni
Preconfigured cally before it is submitted. Sign the form and submit it to advance the
workflow.
Note:
This feature is not available on the Mobile-sized Task List. You
will receive an error message and the form will not load if you
try to open a form that requires an e-signature.
Related reference
Start Task (on page 2007)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
The default view is the Tasks tab.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1975
Click... To view...
Note:
Information displays in the Views panel only if operator interaction is required. The
workflow may not progress until this requirement has been met.
Documents
Documents
You can view additional information that is helpful to complete a task or task step, such as web page
content or a spreadsheet. If no documents are available, this feature is not available.
Tip:
In the Mobile-sized Task List, you can use the arrow next to the Documents button to display a
selection of all available linked documents and work instructions, both running and completed.
Note:
Documents are embed
ded in this panel, and
close automatically, un
less your Microsoft Win
dowsconfiguration does
not allow this. Any errors
opening a document are
displayed in the Feed
back Zone.
Tip:
• Mobile-sized Task List only: To view Microsoft Office 2007 and later documents inside an
Internet Explorer browser window, add a registry patch.
• Web Task List only: To open embedded documents, set the URI for each link to an absolute
path, save documents in a folder on a server, and give the folder share permissions.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
The name of task/task step is in parentheses.
For... Select...
6. Click the link for the document or web site you want to view.
7. If applicable, for embedded documents, click Close to collapse the information that you are
viewing.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1978
Tip:
In the Mobile-sized Task List, you can use the arrow next to the Documents button to display a
selection of all available linked documents and work instructions, both running and completed.
Note:
The default view is the Tasks tab.
Click... To view...
For... Select...
6. If applicable, for embedded documents, click Close to collapse the information that you are
viewing.
Note:
Actions may or may not be available in all task lists. Click Refresh to view all relevant tasks in the
task grid.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1980
Available Actions
From the Tasks tab, you can perform advanced task or task step operations. If any of these actions
require an electronic signature for verification, you will be prompted for a user name and password.
User Interface
Click the Actions button to see more information.
Note:
The default view is the Tasks tab.
Click... To view...
Refresh tasks
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
Expiry comments are available only after the task or task step has expired.
Note:
The default view is the Tasks tab.
Click... To view...
Location Result
Task Step Actions The Task Step Expiry Comment dialog box ap
pears.
7. In the Expiry Comment field, enter a reason the task or task step expired.
8. Click OK.
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
You can enter whole numbers only, such as 0, 1, 2, 3, and so on.
9. If an electronic signature is required, enter the appropriate information to authorize the action.
10. Click OK.
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1984
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Location Result
Task Actions Cancels the task and all task steps contained
within the task.
Task Step Actions Cancels only the selected task step, or com
pletes the workflow.
7. In the Cancel Reason field, enter a reason for cancelling the task or task step.
Important:
This action cannot be reversed.
8. If an electronic signature is required, enter the appropriate information to authorize the action.
9. Click OK.
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1986
Click... To view...
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
To perform a jump, the Task List requires more than one task step.
Note:
The default view is the Tasks tab.
Click... To view...
Important:
When performing a jump action, currently executing task steps are cancelled. Jumping to
a later task step in a task causes all uncompleted task steps before the jump target to be
skipped.
The task steps that are available to jump to are preset, so not all steps may be available at all
times.
8. If an electronic signature is required, enter the appropriate information to authorize the action.
9. Click OK.
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
A workflow must be running to perform this action.
Note:
The default view is the Tasks tab.
Click... To view...
Refresh
You can refresh the Task List to view all of your running tasks.
Note:
When using the Task List and Web Task List, you can access comments of finished workflows
from the Task History tab. Here, users can enter expiry comments on completed or expired tasks
and task steps.
Priority
You can apply a numeric value for a task. This priority setting does not affect the execution of the
workflow; it is used only for sorting and filtering within the Task List.
Note:
The largest num
ber you can enter is
2,147,483,647 (without
commas or spaces).
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1990
Related information
Set a priority for a task or task step (on page 1982)
Cancel
Operators can cancel an entire task or an individual task step in the Task List.
Note:
If the task is cancelled, the continuous workflow restarts and a new task will be created.
Tip:
A task step may be acquired automatically if it has been preconfigured to perform this action.
Jump
You can skip to, or jump to, a particular task in the Task List.
Using this feature, an operator can jump back to the beginning of a task or set of task steps to do a
completed or cancelled task step again. A task then resumes execution from the jump point. For example,
if step 1 and step 2 have completed, and step 3 is running, and you then jump back to step 1, then steps 1,
2, and 3 execute.
If a task step is selected in the later portion of a task, all uncompleted steps previous to the selected step
are skipped and their status changes to Skipped.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1992
User Interface
Reassign
You can reassign a task step to a different person, piece of equipment, or location, as required. This
action is performed with an active, running workflow, and it affects only the selected task step.
You can use the Available Filters panel to apply various types of filter settings. Each time you select a
check box, a filter is applied, reducing your Task List further.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1993
Note:
Use the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List.
• Predefined Filters are configured by an administrator, who sets the related criteria and
values. Task List users can either enable or disable a predefined filter, but cannot modify
its settings. For instructions, see Apply a predefined Task List filter.
• The Quick Filter displays the filter criteria that you can set during your current session in
the Task List. If you are working in the Filter Criteria panel and apply filters there, the Quick
Filter is automatically set for you. You can filter the Task List by:
◦ task name
◦ priority
◦ step state
◦ equipment and/or personnel assignment
◦ expiry values
◦ individual steps
• Personal Filters allow you to create and save specific filtering settings. These filtering
settings can be viewed and used only by the user who creates them. For instructions, see
Create, save, and use a personal filter.
You can filter the Task List by preconfigured categories. These categories organize concepts or
features into groups. When you apply category filters, you focus information within your Task List.
Note:
Your filter selections and Quick Filter criteria are saved when you log out, and are re-
applied when you log in again.
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List
Tip:
You can also create and save your own personal filters for future use.
Tip:
You can use a wildcard search to match a naming pattern, such as *taskname, taskname*,
*taskname*. The search is not case sensitive; however, spaces before, after, or in the
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
8. Click OK.
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List
Tip:
You can also create and save your own personal filters for future use.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1996
Note:
You can enter whole numbers only, such as 0, 1, 2, 3, and so on.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
8. Click OK.
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1997
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List
Tip:
You can also create and save your own personal filters for future use.
State Description
Not Started Task step has not been reached in the execu
tion cycle yet.
Running In execution.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
8. Click OK.
Related information
Create, save, and use a personal filter (on page 2004)
Tip:
To view the filtering categories associated with a task or task step, click the Details button.
◦ Click the Available Filters panel, select the Quick Filter check box to display the Filter
Criteria panel, and then select an option.
If you want to apply a temporary filter but have already selected one or more items under
Predefined Filters, you must select the Quick Filter check box to set your filters.
Tip:
You can also create and save your own personal filters for future use.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 1999
4. In the Categories field, select the check box, and then click Set Categories to select a
preconfigured category.
The Universal Browser appears.
5. Select one or more categories, and then click OK.
The selected items are listed in the Categories section.
6. To accept new or modified filtering options, click Apply or Save.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List.
◦ Click the Available Filters panel, select the Quick Filter check box to display the Filter
Criteria panel, and then select an option.
If you want to apply a temporary filter but have already selected one or more items under
Predefined Filters, you must select the Quick Filter check box to set your filters.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2000
Tip:
You can also create and save your own personal filters for future use.
4. To view steps that apply to you only, select the Only show my task steps check box.
5. To accept new or modified filtering options, click Apply or Save.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List.
Note:
The default view is the Tasks tab.
Click... To view...
3. Click Filters.
4. To view or set a temporary filter, perform one of the following actions:
◦ In the Filter Criteria panel, select an option.
◦ Click the Available Filters panel, select the Quick Filter check box to display the Filter
Criteria panel, and then select an option.
If you want to apply a temporary filter but have already selected one or more items under
Predefined Filters, you must select the Quick Filter check box to set your filters.
Tip:
You can also create and save your own personal filters for future use.
5. In the Filters panel, select the Assignments check box that you want to filter by.
6. To set the filter:
7. From the Universal Browser, select the resource(s) that you want to filter by.
8. Click OK.
9. To accept new or modified filtering options, click Apply or Save.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
Related information
Create, save, and use a personal filter (on page 2004)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Tip:
Using the filter toggle switch, , you can choose to show all tasks in your Task List, or to show
tasks that match all currently applied filters. The status of your task filters, such as whether filters
are applied and how many, is displayed at the top of the Task List
Tip:
You can also create and save your own personal filters for future use.
6. Select Expires Before to set the date and time the task or task step is scheduled to expire.
7. Click OK.
8. To accept new or modified filtering options, click Apply or Save.
Note:
To exit without applying any filtering, click the Filters button on the control bar, and then
click Yes in the Filters dialog box.
To remove... Click...
Related information
Create, save, and use a personal filter (on page 2004)
Note:
You can use this feature only if you have permission to do so.
Note:
Predefined filters and their settings are read-only and cannot be changed within the Task
List.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2004
Note:
You can use this feature only if you have permission to do so.
Tip:
You may add or remove as many personal filters as you want.
Tip:
To change the name of your filter, double-click it, and then enter a new name.
6. Optional: To remove a filter, select the filter name to highlight it, and then click Remove.
7. To apply a personal filter, select the check box next to it.
Tip:
You can apply several personal filters at the same time.
Note:
Your filter selections and Quick Filter criteria are saved when you log out, and are re-applied when
you log in again.
Note:
You can enter whole
numbers only, such as 0,
1, 2, 3, and so on.
Note:
All task steps that have
been acquired by another
operator are hidden.
Not Started
A manual start is
required.
Running
In execution.
Completed
Conmpleted as re
quired.
Cancelled
Cancelled by the
operator or system.
Skipped
Note:
If a task or task step ex
pires while the filter is
on, the task or task step
will continue to be dis
played in the Task List.
Start Task
Start Task
The Start Task button allows you to start a scheduled workflow task from the Task List that has not
started, yet.
Note:
The workflow task does not wait for either a task or task step to complete; it executes
immediately.
User Interface
After you click the Start Task button to start a workflow task schedule, the Schedule Task dialog box
appears. You can either start the scheduled task or configure parameters.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2008
Note:
Starting a task may require specific operator or computer credentials. For example, only a
particular operator has authority to run a task.
You can configure the input parameters for the current task execution.
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
The default view is the Tasks tab.
Click... To view...
Note:
If required and applicable, you can configure the workflow parameters associated with
this schedule (not available on the Mobile-sized Task List and Web Task List). For more
information, see Configure parameters from Start Task.
5. Click Start.
Related information
Configure parameters from Start Task (on page 2009)
Depending on your access permissions and client configuration, you can select either My Task List or
Task Management view.
Note:
Parameters must have already been added to a workflow to configure them in a running workflow.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2010
Note:
The default view is the Tasks tab.
Click... To view...
Note:
If a schedule has parameters bound to variables in other models, they are re-set to a null
value and require configuration before starting the task.
8. Click Start.
The default time is within one hour of the current date. You can change this default by changing the date
range. The time format used for history function is based on the 24-hour clock.
You can view information related to past workflows, but you cannot edit this information. Information
available to view includes:
• Electronic signatures
• Input and output from all completed forms
• Personnel who:
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2011
The Filters button can filter certain aspects of these completed tasks.
Note:
The default timeframe is within one hour of the current search.
When a task/task step action or form is configured to collect electronic signatures, the signatories must
be the appropriate users. Only a user who is a member of the assigned group is able to sign.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2012
Tip:
The font size buttons on the Task List control bar have no effect in the electronic signature
section.
The electronic signature related to a completed task form can be viewed from the Completed Task
Information.
Related reference
Completed Task Information (on page 2010)
Performer Signature
Electronic signatures are collected at run time when a task/task step action or form appears in the Task
List, and an operator adds a signature.
When a task/task step action or form is configured to collect electronic signatures, the signatories must
be the appropriate users. Only a user who is a member of the assigned group is able to sign.
Note:
If a verifying signature is
required, the Verifier Sig
nature section appears.
If a verifying signature is
notrequired, the current
activity advances to the
next activity in the Task
List.
Note:
In forms, if you cancel
electronic signature col
lection to make changes
to the form data, you
must restart the signing
process.
Information-only Fields
The status bar provides you with information about the status of your action, such as In Progress,
Pending, or Completed.
Verifier Signature
Electronic signatures are collected at run time when a task/task step action or form appears in the Task
List, and an operator adds a signature.
When a task/task step action or form is configured to collect electronic signatures, the signatories must
be the appropriate users. Only a user who is a member of the assigned group is able to sign.
Note:
In forms, if you cancel
electronic signature col
lection to make changes
to the form data, you
must restart the signing
process.
Information-only Fields
The status bar provides you with information about the status of your action, such as In Progress,
Pending, or Completed. Information related to the Performer Signature, such status, operator name, and
general comments, are also displayed in this section.
Note:
If a Windows user is required to electronically sign a form or a task list action, the user logged
into the Workflow client must also be a Windows user. A Windows user cannot sign forms when a
Workflow user is signed in to the client.
1. In the Task List, complete the form, and then click Submit.
The Electronic Signature panel appears.
2. In the Performer Signature area, enter the required information to authorize the action.
For example, if the workflow author configured the Form activity to use the Operator group as valid
performers, then only a user who is a member of that group can sign as a performer.
b. If you selected:
▪ Workflow, in the respective fields, enter a user name and password.
▪ Windows, in the respective fields, enter a user name, password, and domain name.
c. Optional: In the Comment area, enter more information related to the signature.
Note:
In this scenario, this action represents
the last step of the electronic signature
process, and you do not have to com
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2017
b. If you selected:
▪ Workflow, in the respective fields, enter a user name and password.
▪ Windows, in the respective fields, enter a user name, password, and domain name.
c. Optional: In the Comment area, enter more information related to the signature.
6. Optional: To make changes before submission, click Cancel Signing to close the electronic
signature panel. When the changes are complete, you must restart the signing process.
Note:
If a Windows user is required to electronically sign a form or a task list action, the user logged
into the Workflow client must also be a Windows user. A Windows user cannot sign forms when a
Workflow user is signed in to the client.
Workflow Full User Guide | 14 - Operator Task List in the Workflow Client | 2018
For example, if the workflow author configured the Form activity to use the Operator group as valid
performers, then only a user who is a member of that group can sign as a performer.
b. If you selected:
▪ Workflow, in the respective fields, enter a user name and password.
▪ Windows, in the respective fields, enter a user name, password, and domain name.
c. Optional: In the Comment area, enter more information related to the signature.
Note:
In this scenario, this action represents
the last step of the electronic signature
process, and you do not have to com
plete the remaining steps of this proce
dure.
signature cannot be completed by the personnel resource associated with the same user account
as the one for the performer signature.
b. If you selected:
▪ Workflow, in the respective fields, enter a user name and password.
▪ Windows, in the respective fields, enter a user name, password, and domain name.
c. Optional: In the Comment area, enter more information related to the signature.
6. Optional: To make changes before submission, click Cancel Signing to close the electronic
signature panel. When the changes are complete, you must restart the signing process.
Chapter 15. Best Practices
Installation
Installation
ADAM
If ADAM is not installed in favour of a local directory, then the Proficy Publisher service does not need to
run.
Workflow Performance
Workflow Performance
This section provides more information about some features, and contains suggestions for improving the
performance of your workflows
Note:
Each recommendation is rated HIGH, MEDIUM, and LOW to indicate the level of importance and
impact on your workflow.
Persistence
Overview
The execution engine records internal tracking data that includes the state information associated with a
running workflow instance. The execution engine persists the workflow instance state when a subprocess
completes. The persisted state can be used to recover and restart a workflow instance from failure
conditions, or if it was stopped. If a workflow is stopped normally, the postsubprocess, postprocess, and
unload steps run before the instance stops (they will not run if the server crashes). The workflow instance
can continue from the start of the current subprocess by using the restart command. When this happens,
the instance restarts by running the load, preprocess, and presubprocess steps. Then it restarts at the
beginning of the subprocess that was running before the workflow stopped.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
• Enable Persistence
• Disable Persistence
Recommendation (MEDIUM)
Decrease the number of persistence points in a workflow by reducing the number of subprocesses.
If you choose to enable persistence, use as few subprocesses as possible. Since the workflow instance
state is saved after each subprocess completes, unnecessary subprocesses can negatively impact the
performance of the instance and any other running workflow instances.
Reduce Activities
Recommendation (HIGH)
Reduce the amount of configuration objects in a workflow.
A persisted workflow saves the state of all workflow objects. Reducing the number of activities in a
workflow decreases the time needed to save the workflow instance state.
Enable Persistence
Recommendation (LOW)
Enable persistence to recover your workflow.
Workflows are automatically configured to have persistence disabled, which provides better performance
of your workflow. However, you can enable persistence to:
Note:
This save process is a slow operation, impacting workflow performance as it moves from one
subprocess to the next. This process is also CPU-intensive, so it can have a negative impact on
the performance of other running workflow instances.
Disable Persistence
Workflow Full User Guide | 15 - Best Practices | 2022
Recommendation (MED)
Disable persistence if you do not need instances of the workflow to recover after a server restart.
Workflows are automatically configured to have persistence disabled, which provides better performance
of your workflow.
Memory
Overview
Workflows consume memory at run time, and all objects that are part of that workflow contribute to that
memory consumption.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
Recommendation (MEDIUM)
Reduce the number of concurrently running workflow instances.
Every running workflow instance consumes a significant amount of server memory, even if they are
instances of the same workflow definition. For example, if you have several background workflow
instances that run periodically and have similar logic, combine them into a single workflow instance.
Reduce Activities
Recommendation (MEDIUM)
Reduce the amount of configuration objects in a workflow.
Each activity in a workflow uses memory at run time, including the execution state of all properties,
parameters, and local variables.
Tracking Configuration
You can track workflow, subprocess, and/or schedule data while a workflow is running.
Workflow Full User Guide | 15 - Best Practices | 2023
Overview
On a workflow or schedule, the system records task data for the corresponding workflow instances.
It can be used to generate reports on historical data, such as task and task step durations, expiry, and
performing user/location. It also allows a user of the Task List display to view previously completed
tasks.
On a subprocess, specific local variables can be tracked. These variables are tracked to relate tasks to
data in other models in the reporting database.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
• Disable Tracking
• Track Appropriate Levels
• Select Local Variables to Track
Disable Tracking
Recommendation (MEDIUM)
Disable tracking for a workflow or schedule if you do not need task instance history for the Task List
display or reporting.
If tracking is enabled, then task data is saved at certain points to the workflow database. This process
impacts the execution speed of the workflow.
Recommendation (MEDIUM)
Enable tracking at the appropriate level.
Tracking at both the process and subprocess levels results in task data being saved more often.
Therefore, to improve performance, ensure you are tracking at the appropriate levels:
Recommendation (LOW)
Select a minimal set of local variable for tracking.
Workflow Full User Guide | 15 - Best Practices | 2024
In a subprocess, you can include specific local variables in the tracking data to relate tasks to other data.
For example, you can track a work request ID in a local variable for relating task data with a corresponding
work request. As a result, the number of local variables that are tracked impacts performance.
Subprocesses
Overview
A subprocess is part of a user-defined process in a workflow, and a workflow must be constructed of one
or more subprocess. Each subprocess is a self-contained entity where the majority of the logic is added
to run a workflow. Subprocesses group a set of related activities in a workflow and appear as a single
task step. They allow you to create a series of steps to accomplish a task, assignment, event-driven, or
activated process. The contents of a subprocess consist of activities that can be placed in any order
depending on the requirement.
You can also make a subprocess global, which allows you to develop and store standard and frequently
used subprocesses to be reused in various workflows.
Note:
When any global resource, such as a subprocess or user activity, is used in a workflow instance,
it acts the same as any non-preconfigured resource. As a result, their use does not improve
workflow performance.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
• Reduce Activities
• Set Visible to False
Reduce Activities
Recommendation (MEDIUM)
Reduce the amount of configuration objects in a subprocess improves the subprocess' starting execution
time.
When a subprocess executes, the entire subprocess, including all activities, is copied. The subprocess is
copied to allow it to execute repeatedly in the case of a Jump action or continuous workflow setting.
Recommendation (LOW)
Set Visible to False for a subprocess if it does not need to appear as a task step in the Task List display.
Some workflows contain subprocesses that do not have any user interaction. These subprocesses do
not contain any Form or Status Message activities, and they have set the Manual Start property to False.
Because no interaction is required, you can hide the subprocess from the Task List display by setting
the Visible property to False. Setting this property improves the subprocess' execution performance and
reduces the network traffic between the workflow server and the clients.
Overview
These activities allow a workflow or a schedule to start during the execution of another workflow.
You can significantly improve the performance of your workflows by implementing the following
recommendation:
Recommendation (HIGH)
Avoid using Start Workflow or Start Schedule as a way to re-use workflow logic.
Use a global subprocess or a global user activity to re-use workflow logic between two different
workflows. There is a significant performance overhead with starting a new workflow instance that does
not exist with a global subprocess or user activity.
Overview
A ForEach activity repeats the execution of a section of the workflow several times for a number of target
instances in a collection, and a While activity repeats the execution of a workflow subsection as long as a
specified condition is true. The condition is checked each time the activity begins.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
Workflow Full User Guide | 15 - Best Practices | 2026
• Reduce Activities
• Minimize Iterations
• Use the Code Activity
Reduce Activities
Recommendation (HIGH)
Reduce the amount of configuration objects in the loop.
Each time a While or For Each loop iterates, it creates a copy of all contained activities, including all of the
run-time property data for the activities.
Minimize Iterations
Recommendation (HIGH)
Minimize the number of iterations done by looping activities.
Minimize the number of loop iterations to minimize the number of times that the contained activities are
copied and executed.
Recommendation (LOW)
Use a Code activity to replace loops that are calculating one or more values.
If you are using a While or ForEach loop to process a list to generate one or more values, consider
replacing that loop with the equivalent Code activity. This activity performs better due to the copying
behaviour of the looping activities.
Write Activity
The Write activity performs a set of writes to workflow variables. The source of each write can be an
expression, a bind, or a user-defined absolute value.
Note:
Data types must match when writing to parameters and variables, or when using expressions.
Combine Writes
Recommendation (LOW)
Combine multiple write activities that are in sequence.
If you have multiple write activities that are in sequence, combine these into a single Write activity that
contains multiple writes to reduce execution time and memory usage.
Note:
Because the order of writes on a single Write activity is not guaranteed, use two separate write
activities if one depends on the result of a previous write.
Figure 1
Workflow Full User Guide | 15 - Best Practices | 2028
Figure 2
If/Else Activity
The If/Else activity changes execution of the workflow to one of multiple exit branches based on the
resolution of a condition.
An If/Else branch can have multiple exit branches, each of which has a condition. Conditions on multiple
exit flows are calculated from left to right. The flow executes on the first exit branch whose condition
evaluates to True. There are no conditions on the last branch of the activity, as it is automatically set to
True.
Tip:
The subprocess property value Visible Property can be used for this activity.
If/Else Branch
The If/Else branch contains one or more sequences as branches. Each branch has a condition that is
evaluated to a boolean result. If the condition evaluates to True, the sequence for that branch is queued
as the next activity for the workflow instance to execute. Conditions are evaluated from left to right, and
the first sequence with a condition evaluating to True is executed. If no condition is specified, the branch
serves as an Else and always executes.
Recommendation (LOW)
Replace an If/Else activity with a single Write activity that uses the IF expression function.
Workflow Full User Guide | 15 - Best Practices | 2029
If you are using an If/Else activity to calculate one or more values based on a series of conditions, replace
it with a single Write activity. The Write activity can use the IF expression function to write different values
depending on a condition, thereby reducing execution time and memory usage.
Example
• Branch 1:
◦ condition of a > 10
◦ writes a value of valid to a local variable
• Branch 2:
◦ condition = none
◦ writes a value of invalid to the local variable
• Value can be replaced by a single Write activity to the local variable with this expression:
◦ IF(a > 10, “valid”, “invalid”)
Figure 3
Figure 4
Form Events
Workflow Full User Guide | 15 - Best Practices | 2030
Overview (HIGH)
Using Form Events to validate form data in workflow logic puts extra load on the workflow server. Though
it is easier to write the validation logic in a workflow, the validation should be done in the form itself.
Forms
Forms
Overview
Forms are displays that are used as activities in workflows, providing a user interface for task steps. A
form can display data or allow you to interact with a running process, or both.
You can significantly improve the performance of your workflows by implementing one or all of the
following recommendations:
Recommendation
Minimize the number of form parameters and the size of the form parameter data.
When a form is selected for a Form activity, a property is generated for each parameter on the form. Form
parameter data is transferred between the workflow server and the client Task List displays. Large form
data can cause delays in the loading of the Task List display or in task change notifications sent to the
display.
Recommendation
Do not bind a form control property to an output parameter value.
Binding a control property to an output parameter is not currently supported. Instead, bind the output
parameter value to the control property.
Recommendation
Use the DisplayMemberPath property to change the object property that is displayed in collection
controls.
By default, collection controls such as ListBox or ComboBox display the collection objects by using
the result of the ToString method. This behaviour can be overridden by setting the DisplayMemberPath
property to the name of the object property that should be displayed.
Bind on Controls
Recommendation
Do not bind to the IsChecked.Value property on a RadioButton or CheckBox control.
Binding to the IsChecked.Value property is not supported. Instead, bind directly to the IsChecked property.
Customize Workflow
Workflow Customization
You can customize workflows by using the existing .NET libraries.
Overview
There are three ways that an existing .NET library can be exposed to Workflow and invoked from workflow
logic.
Each approach has different advantages that may be more suitable than the others depending on the
situation.
• Custom Services
In most cases, the ideal way to expose the .NET library to Workflow is to create a custom service
and wrap the library. With this approach, you must create an interface for your service that contains
the set of methods that workflows can invoke. In addition, you can expose events for use in
triggering schedules or Wait for Event activities in workflow
Another approach for exposing a .NET library to Workflow is to create one or more custom
workflow activities to wrap the library. This should only be done if the library must be invoked in the
same process as the workflow engine. Some reasons for this may be if the API works with large
objects that would be slow to send/receive via service methods, or if it works with objects that
cannot be represented by service data contracts.
Custom Services
Overview
In most cases, the ideal way to expose the .NET library to Workflow is to create a custom service and
wrap the library. With this approach, you must create an interface for your service that contains the set of
methods that workflows can invoke. In addition, you can expose events for use in triggering schedules or
Wait for Event activities in workflows.
Advantages
• Methods and events provided by a custom service are not restricted to use inside of workflows.
They can be used by any application built with the application server. For example, custom service
methods can be invoked by a form created with the Display Editor.
• Custom types provided by the service are published into the SOA type catalogue. This allows
objects of these types to be passed between workflows and subprocesses. It also allows them to
show up correctly in the workflow debugger.
• Service methods are always invoked asynchronously by workflows. This means that activities in
parallel branches can continue to run while the method is invoked.
Disadvantages
• Extra effort is required to write the service wrapper over the library.
• Invoking a service method requires some additional communication overhead, especially if the
service is running on a different machine. This communication may have a noticeable performance
impact if large objects are passed between the workflow and the service.
Overview
Another approach for exposing a .NET library to Workflow is to create one or more custom workflow
activities to wrap the library. This should only be done if the library must be invoked in the same process
Workflow Full User Guide | 15 - Best Practices | 2033
as the workflow engine. Some reasons for this may be if the API works with large objects that would be
slow to send/receive via service methods, or if it works with objects that cannot be represented by service
data contracts.
For more information, see the MSDN documentation on the Windows WF 3.5 framework (the
System.Workflow namespaces) for details on creating a custom activity.
Note:
Workflow does not currently support activities created with the Windows WF 4.0 framework (the
System.Activities namespaces).
For information on registering custom activities with Workflow, see Third-Party Activities.
Note:
The Proficy Server service must be restarted to detect changes in the
ActivityExtensions.ditafile.
Advantages
• Workflow activities are directly executed by the workflow engine and do not require the extra
communication overhead of a service method call.
• Custom activities appear directly in the activity toolbox.
• Custom types that are returned by custom activities can be used by other activities by binding to
properties on those objects.
Disadvantages
• Writing a set of custom activities is more complex than writing a custom service.
• The reusability of custom activities is limited because they can only be executed by workflows.
They cannot, for example, be used by a form created with the display editor.
• The workflow debugger does not support custom types that are returned from activities.
• A workflow instance waits for an activity’s Execute method to complete before executing other
activities in the workflow instance, even in parallel branches. Therefore, care must be taken to
spend a minimal amount of time in the Execute method. Note that the currently executing activity
in one workflow instance will not block the execution of other workflow instances.
Overview
If an assembly is registered with Workflow in the ActivityExtensions.dllfile, all of its contained
namespaces and types will be available to the Code activity. This means that a .NET library can be directly
called by the Code activity just by registering it in the ActivityExtensions.dllfile, even if it does not
contain any custom activities.
Advantages
Disadvantages
• If the library is exposed this way, it can only be used by workflow; it cannot be used by the Display
Editor or other applications that leverage the application server.
• Custom types that are returned by code activities can only use parameters of type Object. This
means that other activities cannot bind to the properties of those returned objects. As such, all
processing of these custom types is limited to code activities.
• The workflow debugger does not debug the contents of code activities.