0% found this document useful (0 votes)
124 views52 pages

Archer Dynamic Workflow Tracker Tool & Utility 6.12 P1 Implementation Guide

Uploaded by

Madhu Sai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views52 pages

Archer Dynamic Workflow Tracker Tool & Utility 6.12 P1 Implementation Guide

Uploaded by

Madhu Sai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Archer® Exchange

Archer® Suite
6.12 P1

Implementation Guide

Archer Dynamic Workflow


Tracker Tool & Utility
Contact Information
Archer Community at https://www.archerirm.community contains a knowledgebase that answers common
questions and provides solutions to known problems, product documentation, community discussions, and case
management.

Trademarks
RSA Conference Logo, RSA, and other trademarks, are trademarks of RSA Security LLC or its affiliates ("RSA"). For
a list of RSA trademarks, go to https://www.archerirm.com/company/trademarks. Other trademarks are
trademarks of their respective owners.

License Agreement
This software and the associated documentation are proprietary and confidential to RSA Security LLC or its
affiliates are furnished under license, and may be used and copied only in accordance with the terms of such
license and with the inclusion of the copyright notice below. This software and the documentation, and any
copies thereof, may not be provided or otherwise made available to any other person.
No title to or ownership of the software or documentation or any intellectual property rights thereto is hereby
transferred. Any unauthorized use or reproduction of this software and the documentation may be subject to
civil and/or criminal liability.
This software is subject to change without notice and should not be construed as a commitment by RSA.

Third-Party Licenses
This product may include software developed by parties other than RSA. The text of the license agreements
applicable to third-party software in this product may be viewed on the product documentation page on the
Archer Community. By using this product, a user of this product agrees to be fully bound by terms of the license
agreements.

Note on Encryption Technologies


This product may contain encryption technology. Many countries prohibit or restrict the use, import, or export of
encryption technologies, and current use, import, and export regulations should be followed when using,
importing or exporting this product.

Distribution
Use, copying, and distribution of any RSA Security LLC or its affiliates ("RSA") software described in this publication
requires an applicable software license.
RSA believes the information in this publication is accurate as of its publication date. The information is subject to
change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." RSA MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY
DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. CUSTOMER IS
SOLELY RESPONSIBLE FOR ENSURING THAT THE INSTALLATION OF THE APPLICATION IS PERFORMED IN A SECURE
MANNER. RSA RECOMMENDS CUSTOMERS PERFORM A FULL SECURITY EVALUATION PRIOR TO IMPLEMENTATION.

©
2022 RSA Security LLC or its affiliates. All Rights Reserved.

August 2022
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Table of Contents
Chapter 1: Overview of the Archer Dynamic Workflow Tracker Tool & Utility ............................................ 5
About the Archer Dynamic Workflow Tracker Tool & Utility ................................................................... 5
The Custom Object.................................................................................................................................... 6
Key Features and Benefits ........................................................................................................................ 7
Prerequisites (ODA and system requirements) ........................................................................................ 9
Chapter 2: Archer Dynamic Workflow Tracker Tool & Utility Components ............................................... 10
2.1 Status Values List built from scratch ................................................................................................. 10
2.2 Existing Status Values List ................................................................................................................. 13
2.3 Taking advantage of sub-phases ....................................................................................................... 14
Chapter 3: Installing the Archer Dynamic Workflow Tracker Tool & Utility Package ................................. 16
Installation Overview .............................................................................................................................. 16
Step 1: Extract the Files ........................................................................................................................... 16
Step 2: Configure the Integration ........................................................................................................... 16
Step 3: Test the Installation ..................................................................................................................... 16
Chapter 4: Configuring the Archer Dynamic Workflow Tracker Tool & Utility ........................................... 17
4.1 Status Values List built from scratch ........................................................................................... 17
4.2 Existing Status Values List ........................................................................................................... 20
4.3 Sub-phases and its advantages ................................................................................................... 20
Chapter 5: Custom Object Configuration.................................................................................................... 22
5.1 Introduction ...................................................................................................................................... 22
5.2 Basic Configuration ........................................................................................................................... 23
5.3 Basic configuration examples ........................................................................................................... 25
5.4 Tooltips.............................................................................................................................................. 26
5.5 Configuring the icons ........................................................................................................................ 27
5.6 Display Layer configuration............................................................................................................... 28
5.6.1 Concepts ........................................................................................................................................ 28
5.6.2 Display Layer Assignment .............................................................................................................. 30
5.6.3 Display Layer Selection .............................................................................................................. 31
5.6.3.1 Static selection ............................................................................................................................ 31
5.6.3.2 Dynamic Selection....................................................................................................................... 32

3
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

5.6.4 Visualization policies for phases and sub-phases ...................................................................... 33


5.6.5 Visualizing assigned display layer .................................................................................................. 34
5.7 Multiple DWT instances .................................................................................................................... 34
5.7.1 Default configuration (single instance) .......................................................................................... 35
5.7.2 Adding additional DWT instances .................................................................................................. 36
5.9 Configuration variables ..................................................................................................................... 38
5.10 Color Schemes................................................................................................................................. 43
Chapter 6: Sample application .................................................................................................................... 48
6.1 Installation steps ............................................................................................................................ 48
Chapter 7: Troubleshooting/FAQ................................................................................................................ 50
Appendix A: Certification Environment ...................................................................................................... 52

4
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 1: Overview of the Archer Dynamic


Workflow Tracker Tool & Utility
About the Archer Dynamic Workflow Tracker Tool & Utility
The aim of this document is to describe the functional capabilities, the deployment, and configuration of
the Archer Dynamic Workflow Tracker Tool & Utility, an Archer custom object designed to provide a
graphics rendering of the execution progress of a linear workflow that can be placed anywhere in a
content record web form and stuck on the top.

Archer Advanced Workflow allows for the addition of a non-linear multi-step workflow (which is a state
machine) to any application or questionnaire.

Workflows can be composed of multiple nodes with branches and joins and multiple forward and back
transitions.

As a general principle, given a workflow with any level of complexity, it is always possible to identify a
set of macro phases that are executed in sequence and aimed to provide a high-level view of the
execution progress. Each phase represents the macro-state that the high-level workflow is in at any
given moment in time.

Given that the execution flow is sequential, the implication here is that at any given moment the
workflow is in a specific phase that can be defined as the "current phase", while the previous phases are
considered "past phases" (complete) and the phases still to be executed are considered "future phases".

In summary, within the sequential execution flow we can identify one or more past phases, one current
phase and one or more future phases as shown in the image below:

Of course, it is also possible to transition back and forth between any two phases, not necessarily
adjacent:

5
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

In the GRC space, the typical example is the assessment (any type of). The workflow starts, includes
some preliminary activities and then the assessment starts, so the first time it is done, it can be defined
“In progress”. After its completion, the assessment is sent to the reviewer where the latter could either
approve the submission and move it to the next stage or reject the assessment. In the latter case the
workflow transitions back to a status where the submitter can amend the assessment.

This pending resubmission status is NOT the same as the first time the assessment was edited (i.e. it was
already filled in), so the proper modelling of the workflow should include another status to keep track of
the changed conditions.

At a high level, this status is still about the editing of the assessment, so it does make sense to define an
Assessment Phase and two Sub-Phases to represent the initial assessment operation and the
assessments after a rejection:

Assessment Phase (current phase)

 In Progress Sub-Phase (initial assessment, landing in the current phase from the “left”, that is
from the past)
 Rejected by Reviewer Sub-Phase (sub-sequent assessments after a rejection from the reviewer,
that is landing in the current subphase from the “right” that is from the future)
This possibility also allows us to keep track of the origin of the incoming transition into the Assessment
phase:

 The “In Progress” sub-phase means I am doing the assessment for the first time; the workflow is
coming from the left (the beginning of the sequential flow).
 The “Rejected by Reviewer” sub-phase means I landed again into the Assessment after a
rejected review; the workflow is coming from the right.
The image below summarizes and generalizes these concepts:

The Custom Object


The Archer Dynamic Workflow Tracker (DWT) is an Archer Custom Object that fully supports the
concepts described in the previous paragraph. The phases and sub-phases can be defined using a two-

6
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

level values list, where the first level (parent) models the workflow phases and the second level
(children) models the sub-phases. Values List items can be enabled or disabled, and this status is
acknowledged by the custom object, so that phases can be removed from the rendering. Moreover,
each values list item has a Description text field which is leveraged by the custom object to configure
some elements of the phases such as the icons and the text rendered. This allows for the configuration
of some aspects of the custom object without changing the code of the custom object, making it easy to
use! The picture below shows a fully rendered custom object (using a generic asset classification and
asset risk assessment as an example):

The graphics include various fully configurable elements as summarized by the following picture:

One of the key capabilities is the placement of the workflow tracker which can be set to be either “stuck
on the top” or placed anywhere in the record web form (i.e. any section or any tab within a web form).
In the first case, which is the default option, the workflow tracker is constantly anchored to the top, just
below the toolbar; when the record content is scrolled, the workflow tracker is always displayed on the
top.

Key Features and Benefits


In addition to the elements displayed in the graphic rendering such as title, icons, tooltips, etc., the
Archer Dynamic Workflow Tracker is fully configurable and includes many capabilities described below:

 Configurable placement: can be stuck on top so that it remains visible when you scroll the
content, or it can be placed in any position within the web form, including inside a tab
 Configurable colors and support for color schemes (some of which are included by default)

 Configurable size for any element like the height, width (can be stretched or not), text, etc.

7
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

 Supports different settings for complete, current, and future phases

 Supports the concept of “sub-phases” to keep track of the origin phase when you land into
another one

 The tracker can be collapsed to save some real estate in the web form. The collapse/expand
status is configurable.

 Optional animation while rendering the workflow with a configurable delay

 Fully responsive (works on mobile). Text is dynamically scaled depending on browser width.
 Configurable tooltips (popovers) with configurable text

 Configurable icons (from the Google Material Design set)


 Support of Display Layers to allow a static or dynamic selection of the phases and sub-phases to
display at run time

 Optional configurable checkmark icon to better highlight completed phases


 The values list items that model the phases and sub-phases can be disabled to hide their
rendering
 Super easy to use with default settings. If the status values list uses the default alias name, a
simple copy and paste of the source code is all that is needed

 Portable across the dev/test/prod environments. The custom object uses the alias name to
target the Archer fields which usually persist as packages are installed into other environments
(as opposed to their FieldIds which may differ in each respective Archer instance and typically
requires modifying the custom object code).
 Easy configuration. All the configurable parameters are handled as CSS variables stored at the
beginning of the custom object code and can be easily changed with any text editor before
copying the custom object code.

 Source code available in two versions: fully commented code (useful for debugging) or
minimized (useful for production and half the size of the previous).

8
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Prerequisites (ODA and system requirements)


Components Prerequisites
Archer All
Solution
Area(s)
Uses Custom n/a
Application
Archer This offering has been validated on Archer Platform release 6.12 P1.
Instance
Supported  On-Premises
Archer  Archer Hosted
Environments
 Archer SaaS

9
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 2: Archer Dynamic Workflow Tracker


Tool & Utility Components

There are two deployment options, and the following flowchart summarizes the possible alternatives:

 Create a VL with the  Create a new custom object


required statuses  Assign a name Place the custom object
anywhere on the layout
 Assign a name and  Copy and paste the PROD except within a non
change the alias to source code into the box default tab
?WFStatus?  Save the record
NO

 Enjoy the new workflow


Is the VL tracker!
defined?  Experiment by changing
some of the configuration
parameters
YES

Can you change YES Change the alias to


the alias? ?WFStatus?

NO
 Create a new custom object
Search the CSS variable named?--  Assign a name
Copy and paste the
chevron-statusvl-alias?_and change the
custom object code into  Copy and paste the code from the
a text editor WFStatus value to the alias of the
values lis (e.g. Overall_Status) text editor into the box
 Save the record

Each Archer field has a name and an alias. When a new field is created, the alias name mirrors the field
name (except for spaces and special characters). The only system requirement is that the alias name
must be unique within the application, but in general the field name and alias name can be different.

A values list field hosting the status information is needed to deploy the DWT. This field can pre-exist
within the application or questionnaire (e.g., a use case application with an existing workflow) or it can
be built from scratch. So, you have two options…

2.1 Status Values List built from scratch


Create a new values list with any name but set the alias to the string “WFStatus” which is the default
used by the custom object, so that you don’t have to change the configuration parameters. (If you do

10
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

change the alias name you would need to make a small change to the configuration parameters. See
Chapter Error! Reference source not found. Custom Object Configuration below.)

Add some values list items, for example:

Make sure to select the custom sort order to set the proper sequence of statuses and set one of the
values list items as the default one.

Create a new custom object (accessible from the Add New Layout section of the Layout Designer of the
layout that will display the Custom Workflow Tracker) and place it wherever you want in the layout. Set
its name (e.g. “DWT”) and copy the source code of the custom object into the code window:

11
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Save the application.

Create a new record of the application you just modified. Make sure that one of the values list items is
selected (but a default should be defined), then save the record.

A spinning wheel is displayed for a few seconds…

IMPORTANT
The first time the custom object is run, the spinner can display for several seconds (up to 20-30
seconds). This is normal, at least in the sandbox environment, and does not impact the overall
Archer functionality in any way and this means that you can still edit and read the record as usual
while the spinner is displayed. The technical reason of this delay is that, after a standby period, the
API framework must be powered up again due to the caching strategy. The “power-up delay”
depends on the configuration of the web server as well as the workload of the Archer instance, but
after the first use, retrieving the data via API usually takes less than a second.

Eventually, the Dynamic Workflow Tracker is displayed

12
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Assuming you use the default values list field alias name, the only action needed is the creation of the
custom object and the copying and pasting of the custom object source code.

The visual appearance of the workflow tracker can be changed to match the required style. Specifically,
the colors can be changed, and the custom object also supports color themes (some are provided by
default). This is another example with the default color scheme:

It is also important to point out that the custom object leverages the Archer RESTful APIs to retrieve the
values list information; given this data is available only when the content record is committed, the
record must be saved at least once. The default configuration of the custom object is set to hide the
tracker prior to the initial save of the record to avoid unnecessarily cluttering the layout, though it is
possible to configure the visualization of a warning message that is displayed on the top.

NOTE
The deployment of a custom object is always layout-specific.
This means that if you want to display (or execute) the custom object regardless the
user action node you are in, you will have to replicate the deployment of the custom
object in all the layouts defined (which is admittedly a tedious task).

2.2 Existing Status Values List


If you want to deploy the DWT for an existing status values list field, the values list field, and its
attributes such as field name and alias are already defined. To deploy the custom object, you still have
two options:

 If you can change the alias name of the existing values list, change it to the default value of
“WFStatus” so that you don’t have to change the configuration parameter in the custom object.
 If, for whatever reason, you cannot change the alias name (e.g. the alias is being referenced in
mail merge templates or other custom objects), then you need to change the value of the

13
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

“chevron-statusvl-alias” CSS variable in the custom object. You can change this value either after
you copied the source code into the custom object or before pasting it into the custom object’s
Code field using any text editor.

2.3 Taking advantage of sub-phases


Most of the workflows in the out of the box configurations of the Archer use cases adopt a simple
“review and approve” style of workflow, but in addition to the Approved status, the workflow also
includes the Rejected status.

Adding the DWT to the applications that adopt this workflow can provide a visualization like this (as
seen is an “Operating Test Results” questionnaire):

In the example above, the operating test is approved, but as you can see there is also the Rejected
status which is placed after the Approved status in the linear flow of execution. This is a bit confusing.

To improve the visual representation of the workflow, it is possible to leverage on the sub-state
capability of the DWT.

This requires a small tweak to the structure of the value list items, by adding a new status we can name
“Completed” (or anything else) and move the existing Approved and Rejected status below it, as shown
in the picture.

In this way we have one “macro phase” named Completed and two sub-phases
named “Completed->Approved” and “Completed->Rejected”. Basically, this is one
macro phase and sub-phases provide more details about the completion of the
workflow. This is just one of the many possibilities when leveraging phases and sub-
phases.

When you apply these changes, the outcome is something like this:

14
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

It is also important to point out that changing the structure of the values list items for an existing
workflow is not disruptive at all, because the workflow will use the “hierarchical version” of the
previous items, that is “Completed->Approved” instead of “Approved” and “Completed->Rejected”
instead of “Rejected”. The DWT will use the parent phase as the main phase to display, as show in the
previous picture.

The new hierarchical structure automatically extends to any previous created records:

15
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 3: Installing the Archer Dynamic


Workflow Tracker Tool & Utility Package
Installation Overview
Complete the following tasks to install the offering.

Step 1: Extract the Files


1. Unzip the contents of the file “Archer_Dynamic_Workflow_Tracker_Tool&Utility_6.12.zip” into
the target folder.
2. Contains one custom object and a sample app.

Step 2: Configure the Integration


See Configuring the Archer Dynamic Workflow Tracker Tool & Utility for complete information.

Step 3: Test the Installation


Test the application according to your company standards and procedures to ensure that the use case
works with your existing processes.

16
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 4: Configuring the Archer Dynamic


Workflow Tracker Tool & Utility

We can configure custom code by creating a new status value list or from the existing status value list

4.1 Status Values List built from scratch


Create a new values list with any name but set the alias to the string “WFStatus” which is the default
used by the custom object, so that you don’t have to change the configuration parameters. (If you do
change the alias name you would need to make a small change to the configuration parameters. See
Chapter Error! Reference source not found. Custom Object Configuration below.)

Add some values list items, for example:

17
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Make sure to select the custom sort order to set the proper sequence of statuses and set one of the
values list items as the default one.

Create a new custom object (accessible from the Add New Layout section of the Layout Designer of the
layout that will display the Custom Workflow Tracker) and place it wherever you want in the layout. Set
its name (e.g. “DWT”) and copy the source code of the custom object into the code window:

Save the application.

Create a new record of the application you just modified. Make sure that one of the values list items is
selected (but a default should be defined), then save the record.

A spinning wheel is displayed for a few seconds…

18
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

IMPORTANT
The first time the custom object is run, the spinner can display for several seconds (up to 20-30
seconds). This is normal, at least in the sandbox environment, and does not impact the overall
Archer functionality in any way and this means that you can still edit and read the record as usual
while the spinner is displayed. The technical reason of this delay is that, after a standby period, the
API framework must be powered up again due to the caching strategy. The “power-up delay”
depends on the configuration of the web server as well as the workload of the Archer instance, but
after the first use, retrieving the data via API usually takes less than a second.

Eventually, the Dynamic Workflow Tracker is displayed

Assuming you use the default values list field alias name, the only action needed is the creation of the
custom object and the copying and pasting of the custom object source code.

The visual appearance of the workflow tracker can be changed to match the required style. Specifically,
the colors can be changed, and the custom object also supports color themes (some are provided by
default). This is another example with the default color scheme:

It is also important to point out that the custom object leverages the Archer RESTful APIs to retrieve the
values list information; given this data is available only when the content record is committed, the
record must be saved at least once. The default configuration of the custom object is set to hide the
tracker prior to the initial save of the record to avoid unnecessarily cluttering the layout, though it is
possible to configure the visualization of a warning message that is displayed on the top.

19
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

NOTE
The deployment of a custom object is always layout-specific.
This means that if you want to display (or execute) the custom object regardless the
user action node you are in, you will have to replicate the deployment of the custom
object in all the layouts defined (which is admittedly a tedious task).

4.2 Existing Status Values List


If you want to deploy the DWT for an existing status values list field, the values list field and its
attributes such as field name and alias are already defined. To deploy the custom object, you still have
two options:

 If you can change the alias name of the existing values list, change it to the default value of
“WFStatus” so that you don’t have to change the configuration parameter in the custom object.
 If, for whatever reason, you cannot change the alias name (e.g. the alias is being referenced in
mail merge templates or other custom objects), then you need to change the value of the
“chevron-statusvl-alias” CSS variable in the custom object. You can change this value either after
you copied the source code into the custom object or before pasting it into the custom object’s
Code field using any text editor.

4.3 Sub-phases and its advantages


Most of the workflows in the out of the box configurations of the Archer use cases adopt a simple
“review and approve” style of workflow, but in addition to the Approved status, the workflow also
includes the Rejected status.

Adding the DWT to the applications that adopt this workflow can provide a visualization like this (as
seen is an “Operating Test Results” questionnaire):

In the example above, the operating test is approved, but as you can see there is
also the Rejected status which is placed after the Approved status in the linear flow of execution. This is
a bit confusing.

To improve the visual representation of the workflow, it is possible to leverage on the sub-state
capability of the DWT.

This requires a small tweak to the structure of the value list items, by adding a new status we can name
“Completed” (or anything else) and move the existing Approved and Rejected status below it, as shown
in the picture.

20
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

In this way we have one “macro phase” named Completed and two sub-phases named “Completed-
>Approved” and “Completed->Rejected”. Basically, this is one macro phase and sub-phases provide
more details about the completion of the workflow. This is just one of the many possibilities when
leveraging phases and sub-phases.

When you apply these changes, the outcome is something like this:

It is also important to point out that changing the structure of the values list items for an existing
workflow is not disruptive at all, because the workflow will use the “hierarchical version” of the
previous items, that is “Completed->Approved” instead of “Approved” and “Completed->Rejected”
instead of “Rejected”. The DWT will use the parent phase as the main phase to display, as show in the
previous picture.

The new hierarchical structure automatically extends to any previous created records:

21
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 5: Custom Object Configuration


5.1 Introduction
The DWT custom object has been designed with the primary objectives of ease of use and
configurability.
Configurability consists in providing as many configurable capabilities as possible, to adapt the overall
functionality to the specific context and use. For example, it is possible to configure the size of the
elements, the text, the presence of elements like icons, etc.
Ease of use is about minimizing the configuration and deployment effort, so that adding the tracker to a
new or existing application only takes a few minutes, if not seconds. This is achieved by providing a
default configuration for any aspect of the custom object. As previously described, the workflow tracker
leverages a values list field to get the status information to display and by default the custom object
reads from a values list field with a specific alias (“WFStatus”). This means that if the values list field alias
that is used is assigned this name, the deployment of the custom object simply requires a copy-paste of
the source code.
This ease of use also extends to the configuration process itself to greatly reduce the need to change the
actual code of the custom object. With this goal in mind, the configuration of options has been split into
two levels:
1) Basic configuration aimed to configure the per-phase information that is most likely to be
changed. This information is stored within the Description property of each values list item and
can be edited using the Archer Values List Configuration UI.
2) Full configuration aimed to configure all the other elements that apply to the whole custom
object. In this case the configuration parameters must be stored and edited in the custom object
code itself.
It is important to point out that a custom object is actually a piece of HTML code and as such it requires
a specific format like this:
<style>
CSS code
</style>
HTML code
<script>
JavaScript code
</script>

The sections for CSS, HTML and JavaScript code must generally be placed in that order, i.e. CSS is
declared before the HTML code.
CSS defines the visual appearance of the HTML elements, but it allows the definition of variables using
“key-value” pairs.

22
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

The DWT custom object takes advantage of this concept by exposing its configurable elements using an
easily accessible CSS variable that is stored at the beginning of the custom object code.

5.2 Basic Configuration


The elements that are more likely to change are the icons, the title prefix and the sub-title in the
tooltip and the option to hide or show the name of the phase status. The latter option allows you to
display a phase with the icon only.
Since all these attributes must be configurable independently for each phase (i.e. for each values list
item), their configuration is handled through a simple JSON object text that is stored in the Description
area of each values list item. The big benefit of this approach is that it is possible to configure some
phase-specific attributes without changing the custom object code.
The general format of the JSON object is this:

{
"mdicon": "<name of icon>",
"titleprefix": "<text for the prefix of the tooltip title>",
"subtitle": "<text of the tooltip sub-title>",

"spoverride": "<override of the sub-phase text>",


"displaytitle": "<yes | no>"
}
The VL item description text can be modified by Archer Admins from either the frontend or the
backend. The easiest approach is to leverage the frontend and click on the Edit link adjacent to the
values list field within a content record.
Consider this workflow example:

When you click on the Edit link you get this web form:

You can enable and disable the items if


you wish. When you disable a parent
item, the phase will be removed from
the visualization.

23
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

When you click on any item, regardless of its level, a form like this is displayed. (This example shows a
parent item, that is a level 1 item):

This is an example of JSON object:


{

"mdicon": "grading",

"titleprefix": "Step:",

"subtitle": "The reviewer is checking the outcome of the risk assessment"

24
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

It’s important to point out that all the JSON properties (a property is a name/value pair) are optional
as well as the whole JSON object. This implies that the Description of a values list item can be empty
(of course this is true for any new or existing values list) so that the chevron will display only the name
of phase and the tooltip will include just the title. In general, you can add or remove any of the
supported properties, but it’s paramount to not break the JSON format in the process. Specifically,
make sure quotes surround the property names and values, a colon separates the property name from
its value, and that properties are separated with a comma. If you want to add any of the parameters of
the basic configuration, you may start with the empty template of the JSON object reported below:
Copy and paste the text into a text editor like Notepad or Notepad++ (not Word as it adds hidden

{ EMPTY TEMPLATE

"mdicon": "",

"titleprefix": "",

"subtitle": "",

" spoverride ": "",

metadata). Add the text within the quotes, or remove the properties you don’t want to use, copy the
modified text and paste it into the Description information of the values list item you want to change,
and finally save the field.

The configuration is immediately effective.

NOTE
You can add a JSON object to the Description field of any VL item, but the custom
object will use only the properties that are applicable to the item level. Specifically,
the properties “mdicon”, “titleprefix”, “subtitle” and “displaytitle” are considered
when the JSON is applied to the level 1 (the parent) while the “spoverride” is the only
valid property for the JSON object of the VL item level 2 (the sub-phases).

5.3 Basic configuration examples


When the VL item description is empty (i.e. no JSON object or empty object -- which is the initial
condition), both the chevron phase and the tooltip includes just the name of the phase, i.e. the name
of the VL item. The JSON properties allow you to change the default behavior by adding an icon to the
phase or some text to the tooltip. Below you can find some configuration examples for the most typical
cases:

25
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Display a phase with the title and icon


{
"mdicon": "sports_score"
}

Display a phase with the icon only


{
"mdicon": "sports_score",
"displaytitle": no
}

Prepend the prefix “Step: “ to the title in the tooltip


{
"mdicon": "sports_score",
"titleprefix": "Step: "
}

Display a phase with the title only. The tooltip includes a prefix and a subtitle
{
"titleprefix": "Phase: ",
"subtitle": "This is the subtitle of the phase"
}

Please remember that in case of errors in the JSON object format, no error message will be displayed at
the web form level, but the custom object issues messages in the web browser console. In the case of
unexpected outcomes, click F12 while in Chrome to access its Developer Tools to investigate.

5.4 Tooltips
The DWT custom object also supports tooltips (they are actually popovers as they require a specific click
on the phase to be displayed). By default, a tooltip content includes the name of the phase along with
the sub-phases, if defined for that phase.
Consider the following example:

The currently selected VL item is the parent item named “Current Phase”. When the children named
“Sub-Phase” is selected, this is how it is rendered:

26
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

If you click on the “Current Phase”, the following tooltip is displayed:

By default, i.e. when the Description is empty, the tooltip displays just the name of the phase title and
the available sub-phases. If you add an icon and a subtitle, this is what you get (see the corresponding
JSON content):

"mdicon": "filter_alt",

"titleprefix": "",

"subtitle": "Classification of asset


based on the CIA requirements"

In this case you can also see the effect of the “spoverride” property:

"spoverride": "Initial asset


classification"

This property allows the override of the default name of the sub-phase that is displayed below the
phase. In this case the default name is “In Progress”. However, since the VL item Level2 includes the
JSON object that includes the “spoverride” property, the displayed text is the overridden one.
Please note that this property is optional.

5.5 Configuring the icons


The most likely parameter you might want to change is the icon associated to a given phase; to do this,
you need to assign a name to the “mdicon” property of the JSON file.
There are many libraries of icons available on the internet. One of the most popular is the “Material
Icons” by Google. Please note the “Material Icons” is the term used by Google to refer to the icon library
aligned with the Material Design guidelines. Very often, the term “Material Design Icons” is also used,
but this refers to a different icon library aimed to cover the gaps Google left with their set and allow a

27
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

lot more community integration. The DWT custom object uses the “Material Icons” and not the
“Material Design Icon” set. The latter is more extended, so if you pick an icon name from this set, the
icon will be displayed only if it’s also included in the Google icon set.
You can browse the available icons in Google Material Icon Set by visiting the following URL:
https://fonts.google.com/icons?selected=Material+Icons
For example, an icon search against the keyword “progress” yields the following results:

Clicking on the “Restart Alt” icon would display the following screen:

The text you must use for the mdicon property is the one on the right, i.e., “restart_alt”. Basically, the
icon names are all lowercase, with spaces replaced by underscore characters (_).

5.6 Display Layer configuration

5.6.1 Concepts
The concept of “Display Layer” is inspired by the concept of “photo layer” available in many photo-
editing tools. A DWT phase is (statically) associated with a number greater than 0. This number
identifies a “virtual layer” which the phase or sub-phase belongs to. The custom object allows you to
select the layers that will be displayed at any given time, and this selection can be either static or
dynamic.
In the first case, the selected layers are defined as a configuration parameter in the custom object code
(CSS variables) and as such, the set of selected layers does not change during the execution of the
custom object. However, is an Archer object (application/questionnaire) is workflow-enabled, multiple
layouts can be defined and considering that custom-object are layout-specific, this implies that DWT
custom objects with different configurations can be defined.
In the second case, the selection of layers can be established through a multi-select values list defined

28
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

in the Archer object. This implies that the set of displayed phases and sub-phases can dynamically
change at run-time, for example it can be updated through the “update node” in an Advanced
Workflow.
To better describe the concept, let’s assume we have an advanced workflow with two parallels paths
that share the start and end nodes. In the picture, the boxes represent the possible phases, not
necessarily the user action nodes:
L2 L2

P1, PH1 P1, PH2


Path 1 Path 1, CWT Phase 1 Path 1, CWT Phase 2

START STOP
L1 L1
PH PH

L3 L3 L3
Path 2
P2, PH1 P2, PH2 P2, PH3

Layers (the circled number) are assigned to the phases, and optionally to sub-phases. In the example
above, the start and end nodes are assigned to Layer 1, so when the Layer 1 is selected, both phases
will be displayed.
If the custom object is configured to display layers L1 and L2, the displayed phases will be the ones
associated with path 1:

START Path 1 STOP


PH P1, PH1 P1, PH2 PH

If the custom object is configured to display layers L1 and L3, the displayed phases will be the ones
associated with path 2:

Below you can see other examples which are screenshots of the real implementation.

These are all the phases of the DWT with the associated layer:

If the selected layers are 1 and 4, the displayed phases will be:

If the selected layers are 2 and 3, the displayed phases will be:

If the selected layers is 4, the displayed phases will be:

If the selected layers are 3 and 4, the displayed phases will be:

29
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

And so on…

A few notes:
1) Display Layers are only about the visualization, that is they are filters applied during the
rendering of the chevrons. As you can see from the examples above, the visualization of the
phases is not influenced by the Past/Current/Future status. This means the currently selected
phase might not be displayed in a given point in time (this may happen especially for the
dynamic configuration)
2) There are no constrains in the definition of Display Layers, so the only check is about the
matching. This means that you can label a phase/sub-phase with Layer 1,2,3 and configure the
custom object to display the layer 7. In this case, since there is no match, an error will be
displayed. If no dynamic layers are selected, the static configuration will be used, and if the
latter is not defined, all the phases/sub-phases will be displayed by default.

The management of Display Layers is broken down into two steps:


1) assigning a Layer to phases and sub-phases you want to filter
2) selecting the Layers to display

The next paragraphs detail these two steps.

5.6.2 Display Layer Assignment


This step is about assigning a Layer (a number) to a phase or sub-phase. Any number greater than 0 can
be used. Assigning a layer to a phase/sub-phase is only required if you plan to use the filtering of
phases/sub-phases. If a phase/sub-phase has no layer assigned, it is displayed by default. If you assign to
a phase/sub-phase a layer that will never be selected, that phase will never be displayed due to a lack of
matching.
Since the DWT phases and sub-phases correspond to the Values List Items of a (2-level hierarchical)
Values List (the one used to model the workflow status), assigning a layer can be done in two ways:
1) By using the numeric value that can be associated with each VL item. This is the quickest
option. If you don’t assign a number to an item, the phase/sub-phase that corresponds to
that item will always be displayed. If layers are assigned, the phase/sub-phase is displayed
only when the assigned layer matches one of the selected layers, either statically or
dynamically. This is an example of configuration of layers using this approach:

30
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

2) By using a specific property in the JSON content that can be included in the description. The
property is named “displaylayer” and the value is the layer number. This option is ONLY
available for phases.
This is how it looks like:
{
"titleprefix": "Step: ",

"mdicon": "grading",

"displaylayer": 3
The “property-based approach” can be used if, for some reason, the numeric value associated with the
VL item cannot be used to represent the display layer, simply because it’s used for something else. This
implies that the custom object will check first is a property with the display layer exist for the item, if not
the numeric value will be considered.

5.6.3 Display Layer Selection


The levels to be displayed can be determined using two different approaches: static (static layers) and
dynamic (dynamic layers).
These two approaches can be individually enabled. When both are enabled, the dynamic layer takes
precedence over the static configuration. However, if the dynamic layers are used and no layers are
selected (no VL items are set), the configuration reverts to the static configuration and if the latter is not
enabled, then all the layers (all the phases/sub-phases) are displayed by default.

NOTE
The static and dynamic selection approaches are not equivalent performance wise.
The dynamic selection takes a little longer to run (<1s incremental delay) due to the
additional API calls to invoke.

5.6.3.1 Static selection


The static selection allows us to define a list of layers as a configuration parameter in the custom object
code through the configuration parameter:
--chevron-display-layers: ;

31
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

By default, the value is empty, which means the static configuration of the display layers is DISABLED.
To enable the static selection, you just must add a comma separated list of numbers that correspond to
the layers to display, for example:
--chevron-display-layers: 1,3,4;
This statement means that the phases or sub-phases that correspond to the values list items with
layers 1,3,4 will be displayed, while the phases/sub-phases with a different layer number will not be
displayed.
When is this approach useful?
Custom objects are layout-specific, so when a workflow uses multiple layouts, an instance of the DWT
custom object must be dropped into every layout. However, each instance can be individually
configured, so that the displayed phases can be layout-specific.
This is very useful to address the visualization issues related with multi-path workflows that leverage
the very same status values list, and the typical example is the Exception Request application in the
Issues Management use case. By using a different static selection, it is possible to display just the
phases and sub-phases specific to a given path, hence improving the overall visualization.
The static selection also works for new records since it’s pulled from the configuration parameters. In
this case, the current phase is set by using the default flag that can be associated to a values list item.

5.6.3.2 Dynamic Selection


In the dynamic selection approach, the list of display layers to use in the filtering process, is pulled from
a multi-select values list, and as such it can change over time, for example in the context of the
execution of the workflow. The following configuration parameter is available to enable the dynamic
selection:
--chevron-displaylayervl-alias: ;

The default value is empty, which means the dynamic configuration is disabled.
To enable the dynamic configuration, the values list that hosts the layers to select, must be defined first
and its alias name should be used as the value of the configuration parameters. So, if the values list alias
is “Selected_Layers”, the configuration parameter looks like this:
--chevron-displaylayervl-alias: Selected_Layers;
The values list should be configured as follows:
 Type: multi-select like pop-up or checkmarks
 Text value: any text string to describe the layer
 Numeric: the number that represents the display layer
This is an example of values list configured:

32
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

The values list items can be set manually or, more frequently, in the context of an advanced workflow
along with an Update Content node. In this way, depending on the specific workflow path, the
phases/sub-phases can be dynamically selected.
It’s important to highlight that the dynamic configuration does not work for new records, since the
values list that selects the display layers cannot be read (the record is not yet committed in memory).
There is an interesting side effect of dynamic configuration.
If the parameter “--chevron-displaylayervl-alias:” is assigned the very same value of the parameter that
hosts the status values list “--chevron-statusvl-alias:”, the DWT will display only one chevron and
specifically the chevron that is currently selected.
For example, if these are the available phases and the “Asset Classification” is selected by using the
above-described trick, this is the chevron displayed:

5.6.4 Visualization policies for phases and sub-phases


The Display Layer functionality supports static/dynamic visualization of phases and sub-phases. In
general, phases and sub-phases are optionally labelled with a layer (number) and a sub-phase can be
displayed only when its parent phase is displayed (this is the definition of phase and sub-phase).
The set of selected layers can be empty (the selection is disabled), it can include some layers that match
the assigned layers, and it can also include numbers that are not assigned to any phase/sub-phase.
For these reasons, specific visualization policies are defined:
1) The static selection is enabled when the configuration parameter “--chevron-display-layers” is
nonempty and is assigned to a comma separated list of numbers (the layers)
2) The dynamic selection is enabled by assigning the configuration parameter “--chevron-
displaylayervl-alias” the alias of the multi-select values list aimed to host the layers to enable for
visualization
3) If a phase does not have a layer assigned and the static/dynamic selection is enabled, that phase
is always displayed
4) If none of the selected layers matches any of the phase/sub-phase layers, an error is displayed
5) If the set of dynamically selected layers (using the VL) is empty, the list of selected layers is
pulled from the static configuration. If the latter is disabled, all the phases are displayed by
default
6) If the status values list is set to target a sub-phase with layer L1, the sub-phase will be displayed
if its layer and the parent-phase layer are selected for visualization. In other words, sub-phases
are displayed only if the sub-phase and its parent phase are enabled for visualization
7) If a sub-phase with layer L1 is set from the status variable, but the level L1 is not included in the
selected layers to display, the sub-phase will not be displayed

33
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

5.6.5 Visualizing assigned display layer


When display layers are used, the DWT allows you to display the layer numbers directly on top the
phases. Layers are graphically rendered as circled numbers, overlayed on the top-right side of each
chevron. This function is enabled by using a special key-mouse combination, and specifically “ALT-
Double Click” (in MacOS the sequence is OPT-Double Click)
So, if this is the list of phases:

As soon as you ALT-Double Click, you get this:

The display layer visualization is only temporary, since it’s mostly aimed for troubleshooting purposes
along with the log messages displayed in the web browser console.
Also note that this capability is not available for sub-phases since they are mostly always not displayed.

5.7 Multiple DWT instances


DWT custom objected introduced the possibility to display multiple instances of the DWT inside the
same Archer layout. This is an example of how it looks like:

This new capability allows us to display multiple instances of DWT in different locations. Clearly, only
one instance can be “stick on the top” while multiple instances can be attached to Sections in the main
page or within Tabs. Each DWT instance can have its own configuration, that is each instance
references a specific status values list and has its own graphics appearance.
From a technical perspective, this capability does not require to create multiple instances of the DWT
custom object fields. The instances as configured by adding additional sets of instance-specific CSS
variables. Each set of variables is grouped through CSS class names (CSS namespace) that must be

34
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

aligned with the name of the div tag that must be dropped into the desired location within the web
form to enable the visualization of the DWT.
This capability requires a slightly more complex configuration and involves a small change of the
JavaScript source code (just one line) and this was due to the characteristics of the CSS technology.

5.7.1 Default configuration (single instance)


The best approach to update the configuration, is copy the custom object source code into a text editor,
to simplify the editing of the file. At the top of the file, you can observe the default set of CSS variables,
that are collected into a CSS class name labelled “StickOnTop” (this name must never be changed). This
is the default set of CSS variable that defines the default configuration of the DWT:

.StickOnTop {
/* MOST COMMONLY UPDATED */
--chevron-statusvl-alias: WFStatus;
--chevron-current-color-scheme: cs-default;
--chevron-display-for-new-records: no;
--chevron-app-alias: ;
--chevron-style: standard;
--chevron-tail-style: standard;
--chevron-tail-coloring: inherited;
--chevron-displaylayervl-alias: ;
--chevron-display-layers: ;
--chevron-divcontainer: stuck-on-top;
/* RARELY UPDATED */
--chevron-phasedone-icon: done_outline;
--chevron-checkmark_if_done: yes;
--chevron-display-status-persistent: yes;
--chevron-background: white;
--chevron-height: 3rem;
--chevron-phase-maxwidth: auto;
--chevron-phase-minwidth: auto;
--chevron-stretched-phases: 100%;
--chevron-animation-delay: 0;
--chevron-margin-top: 0px;
--chevron-margin-bottom: 5px;
--currsubphase-title-color: #000000;
--currsubphase-text-maxsize: 0.7rem;
--currsubphase-backgroundcolor: #DDDDDD;
--currsubphase-bottom-border-color: #a80520;
--popover-background-color: #f2f2f2;
--popover-title-color: #031f5a;
--popover-title-size: 1.1rem;
--popover-subtitle-color: #031f5a;
--popover-subtitle-size: 0.8rem;
--popover-subphase-color: #a80520;
--popover-subphase-size: 0.8rem;
--chevron-phasedone-color: #FFFFFF;
--phase-color-default: lightgray;
--phase-icon-size: 2.0rem;
--phase-title-maxsize: 1.1rem;
--phase-icon-color: #020202;
--phase-subphasebar-past-color: #3a3a3a;
--phase-subphasebar-current-color: #3a3a3a;
--phase-subphasebar-future-color: #3a3a3a;
}
At the bottom of the file, the initial function Sys.Applciation.add_load() includes the definition of an
array of strings, where each string corresponds to the both then name of the div container that will

35
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

host the DWT (where the tracker will be displayed) and also the name of the CSS class (namespace).
These names must be aligned, so that the proper configuration variables can be selected for a given
DWT instance. This is how the source code looks in the default configuration:
// The custom object execution starts here
Sys.Application.add_load(function () { // When the document is loaded...
// List of div containers aimed to host the DWT instances.
// A custom object with the div container name must be configured and placed in
the layout
let DWTContainers=["StickOnTop"]

5.7.2 Adding additional DWT instances


To add a new instance, you first must define the name of the div container, for example “dwtFloating”
Then, copy and paste the set of CSS variables placing them soon after the first set, and change the name
of the CSS class to the name of the div container. Remember also to change the name of the “--chevron-
divcontainer” variable using the same name of the div container. This is how the file looks like at this
stage:
.StickOnTop {
/* MOST COMMONLY UPDATED */
--chevron-statusvl-alias: WFStatus;
--chevron-current-color-scheme: cs-default;
--chevron-display-for-new-records: no;
--chevron-app-alias: ;
--chevron-style: standard;
--chevron-tail-style: standard;
--chevron-tail-coloring: inherited;
--chevron-displaylayervl-alias: ;
--chevron-display-layers: ;
--chevron-divcontainer: stuck-on-top;
/* RARELY UPDATED */
--chevron-phasedone-icon: done_outline;
--chevron-checkmark_if_done: yes;
--chevron-display-status-persistent: yes;
--chevron-background: white;
--chevron-height: 3rem;
--chevron-phase-maxwidth: auto;
--chevron-phase-minwidth: auto;
--chevron-stretched-phases: 100%;
--chevron-animation-delay: 0;
--chevron-margin-top: 0px;
--chevron-margin-bottom: 5px;
--currsubphase-title-color: #000000;
--currsubphase-text-maxsize: 0.7rem;
--currsubphase-backgroundcolor: #DDDDDD;
--currsubphase-bottom-border-color: #a80520;
--popover-background-color: #f2f2f2;
--popover-title-color: #031f5a;
--popover-title-size: 1.1rem;
--popover-subtitle-color: #031f5a;
--popover-subtitle-size: 0.8rem;

36
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

--popover-subphase-color: #a80520;
--popover-subphase-size: 0.8rem;
--chevron-phasedone-color: #FFFFFF;
--phase-color-default: lightgray;
--phase-icon-size: 2.0rem;
--phase-title-maxsize: 1.1rem;
--phase-icon-color: #020202;
--phase-subphasebar-past-color: #3a3a3a;
--phase-subphasebar-current-color: #3a3a3a;
--phase-subphasebar-future-color: #3a3a3a;
}

.dwtFloating {
/* MOST COMMONLY UPDATED */
--chevron-statusvl-alias: MSStatus;
--chevron-current-color-scheme: cs-USA;
--chevron-display-for-new-records: no;
--chevron-app-alias: ;
--chevron-style: flat;
--chevron-tail-style: standard;
--chevron-tail-coloring: inherited;
--chevron-displaylayervl-alias: ;
--chevron-display-layers: ;
--chevron-divcontainer: dwtFloating;
/* RARELY UPDATED */
--chevron-phasedone-icon: done_outline;
--chevron-checkmark_if_done: yes;
--chevron-display-status-persistent: yes;
--chevron-background: white;
--chevron-height: 3rem;
--chevron-phase-maxwidth: auto;
--chevron-phase-minwidth: auto;
--chevron-stretched-phases: 100%;
--chevron-animation-delay: 0;
--chevron-margin-top: 0px;
--chevron-margin-bottom: 5px;
--currsubphase-title-color: #000000;
--currsubphase-text-maxsize: 0.7rem;
--currsubphase-backgroundcolor: #DDDDDD;
--currsubphase-bottom-border-color: #a80520;
--popover-background-color: #f2f2f2;
--popover-title-color: #031f5a;
--popover-title-size: 1.1rem;
--popover-subtitle-color: #031f5a;
--popover-subtitle-size: 0.8rem;
--popover-subphase-color: #a80520;
--popover-subphase-size: 0.8rem;
--chevron-phasedone-color: #FFFFFF;
--phase-color-default: lightgray;
--phase-icon-size: 2.0rem;
--phase-title-maxsize: 1.1rem;
--phase-icon-color: #020202;

37
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

--phase-subphasebar-past-color: #3a3a3a;
--phase-subphasebar-current-color: #3a3a3a;
--phase-subphasebar-future-color: #3a3a3a;
}

5.9 Configuration variables


This paragraph describes the currently available options for the full configuration:

Name Description Possible values Default value


This is the name of the HTML div String with the value of the
element which is used as a container. Within the
container used to display the record layout, you need to
workflow tracker. If the value create another custom
“stuck-on-top” is specified, the object with the simple
--chevron-divcontainer DWT will be stuck on the top. If HTML statement: stuck-on-top
it’s a different string, a div <div>name of
element must be defined container<div>
somewhere in the record layout For example:
and this is where the custom <div>DWTcontainer<div>
object with display.
Name of the values list field alias
used by the custom object to
retrieve the status information.
Since the field name and field alias
are decoupled, you have two
Any non-null string
options:
--chevron-statusvl-alias compliant with the field WFStatus
1. Assign the VL alias the default alias naming conventions
name of WFStatus

2. Configure this variable to match


the existing values list alias
Application alias of the Archer
level that hosts the custom object.
This name is only needed when
Any name compatible with
--chevron-app-alias the parameter “--chevron-display- “”
the application alias name
for-new-records” is set to yes, that
is when the visualization of the
DWT is required for new records
Select the style of the separator
between two chevrons. The
--chevron-style: “standard” option displays the standard | flat
triangle (default) while the “flat”
option displays a vertical line
Select the style of the chevron
--chevron-tail-style standard | flat
style, that is the last chevron. The

38
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

“standard” option displays the


triangle (default) while the “flat”
option displays a vertical line.
When the —chevron-style is set to
flat, the tail is automatically set to
flat as well.
This option allows to set the color
of the last chevron when the latter
is in the Current status (the
workflow is complete). When the
--chevron-tail-coloring option is set to “inherited”, the standard | inherited
color is inherited from the color of
the Past status, otherwise the
status is the one of the Current
status.
Alias name of the multi-select
(popup) values list field aimed to
host the Display Layers, used by
the dynamic visualization. This Any non-null string
--chevron-
name acts like a switch. When this compliant with the field “”
displaylayervl-alias
name is set to “”, the dynamic alias naming conventions
visualization is disabled and only
the static configuration is used (if
configured)
For each completed phase (phases
in the “Past”) it is possible to
replace the original icon with
another one to better denote the A string with any valid
--chevron-phasedone-
changed state. By default a Material Design icon done_outline
icon
checkmark icon (MD icon name.
“done_outline”) is used, but it can
be replaced with other icons using
this variable.
The DWT takes some real estate
to display, but the available space
in the record layout is limited, so
--chevron-default-
the tracker can be collapsed and expanded | collapsed expanded
display
expanded (like the sections). The
default status can be configured
using this variable.
The display of the special icon to
--chevron- mark the completed phases is
Yes | no yes
checkmark_if_complete optional and can be selected using
this variable.
Default background color of the
--chevron-background Any valid HTML color white
DWT
--chevron-current- The DWT supports color schemes. A string that identifies a cs-default

39
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

color-scheme Each scheme includes a selected configured color scheme.


set of colors about the Past, If the color scheme is not
Current and Future phases. found, the default color is
Schemes are aimed to quickly silently used for all the
switch a group of colors. Some phases.
schemes are provided by default
(see next chapter) but you can add
your own. Schemes are identified
through a name and this variable
allows to configure the currently
used scheme.
Any valid CSS unit of
measure for sizes. You can
--chevron-height This is the height of the DWT. simply change the number, 3rem
which can be a real
number (e.g. 3.3rem)
Maximum width for the DWT.
--chevron-phase- A value different from “auto” may Any valid CSS unit of
auto
maxwidth limit the visualization in bigger measure for sizes
screens.
Minimum width for the DWT.
--chevron-phase- This is to tweak the behavior Any valid CSS unit of
auto
minwidth when you shrink the web browser measure for sizes
width
The whole DWT can be stretched
or not. With the default value, the
DWT takes all the available space
--chevron-stretched-
(stretched). With the other option, 100% | no 100%
phases
the phases are "concentrated",
depending on the width of the
phase titles.
The DWT support an optional
animation while rendering the
0 | any number >0
--chevron-animation- phases. This variable allows to set
Typical ranges are from 30 0
delay the animation delay in ms. The
to 120ms.
larger the number, the slower the
animation will be.
Any valid CSS unit of
Space to keep free (blank) above measure for sizes. You can
--chevron-margin-top 0px
the DWT simply change the number
of pixels (integer)
Any valid CSS unit of
--chevron-margin- Space to keep free (blank) below measure for sizes. You can
5px
bottom the DWT simply change the number
of pixels (integer)
--chevron-display- This option is aimed to configure Any comma-separated list
“”
layers the list of display layers to include of integer numbers

40
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

in the static configuration. When starting from 1. E.g.


the list is empty (string “”) the 1,4,5,6,9
static display layers are disabled,
that is layers are not used. A layer
is a number >0.
This option is a switch to configure
the display of the DWT for new
records. When this option is set to
no, when a new record is created,
the DWT is not displayed.
IMPORTANT
When this option is set to yes, the
DWT is displayed for new records
and in this case, the parameter “--
--chevron-display-for- chevron-app-alias” must be set to The possible values are
yes
new-records the application alias name. yes or no
The default value is no, because
this option lengthens the
visualization of the DWT, due to
the additional API calls.
The visualization acknowledges
the static display layers. The
current phase can be configured
using the default flag in the values
list item configuration.
This option allows to configure the
style of the “chevron tail”. When
the “standard” option is set, the
--chevron-last-phase- last chevron tail is shaped like a The possible values are
standard
style triangle, that is it’s aligned with standard or flat
the other chevrons.
If this option is set to “flat”, the
tail is shaped like a rectangle.
This is a flat to configure the
persistence of the
collapse/expand status. When this
parameter is set to yes, the
collapse/expand status is kept and
--chevron-display- The possible values are
stored in the web browser local yes
status-persistent yes or no
storage. So, in this case, is the
DWT is collapsed, it will stay in this
status every time the DWT is
refreshed (change record, switch
tabl, recalc record)
Default color of phases if no valid
--phase-color-default color for the specific Past, Current, Any valid HTML color. lightgray
Future options is available

41
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

If a DWT includes sub-phases and


--currsubphase-title- a sub-phase is select, it is
Any valid HTML color. #000000
color displayed below the parent phase
using this color.
Any valid CSS unit of
measure for sizes. You can
--currsubphase-text- Size of the text that describes the
simply change the number, 0.7rem
maxsize sub-phase
which can be a real
number (e.g. 1.1rem)
--currsubphase-
Background color of the sub-phase Any valid HTML color. #eeeeee
backgroundcolor
--currsubphase-bottom- Color of the border below the sub-
Any valid HTML color. #990202
border-color phase description
Color of the bar displayed below
the phases that include sub-
--phase-subphasebar-
phases. This is the color used Any valid HTML color. #990202
past-color
when the current sub-phase has
status Past
Color of the bar displayed below
the phases that include sub-
--phase-subphasebar-
phases. This is the color used Any valid HTML color. #990202
current-color
when the current sub-phase has
status Current
Color of the bar displayed below
the phases that include sub-
--subphasebar-future-
phases. This is the color used Any valid HTML color. #990202
color
when the current sub-phase has
status Future
--popover-background- Background color of the popover
Any valid HTML color. #f2f2f2
color (tooltip triggered by clicking)
--popover-title-color Color of the title in the popover Any valid HTML color. #031f5a
Any valid CSS unit of
measure for sizes. You can
--popover-title-size Title size in the popover simply change the number, 1.1rem
which can be a real
number (e.g. 1.6rem)
Color of the sub-title in the
--popover-subtitle-color Any valid HTML color. #031f5a
popover
Any valid CSS unit of
measure for sizes. You can
--popover-subtitle-size Subtitle size in the popover simply change the number, 0.8rem
which can be a real
number (e.g. 1.2rem)
Below the subtitle, the sub-phases
--popover-subphase-
are displayed (if present) using Any valid HTML color. #a80520
color
this color.
--popover-subphase- Text size of the sub-phases (if Any valid CSS unit of 0.8rem

42
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

size present) measure for sizes. You can


simply change the number,
which can be a real
number (e.g. 1.1rem)
Any valid CSS unit of
measure for sizes. You can
Size of the icon displayed on the
--phase-icon-size simply change the number, 1.7rem
left side of the phase title.
which can be a real
number (e.g. 1.1rem)
The phase font size is auto-scaling Any valid CSS unit of
depending on the browser zoom measure for sizes. You can
--phase-title-maxsize level as well as the browser width simply change the number, 1.1rem
(viewport). This size clamps the which can be a real
size of the title. number (e.g. 1.4rem)
--phase-icon-color Color of the icons Any valid HTML color. #020202

5.10 Color Schemes


The DWT supports color schemes. Each scheme is a collection of colors for specific elements of the
DWT, namely the phase color, title and icon color for the Past, Current and Future phase types. The
goal of the color scheme is to quickly switch from one visual representation to another. Each scheme is
identified through a name which can be used in the configuration options to select the currently active
scheme.
A default set of color schemes is provided and summarized in the table below. The default scheme
attempts to match the out of the box colors of Archer.
Name of
Look and feel
Scheme

default

icystone

USA

wild

corona

greece

macarons

Color schemes are defined as CSS classes (see below). You can either change the colors of any of the
existing schemes or create a new scheme from scratch.
To create a new scheme:
1) Copy and paste an existing scheme

43
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

2) Change the name of the scheme (the CSS class)


3) Change the colors of the CSS variables

Instead of editing the CSS code directly in the custom object box, a better approach is
to copy the code into a text editor like Notepad or Notepad++, make the changes, and
then copy the modified code back into the custom object box.

Below you can see the CSS variable for the color schemes included in the custom object.
.cs-default {

--phase-color-past: #00A357;

--phase-color-current:#176DC2;

--phase-color-future: #9E9E9E;

--phase-title-past-color: #FFFFFF;

--phase-title-current-color: #FFFFFF;

--phase-title-future-color: #212121;

--phase-subphasebar-past-color: #185c04;

--phase-subphasebar-current-color: #0c4379;

--phase-subphasebar-future-color: #333634;

--chevron-phasedone-color: #FFFFFF;

.cs-icystone {

--phase-color-past: #6B799E;

--phase-color-current:#EBC57C;

--phase-color-future: #a6c2ce;

--phase-title-past-color: #CCC;

--phase-title-current-color: #333;

--phase-title-future-color: #0a1136;

--phase-subphasebar-past-color: #a31800;

44
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #FFFFFF;

.cs-USA {

--phase-color-past: #1F1A4F;

--phase-color-current: #C82024;

--phase-color-future: #EEEEEE;

--phase-title-past-color: #EEE;

--phase-title-current-color: #EEE;

--phase-title-future-color: #0a1136;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #EEE;

.cs-wild {

--phase-color-past: #68c077;

--phase-color-current: #FFD55A;

--phase-color-future: #47547e;

--phase-title-past-color: #EEE;

--phase-title-current-color: #770000;

--phase-title-future-color: #eee;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #EEE;

45
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

.cs-corona {

--phase-color-past: #005A9C;

--phase-color-current: #FFCB05;

--phase-color-future: #EEE;

--phase-title-past-color: #EEE;

--phase-title-current-color: #333;

--phase-title-future-color: #333;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #FFCB05;

.cs-greece {

--phase-color-past: #EB8F90;

--phase-color-current: #FFB471;

--phase-color-future: #ADBED2;

--phase-title-past-color: #333;

--phase-title-current-color: #770000;

--phase-title-future-color: #333;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #333;

.cs-macarons {

--phase-color-past: #B7DDE0;

46
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

--phase-color-current: #FFD0D6;

--phase-color-future: #FEE19F;

--phase-title-past-color: #333;

--phase-title-current-color: #770000;

--phase-title-future-color: #333;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #333;

.cs-jeweldark {

--phase-color-past: #2B628B;

--phase-color-current: #92363B;

--phase-color-future: #A87932;

--phase-title-past-color: #DDDDDD;

--phase-title-current-color: #DDDDDD;

--phase-title-future-color: #DDDDDD;

--phase-subphasebar-past-color: #a31800;

--phase-subphasebar-current-color: #a31800;

--phase-subphasebar-future-color: #a31800;

--chevron-phasedone-color: #DDDDDD;

47
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 6: Sample application

The installation package includes a sample Archer application that is aimed to get started as quickly as
possible, so that you can be familiar with the functionalities and configuration.

6.1 Installation steps

These are the steps to install the application and run the first step:

 Install the package (no mapping required) selecting all the components.
 Edit the application using the application builder.
 Edit the fields “WFStatus” and “Demo” (the values lists used by the custom object) to restore
the proper custom order as described by the pictures below.
o This step is necessary because the custom sort order configured for the values lists is
not retained across the environments when deployed using packages. If you don’t do
this, the visualization of the DWT will be scrambled.

48
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

 Enable the workspace named “DWT Demo”


 Create a new record of DWT Demo application: you must assign a name and select a value for
the WFStatus values list (this is the default). This is the outcome:

Now you can start tweaking the configuration using the guidelines provided in the previous chapters.

49
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Chapter 7: Troubleshooting/FAQ
Q: I deployed the custom object. Why isn’t anything showing up?
The first thing to do is to open the web browser console (F12 in Chrome/Edge) and look at the
console messages. The most common reason is that you changed the variable “Chevron-
divcontainer” using a name the DWT does not know, so please check the names.

Q: I have configured the JSON object, but the configuration is ignored by the custom object. What
did I do wrong?
The most common cause is the wrong format of the JSON object. In case of errors, the content of
the whole JSON object is ignored, so that the tracker can still be displayed, but the content of the
popover does not include the basic configuration. Please check the quotes, colons, and the commas
to make sure the syntax is correct. Also consider that some “ghost characters” might be included,
especially if you copy/paste the JSON content from the web or a Word document. In this case, first
copy/paste the JSON into a text editor to remove formatting.

Q: What if I disable a values list item?


The DWT acknowledges the status of the values list items. Considering the values list items can be
organized as a 2-level hierarchy, the following policies are enforced:
- If the item at level 1 (parent) is disabled, all the children’s items are disabled as well.

- If an item at level 2 (children) level is disabled, only that item is disabled. Sibling items and the
parent item are left intact.

Q: I deployed a package with an application that hosts the DWT custom object and the
visualization of the phases is wrong (out of synch with the expected ordering).
What’s happening?
The reason is that when you move an application across two different environments (e.g. from dev
to prod) the custom ordering you configured for the status values list is not preserved.
The issue can be easily fixed by editing the values list items and restore the ordering of the items and
save the field or simply save again the field.

Q: Where on the record layout can I place the custom object?


You can place the custom object in any section, even if it’s collapsed. You can also place the DWT
into a Tab, but this must be the default one, otherwise the custom object will not run.
If you plan to display the DWT in a position other than the top (“stuck-on-top” option), you have to
define another simple custom object that includes only the div element in where the tracker will be
rendered (e.g.: <div>DWTcontainer</div>). In this case, you can drop this custom object in tabs that
are initially hidden, assuming the main DWT custom object follows the previous rules, because it
must run as soon as the record is opened.

Q: I see a red banner on the top with message “No item selected in Status Values List”.
What does it mean?
The values list you are using to track the status to render, is currently set to the item “No Selection”

50
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

which means no item has been selected. This typically happens when you add the custom object to
an application and the values is already defined and has no value assigned. The best way to prevent
this is by setting as default item one of the items in the values list, so that a default status is already
selected when the record is created.

Q: I configured the icons via the JSON content, but the icon does not show up and I see many
spaces before the name of the phase. What’s happening?
The DWT object only supports the Material Icons by Google. The name of the icon must be one of
the set available here https://fonts.google.com/icons
If the icon name is mistyped, the custom object has now way to check it at runtime, so blank spaces
are displayed. The solution is to check the name od the “mdicon” property in the JSON content.

Q: Why I can view the workflow tracker only when the record is opened in edit mode?
The Archer custom object has a display option (at the bottom of the property panel) that includes
these three options:
 Display when editing a record
 Display when viewing a record
 Display the custom object when viewing or editing a record
The first is the default one, so you must change the option to the third.

Q: I want to get rid of the line displayed below each chevron that includes sub-phases.
How can I do it?
The configuration parameter “--phase-subphasebar-color” allows to configure the color of the “sub-
phase bar”. The CSS color codes can be of different types and fully support transparency. If the RGC
color coding is used, you can made fully transparent a color by adding “00” at the end of the hex
color code. For example, if the color code is #CC2233, you can make the bar fully transparent by
using the color code #CC223300 (of course, since this is transparent, you can use any combination
for the first 6 hex digits…)

51
Archer Dynamic Workflow Tracker Tool & Utility Implementation Guide

Appendix A: Certification Environment


Date Tested: November 2022

Product Name Version Information Operating System


Archer 6.12 P1 Windows 2019

52

You might also like