Discussion
Pegasystems Inc.
US
Last activity: 16 Nov 2019 2:36 EST
7.3 / 7.4 LSA Architecture Application Build Exam - Retired Exam Question 6
The CLSA Architecture Application Build exam consists of 3 to 6 questions of varying complexity which evaluates the ability of a candidate to develop and architect solutions using the PEGA platform. Please refer to the Exam preparation guide for further details.
Question 6 from a retired exam scenario is attached to this post. You are encouraged to work through this question by collaborating in this discussion thread. A solution will not be provided.
It is estimated that a candidate proficient in design and implementation would be able to complete this task in 3 hours.
The starting point migration file for this question is a Human Resources Application which is also attached to this post.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accenture
AU
Complaints 7 and 8 states the hardware and software lists are difficult to use. My solutions are:
1. Introduce a modal when "Add Item" is clicked. This modal allows the user to search courses using autocomplete. Once one is selected and Submit is clicked, the entry is added to a pagelist and displayed in the main grid. This solution means changing the purpose of the grid from all items (selected and unselected) to a grid containing only the selected items. Reason for picking this solution is that if you had 200 items and only selected 3. It's not easy to see the 3 you've selected as they might be items 2, 140 and 199. In most other systems, lists like these only contain items that have already been selected/added.
2. Introduce column filtering and sorting. That's it.
What are people's thoughts on this? Is my first solution over-engineering it? It's pretty much a refactor of the entire section.
Morgan Stanley
IN
Software and Hardware being reference properties. Grid is does not support sorting and filtering.
of course we could sort them from RD and display them.. but we can't filter them at grid level.
Any suggestions on filtering?
Pegasystems Inc.
US
Was it expected that the 01-02-01 release of this application include the full implementation of the 'total hours of training selected field' feature request? While this was a user complaint it isn't really a performance symptom so wasn't sure if we were expected to implement the feature.
Pegasystems Inc.
US
Yes. You are correct, it is not purely a performance issue. Not all the complaints where performance related. Item 6 had to do with a change that improves the User Experience and allows the end user to see the total number of hours allocated to orientation without having to compute the total manually. This improvement saves the end user time and therefore also improves the time it takes to complete the task of assigning courses.
"6. Computing the number of Course hours selected requires a manual calculation. Please add a total hours of training selected field at the top of the form."
Pegasystems Inc.
US
Attached is my solution, I'd welcome any feedback. For the lists I mostly left them implemented the same way in the existing UI except added sorting by name.
@sogoc has a good idea for a better method of building a list of courses, I figured the list was manageable for a user if we simply sort it. This conveniently was also easier/faster to implement, though his solution might overall be better!
One area I wasn't sure how to handle was the "difficult to edit and maintain office locations" issue. I wasn't sure if we were to build a better way to edit locations...it doesn't seem like there's enough info to do this properly, since you wouldn't want anyone to edit them. I proposed a few ideas and left the implementation out.
This took me about 4 hours including packaging, testing, etc.
Areteans
AU
Hi Brett,
This is regarding your following highlighted comments.
"The table is sourced via the D_CoursesList data page, which is thread scoped. Since the list of courses is not likely to change, this can be changed to node scope to prevent every case from loading the data page."
Even though moving to Node level scope is the right choice, i feel doubt your mentioned reason for that. As per my understanding, regardless of changing data, if it is common for users in the server, you can for Node level data page. You can specify desired loading setting in Load management section.
Please correct me if i'm wrong.
Pegasystems Inc.
US
I think you're right @GayanD20. My reasoning was that the thread scope is sometime chosen because it guarantees the data page is freshly loaded for each case. But you're right that the scope should be more about whether users need the same set of data, since someone could have a tab open for a long time. The scope wouldn't guarantee fresh data.
Bank of America
IN
Hi Brett,
For the course list grid, you mentioned an alternate design to use repeating grid with a plus symbol, where the user selects a course from a dropdown or autocomplete control, then clicks plus to add as many additional courses as they choose. Since there is no complaint from the user on Usability but only requirement is to display the total of hours on selection in the grid. Providing a new UI to select the course from dropdown and add it to grid is kind of a UI change for end users who are already familiar with existing UI. Also in any of the approach, the grid will grow to next page with increase in list of courses.Can you elaborate on this why you are specifically pointing on UI changes?
We can use DE to get the total of selected courses to display on the same screen. We have to use "When ever input changes", instead of "When ever used" as total displayed on the same screen.
TCS
IN
Hi , Is there a single starting point for all 6 questions are there are starting points for each question ?
I ask this to get a view about the packaging for each questions.To be more specific , i have to plan to export the whole application for all 6 jars or if i need incremental exports for ease of grading.
Thanks!
Pegasystems Inc.
US
For this exam scenario:
Question 1 does not require a starting point since it is a new application
Question 6 is a different application with performance issues
The remainder of the questions utilize the starting point application
As stated in the exam preparation guide: "Solutions for each question should be constructed in such a way that they are isolated from other solutions and can be easily tested and migrated independently. There are no dependencies between questions."
When packaging your solution for a particular question, it is only necessary to include the rules and data you developed. You should not include rules and or data which are already supplied with the starting point for a question.
Cognizant Technology Solutions
GB
Is the attached zip file corrupted ? I am not able to import the schema jar file. Please check and let me know.
Pegasystems Inc.
US
Are you attempting to import the HR app into a PE as opposed to a VM?
The HR app RAP unfortunately packaged an Data-Admin-DB-Database record for an external database (Customer schema?) This works on a VM but not the 7.3.1 PE which has a different schema configuration.
The database has to exist or Pega will not let you proceed. You could try creating a Data-Admin-DB-Database record but it needs to connect successfully.
That is a lot of work for one retired question. Time would be better spent not use a PE and, instead, using a lightweight VM.
Cognizant Technology Solutions
GB
I will try in VM then.
Cognizant Technology Solutions India PVT Ltd
IN
Thanks PEDEL.
I faced the same issue in PE , and tried in VM Linux lite .
another thing - the package contains UI-Kit-7:10-01 and also included in the application stack inplace of Build on Application, where as VM has already upgraded version UIKit 10.01. should this need to be included as action points.
ING Bank
NL
Hi All,
I went through this question and implemented a solution without going through the solution to implement the solution completely based on my understanding. PFA the solution doc and RAP(I have not deployed and tested the rap in a seperate env). I want to get the feedback from you guys regarding my understanding as well as how i have created the doc. Any feedback will be appreciated.
Regards,
Gourav Som
Cognizant
CN
hi,
in this question, i notice that "allow check out" option is selected on manager's operator id record.
it's not the root cause for any sepcific issues. but it's may impact performance in furture.
do i need implement solution to include this point?
Regards
Pegasystems Inc.
IT
Hello All,
I am practicing on the App Build Retired question #6 and i would share my approach to the analysis. I think there shall be an approach not only on UI Fixing and remediation by following CLSA UI best practices but also to evaluate if in the alert and logs files there are issues.
To this end my analysis started by evaluating these issues first then going to UI Rememdiation issues. Can some LSA instructor advise if this is the correct approach ?
For my point another important factor is also how data will evolve in future. There are not requirements in this sense but the Application shall be Build for Change and as such apply configurations that helps in this direction. The question is if Pega is System of Record and the amount of future data, but one of the options could be to maintain the data in an external db or data warehouse.
I share below my analysis and conclusions.
Any comment is welcome.
Regards,
Eliseo Olla
Root Causes/Remediations |
Hello All,
I am practicing on the App Build Retired question #6 and i would share my approach to the analysis. I think there shall be an approach not only on UI Fixing and remediation by following CLSA UI best practices but also to evaluate if in the alert and logs files there are issues.
To this end my analysis started by evaluating these issues first then going to UI Rememdiation issues. Can some LSA instructor advise if this is the correct approach ?
For my point another important factor is also how data will evolve in future. There are not requirements in this sense but the Application shall be Build for Change and as such apply configurations that helps in this direction. The question is if Pega is System of Record and the amount of future data, but one of the options could be to maintain the data in an external db or data warehouse.
I share below my analysis and conclusions.
Any comment is welcome.
Regards,
Eliseo Olla
Root Causes/Remediations |
|
|
Causes: The cause was due to Rule Assembly. Remediations: After applied the Static assembler the stats were ok and no alarm was generated Use of A Data Page at Requestor Level, so that the updates on the lists are maintained, at Node Level we could have problems of configuring the access groups. Alternate Solution: If there are a lot of data in future one option is source the data in an external db. |
End User Compliants |
Root Causes/Remediations |
|
Causes: The UI was not easy to use. The configuration of the Grid needs to be changed. Remediations: Used autocomplete to search and filter. Modified the way the ordering on the report definition is applied. Used the Manage Change feature to delegate the Office Locations in the Case Manager Portal. Some security on accessing this link shall be needed. Alternative Solution: better maintain the Dropdown control since the number of Items < 50 as per UI Best practice. If Data increase we need to apply Pagination to UI Grids and Report definition configurations. That case the solution with Autocomplete becomes better. |
|
Causes: The UI was not correctly configured. The configuration of the Grid needs to be changed. Remediations: Applied a Filter on the Grid by typing the name of the course the grid is reduced. Modified the ordering on the report definition that sources the Data Page. Alternative Solution: If Data increase we need to apply Pagination to UI Grids and Report definition configurations. Same observations as in 1. concerning the amount of records and if make sense to move them in a dedicated db or data warehouse |
|
Remediation: Used a declared expression, using the Refresh when condition on the number items selected, not applying Refresh Section on the action set. Alternative Solution: other way is to use still a declared expression but apply the Refresh on target section on the Event’s action set |
|
Causes: The UI was not correctly configured. The configuration of the Grid needs to be changed. Remediations: Modified the Grids to let filtering and Sorting. Alternative Solution:
|
Ai4Process
GB
While importing the HRApplication.zip file it is giving an invalid Database Connection error (ExternalDatabase) & no option to ignore the error. How can we overcome this issue ?
Pegasystems Inc.
US
Guessing you are using a Personal Edition. You can attempt to create the Database record yourself then retry the import.
Ai4Process
GB
Thanks for the response. Yes I am using the personal edition since VM is making my laptop slow despite 8 Gb RAM.
What credentials / details do I give in the Database record? Will any exam qstn be dependent on an external DB for the solution? I am planning to use Personal Edition for the exam as well.
Pegasystems Inc.
US
The exam is external-dependency-free.
You supply the user/pass for your PE's PostgreSQL database. That information is found in ../tomcat/conf/context/xml/.
Appears to be postgres/postgres.
Ai4Process
GB
For the courses list not being easy to select issue - WHen we dont have any editing allowed on the grid only then we see the filtering option. But in that case we are unable to check the checkboxes to select the courses.
So I created a couple of filter fields by ID & Title so that user can search for a Course based on these 2 fields. And in order to not disturb the PageList on pyWorkPage, I initially Copied the list onto a tempPage. Whenever the filter used or cleared I first reset the TempPage with the complete list of courses.
With this approach once u filter the recrods, user will see only the filtered list & will be easy to select. Once the selection is done & screen is submitted, we mark the selected courses on TempPage as selected on the main pyWorkPage.