Self Paced Automation Essentials - Course Book
Self Paced Automation Essentials - Course Book
Course Workbook
For Automation Developers
Designer Automation Essentials BE Layer - Functions and Events
BUSINESS ENTITIES
LAYER:
FUNCTIONS AND EVENTS
Designer Automation Essentials BE Layer - Functions and Events
Functions Basics
Designer Automation Essentials BE Layer - Functions and Events
Click Sort
80 25 100
• Always select the element on which you want to operate in order to access
the set of Functions available for it.
Designer Automation Essentials BE Layer - Functions and Events
Function’s Structure
Body is mandatory.
Body It contains a set of Instructions, that are executed top-down.
?
Example
Number
▪ What is this Function’s output?
Customer’s birth year
▪ What is this Function’s input?
Return Current year – ▪ What does this Function do?
Customer’s birth year
• Functions are defined at the Type tab, but operate on the Type’s
Instances.
• They are triggered at an upper layer.
• The example function returns the customer’s age.
Designer Automation Essentials BE Layer - Functions and Events
4
1 Add parameters if
In the Business Entities Function receives any
tab, click the Type you
wish to add a Function to
5
Insert Instructions to execute
at Function Body
Create
Create aa Create
Create Create Create an
Create Events
Type Properties
Properties Functions Instance
• Some Functions do not return any Types (To set this, in Step 3,
select “None” as the Return type). For example, a Function that
assigns a result of a calculation into a Type.
Designer Automation Essentials BE Layer - Functions and Events
Built-in Functions
DO IT YOURSELF
Creating a Function
• Create a BE Type called ‘Address’ with the following
Properties:
• Street
• City
• State
• Zip
• Make an Instance of this Type
• Create a Function called ‘Full Name’, which:
• Returns a Text value
• Has 2 Input Parameters: “First Name” and “Last Name”
• Contains an Instruction to Return the free text: “Full Name” (This will be
replaced with a more meaningful value later)
Designer Automation Essentials BE Layer - Functions and Events
Function Body
(Instructions)
Designer Automation Essentials BE Layer - Functions and Events
Function Invocation
Function Location
Function Invocation Library Function Invocation Screen Function Invocation Business
Objects Elements Entities
Text Button (specific SE) List (specific BE)
Concatenate Click Sort
Drill down to
Concatenate
Designer Automation Essentials BE Layer - Functions and Events
DO IT YOURSELF
Invoking a Library Function: ‘Concatenate’
SE Functions
Project
SE
Function
Designer Automation Essentials BE Layer - Functions and Events
DO IT YOURSELF
Invoking a Screen Element Function
My List
Oprah Winfrey
Contact on Call
David
555-1212 Ricky Lake
Letterman
Jimmy Kimmel
David
Letterman
Add Item
Designer Automation Essentials BE Layer - Functions and Events
Layer
Drill down to
Function through BE
the BE that
contains it Function
Designer Automation Essentials BE Layer - Functions and Events
DO IT YOURSELF
Adding to a List of Primitive Business Entities
• So… when its value changes, so does its corresponding value on the
list.
My List
Oprah Winfrey 555-1000
Contact on Call Ricky Lake 555-1010
David
JayLetterman
Leno 555-1212
Jimmy Kimmel 555-1202
David
JayLetterman
Leno 555-1212
Add Item
Designer Automation Essentials BE Layer - Functions and Events
Duplicate My List
Oprah Winfrey 555-1000
Contact on Call Ricky Lake 555-1010
David
JayLetterman
Leno 555-1212
Jimmy Kimmel 555-1202
Contact on Call
David Letterman 555-1212
Add Item
Designer Automation Essentials BE Layer - Functions and Events
DO IT YOURSELF
Adding to a List of Composite Business Entities
Simple Instructions
Insert Instruction
Comment
Local Variable
Assignment
Return
• Comment
• Add documentation for implementation
• Local Variable
• Declare a variable of a certain Type, to be saved and used locally
within the Function, but only while the Function is running
• Assignment
• Assign a value to a PO, BE or a local variable
• Return
• If the Function’s return type is NONE, no value is returned and the
Function stops running. If the Function’s return type is Number
for example, define which variable or value will be returned.
DO IT YOURSELF
Instructions
‘IF’ Instruction
If (Condition)
Instruction A
Else
Instruction B
?
What will be the value of Is_senior if the client’s age
is 60?
DO IT YOURSELF
‘IF’ Instruction
?
Example
Item
▪ What is the instruction in the
“For Each” Loop here?
▪ How many times will the loop run?
▪ What does this function do?
DO IT YOURSELF
‘For Each’ Instruction
‘FOR’ Instruction
DO IT YOURSELF
‘FOR’ Instruction
Instructions Summary
For Loop that iterates a set number of times, ▪ To find an item on a list
each time keeping track with an iterator
Instructions Summary
For Each Loop that iterates on all the items of a ▪ To apply the same action for all items in
set a set
Return End the Function from running and ▪ Perform a calculation / query and return
return a certain value the result
Disable/Enable Instructions to
control whether they are executed
at runtime
Designer Automation Essentials BE Layer - Functions and Events
Events
Designer Automation Essentials BE Layer - Functions and Events
BE Event
BE Event BE Events may have Parameters, whose values are
The Event is broadcasted Event Parameters
populated in real time when the event occurs
and any interested object
can react to it
Create
Create aa Create
Create Create Create an
Create Events
Type Properties
Properties Functions Instance
• Events are created in the Type tab, but defined in the Instance
tab. This means that different Instances can have different Event
parameters.
• Parameters that were assigned a value, will be used further
along the Solution in upper layers.
Designer Automation Essentials BE Layer - Functions and Events
2 Click New
Event
Event Location
Library Objects Screen Elements Business Entities
Administration Button (specific SE) BE
Solution Downloaded Clicked Value Modified
DO IT YOURSELF
Events
Instance of
New Contact
First Name
Steve
Last Name
Jobs
Account
Apple
• Life cycle definition will be available only for composite BEs, not
primitive. Define:
• Construct on Project load (from that point on this BE’s value
may change when you assign it due to an Assignment anywhere
in the Solution) OR
• Define when to construct and destruct when a certain Event
occurs
• Use the Life Cycle definition carefully, construct BEs and
destruct them only when needed.
• Constructing unnecessary BEs can result in using up memory
space
• Destructing unnecessary BEs can result in data loss
Designer Automation Essentials BE Layer - Functions and Events
• All Screen Element Functions that will be used in the Business Solution
must be constructed as BE Functions.
Summary
• Creating Functions and Events
• Our Solution is built from Projects, each represent a layer. In order for
them to communicate Project References are added
• SE Events are raised when a change in the Screen Element occurs. You
can create a BE Event to capture certain data from the screen when the
Event occurs
Designer Automation Essentials BE Layer - Functions and Events
Designer Automation Essentials Business Logic Layer
• The Business Logic Layer enables you to define the logical entities that
determine the behavior of RT Client according to your business
requirements.
Business Logic
Event Handlers
Rules define actions
define the actions to
to take as a result of
be taken as a result
defined conditions Event Handlers
Rules of Events that occur
Decision Support
Business Entities
Physical Objects
Designer Automation Essentials Business Logic Layer
Business Logic
Decision Support
Presentation
Business Entities
Physical Objects
DO IT YOURSELF
Project References
VIP = VIP =
True False
TIME
Action to trigger
when a rule is ! Action ! Action*
turned on
*Optional
• For example:
Client’s Age Is greater than 60 AND
For more than one
Condition, AND /
Account’s ‘Is OR OR operators will
equals True
closed’ be added
Product’s
contains ‘Special’
Name
Instruction Types
3 Assign Rule a
meaningful 4 Add a
name Condition
5
Define an
Action when
the Rule is
turned On
6
Define an Action when the
Rule is turned Off
• The Rules tab presents all properties relevant for a Rule within a single
view.
DO IT YOURSELF
Creating and Defining a Rule
• An example: What is the premium value for a 25 year old male with 2
previous claims?
Rule 1 Condition
? Gender = Male
Rule 2 Condition
? Age between 20-30
Rule 3 Condition Rule 3 Action
? Previous Claims = 0 ! Assign premium = 30
Rule 4 Condition Rule 4 Action
? Previous Claims > 0 ! Assign premium = 60
DO IT YOURSELF
Nested Rules
?
Select the appropriate Business Logic element (Rule or Event Handler) for each
of the following scenarios:
• For smoking customers, life insurance premium is 30% higher than the regular rate.
• On their 60th birthday, life insurance premium is increased by 50%.
• Calculate the Customer’s Disability insurance premium (always 1% of the salary) whenever the salary
changes.
• 1st scenario:
• We would use a rule to implement, since customers’ smoking status
can change and the premium should change accordingly. If
someone starts smoking, their premium is increased by 30% but if
they stop smoking, then their premium should be set to the regular
rate (action when the Rule is turned off).
• 2nd scenario:
• Customers only turn 60 once, so an Event Handler would be
appropriate in this case.
• 3rd scenario:
• Since the premium is directly linked to the salary, when the salary
changes so should the premium (the Action calculation is always the
same 1% of something) – classic Event Handler.
Designer Automation Essentials Business Logic Layer
4
3 Select the raised
Assign the Event
Handler a Event from here
meaningful name 5
Insert Instructions to form an
Action when this Event
occurs
• The Old Value parameter enables you to access the old value of
a Business Entity Instance, before it was changed. This
parameter is passed with the ‘Is Modified’ Event of a primitive
Business Entity Instance.
Designer Automation Essentials Business Logic Layer
Recent time
triggered
Triggered Event Handlers property for this
will be highlighted in green Event Handler,
Read-only
DO IT YOURSELF
Event Handlers
Summary
• Creating Rules and nested Rules
WEB SERVICES
Designer Automation Essentials Physical Objects – Web Services
Web Services
Designer Automation Essentials Physical Objects – Web Services
Request to Service
[DATA1,DATA2……]
Response
https://www.nice.com GetAllClaimsByNameInJSON/Santa
• Using third-party systems API for getting data and/or for integration:
REST SOAP
REpresentational State Transfer Simple Object Access Protocol
Data sent via URL Messages are sent and received in XML
Data received in JSON
• SOAP and REST are two answers to the same question: how to
access Web services
• SOAP relies exclusively on XML to provide messaging services
• REST rely almost exclusively on obtaining the needed
information using the URL approach.
• Both types of services (SOAP and REST ) can be used in a
solution.
• A WSDL(Web Services Definition Language) is an XML document
that describes a Web service. The content of the WSDL
document defines the contract of the web service: what
methods it has, how you must call them, what parameters it
expects etc. you can use WSDL for SOAP but not for REST.
Designer Automation Essentials Physical Objects – Web Services
SOAP
Designer Automation Essentials Physical Objects – Web Services
When the reference is added to a project, a new Service Designer will parse the WSDL file:
is automatically created at the PO layer Methods to Functions
Objects to Business Entities
From this point, the Web service’s Type is available in the Project
• After adding the WSDL reference, the designer will parse the
XML and the relevant service functions will be available to the
solution engineer in an upper layer.
• Service objects are used to enable client integration with
services outside the Real-Time Designer system.
• Different Services will expose different functionalities, make
sure you use them in the correct way
• The functions are available in 2 forms: Synchronous and
Asynchronous (depends on the service functionality)
Designer Automation Essentials Physical Objects – Web Services
5 Click Go
• Selecting Seal Business Types prohibits being able to set web-service-originating composite business
entity types as a base type of another business entity type or as the type of a business entity instance.
• Some web services require composite parameters, rather than a list of textual parameters. In such cases,
composite business entity types are created for the WSDL import process.
• When you select this checkbox, the web service originating composite business entity types are only
available via local variable declaration within a rule/event handler/workflow step action or a business
entity type function.
• Selecting Proxy in RT Server connects all RT Clients to the web service via the RT Server. When this
checkbox is selected, the RT Server creates a proxy that is used by all RT Clients to connect to the
external web service.
• Select Ignore SOAP Header if you do not want a generated SOAP header in the request sent to the
service.
• By default, all operations are selected.
• Clear the checkboxes of the operation you do not want selected, or click the Clear All button to clear the
checkboxes for all the operations. You can click the Select All button to reselect all the operations.
• Clicking the Add Web Reference button automatically performs the following operations transparently:
• Generates a DLL that serves as the wrapper for accessing the web service.
• Makes a reference to this DLL.
• Generates a new service object in Services tab that is assigned to the specific type of service for which
the DLL was created, in order to provide access to that service.
• This means that you do not need to complete the references and then manually create the new service,
as it is all done automatically for you.
Designer Automation Essentials Physical Objects – Web Services
• After adding a Web Reference, the Designer will create a DLL file
containing the types and methods provided by the Web service.
• If the Web service that you added is using objects, you will find them in
the Business Entities TabLibrary Types
Designer Automation Essentials Physical Objects – Web Services
• The Services tab in the Monitor window enables you to monitor and test
Web services defined in a solution:
DO IT YOURSELF
SOAP Services
REST
Designer Automation Essentials Physical Objects – Web Services
http://localhost:8090/tmpRest/v1/participant ? isHost=false&name=partner1&isActive=true
Method to execute:
Get
Post
Put etc’
• REST can use four different methods (GET, POST, PUT, and
DELETE) to perform tasks.
• If you need to use parameters in your request, you need to
concatenate them in the URL property
Designer Automation Essentials Physical Objects – Web Services
DO IT YOURSELF
REST Services
• In RTD1 machine open Web Browser go to following URL:
• http://172.21.102.212:80/rest/getclaims/bylastName?lastName=
Check if Service is reachable and results received.
• Create a BE RequestProvider of type HTTP Request:
• Add new property and name it BaseURL
• Assign the Web Service URL to BaseURL property
• Add new property: searchFor
• Provide Initial value for Request Method: GET
• Create a function: GetRequestURL-it will return concatenation:
BaseURL+searchFor
• Create EH(on searchFor modified):
• Assign the GetRequestURL return value to URL of RequestProvider
• Execute the Request
• Run Project -> Open Monitor -> check your Logic
Designer Automation Essentials Physical Objects – Web Services
Summary
• The concept of Web Services
• 2) HistoryCheckService
• http://172.21.102.212:80/soap/HistoryCheck.asmx?wsdl
• REST
• http://172.21.102.212/rest/getclaims/bylastName?lastName=John
Designer Automation Essentials Physical Objects – Web Services
Designer Automation Essentials Presentation Layer
PRESENTATION LAYER
Designer Automation Essentials Presentation Layer
Presentation Layer
Defines the items that are displayed on the agent’s screen.
Business Logic
Decision Support
Presentation
Business Entities
Physical Objects
LIVE DEMO
Project References
Launch In Context
(LIC)
Designer Automation Essentials Presentation Layer
Launch In Context
• Launch in Context enables to display a document in the context
of its standard application
CRM application
.pdf file in .doc file in
Adobe Reader Microsoft WORD
Designer Automation Essentials Presentation Layer
3
Give your Item a 5
meaningful name Edit Display options
6
Select Presentation
settings - location on screen
and size to be displayed
Step 5 notes:
• Open in options allows to define the presentation of an LIC item, if the
same item is opened more than once:
• Same window - Open the LIC in the same window
• Open in New window - Open the LIC in a new window
• Open in Group window - Open a few LIC items in the same
window if they belong to the same group
• Prompt before overriding window - relevant if the Same window option
or Group window were selected. Checking this box will force an Agent to
confirm the display of this new information in the same window before
overriding the window’s content.
• Group Name - enabled only if the Group window option is selected. You
have options to add\delete\select an existing group.
Designer Automation Essentials Presentation Layer
2
1 Click here to
Mark a part of the path insert a BE
3
Drill-Down the
menu to the BE
• An LIC item’s path (or part of one) can hold a dynamic value so
that the file launched can change in real time.
• This can be defined by selecting the path (or part of it), clicking
the button and drilling down to a Business Entity, so the
Business Entity’s value will be taken according to the logic
implemented in the solution.
Designer Automation Essentials Presentation Layer
Launching
• There are two functions associated with LIC items: Show and
Close.
• These functions can should be used to open and close an LIC
item according to Business Logic.
Designer Automation Essentials Presentation Layer
LIVE DEMO
Creating Launch-In-Context Items
Callouts
Designer Automation Essentials Presentation Layer
Use of Callouts
• Best offer, reminder, survey, data completion, item description
3
Give the Callout a
meaningful name
3
In the Properties Window that pops
up, change Skin name (Frame
Color) and Title text (headline will
appear on the Frame)
LIVE DEMO
Creating a Callout
Add Content to a
Callout
Designer Automation Essentials Presentation Layer
Callouts Content
• The content of a Callout should be short Text
and clear so that it can be read and
understood quickly by an Agent. Image
Link
Table
All Controls can be designed using the Style Editor from the
Editing Menu.
When adding links, you will be asked to select the object you
want the control to be linked to.
For example, adding a link to another callout will require you to
drill down to the other Callout.
Designer Automation Essentials Presentation Layer
HTML Controls
• RT Designer enables you to create various GUI objects that
can be inserted into a Callout
Date
IFrame
Picker
Edit Properties
Add
Links
Links Menu
• Various Links are available to be added to a Callout:
Link to a BE
(Dynamic Text)
Link to another Callout
Link to an Action
Link to a LIC element
Link to an Image
• When you add links, you will be asked to select the object you
want this control to be linked to.
For example, adding a link to another callout will require you to
drill down to the other Callout.
Designer Automation Essentials Presentation Layer
Link to a BE
• Dynamic Text control enables you to insert text in a Callout that
reflects the value of a BE’s Property
• That value may change to reflect the new value of that Property
each time it changes
Link to an Action
• Functions perform an action, and can return a value
2
Click the action
link at Links &
Data Menu
1
Click a Control or
anywhere in the
Callout’s body
3
Give the Action Link
Give the Action Link a
a name and insert an
name and insert an action
action into the Action
into the Action Editor.
Editor.
4
Click OK
Preview the
Callout
Designer Automation Essentials Presentation Layer
1 3
Go to Project tab Select Callout from here
2
Click on the Quick branch
• The Quick Callout is selected from the project tab, and only one
callout can be selected as the Quick Callout. So, to create a
Quick Callout, in the Project tab click on the Quick branch, and
then select a specific callout you have created.
• While only one callout can be selected as the Quick Callout in
the Project tab, you can define Business Logic that changes the
callout to be shown as a Quick Callout window, using a business
rule, workflow or event handler.
• After the definitions are completed, run the RT Client to view it
from the Quick or Help buttons in the Launch bar.
• Assignments will be displayed with real time values.
Designer Automation Essentials Presentation Layer
LIVE DEMO
Adding Content to a Callout
Assign Data to a
Callout
Designer Automation Essentials Presentation Layer
1 3
Click the control you
want to assign to In the
Assignment
window assign
a BE/parameter as
a data source
3
2 Click the control you
In the popup add a new
want to assign to
parameter from here
5
Assign parameter
as data source
• The element that will trigger the Callout to present, will have to
deliver a value for the FLAG.
Designer Automation Essentials Presentation Layer
Instance
Retention Reason = Other
2
In the popup window
4
Select a BE as
define Rows & Columns
Data Source
5
Delete columns
you don’t need
LIVE DEMO
Assigning Data to a Callout
Summary
• Launching documents in context of an application
• After creating a Callout, define its location and design, add Controls and
links and preview your Callout
Designer Automation Essentials Presentation Layer
Designer Automation Essentials Database
PHYSICAL OBJECTS
LAYER:
DATABASES
Designer Automation Essentials Database
3
Create Business Entities,
Business Entities connect to DB elements
1
Physical Objects Add the DB
connection
2 DB Server
Define DB
Elements
• When you begin to design a solution, you must get a list of what
data is required from the database, from the business analyst
• Then, you can follow the step-by-step flow described here.
Designer Automation Essentials Database
DB Connections
• Before you can define a database element, you must first create a
connection to the external database
RT Client DB RT Client
Server
RT Server
RT Client RT Client
RT Client RT Client DB
Server
5 1
Click on Test to validate Go to Physical Objects
connection to DB Database tab
4
Define the connection’s
provider, location and log
3 on parameters
Give connection a
meaningful name
• Supported providers
• Microsoft Access
• Microsoft SQL
• ODBC
• OleDB
• Oracle
• Provider Log on parameters are standard connection
parameters to each database and differ for each database type.
This slide displays an example for Microsoft Access parameters.
• The Test step validates connection to the database. If no
connection was established between RT Designer and the
database, check for errors that appear in the Messages pane.
Designer Automation Essentials Database
5 1
Click on Test to validate Go to Physical Objects
connection to DB Database tab
DO IT YOURSELF
Adding a DB Connection
DB Connector Elements
DB
Server
Update
Select
Delete
Insert
Create
Create aa Create
Create aa Load
Load the BE
BE with
with
DB Element
DB Element BE the data
the data
• Functions are defined at the Type tab, but operate on the Type’s
Instances
• Built-in Function on DB tables:
• Update Function updates a table in the DB
• Built-in Functions on DB commands:
• Execute Non Query Function executes a DB command
against the DB connection. and returns number of affected
rows. For UPDATE, INSERT, and DELETE statements, the
return value is the number of rows affected by the
command. For all other types of statements, the return
value is -1
• Execute Scalar Function executes a DB command against
the DB connection. It returns the first column of first row
in the result set
Designer Automation Essentials Database
1 Select a
connection to add
a table to
5
The Test validation creates
the table, you can view in
Create
Create aa Create a Load the BE with the Query Results
DB Element
DB Element BE the data
Create
Create aa Create a Load the BE with
DB Element
DB Element BE the data
• Query editor automatically completes the SQL syntax for you, all you
need to do is click it.
• There are two ways to write a command in the Query Editor:
1. Click Insert at Tools menu to open a list of all the options of a standard
SQL editor to select from.
2. Start typing the command. The RT Designer uses Intellisense, which
automatically completes the command with every letter you type.
• NOTE: The command’s parameters can be of a fixed value, or BE used as
parameters. For example, Select ColumnName FROM tableName
• Ctrl + spacebar opens a list of commands, BEs and tables for you to
select from.
• Adding a dot after a table will display a list of the table’s fields to select
from.
Designer Automation Essentials Database
DO IT YOURSELF
Creating a DB Table Element
Row
3
Load List of
Rows with 2
data from the Create an Instance List of
table Rows
Create a Create
Create aa Load the BE with
DB Element BE the data
DB Table’s Functions
• There are 2 built-in Functions available for Tables:
Business Entity
1 Create a Function
How to Load Data From the Table into the BE- Initial Value
1
At the List of Rows
Instance
3
Navigate to the Table DB
element and click Load
2 Check
Initial
Value
DO IT YOURSELF
Loading a Table into a Business Entity
2
Navigate to the Table DB element
3
Select Update
4
Select the relevant List of Rows
DO IT YOURSELF
Loading a Business Entity into a Table
Static DB commands
DB commands
• Common DB Commands
• SELECT [Column(s)] FROM [TABLE]
WHERE COLUMN1 [operator] Value
• INSERT INTO [TABLE]
VALUES (Col1Value, Col2Value, …)
OR
• INSERT INTO [TABLE] (COLUMN3, COLUMN4…)
VALUES (Col3Value, Col4Value, …)
• UPDATE [TABLE]
SET COLUMN2=NewValue, COLUMN3=NewValue…
WHERE COLUMN1 [operator] Value
• DELETE FROM [TABLE]
WHERE COLUMN1 [operator] Value
• Commands examples:
• SELECT command extracts data from the database
• INSERT command inserts data into the database
• UPDATE command updates existing data in the database
• DELETE command deletes data from the database
• Built-in Functions on DB commands:
• Execute Non Query Function executes a DB command against the DB
connection. and returns the number of affected rows. For UPDATE,
INSERT, and DELETE statements, the return value is the number of rows
affected by the command. For all other types of statements, the return
value is -1
• Execute Scalar Function executes a DB command against the DB
connection. It returns the first column of first row in the result set
Designer Automation Essentials Database
1
Select a DB
connection to add 4 Form query in Query
a command to editor
3 Give it a meaningful
name
6 The Test validation results
appear here
DO IT YOURSELF
Static DB Commands
2 In the Function,
insert a Function
1 Invocation
Create a Function
instruction
with a meaningful
3 Navigate to the
name
Command you want
to run
DO IT YOURSELF
Running DB Commands
Dynamic DB commands
• Commands examples:
• SELECT command extracts data from the database
• UPDATE command updates data in the database
• DELETE command deletes data in the database
• INSERT command inserts data to the database
• Built-in Functions on DB commands:
• Execute Non Query Function executes a DB command against
the DB connection. and returns the number of affected rows.
For UPDATE, INSERT, and DELETE statements, the return value is
the number of rows affected by the command. For all other
types of statements, the return value is -1
• Execute Scalar Function executes a DB command against the DB
connection. It returns the value in the first column of first row in
the result set
Designer Automation Essentials Database
Only Instances of
3 appropriate BEs will be
Give it a meaningful available
name
6
The Test validation results
appear here
• In general, only higher layers should reference the lower layers. The
reverse is not encouraged.
• Creating Dynamic Queries also requires the Physical Objects Layer to
receive information from the BE Layer.
Business Entities
Physical Objects
Screen Elements Databases Web Services
Designer Automation Essentials Database
DO IT YOURSELF
Dynamic DB Commands
Summary
• Adding a Database connection
• They are used in order to allow data flow from the database to
data structures called Business Entities
BUSINESS LOGIC
LAYER:
WORKFLOWS
Designer Automation Essentials Business Logic Layer - Workflows
• Test Workflows
Designer Automation Essentials Business Logic Layer - Workflows
• The Business Logic Layer enables you to define the logical entities that
determine the behavior of RT Client according to your business
requirements
Business Logic
Decision Support
Presentation
Business Entities
Physical Objects
Get Dressed
Transitions define Dressed
conditions to move on to the
next Step Go to Work
• Workflows are used to: Went
• Guide Agents through a process
End
• Force Agents to perform a flow in a certain order
• On demand
Users can click the Flows button on the Launch Bar. The Launch bar appears
on the user’s desktop to display a list of available workflows
• Push Mode
Triggered by a Business Entity or a Rule
2 5
Click New
4 Click New Transition
Workflow
Click New Step and and drag the mouse
drag the mouse on on the canvas
3 the canvas
Give Workflow a
meaningful name
DO IT YOURSELF
Creating a Workflow
Step Structure
Put on Clothes
Put on Shoes
End
• Interactivity
Whether the Agent can move back and forth between steps
• Timeout
Set a limit of time to wait for any of the transitions to occur. Can be used
for delay, error handling, and timed loops
1
Click the Step to
define
2
Define Step Name
3
Insert Instructions to
form an Action
Designer Automation Essentials Business Logic Layer - Workflows
2
Define Timeout
Interval
3 Insert Instructions to
be carried out when
Timeout elapses
(optional)
Designer Automation Essentials Business Logic Layer - Workflows
DO IT YOURSELF
Defining a Step
Transition Structure
• Transitions define when the next Step is executed.
Workflow Events
WF Events
Started Timeout Value of Paused Value of Process Value of Running is Value of Start
is Modified Available to User is Modified Time is Modified
Modified
2
Define Transition
Name
2 Define Transition
Name
Callout Closed
4 Add Conditions to
transit
• You can define a transition in your flow that is always true and
automatically occurs without waiting.
Designer Automation Essentials Business Logic Layer - Workflows
DO IT YOURSELF
Defining a Transition
5
Click Insert
Instruction, then
1 define the Instruction
Click the Transition to define
4
Transition will
turn bold
4
Edit settings as
required
1
Click the Transition to define
Designer Automation Essentials Business Logic Layer - Workflows
2
Click here to add
a new parameter,
and then define it
3
Click OK
• Retrieve the Workflow result using the Get Result Function and
Assigning it to a BE
Question
?
Designer Automation Essentials Business Logic Layer - Workflows
Workflow Legend
• RT Designer enables you to modify the Workflow’s steps’ visually so it
can be readable at a glance
5
Right click a step,
select Set Legend,
then select step 2
type 4 Click here to add a
3 Click here to select
Give Step Type a Step in the Legend
meaningful name shape, then click OK
• First create step types in the Legend, then select for each step in
the Workflow its relevant type.
Designer Automation Essentials Business Logic Layer - Workflows
DO IT YOURSELF
Creating a Legend
4 Select Workflow to
Test, then click the
Start button
3
Select the Parameters
5 Tab
Press Play
2
Select the Workflow 4
Enter the Parameters
DO IT YOURSELF
Testing your Workflow
Summary
• Create Workflows – Steps and Transitions
• Test Workflows
SOLUTION PUBLISHING
Designer Automation Essentials Solution Publishing
Solution Publishing
Designer Automation Essentials Solution Publishing
RT Solutions
RT Designer
RT Server
Publishing a Project
Generate
Project
Resource Files DLL XML
Validate
Project
Contains solution’s
behaviors,
functionalities, etc that Publish Project
are activated when to Server
loaded into the RT
Client
Version Control
001.000.000
Increase medium version
after performing minor
changes in Business
Logic.
• Each time you publish a project that was published before, the
Project’s Version is updated automatically from what you define
here.
Designer Automation Essentials Solution Publishing
RT Solutions
RT Server
RT Designer
2
1 When Publishing an already
Go to the Project existing Solution, update
tab Version
3 4
Select Target Select in Target
Orientation: Classic environment the
or Robotic environment that the
solution is running in:
Development, Test or
Production
5
Enter relevant notes into
the Version Description
6
Click
Publish
• Target Orientation: Indicates the Type of the RT Client in which this Project is
deployed. When there is a Thin Client and there are no group assignments, you
need to configure deployment at the settings window Designer Orientation
Items Web so that instead of dll and XML files, java script files will be
generated.
• Target Environment: Indicates the purpose of this Project, as follows:
• Development: Specifies that the project is still under development.
• Test: Specifies that the project is ready for testing.
• Production: Specifies that the project is ready to be deployed to Clients.
Version Description: The Version Description only provides a description of the
current solution version, and is not a description of the solution itself. After
publishing, the Version Description is cleared.
• Allow multiple Solutions to share a single instance of this project checkbox: In RT
Solution implementations involving a great deal of content, you may need to break
down the solution file into separate solution files. In such cases, some objects will
likely be common to all solution files, such as the value of BEs pointing to screen
elements. When you select this checkbox, common objects are shared in memory
during runtime, which helps to improve performance. This feature can apply to
any object on the project level.
Designer Automation Essentials Solution Publishing
Solution
Assignment
Designer Automation Essentials Solution Publishing
Solution Assignment
• Features explanations:
• Automatically or Manually assign a Solution to a team: Will be covered
in the coming slides.
• Automatically: Whenever a Solution is Published, a dialog box will
appear to select the teams to assign this Solution to.
• Manually: Administrator assigns a Solution manually through the
Designer GUI – in the Administrator tab.
• Update after assignment: When a Solution is assigned to teams, and
then an updated version is published, the publisher gets a dialog box
that asks whether the current assignment should update the new
version or not.
• Load on Startup: To support large scale Solutions, where the
implementation is broken down into several solutions, only a single
main solution should be loaded at start-up and other solutions should
be loaded/unloaded according to the context of the interaction.
Designer Automation Essentials Solution Publishing
By Teams
Select a team and assign it Solutions
By Solutions
Selects a Solution and assign it teams
Designer Automation Essentials Solution Publishing
2
Select one of the
User groups and
3 then click +
In the Available
Solutions window that
1 Go to Solutions
appears, select the
Assignment branch Solution and click OK
By Solutions
4
Solution is added to this team.
Configure its settings and click
Apply changes
Remember to click
Update Behavior
when done
DO IT YOURSELF
Assigning Solutions/Teams
Summary
• Publishing a Solution
AUTOMATION
Designer Automation Essentials Automation
Process Optimization
Database Tables
Web Service
and Invocation
Commands
Library Functions
LIC of Applications
LIC of Applications
Advantages of Automation
Is Window Copy text to Create Outlook Clipboard Text Copy / Delete File
Available Clipboard Email message
Set focus to main Get Active Process Create Outlook Copy Text into the Does File Exist
Window task Clipboard
Automation Concept
Automation Concept
End
Automation Concept
Automation Concept
Click Search
Search Results
appear
End
Automation Concept
• Reset BEs between iterations if necessary
Assign empty or
default values
OR
Use the Create
function to reset
composite type BEs
Automation Concept
Set Result
• Error handling function
Write to Log
function
Send an email
containing error related
information
Considerations
1. Notification
vs.
Act behind the scenes
2. Automation
vs.
Human decision
Considerations
3. Full Automation
vs.
Information retrieval
Click Search
Considerations
• All roads lead to Rome… Define Transitions so they validate all habits
and working methods
Summary
• Automating processes
• Automation uses:
• Reduce Handling Time
• Process Enforcement
• Workforce Management
ROBOTIC AUTOMATION
PART 1
Designer Automation Essentials Robotic Automation part 1
WHAT IS
ROBOTIC
AUTOMATION
Designer Automation Essentials Robotic Automation part 1
Web Services
Screen Log-in/Log out of Invocation &
Navigation Applications Database Queries
ARCHITECTURE
AND FLOWS
Designer Automation Essentials Robotic Automation part 1
Design to Deployment
Real-Time Solutions
Task
Queue
1 2 3
The robots reside on Citrix/VM clients
Sync Schedule Async
Employee’s work
is automated by the robot
Transaction Completed
IMPLEMENTING
A ROBOTIC
AUTOMATION
SOLUTION
Designer Automation Essentials Robotic Automation part 1
Invoke the
Create
Workflow
Automation
via Web-
Workflow
Service
Publish as Robotic
Third party
Automation
Application/ Classic
solution
Client Invoker
Invoke the
Create Workflow
Automation via Web-
Workflow Service
Publish as a Robotic
Automation solution
Assign to a team which
contains at least one robot
DO IT YOURSELF
Creating a Robotic Automation Workflow
• Load on Demand: Robots are configured to load only the solutions needed for the
task pulled from the queue, and then after the task is completed, unload these
solutions
This method prevents collisions between solutions and can improve speed and
performances especially with large projects.
• Load solutions: Robot download and load all the solutions with tasks assigned to it
Designer Automation Essentials Robotic Automation part 1
• The default setting is Load on Demand: true and can be configured in the server
configuration management
Designer Automation Essentials Robotic Automation part 1
4
Click Add Reference
• The logic could differ between parameters that are mandatory to the workflow and
parameters that are not:
Designer Automation Essentials Robotic Automation part 1
DO IT YOURSELF
Creating an Invoker
Third-Party Invokers
• GetAllWorkflows – Returns all the published robotic automation
workflows
Third-Party Invokers
DO IT YOURSELF
Robotic Automation Exercise
ERROR
HANDLING
Designer Automation Essentials Robotic Automation part 1
• This value will be saved in the database, and can be displayed in the
Automation Portal.
1 2
Select a Workflow In the action editor Select Assign->
Workflow Items->
Business Execution Status
• The Set Result function enables the user to define a text string field that
will be returned by the robot upon completion of the workflow
1
Select a workflow 2 Select a Workflow
Result Type from the
dropdown list
Designer Automation Essentials Robotic Automation part 1
4 Select a Business
Entities or type in a
value
Designer Automation Essentials Robotic Automation part 1
Summary
• The concept of Robotic Automation
ROBOTIC AUTOMATION
PART 2
Designer Automation Essentials Robotic Automation Part 2
• Schedule Robots
Task
Desktop Client
Queue
Response is sent
back to the invoker
1 2 3
Robots
RT ServerID
Conversation
Get my
Change Package
package
my details
changed
details
package
• When the initial task is sent to the server, the server creates a
conversation and assigns a dedicated robot.
• This robot then executes this initial task and responds to the
invoker.
• The conversation continues, with each of the tasks executed by
the same robot. The robot sends a reply to the invoker after
each task.
• This continues until the conversation ends (a conversation ends
when the invoker sends an end conversation call or the
conversation times out).
• NOTE: A conversation can last up to two hours after which it will
be terminated.
• If a synced invocation is orphaned, backlogged or removed, the
conversation is closed by the microservice
Designer Automation Essentials Robotic Automation Part 2
• When it set on false the robot will not check the sync queue
• This configuration is only relevant for robot client config file
Designer Automation Essentials Robotic Automation Part 2
LIVE DEMO
Sync Automation Exercise
• Update the Robotic Workflow
• Add logic to check if the gift that the customer chose contains space(“ “) and
set the business execution accordingly
• If the gift contains space, set the result to: The gift is Invalid
• Else, set the result to: The gift is Available
• Republish and assign the solution to the RtraTeam1 team
• Update the invoker
• Update the robotic reference to the latest published version
• Create an instance of Sync Automation Response and present it in the callout
• Add a Sync invocation
• Test your solution
Designer Automation Essentials Robotic Automation Part 2
SCHEDULING
ROBOTS
Designer Automation Essentials Robotic Automation Part 2
1 Go to Administration tab
Select Profile View in
the Robotic Automation
branch
3
Schedule each day
4
Click Apply All
• Clicking Undo All will undo the last changes you made.
Designer Automation Essentials Robotic Automation Part 2
6
Select a team
5
Click Assign By Team
7 Click the Add
button
Designer Automation Essentials Robotic Automation Part 2
8
Choose which profile to
assign and click OK
9 Click Apply
Changes
Designer Automation Essentials Robotic Automation Part 2
PRIORITIES
Designer Automation Essentials Robotic Automation Part 2
Task Priority
Task Priorities
5
4
3
NOTE 2
Be aware not to over prioritize 1
your solution
Designer Automation Essentials Robotic Automation Part 2
• Sync Automation Queue is used for Real-Time robots. The process begins
when a request to initiate a conversation is sent by another client or 3rd
party application. Then, when the first invocation will enter the queue a
dedicated robot will be assigned to serve the conversation until it ends. A
conversation can include multiple invocations for different tasks.
• Async Automation Queue is used for tasks which were invoked by a 3rd
party application or a classic invoker (another attended Client).
• As opposed to the sync queue, those tasks are processed asynchrony by
any available robot.
Designer Automation Essentials Robotic Automation Part 2
• Priorities:
Sync Queue
Scheduled Queue
• Priorities + FIFO
Async Queue
• The unattended client (Robot) checks the three queues in the following order: sync,
scheduled and then async.
• The robot filters the tasks based on the solutions assigned to its team. For example,
if solution A is assigned to the robot’s team, and there is a task from solution A in
the sync automation queue, it pulls the task. If not, it proceeds to check the
scheduled automation queue, and so on.
• In the Sync automation queue, priorities can be set for the first invocation inside a
conversation. This impacts the only the first invocation, as once the invocation is
executed, a dedicated robot services the conversation. High priority tasks are
processed first, followed by medium priority tasks and finally low priority tasks. Tasks
in the sync automation queue with the same priority are processed on a first in, first
out basis.
• In the Scheduled automation queue tasks are processed according to the time range
which was set to them. Tasks with the same range are processed on a first in, first
out basis.
• In the Async automation queue tasks have priorities assigned to them by the
invoker, and are processed accordingly. High priority tasks are processed first,
followed by medium priority tasks and finally low priority tasks.
Designer Automation Essentials Robotic Automation Part 2
Node 1 Node 2
Node 1 Node 2
Robot
• If there are no tasks available to a robot in its node, tasks from other node
will be distributed across the nodes and the robot will start to process
these tasks. A robot completes all the tasks (at all priority levels) in the
async automation queue on their node, before taking tasks from a
different node. As a result, in some cases low priority tasks on one node
will be processed before high priority tasks on a different node.
• The robotic client signals node 1 its availability. Since node 1 queues are
empty, this triggers the sharing process, in which tasks are transferred
from node 2 to node 1. Those tasks are executed by the robot according
to the same algorithm discussed earlier.
• The process is handled by the ActiveMQ and the spread of the task is
determine by its algorithm.
• NOTE: The master node is responsible for the network of brokers and
must be up to use shared queues. If the master fails, each node will
process their own tasks only.
Designer Automation Essentials Robotic Automation Part 2
• Scheduling Robots
AUTOMATION PORTAL
Designer Automation Essentials Automation Portal
• Manage Passwords
Automation Portal
• The Automation Portal is an easy way to monitor and control your APA
system. The Portal is divided into three modules:
Verify that the URL for the shortcut is in the following form:
https://<Server FQDN>:1912/webapps/rtclients
• Login page:
1366 x 768px
Desktop Client
Designer Automation Essentials Automation Portal
Reference Client
• NOTE: When you clear the filter, the unchecked options still appear. To remove these, press CTRL+R to
refresh the page.
Designer Automation Essentials Automation Portal
Solution assigned
and loaded
• If all the program files match then an All installed file versions
match the reference file versions message appears.
Similarly, if all the config files match, an All installed config files
match the reference config files' message appears.
Designer Automation Essentials Automation Portal
Robotic Client
Designer Automation Essentials Automation Portal
1
Go to Administration tab
3
2
Select
Select ‘System ‘INTERNAL’
Configuration’
4
Set ‘Display Robotic
Automation Panels’ to ‘true’
and click ‘Save’
Sort by team
Total number
of tasks
Click any pie chart to open the Control Room with the relevant filters applied
Total number
of tasks
• By default, up to 100 pages of tasks appear in the Tasks Control Room. This
number of pages is configurable
• NOTE: from version 6.7, all times that appear in the Robotic Client module are
shown in local time. Previously, in earlier versions, the times shown in the
Dashboard and Task Control Room were in UTC
Designer Automation Essentials Automation Portal
Business Failure: From a technical aspect the robot completed the workflow
successfully. However, from a business perspective the workflow failed
Technical Failure: Tasks can fail for technical reasons such as a robot was unavailable,
or in the case of a scheduled task, the end of the starting range was reached and the
task never started or was forced to stop
In Queue: Tasks that have been invoked and are waiting for a robot
Exceptions in RT Client
Technical Exceptions
Technical Exceptions
Occurs when the task times-out Occurs when the task is not
Execution Timeout during its execution. This could be In-queue Timeout picked up from the queue after
Exception(Orphan) due to a disconnect between RT Exception (Backlog): end of the Backlog Timeout value
Server and the RT Client in the Server Configuration
Task Schedules
Scheduling a Task
To make a change to a
Enable a Schedule
single schedule, click a
schedule's Action menu
Delete a Schedule
Disable a Schedule
Scheduling a Task
2 Select a Task
from the list 1 Click New
5 Click Save
Password Manager
In the Passwords section of the Robotic Client module, you can define
all applications and credentials for all robots. Different credentials can
be assigned for each team of robots.
Designer Automation Essentials Automation Portal
2 Click New
4 Description(optional)
5 Click Save
Designer Automation Essentials Automation Portal
3 Click New
9 Click Save
• User - You will see only the robots who belong to the team
selected in the Organizational Hierarchy. Select one robot or All
Users (all the robots in the team that was selected in the
Organizational Hierarchy).
• Application - Select one application.
• User Name - Enter a valid user name that will be recognized by
the application.
• Password - Enter a valid password. Automation Portal does not
validate passwords.
• Expires - Enter an expiration date for the password
Designer Automation Essentials Automation Portal
2 Create an Instance
4 Assign the return value of the
Get Credential for Application
3 Create a Function into the Application Login Info
Instance
CRM
In the Robot Control Room you monitor and manage your robots.
Here is where you will see your robots and their current activities
Designer Automation Essentials Automation Portal
Restart the
Filter the list to show only
selected robots
robots in one state
State
Idle
Processing
Sleep
Inactive
What you schedule? When the Task should run When a Robot should be active
Why you use the schedule? Invoking tasks that do not Flexibility to increase or decrease
require a manual trigger and robot activity around important
can be run by an unattended events such as updates, system
client (robot) maintenance and more
Where you set the schedule? Task Schedules in the Real Time Designer and Robot
Automation Portal Control Room
Designer Automation Essentials Automation Portal
Admin
• The Admin module is where you import users to the server, set
up roles and permissions, and also assign solutions to the users
by teams. You can also change passwords for the databases,
FTP connections, and version management systems installed in
the RT Server.
Designer Automation Essentials Automation Portal
• For any admin task, make sure that the OpenAM Administrator
has assigned you to the Admin group with the respective
authorization policies. The authorization policies in OpenAM set
access to every function in the Admin module.
Designer Automation Essentials Automation Portal
• The default setting is false, in which case you can define roles
and polices, but they will not be enforced; any logged in user
will have full capabilities.
• Server branch
• False = free access for all
Finance
Robots
Finance user with View only
privileges for Robots
Finance
Attended
Clients
Finance user with Edit privileges
for Robots and Attended Clients
HR
Robots
HR user with Edit privileges for
Robots
Clients View
Tasks Edit
Robots *Restart
Clients Permissions
1 Click New
3 Select a Category
4 Select a Permission
5 Click Save
1 Click New
5 Click Save
Designer Automation Essentials Automation Portal
1 Click New
4 Select a Group
5 Click Save
Designer Automation Essentials Automation Portal
View
Tasks
Edit
3 Create Policy
Tasks View
Edit
Finance
IT Managers Robots
• Make sure that you have the required permission to view or assign
solutions to a team:
Designer Automation Essentials Automation Portal
3 Click Assign
2 In the Organizational
Hierarchy, select a team
1
Go to Admin ->
Solution Assignment -> 4 Type the solution name
click Assignment - By
Team
5 select single or multiple solutions
6 Click Save
Designer Automation Essentials Automation Portal
Removing Assignment
Multiple Solutions: Select on or more
solutions and click Remove Assignments
Editing Assignment
Multiple Solutions: Select more than one
solution, and then click Edit Assignments
• You can either add assigned solutions to team from its parent
team, or you can replace team solutions by their parent
solutions.
• Solution Inheritance types:
• Default: Displays solutions as per the inheritance behavior
defined in the Real-Time Server properties
• Inherit: Assigns solutions from the parent of the selected
team. The solutions that are common in the team and its
parent are listed under the Team Solutions list.
• Replace: Retains the solutions only assigned to the team. The
solutions in the Parent Solution list appears blank after
selecting this behavior.
Designer Automation Essentials Automation Portal
Importing Users
Import users into the RT Server, along with their team structure, via the
staticUsers.txt file
Designer Automation Essentials Automation Portal
Importing Users
• Import users into the RT Server, along with their team structure, via the
staticUser.txt file
Must contain these three main sections: The file name must be staticUser.txt
#Users, #User Groups, and #Groups
• You can Import Users to the server using one of these methods:
Run Import The User Import job imports the last uploaded file to the server
The file is uploaded to the RT Server, and a scheduled import job runs on
Upload to Server the server to import the users. The user import Job can be scheduled to
run at a specific time.
Users in the file are directly uploaded to the RT Server. The new user list is
Upload & Import immediately reflected in the portal
• Benefits:
• Ease of use for client
• Better User Interface
• Made User Import accessible over Cloud(Automation Studio)
Designer Automation Essentials Automation Portal
Run Import
• To Run Import:
• In this method, the User Import job imports the last uploaded
file to the server.
• Click Refresh, to view the User Import summary of this job.
Designer Automation Essentials Automation Portal
Upload To Server
Import History
Role Assignment
Password Manager
1 2
• Note: Make sure that the password does not have any spaces.
Designer Automation Essentials Automation Portal
Summary
• Using the Desktop Client Control Room and
Dashboard
• Managing Passwords
SOLUTION DEBUGGING
Designer Automation Essentials Solution Debugging
Designer
Messages Pane
Designer Automation Essentials Solution Debugging
Generating a Project
checks the current Project
Messages pane can and all its referenced
be shown for a single Projects
object
Messages pane
shows where (and
what) the error is
• Message 1
• The Problem: an automatically assigned data source was checked in
the instance’s data source tab, but no data source object has been
defined for it.
• The Solution: either select a data source or uncheck the auto-
assignment box.
• Message 2
• The Problem: the Function was defined a return parameter of a
certain Type, but one of the logical paths in the Function’s body
does not return anything. Usually happens when using loops (“if-
else” for example) and forgetting to return a value in one of the
possible outcomes.
• The Solution: either define a return value for the problematic path,
or remove the return parameter.
Designer Automation Essentials Solution Debugging
Designer Monitor
Tool
Designer Automation Essentials Solution Debugging
Monitoring Example
?
The Rule is not turned on when it’s supposed to….
Can you find the problem by viewing the Monitor?
• First, identify that the Rule is not turned on: 1. It has not turned
Green 2. Its properties have not been changed….
• Second, to debug the problem, look at the value that the
Monitor uses as this Rule’s dependencies, you can see the
Australia has a space after it.
• Since the Rule’s Condition is not fulfilled (“Australia” does not
equal “Australia “), the Rule is not turned on. We need to either
adjust the Condition, or trim the value from spaces before it is
saved into the “Travel” Business Entity.
Designer Automation Essentials Solution Debugging
• For debugging purposes, you may be required to not always have the
Monitor as the top-most window:
Change to
False
Designer
Log Files
Designer Automation Essentials Solution Debugging
• Rolling File Appender is set by default, producing a simple text file. But
other Appenders can be added and configured, such as: UDP, Event
log, Debug Appender etc.
3
Configure log destination
Logging will be done to the new settings
Appender, as well as to any other
Appenders listed here
Designer Automation Essentials Solution Debugging
Log Layout
[Direct Logic Thread] DEBUG PhysicalObjects - Physical Object property changed - name: 'test.EDIT - .Text', old value: '1', new value: '0‘
[Direct Logic Thread] INFO Rules - RuleSet.EvaluateRule: The Rule 'New Rule' is Turn on, Invoking Then action
Logger
[ Level
• In the log file there will be also a date and time stamp for every
message (not shown here).
• For testing in a multiple Client environment for example, a
%Username string can be added to the Layout.
Designer Automation Essentials Solution Debugging
• In order to configure the logging level, you must first select the
Entity to configure
Designer Automation Essentials Solution Debugging
Log Levels
2
Drill down to 4
Configure
Real-Time Client log level
Logging
3
Loggers Select Logger
Entity
5
Click OK
2
Enable the Log
1 3 Archiving by
Go to NICE Settings RT Insert how often
Client Log Archiving to archive the log specifying a path
(minutes) of a shared
location
4
Define whether to archive based on the
Archiving interval (True) or only upon Agent
log out (False)
• The Log Archiving feature allows you to archive log files into a
shared folder, which enables the developer to save Real-Time
Client logs to a folder and review them whenever necessary.
• This feature is useful in organizations which use Citrix clients,
and all application data is deleted once the agent session closes;
or in environments with dynamic seating, in which agents move
around between workstations.
• The log will be archived as long as you specify an archive path
and if the Timer Enabled is set to False, the log will only be
archived whenever the agent logs out of their workstation.
Designer Automation Essentials Solution Debugging
Shared Folder
Separate
directory per
user
• The next time the agent logs out (or if you have set Timer
Enabled to True), the archived file will be saved as a ZIP file with
year, month, and day of the archive and the index number of
the file (for example, if there are several archives a day). The
format will look like this: Log<yyyy><mm><dd>_1.zip.
Designer Automation Essentials Solution Debugging
• For searching specific log messages, use the built-in Log Filter tool,
located at Installation Folder. 4
2
Click Select, browse to
1 Uncheck Real Time Set filter criteria the required log file
checkbox
5
Click Filter
2
Configure log destination
settings
3
Add UDP Appender to
Appenders Reference list
1
Add UDP Appender to
Appenders list
Designer Automation Essentials Solution Debugging
• Make sure to open the Log Filter tool from the location defined in the
UDP Appender settings:
4 Check Real Time 6
Set filter criteria
checkbox
5
Check log levels and 7
log type Relevant messages will
automatically appear
according to search
parameters
Designer Automation Essentials Solution Debugging
Troubleshooting
Screen Elements -
Example
Designer Automation Essentials Solution Debugging
Checklist
Checklist
Work your way down through the tree until you find the SE that has the
problem. Go to its Identification tab
Check SE Type, Relation Types and Self Properties
Locate Again to test your changes
Connectivity
watcher
29
Designer Automation Essentials Solution Debugging
• Font Sizes:
• Bullet arial 24
• Bullet arial 20
▪ Bullet arial 18
Information Statistical
Gathering Analysis
Connectivity Alerting
Tracking Enablement
1
Select a team
2 3
Check the Enabled checkbox Click Update
1
Select a team
RELEARN
2 3 4
Check the Relearn checkbox Set the Date from when the Click Update
Relearn will begin
The Connectivity Watcher events are located under the Library Objects folder in the
Screen Connectivity Watcher folder.
Designer Automation Essentials Solution Debugging
Best Practice
Combine Write to Log function with the Log
Archiving feature as a complete operation
Designer Automation Essentials Solution Debugging
Summary
• Debugging Solutions
• Messages Pane helps you to find syntax problems – before running the
Client.
• Monitor displays values and allows you to set values in real time.
• Use the Log files when all else fails or to view history.
DECISION SUPPORT:
DATA COLLECTION
Designer Automation Essentials Data Collection
Decision Support
• Defined in Business Logic Layer
• Collects information from defined sources
• Investigates collected information for reporting and improved guidance
and assistance
Business Logic
Decision Support
Data Collection
Business Entities
Physical Objects
Decision Support
• Data Collection feature enables specifying the data to collect and store
in the RT database during runtime
• The idea is simple: track Designer entities so you can learn about agent
activity and interactions with the RT Client
Instances Rules Event Handlers Processes & Tasks Callouts LIC Items
RT Database
How to Define
Business Entities
as Collectable
Designer Automation Essentials Data Collection
3
Choose a Data Usage,
and if it is a Fact, specify
1 aggregation function
Click a BE Type’s property to
collect data on
LIVE DEMO
Defining BE Data as Collectable
DO IT YOURSELF
Defining BE Data as Collectable
How to Create
Data Collection
Objects
Designer Automation Essentials Data Collection
Sales DC Churn DC
Product Name
• A process that may have more than one instance in a single interaction
Offer 1 DC Offer 2 DC
Offer
2
Click New Data 1
Collection Go to Decision Support Data
Collection tab
3
Give DC object a
4 Click entity type to drill
meaningful name
down the hierarchy and
check the entities you
wish to collect data for
LIVE DEMO
Creating a Data Collection Object
DO IT YOURSELF
Creating a Data Collection Object
How to Activate
and Collect Data
Designer Automation Essentials Data Collection
• In order to control Data Collection, two Functions are used in the Action
Editor of the Business Logic layer:
7
2
6
Activate
Start collecting data for
8
a RT entity 1
Collect
Pour data to DB through RT
Server DC Object
• Each time you invoke the Activate and Collect Functions for a
specific Data Collection activity, its data is collected as a
transaction in the database.
Designer Automation Essentials Data Collection
Start of End of
Interaction Interaction
Offer 1 Offer 2
Interactions DB Table
2
In the Action Editor, insert the
1 Create a new Rule or Function Invocation Instruction
Event Handler at the drill down the menu to the Data
Business Logic tab Collection Activities library and
select Activate or Collect
LIVE DEMO
Calling Data Collection Functions
DO IT YOURSELF
Calling Data Collection Functions
LIVE DEMO
Testing Data Collection
DO IT YOURSELF
Testing Data Collection
• The Data Collection Activity data model represents the various objects
for which RT collects data, such as Rules, Event Handlers and so on
Each branch
represents a
Solution
Designer Automation Essentials Data Collection
Summary
• The goals of Decision Support features
REPORTS
Designer Automation Essentials Reports
DO IT YOURSELF
Lesson Preparation
• Static Data Models are permanent data structures, from which you can
drag fields. Every field represents data that the RT Server collects
information on
Callouts Agent
KPI Name
Value
Goal KPIs
Name DC Activity
Process Desktop
Server Dashboard
Monitoring Monitoring
Report Area
• The data within each data model is broken down into two data types:
Dimensions and Facts
Facts hold numeric
values, for example:
Appearance Duration
• The Data Collection Activity data model represents the various objects
for which RT collects data, such as Rules, Event Handlers and so on
Each branch
represents a
Solution
Designer Automation Essentials Reports
• Reports are accessed via the web using the following URL:
http://localhost/ibmcognos/bi/?perspective=home
Designer Automation Essentials Reports
▪Connect to http://localhost/ibmcognos/bi/?perspective=home
2
Select Report
1
Click on New
Designer Automation Essentials Reports
Creating a Report
3
Click on Blank
4
Click OK
Designer Automation Essentials Reports
Creating a Report
5 Click on +
6 Click on “Data
Collection Activity”
7 Click Open
Designer Automation Essentials Reports
• Expand Data Collection Activity > OLD RTI > eGlueRepository >
Data Collection Activity.
• The different data collection entities will be shown.
Designer Automation Essentials Reports
Creating a Report
11
Run Report
9 Select the
required Report
Designer Automation Essentials Reports
BE Instances
Appearance of the
Type within other
composite Type
BE Properties
• For Instances of that Type, the Instance will have its own Index, plus the
Type’s Index to differentiate between different Instances
Interactions Branch
• Each time you invoke the Activate and Collect Functions for a
specific Data Collection activity, its data is collected as a
transaction in the database.
• The Activate Function invokes the collection of data and the
Collect Function stops that collection of data. Thus, each start
(Activate) and stop (Collect) pair constitutes an instance of one
interaction.
Designer Automation Essentials Reports
DO IT YOURSELF
Creating a Report: Business Entities
Robotic
Automation
Reports
Designer Automation Essentials Reports
Robot ID (the
VM hostname)
• The first report is the Inactive Robots Report. The purpose of this report
is to provide targeted information for the IT users/Admins.
• The report can be filtered by date or by Robot, and allows you to view:
• The Robot ID, which is the hostname of the VM on which it is running
• The Total duration of the Robot’s inactivity over the selected
timeframe.
To drill-down into the details of an inactive Robot, click its Inactive
Duration (min) link. The inactive durations are broken down more easily in
a way that is simple to understand.
Date/Time
Invocation Entered
External
the Queue
(Customer) Error Details
Request ID Request Robot/System Information
NICE Internal
Duration Error
Request ID
Workflow Robot Name =
Priority VM Hostname
Invoked
Workflow Free Text Value Assigned
Name within the Workflow
• The second report is the Request Details Report. The purpose of this
report is to determine which failed requests to rerun.
• The report can be filtered by Date, Error Type, Workflow and Business
Data values, and allows you to view:
• The various request IDs
• The request invocation time and duration
• The Automation Workflow name
• The Robot’s VM hostname
• The Workflow result and other business data values.
Clicking the icon next to each row opens the Request Details Report Drill
window.
Designer Automation Essentials Reports
Request parameters
as assigned during
invocation
# of successful and
failed workflows
Date
DO IT YOURSELF
Reports
Server Dashboard
Reports
Designer Automation Essentials Reports
Server Dashboard
Logged-in Users
Displays information about users currently logged
in to the current environment
Solution Downloads
Displays information about recent solution
downloads across the users of the current
environment
▪Connect to http://localhost/ibmcognos/bi/?perspective=home
2
Select Report
1
Click on New
Designer Automation Essentials Reports
Creating a Report
3
Click on Blank
4
Click OK
Designer Automation Essentials Reports
Creating a Report
5 Click on +
6 Click on “Server
Dashboard”
7 Click Open
Designer Automation Essentials Reports
Creating a Report
10
Run Report
8 Select the
required Report
DO IT YOURSELF
Solution Download Report
Summary
• Creating a Report with static and dynamic Data
Models
CLIENT-TO-CLIENT
Designer Automation Essentials Client to Client
4
Upon certain Rules or
Client BE
Events, the Receiver gets
a value from the Sender Bilbo Baggins
and assigns it to the item
3
Click New
1 Go to the Project Channel
tab 4
On the Citrix Client select
Citrix Client Channel.
On the Citrix Server select
2 Click Client to Citrix Server Channel
Client branch 5 The Channel
Channels
appears. Select
Channel Name
Create
Create aa Create Invoke
Channel
Channel Assignment to Keys Functions
Create
Create aa Create Invoke
Channel
Channel Assignment to Keys Functions
5 4
Define the key and Click here to add a
1 Click Client to Client the BE it updates key
branch
Assignments
• Reconnect to host / local port – for fail safe and manually start
connections.
• Send value to key asynchronous – send messages
asynchronously identical on both sides.
Designer Automation Essentials Client to Client
• Create a Rule or an Event Handler to define when the key is sent and
what its value is.
Summary
• The Client to Client concept
ADMINISTRATION
Designer Automation Essentials Administration
Environments
Designer Automation Essentials Administration
• Default Environnent:
• Chosen at Login…
• Default Environment:
• Chosen at Login…
… and seen in Designer Settings
• You can also move from one environment to another directly from the
Designer
• Existing Environments:
• Configured in RTDesigner.exe.config…
Designer Automation Essentials Administration
• Existing Environments:
• Configured in RTDesigner.exe.config…
… and in Designer Settings
Designer Automation Essentials Administration
• New Environments:
• Can be added in RTDesigner.exe.config, using the same structure
Users
Administration
Designer Automation Essentials Administration
Users Import
• Users are imported from Engage, WFM or from Active Directory used in
the organization, by CSV files
• Import/export process is done only once during installation and
scheduled by a task to update the files
• After importing users, the administrator view will hold all teams
and users that were exported from the dedicated destination.
Designer Automation Essentials Administration
NPexport
1
Users are exported from
NIM to a dedicated location
2
XML file on the RT Server is
updated to the CSV file’s
location
• The role assigned to a user determines which module(s) the user can
access
Integration
Expert
✓ ✓
Business
Analyst ✓ ✓ ✓ ✓ ✓
Technical
Engineer ✓ ✓ ✓ ✓ ✓ ✓ ✓
Administrator
Roles ✓
• Different Administrator roles can view and edit different branches in the
Administrator module
IT Admin Content System Super User
Admin Admin
Solutions Assignment ✓ ✓ ✓
Roles Assignment ✓ ✓ ✓
System Configuration ✓ ✓ ✓
Automatic Update ✓ ✓ ✓
Environment Publishing ✓ ✓ ✓
Server Dashboard ✓ ✓ ✓
Desktop Process Monitor ✓ ✓ ✓
3
Check the relevant
user
1
Go to Roles Assignment
branch
4 5 Click
Assign a relevant
Role Apply
• The Role selected for a Team applies to all Users in the Team.
Designer Automation Essentials Administration
Assigning User
Roles
17
Designer Automation Essentials Administration
DB Connection Mapping
2
Click the +
1
Go to DB
3
Connection Configure the DB
Mapping branch Name and its mappings
URL
4
Click Apply
Changes
Environment Value
Mapping
Designer Automation Essentials Administration
2 Click the + to
1 Go to Environment
add a text
Publishing branch
variable
DO IT YOURSELF
Environment Value Mapping
Summary
• Working with different Environments
AUTOMATIC UPDATE
Designer Automation Essentials Auto Update
DLL 3 2
4 Click Apply
1
Go to
Automatic
Update branch
Create
Create an
an Automatic
Automatic Assign a folder to a Define files to upload
Update folder
Update folder team to Client
DO IT YOURSELF
Creating an Automatic Update Folder
• The folder selected applies to the team, its sub-teams and all
users in them
Designer Automation Essentials Auto Update
DO IT YOURSELF
• Assign your Automatic Update Folder to your team
Designer Automation Essentials Auto Update
• You may only upload files that are located under the Designer
installation folder. The auto-update mechanism downloads the
update files located under the RT Client installation folder
• The following information is displayed for each row in the Files
Upload area:
• File: Specifies the file name and path
• Version: For .NET DLL files, specifies the version of the file. For
other file types, this column is blank.
• Modified At: Specifies when the file was last updated
Designer Automation Essentials Auto Update
DO IT YOURSELF
Adding Files to an Automatic Update Folder
DO IT YOURSELF
Verifying Successful Automatic Update
1
Go to Server Dashboard
branch
… by Revisions… … or by Computer Name
5
…then select the 6
relevant Results… …and Insert them as
part of the filter
2
Select
Automatic 8
Update Click
Finish
DO IT YOURSELF
Automatic Update Report
• Direct.AutoUpdate.dll
• Direct.Shared.Controls.dll
• Direct.Configuration.dll
• Direct.ExecutionResources.dll
• Direct.WebServiceProxy.dll
• Direct.Shared.dll
• Direct.Interface.dll
• Direct.Shared.Library.dll
• Updater.exe
• Updater.exe.config
• Userpreferences.xml