Exam Questions Flashcards
What is the order of environments throughout the lifecycle of a project?
Sandbox -> Dev -> QA -> Staging -> Prod
Outside of branches what is another way that developers can work on the same application independently of one another?
- Branches / Branched RS
- Create a development application
- Built on the production application
Based on the information below, if you execute the rule when .Dept=Accounting, which version does Pega Platform™ use?
Rule Version Circumstance
01-01-01 None
01-01-01 .Dept=Accounting
01-01-15 None
01-01-25 None, base rule selected
01-01-30 .Dept=Accounting
01-01-35 None
- 01-01-25, None, base rule selected.
- 01-01-01, .Dept=Accounting.
- 01-01-01, None.
- 01-01-30, .Dept=Accounting.
- 01-01-30, .Dept = Accounting
* This version is the circumstanced version in the highest ruleset version above the ruleset in which the base rule flag was selected. All the rules before the base rule selected version are not applicable*
Based on the information below, if you execute the rule when .Dept=Engineering, which version does Pega Platform™ use?
Rule Version Circumstance
01-01-01 None
01-01-01 .Dept=Engineering
01-01-15 None
01-01-20 .Dept=Engineering
01-01-25 None, base rule selected
01-01-35 None
- 01-01-35, None
- 01-01-01, None.
- 01-01-20, .Dept=Engineering.
- 01-01-01, .Dept=Engineering.
- 01-01-35, None
* Rule version 01-01-25 has the base rule selected. All the rules before this version are no longer applicable. When the system looks at only those rules available for ranking, the circumstance for Engineering is not applicable. The system chooses the highest version of the rule without any circumstances defined.*
* When we have a new base rule flagged, ignore previous circumstancing AND all previous rules*
* We don’t have to select the actual new base rule, just one in a higher RS like we have in this scenario*
When do we want to use a Queue Processor versus a Job Scheduler?
The real exam question was a word problem
Queue Processor:
- We want to use a queue processor for tasks that can either be queued immediately or delayed (not time sensitive)
- Tasks are queued using either a Run in Background smart shape or Queue-For Processing method in an activity
- Run a specific activity on a queued item
- Standard Configuration
Job Scheduler:
- Schedules a recurring task that runs at a specified interval or at a specific time
- Advanced Configuration
If Activity A made a Branching call to Activity B what would happen after Activity B was finished? Where would the control return to?
What would happen in the same scenario if instead we called Activity B with an activity Call method?
Call:
- Runs the specified activity then returns control to the calling activity
Branch:
- Runs the specified activity, but then control returns to the rule that called the activity first
- PROCESSING OF THE CURRENT ACTIVITY ENDS
- NO STEPS AFTER THE BRANCH STEP ARE EXECUTED
Select the content that is included in the ALERT log file?
- Contains warnings, errors, and information about internal operations
- Contains performance-related messages
- Contains alerts that suggest improper configuration of IAC
- Contains performance data saved from services
- Contains performance-related messages
Which of the tools is generally used first when analyzing system performance?
- Clipboard
- Database Trace
- Performance Analyzer
- Performance Profiler
- Performance Analyzer
Rule resolution is applied to which of the following listed class instances? (choose 3)
- Case types
- Operator IDs
- Properties
- Sections
- Workbaskets
- Case type
- Properties
- Sections
In rule resolution, ranking the remaining rule candidates uses a 3-step subprocess. The first step is to sort the remaining rule candidates. Which of the following criteria is sorted last?
- Class
- Circumstance
- Circumstance Date
- Ruleset Name
- Ruleset Version
- Ruleset Version
Which of the following scenarios is LEAST likely to use circumstancing as a mechanism to provide the specialization described?
- Provide specialized functionality when “ReferredByEmployee” property is “Bob Buran” and the “PositionAppliedFor” property is “REQ2”
- Provide specialized functionality when a rule is called during the months of October - December
- Provide specialized functionality when creating a particular case
- Provide specialized functionality when the “StartDate” is after January 1, 2020
- Provide specialized functionality when creating a particular case
You wish to create a declarative expression named CalculateRate. You want to specialize the functionality based on the AccountNumber property. Specifically, any account between 64111-64999 should have this special functionality. Assuming circumstancing is used to provide this specialization and that CalculateRate does not exist in the current system, how many rules at minimum must be created?
1
2
3
4
4
How do we limit the # of duplicate cases that we see?
- Add some more basic conditions to qualify
- Raise the threshold
- Reduce weighted condition values
Where is the data from a temporary case stored?
- Temporary cases data is stored in memory in the clipboad and NOT stored in the Pega Database.
How do we ensure that pre/post processing actions don’t overwrite data on multiple visits to the same step in a Data Transform or Activity?
- Add conditional logic to the Data Transform / Activity
Which two data structures can be tested for completeness?
- Decision Tables and Trees
For reporting structure and authority matrix when is the approval chain set? When called? During each step of the chain?
Reporting Structure:
- Approval always moves up the submitter’s reporting structure
- Honestly this one could also go both ways it may be set at the beginning or just based on the current user’s direct report at each step of the chain
Authority Matrix:
- Approval chain is directed by a set of conditions (custom condition based path)
- WHEN A REQUEST IS MADE the system populates the approver list with the operators who evaluate true in the table
What are the two steps in order to find duplicate cases?
- Use a persist case shape after the duplicate check
- Set as a temporary case in the first step of the flow
- Set as a temporary case in the starting flow action
- Use a persist case shape after the duplicate check
- Set the case as a temporary case in the starting flow action of the case type
Which one of these situations would require an authority matrix? There are two types of cascading approvals (one uses reporting structure and one uses authority matrix)
- Manager
- Manager’s Manager
- CEO (if income < 10 and from US)
- Head of HR (if income > 10 and from Europe)
- CEO
- Head of HR
- Use an authority matrix that requires multiple approvers, where a set of rules directs the approval chain. (Use reporting structure when approvals always move up the reporting structure of the submitter or another defined list)
- Basically, conditional approval chain = authority matrix and constant reporting structure or list = reporting structure configuration.
The authority matrix model determines the approvers using a list of operators stored in a Page List, and a single value property that identifies the approver. In most situations, you use a decision table for populating the list. This list is set when a request is made.
If approval conditions exist, use the authority matrix model!!
If we want to add a section to the bottom of a user portal how do we do this?
The organization of the portal affects how the contents of the portal are presented to the user. The default user portals are organized with a header, a left navigation pane, and a content pane. To change the layout of the portal, you change the screen layout used in the harness. To modify the content in these sections, you use Live UI in the screen layout to identify and open the section to configure.
- In Pega, a portal is represented with a portal rule.*
- Portal rule = type of user expected to use the portal*
- Harness = organizes the portal contents*
- Skin = Defines the branding applied to the portal (text size, font style, background color)*
What are the best 3 ways to prevent horizontal scrolling on mobile?
- Use native controls
- Table format vs Dynamic repeating format (dynamic layout)
- Layout Groups
- Set the maximum pixels to 44
- Fixed Layout
- Use native controls
- Dynamic repeating format (dynamic layout)
Mobile Interface Design Approaches
- Set widths in percentages
- Use auto-generated controls
- Incorporate native features
- Use data pages as data sources
- Use layout groups
- We can also prioritize columns in tables with a higher importance than others
- Create a simpler user interface
- Design for finger taps
- Test the applications
Which two rule types do we localize
- Field Groups
- Paragraph Rules
- Dropdown menu options
- Correspondence Fragments
- Paragraph Rules (for instructions and messages)
- Correspondence Rules (for emails and other correspondence)
A field group is NOT the same as a value – A field group for example would be a contact in a cellphone (think object)
Which of these 3 are true about mobile offline syncing?
- Rules called by scripts as part of an action set on a UI control need to be whitelisted in order to sync properly
- Delta-sync improves time by only syncing small amounts of data
- Blacklist data pages that are large and change infrequently
- Rules called by scripts as part of an action set on a UI control need to be whitelisted in order to sync properly
- Delta-sync improves sync time by only syncing small amounts of data at a time
* As the name suggests a delta sync does any of the changes that have been made since the last sync.* - Blacklist data pages that are large and change infrequently
* For example, you may add a data page listing countries of the world to a delta sync blacklist (I thought that the question said referenced infrequently so watch out for this distinction)*
* Other info: Use large data pages to store reference data in your application to improve performance of a mobile app. Only individual records of the large data page that have changed are synced.*
* pyModificationDateTime*
* pyIsRecordDeleted*
How do we enable offline support for a mobile app? What two things do we have to configure?
Enable offline support for users by configuring the appropriate access groups and enabling the appropriate case types for offline processing
Decide which users and which case types require being able to work offline
When the network connection state changes and the device comes back online, data sync is triggered automatically for the offline-enabled application, and any saved data is updated to the server. An _indicator_ displays whether you are _online, offline, or currently syncing with the server_
How would we assign operators in two different units to the same work group?
- Add the work group to each operator’s profile
- Add the operator’s to the work group itself
Answer: Add the work group to each operator’s profile
For example we have Charlie Garcia who is an iaconsultant and we also have Sharon Doherty who is a uxdesigner. The consultant is a member of the Technical Enablement unit and the ux designer is a member of the Design unit. In order to facilitate working across units, both the consultant and the ux designer are assigned to the Design work group to give each memeber of the work group the ability to access work from a shared queue. (I think in the example that they gave only the individual consultant had to be assigned because the design work group was the default work group in the case of the UX designer)
Organization -> Division -> Unit -> Unit (child - sometimes)
- Members of a work group may belong to different organization units, divisions, or even different organizations.*
- Operators and work queues are associated with business units in the organization. You can create work groups to share resources across the organization, regardless of the business with which the operator is associated.*
- The operator must always be configured with a default work group. If the operator receives work from other departments with their own work queues, the operator must be configured with more than one work groups*
- Other Information:*
- A unit can have child units. For example, two units such as Hardware and Software may report to a single unit (Internal) that belongs to the IT division. The Internal unit manages IT requests from inside the organization. The child units handle the requests and inventories and ship the items*
- Unit:*
- Divisions can have one more more units. A unit contains operators who perform work specific to their organization. These operators can include caseworkers, agents, and customer service representatives.*
- Division:*
- An organization can have one more more divisions. A division is definable as a layer for categorizing business unitst such as region, brand or a department*
When we have a pre-processing data transform on a flow action, what are two ways that we can ensure data integrity?
- Checking conditions
- Account for them refreshing the case
- Checking conditions
- Account for them refreshing the case or is presented with the assignment
- Pre-Processing flow actions are performed any time that the user selects the assignment or is presented with the case (IE refreshes or returns to the case later on down the line)*
- This DOES call pre-processing data transform on the flow action a second time so we need to account and check for this to make sure it wouldn’t run something twice that should not be.*
- For example think of a withdraw case from a bank account, we should not keep withdrawing money each time that the page is refreshed.*
Explain Split Join, Split for each, and Spinoff differences
Split Join:
- Multiple functions running in parallel with join conditions to determine when the primary process continues
Split for each:
- One function applied to a list with join conditions to determine when the primary process continues
- Runs on page list/group
Spinoff:
- Main process continues, does not care about this spinoff background process
What type of parallel processing would we use if we had a doctor’s process A that requires manager approvals (subprocess B). We decide that we should halvke 3 managers working on these approvals at the same time. We need 2/3 approvals in order to continue with process A.
Answer: Split for Each
The main differentiator here is that we use Split for each if we are running multiple instances of the SAME subprocess and we use Split Join if they are DIFFERENT subprocesses.
- Split for each shape allow you to run one subprocess multiple times by iterating through a set of records stored in a page list or page group.*
- Spinoff allows you to run the subprocess in parallel with the main flow. The main process does not wait for the subprocess to complete before proceeding.*
- Join Conditions:*
- on SFE and SJ you can use Select Any to join after any of the subprocesses have completed, Select All to continue the main process after all of the subprocess have completed, and Select Some if you want to use a when rule or a count to determine when the main process can resume.*
A company would like to automate the delivery of a report of new hires who would like health insurance. They would like to run a report monthly on the last Friday at 1am. Which background processing option would best satisfy their need?
- Background Agent
- Dedicated queue processor
- Job Scheduler
- Standard Queue Processor
- Job Scheduler
Use Job Schedule for any repetitive tasks on a set interval
A company wants to batch inbound applications together and set them to batch run multiple times a day, which background processing options would work?
Background Agent
Dedicated queue processor
Job Scheduler
Standard Queue Processor
Dedicated Queue Processor
Queue Processors queue tasks for background processing. Used as either a Run in Background smart shape, or as the Queue-For-Processing method in the activity. This is the correct answer for a question like this because we are batching inbound jobs into the queue and we would use a dedicated queue processor because it allows us to delay the processing of the queued items. By using dedicated nodes or off peak hours, users can continue to process cases without any impact caused by the uploading operations.
- Standard Queue Processor:*
- Process a queued item immediately*
- Dedicated Queue Processor:*
- Delay processing of queued items
- Job Scheduler:*
- Schedules a recurring task*
- runs at a specified interval
- Identifies the items to process at that time
For each of the scenarios match Job Scheduler / Standard queue processor / Dedicated queue processor
A. Upload an insurance claim to an external database after normal business hours
B. Submit each status change to an external system. Processing does not require high-throughput
C. Delete older records from log files
A. Dedicated Queue Processor Upload an insurance claim to an external database after normal business hours
Queueing up items that come in throughout the day to be run on a dedicated node. Anytime we are queueing something to be batch run later it is a dedicated queue processor
B. Standard Queue Processor Submit each status change to an external system. Processing does not require high-throughput
Not requiring high throughput is important here because we don’t want to bog the system down as this will run immediately in the background as normal operations continue on a standard queue processor
C. Job Scheduler Delete older records from log files
Set interval to run a set task
Refund requests are queued for overnight processing. What two pieces of information are required to queue the refund request? (Choose Two)
- The ID of the queue processor.
- The ID of the customer requesting the refund.
- The case ID of the refund request case.
- The date and time at which the queued item can be processed.
1.
For a dedicated Queue processor configured to process items on a delay, you must specify the queue processor ID.
- The date and time at which the queued item can be processed.
For a dedicated Queue processor configured to process items on a delay, you must provide a Date time property for the queued object.
________ queues are used for simple queue management. _______ queues can be used when the task is delayed for processing.
Standard queues are used for simple queue management. Dedicated queues can be used when the task is delayed for processing.
Service Agents at a marina belong to two access groups that inherit permissions from different dependent roles: T1 Service Agents inherit permissions from the PegaRules: User1, and T2 Service Agents Inherit from PegaRULES: User4.
Application requirements state that T1 and T2 Service Agents can create cases in Work-Painting and Work-Repair, but only the T2 Service Representatives can modify cases.
What is the best approach to implement this requirement?
- Configure an Access When record for the edit feature in both Work-Painting and Work-Repair and reference the T2 Service Agent user role.
- Clone the Standard Access Role permissinos for PegaRULES: User4 and configure the role to include edit access.
- Configure an Access of Role to Object (ARO) record in Work- class to include T2 Service Agent’s edit permissions
- Configure an Access of Role to Object (ARO) records on both Work-Painting and Work-Repair to include T2 Service Agent’s edit permissions.
- Configure an Access of Role to Object (ARO) record in Work- class to include T2 Service Agent’s edit permissions
* This approach maximizes reuse of dependent role permissions as instances of Work-Repair and Work-Painting will inherit the permissions set in the Work- class.*
* Some of the other options here would work, like an Access When record but if we wanted to edit stuff later on down the line we would have to update the Access When rules, or if we added a Work-Building class then we would have to remember to set these Access When records up instead of just having the permissions being inherited from the Work- class.*
You want to restrict access to a specific flow action to certain users. Which two steps must you perform? (Choose Two)
- Add the privilege to the flow action record.
- Add an Access When record to the flow action.
- Add the privilege to the users’ access group.
- Add the privilege to a user role that is available to the users’ access group.
1. Add the privilege to the flow action record
- This will require that users have the specific privilege in order to perform the action*
2. Add an Access When record to the flow action. - No, Access When records are used for conditional access*
3. Add the privilege to the users’ access group.
NO, PRIVILEGES are NOT added to ACCESS GROUPS
4. Add the privilege to a user role that is available to the users’ access group.
Yes, after we add the privilege as a requirement in the flow action record then we can add the privilege to the user role or roles that we want to be able to access the flow action
What requirement do you satisfy with an Access When record?
- Managers can perform an optional action to transfer a case to another workbasket, but users cannot.
- Government regulations require that you explicitly block user access to personally identifiable information.
- Company policies require that you only allow managers to run reports on purchase requests.
- Accountants can edit a purchase request only if the case was created by a member of their assigned department.
What requirement do you satisfy with an Access When record?
- Managers can perform an optional action to transfer a case to another workbasket, but users cannot.
- Government regulations require that you explicitly block user access to personally identifiable information.
* You configure an Access Deny record to explicitly deny user access to instances of a class, such as a case type or data type. Whenever I see regulations I should think of Access Deny records - Think of them as targetted denial of access due to changes.* - Company policies require that you only allow managers to run reports on purchase requests.
.
4. Accountants can edit a purchase request only if the case was created by a member of their assigned department.
Access When records are used to conditionally allow users to perform an action, think of them literally as when rules with very specific scenarios. The other answers can all be answered through different role based access control.
For what reason would you configure an Access Deny Record?
- To prevent users from performing a specific flow action
- To prevent users from deleting attachments to a case
- To explicitly prevent users from deleting cases to satisfy a company policy
- To prevent users from updating cases durinog a particular stage of the case life cycle
- To prevent users from performing a specific flow action
- To prevent users from deleting attachments to a case
3. To explicitly prevent users from deleting cases to satisfy a company policy
- You configure an Access Deny record if government or corporate regulatinos require explicitly denying an action to users. Even though there are probably other role based access controls that can handle this, we need to use Access Deny records so that the regulations are satisfied that access is denied.*
4. To prevent users from updating cases during a particular stage of the case life cycle - This would be an Access When rule because it is a conditional access denial based on them being in a particular stage*
Pega Web Mashups provide the same rich application experience users normally have in a Pega Platform Application. True or False?
ANSWER: True
- Actions commonly defined inside a mashup include:*
- Opening a new case*
- Displaying a user’s worklist*
- Selecting and performing an assignment*
The ________ _______ ______ option opens a window that provides the necessary HTML for you to copy, paste and view within the web page. You can modify the code to meet the specific needs of the web page or customize the appearance of the mashup. Ex: You can set the width of the mashup
The Generate mashup code option opens a window that provides the necessary HTML for you to copy, paste and view within the web page. You can modify the code to meet the specific needs of the web page or customize the appearance of the mashup. Ex: You can set the width of the mashup
Pega provides a standard authentication service named ________ ________ ________ (___) for Pega Web Mashup configurations
Pega provides a standard authentication service named Internet Application Composer (IAC) for Pega Web Mashup configurations
The standard IACAuthentication activity extracts values from ____ ______ in the request to identify an authenticated Pega Platform operator ID.
The standard IACAuthentication activity extracts values from HTTP headers in the request to identify an authenticated Pega Platform operator ID.
The standard IACAuthentication activity uses the operator’s identifier to verify that the user is in the system.
Which security switch blocks unregistered and unencrypted requests coming from the client.
- pyuseridentifier
- pyShowSecureFeatureWarning
- pyBlockUnregisteredRequests
- pzSecureFeatures
- pyBlockUnregisteredRequests
* Requests are blocked with a 403 error*
Pega Web Mashup supports which 3 options for passing data to or from a Pega Platform application?
- data-pega-event-onpagedata
* Use the data-pega-event-onpagedata attribute to specify the default value for the gadget* - Javascript function doAction()
* Use the Javascript function doAction() to set or read data values from the web page hosting the gadget, such as by clicking a button. Call the doAction() function using the syntax: pega.web.api.doAction([gadgetname], [action], [parameters])* - Action object to perform additional actions on a web mashup gadget (or configure the gadget to interact with another gadget)
* Use an action object to perform additional actions on a web mashup gadget or configure the gadget to interact with another gadget. Configure the action object as a script within the gadget DIV tag and specify the attributes and paraameters as required to perform the action.*
To use the value of an element from the page JS as the value of a gadget attribute or action parameter use [_____ / _____ / _____].
To use the value of an element from the page JS as the value of a gadget attribute or action parameter use [page/id/elementID].
elementID is the name of the DOM element
To use the value returned by a function on the page JS as the value of a mshup attribute or action parameter, use the syntax [____ / _____ / ____].
To use the value returned by a function on the page JS as the value of a mshup attribute or action parameter, use the syntax [page/function/token].
In the syntax ‘token’ is a string that has meaning to the function. Specify the functino used to retreive the value by using the data-pega-event-onpagedata attribute
Use the _________ and ______ actions to read and set property values in a mashup gadget.
Use the getGadgetData and setGadgetData actions to read and set property values in a mashup gadget.
The getGadgetData action uses the syntax [gadget/gadgetName/property] to reference the property reference where gadgetName is the name of the mashup, and property is the name of the property used in a Pega application (pyWorkPage, pyID, etc.)
To reference properties in another gadget use the syntax [______ / ______ / ______]
To reference properties in another gadget use the syntax [gadget/gadgetName/propertyReference]
If the property data you need is in the same gadget as the reference use the syntax: [propertyReference]
Which two of the following options does Pega Web Mashup support for passing data to or from a Pega application? (Choose Two)
- Use the data-pega-event-onpagedata attribute to specify the default value for the gadget.
- Use an action object to perform additional actions on a web mashup gadget or configure the gadget to interact with another gadget.
- Use an activity to copy data to or from a Pega application to the Pega Web Mashup.
- Use the Javascript function Action() to set or read data values from the web page hosting the gadget.
1. Use the data-pega-event-onpagedata attribute to specify the default value for the gadget.
2. Use an action object to perform additional actions on a web mashup gadget or configure the gadget to interact with another gadget.
- Use an activity to copy data to or from a Pega application to the Pega Web Mashup.
- Use the Javascript function Action() to set or read data values from the web page hosting the gadget.
* BE CAREFUL FOR THIS TRICK ON THE EXAM, READ CAREFULLY*
Which two of the following statements are true about Pega Web Mashup? (Choose Two)
- Opening a new case is an example of an action that can be done through a Pega Web Mashup..
- The Pega Web Mashup can be created using Dev Studio only.
- When using a Pega Web Mashup, an operator ID is not required to access a Pega Platform™ application..
- The Generate Mashup code option generates HTML code.
1. Opening a new case is an example of an action that can be done through a Pega Web Mashup.
- The Pega Web Mashup can be created using Dev Studio only.
- When using a Pega Web Mashup, an operator ID is not required to access a Pega Platform™ application..
4. The Generate Mashup code option generates HTML code.
Which two of the following steps are required to create a Pega Web Mashup? (Choose Two)
- Configure a list of approved sites for the site origin..
- Set the data-pega-resizetype attribute to customize the mashup width..
- Define attributes to defer for the default action
- Generate the mashup code
1. Configure a list of approved sites for the site origin..
- Set the data-pega-resizetype attribute to customize the mashup width..
- Define attributes to defer for the default action
4. Generate the mashup code