Insufficient course material to understand data models
System Architect Essentials 8
Fighting my way through chapter 9, 10, 11, 12. There are millions of issues I have with the course material, but lets start with this one:
Chapter 9: Data Modeling: Adding fields to a case t... -> Data elements in Pega application
How on earth am I supposed to understand the difference between the different value and page mode properties if you write something like this? ->
"If you need to establish a contextual relationship between single value properties, you can use one of the three page-mode properties: pages, page lists, and page groups."
but at the same time a few lines above that you explained to me that:
"A value group acts as a container for an unordered list of single values. The customer's phone numbers are defined as a value group identifying the contextual meaning of each number: home, work, or mobile."
"A value list acts as a container for an ordered list of single values. The discount codes property is an example of a value list. Each code is a single piece of information, but a clear relationship exists between the codes."
So value lists, value groups and also all page mode properties define contextual relationship... Then why do you state it as if it would be a major characteristic of page-mode properties? In order to increase confusion?
"A page is a single entity. The customer is an example of a page property. A page is also referred to as a field group."
But the example you show to me (customer) has more than one entity depicted in its container. One is a single value, one is another page mode property. Please.... explain that better. Guide me... This is a learning tutorial...
"The purchase request has a one-to-one relationship with the customer and a one-to-many relationship with the line items.
The customer has a name and lists of phone numbers, addresses, and discounts. The name is a single value element. The name has a one-to-many relationship to the phone number, address, and discount code elements."
One-to-one? One-to-Many? What does that mean? What does it imply? I am not able to trace your descriptions of relationships between the properties in the picture depicted above those sentences. For example the name (contained in customer) has NO direct connection (arrow) to the discount code.
Please, please, please. Revise your learning material properly (all of it). Put yourself into the shoes of someone who was not part of the Pega platform development team and who has no prior knowledge about Pega. Define different Personas and include a prototypical user like me who has no super strong coding background but would still like to understand. Try to understand his prior knowledge and adapt the material accordingly. Make clear and distinct definitions and descriptions.
These data concepts are not Pega specific. List and Group are Array data structures.
Single Value=a candy bar
Value list=many candy bars lined up in order. If you want the third one .CandyBar(3)
Value Group=a bunch of candy bars in a bag. If you want the candy bar .CandyBar(MarsBar)
Page=A grouping or bag of candy bars (group of Single Values). If you want to reference the MarsBar in the bag. .CandyBars.MarsBar
Page List=Bags of candy bars in a specific order. If you want the MarsBar out of the third bag. .CandyBars(3).MarsBar
PageGroup=Bags of candy bars unordered. If you want the MarsBar out of the unordered bags you must reference the bag by name. Lets say I have 5 bags I index them or name them A,B,C,D,E. I want the MarsBar out of bag C. .CandyBars(C).MarsBar
Now onto the concept of Page or Object of single values.
A class is a user defined blueprint or prototype from which objects are created. A class is created when you choose the type Field Group (Page) or Field Group List (Page List). The field you create called Customer as a Field Group points to a data class called MyApp-division-data-Customer. When you create a new case instance an object of customer is created and embedded into the Case Instance. The case Instance is an object or page in memory called pyWorkPage.