User Interface

 


[Portal 🡪 Harness 🡪 Container 🡪 Section 🡪 Layout]

✪      Pega is a low-code platform. Low-code describes an application-building development environment that uses graphical user interfaces … (App Studio)

User Interface components:

⮚      Portal rule: [Portal > Harness > Container > Section > Layout]

Is the web channel interface (appeared soon after sign-in to PRPC) that determines the layout and appearance of ‘user and developer workspaces’ and is an instance of Rule-Portal class

●       Dashboard: Displays recent operational information about the state of work and processes in Case Manager Portal of PRPC

●       Contains single Harness

●       OOTB Portals: Developer (Final – can’t be overridden) & pyCaseManager7 (editable)

Developer portal is also called Designer Studio till V7, Dev Studio from V8

●       Portal customization steps (using predefined rules):

☞      Better use the below predefined rules as it is

Access Group > Portal > Harness (Data-Portal) > Header (pyPortalHeader Section) > Left panel (pyPortalNav Section) > Central panel (pyPortalContent Section) > pyDashboard7 (Harness)

⮚      Harness rule: [Harness > Container > Section > Layout]

It defines the work object form (also Rule form & Portal form) of type Rule-HTML-Harness

☞      Work object forms (also called application related Screens i.e. web pages)

●       Harness contains n number of Containers which can again contain n number of Sections which in turn contains Layouts consisting Controls & Properties

●       Container is an element to contain n number of Sections in it. When you try to create a harness, default layout is screen layout. A harness can contain only one screen layout

●       When you try to create harness it contains a screen layout by default. We can change it as Container by drag drop it from Structural menu

●       Harnesses can be nested

●       Some of very important OOTB Harness types:

1.      New harness (Flow > Process tab):

🡪    Called in Flow > Process tab

🡪    Gives as brand new screen to capture initial WO (Case) info from user

🡪    Creates Case through Done button by AddWork activity

🡪    NewDefaults stub activity is invoked on New harness renders

🡪    Imp Sections on it: pyEnterCaseDetails / pyNewCaseHeaderInner

2.      Perform harness (Flow > Assignment shape): Allows a user to perform an action on assignment by selecting a Flow action (either Local & Connector actions)

🡪    Called in Assignment shape

🡪    Updates Case through Finish Assignment activity called in its submit button

🡪    PerformDefaults stub activity is invoked on Perform harness renders

🡪    Imp Sections on it: pyCaseActionArea

3.      Confirm harness (Flow > Process tab): Gives read-only confirmation display of WO (like acknowledgement)

🡪    Called in Flow > Process tab

🡪    Gives read-only confirmation display (like acknowledgement)

🡪    Confirmation text can be customized by Assignment shape itself

4.      Review harness: It appears when try to open the pending WO

🡪    Gives read-only info of the Closed Case

5.      Reopen harness: It appears when try to open the closed WO

🡪    It reopens resolved Case

⮚      Section rule: [Section > Layout > Cells]

It defines the content as reusable horizontal component (portion) appeared on the Harness, is of type Rule-HTML-Section

●       General path to create Section rule:

🡪    Create menu > User Interface > Section

🡪    Enter Label & Identifier

🡪    Enter Context (Application, RuleSet Name, RuleSet Version & Class)

☞      Follow the same path to create any other rule

●       Section contains Layouts (n number), that in turn contains n number of cells (Controls & Properties)

☞      Controls (as front end) represent HTML & Properties (as back end) represent Variables

☞      Caution: Controls & Properties must be compatible

●       Sections can be nested

●       Layout (an element, not a rule):

🡪    Layout is a UI element that aligns (organizes) the controls and properties within a section through Cells

🡪    Layout behavior is defined through its Properties panel & Cell behavior is defined through its Cell Properties panel

▪         Some of its characteristics (Attributes) for both Fields & Layouts are like –

Label / Place holder [A symbolic value (in grey mode) used in place of a real value] / Helper text (formerly Tooltip) / Visibility / Disability / Required / Localize (language specific, ex: à°šిà°°ుà°¨ాà°®ా for address field) / Read only / Width / Min / Max / Text align (left or right) / Container & Label formats / Actions against Client events …

Colors / Images / Icons / Menus & Navigations / Nested Layouts & Sections

★      Place holder: The short hint is displayed in the field before the user enters a value

★      Helper text (formerly Tooltip):  The short hint is displayed over the field when you hover over it

★      Visibility: It shows or hides the field

★      Disability: Can’t be usable and clickable

★      Localize: Language specific

▪         Some of its Layout characteristics are like –

★      Layout format: Aligning the fields into column structure

Inline: Column after column format

Inline grid double: 2-Column format

Inline grid triple: 3-Column format

★      Container format: Box format (like Colors, paddings …)

★      Pagination (also Paging): is distributing records across pages within a Web page [Appears in repeating dynamic layouts only]

☞      the sequence of numbers assigned to pages in a book or periodical within a page (container page)

★      Defer load contents: To delay loading at run time

●       Types of Layouts:

1)      Dynamic Layout: Horizontal - Responsive behavior (HTML5 feature) through its <Div> tag

2)      Column Layout: Vertical - Responsive behavior

3)      Repeating Layouts:

🡪    Table (Repeating Grid Layout): To hold list of records in embedded format [through its <Table> tag of HTML]

🡪    Repeating Dynamic Layout: To hold list of Sections in embedded format [through its <Div> tag of HTML]. So it can be used for all devices for responsive behavior (adjusted according to screen size)

4)      Layout Group:

 

 

🡪    We can group other layouts, Sections, Accordions, Menus, Mobile tabs etc…

1.      Layout Group (Accordion): only one Section is expanded at a time while remaining are collapsed (All Sections in it are in row format)

2.      Layout Group (Menu): All Sections in it are in dropdown format as menu options

3.      Layout Group (Tab): All Sections in it are in tabbed format

5)      Screen Layout: Used in Portal Harness

🡪    It defines the overall structure of Portal Harness (single screen in the Portal). When you try to create harness it contains a screen layout by default. A harness can contain only one screen layout

🡪    Screen layout (default) is used define the overall structure of Portal Harness (single screen in the Portal development). whereas Container is used to define our Screen (application related web pages) structure

6)      Free form Layout: Deprecated, fixed columns

7)      Smart Layout: Deprecated, free columns – but not flexible

●       Sections are usually defined in Data- classes (not in work classes)...

a)      Create Data class and create Section in it

b)      Create a Page property in work class and specify the above Data class as Page definition

●       Use this Data class Section in our Work class Section by Page context & better map (initialize) .pyLabel = “ “ in Data Transform  to load Section on UI

⮚      Control rule (front-end) in Pega:

Defines the presentation style of the Property and is of type Rule-HTML-Property – whereas Property rule (as back-end) is just like a variable that stores the data

●       Some of important Controls (called HTML elements):

🡪    Text boxes, Text Areas, Button, Links …

🡪    Checkbox: Single selection of TWO choices

☞      To configure slider Checkbox button as:

Use CSS class (in Cell read-write classes field): iOS iOS-slider or right-aligned phone ios-slider or iOS rf

🡪    Radio buttons: Single selection of FEW choices

🡪    Dropdown: Single selection of fixed LIST choices (LOVs)

Note: Cascading dropdown list is a series of dependent dropdown list controls in which whenever the parent dropdown changes, the dependent child dropdown should be updated & refreshed automatically with corresponding LOVs

🡪    Auto complete: Single selection of HUGE choices (LOVs) with a partial list of text-matched choices

🡪    Accordion: is the UI control through which only one Section is expanded at a time while remaining are collapsed

🡪    Tooltip Control (in V8):

It shows the section as a pop-up Smart Info (with dynamic data) on mouse hover

Note:

Smart Label Control (prior to V8) is replaced by Tooltip Control (in V8) whereas

Tooltip Control (prior to V8) is replaced by Helper Text Control (in V8)

Clickable check box: It provides the close button on pop up to get it closed

●       Caution: Controls & Properties must be compatible

☞      Property rule (as back-end): Just like a variable that stores the data temporarily in Clipboard page (later it gets saved into db), is an instance of Rule-Obj-Property

Ex: Emp ID, First Name, Last Name, DOB, Age …

●       The default format of DateTime (on Clipboard):

20210713T032301.331 GMT [i.e. “dd/MMM/yyyy hh:mm:ss” “IST”]

☞      Field Value rule: To make applications Language specific (Localization) such as defining the Labels, Place holders, Captions, Helper texts, Tooltips, LOVs etc., is an instance of Rule-Obj-FieldValue

o   Localization (or Internationalization): It defines the Application in local languages for target users using Filed Value rules. It’s symbolic expression is i18n (18 = 18 letters)

⮚      Skin rule: It defines the presentation of content in Application & generates the CSS styles, and of type Rule-Portal Skin

●       Mixin (Reusable style variables): is a combination of typography (style and appearance of printed matter), border, and background styles and can be used everywhere in the Skin

⮚      Navigation rule:

●       To define the structure of Menu bar as multi-level links, is of type Rule-Navigation

●       Provides the list of multi-level links as Menu bar structure such as Button menu, Link menu

●       Each Navigation rule represents one Level

⮚      Paragraph rule: It provides rich-text editing to include it in Section, Correspondence, Smart Label control so on, of type Rule-HTML-Paragraph

⮚      HTML rule (Hand coded complete HTML form):

To define the screens completely with hand coded HTML or JSP, of type Rule-Obj-HTML

⮚      HTML Fragment rule (Hand coded reusable piece of HTML form):

Is just like 'HTML Rule' but it is reusable piece of code (HTML, Java Script, CSS, JSP), of type Rule-HTML-Fragment

●       Stream Processing:

☞      Conversion process of UI rules (from d/b) into HTML Forms (to end user)

☞      Best practice is to organize the fields into n number of Sections to avoid Stream processing issues

Comments

Popular posts from this blog

Good to know things before attending Interviews

Properties in Pega

Creating and Configuring email listener