Clarification between Data Model and Properties Items
Using Pega 7.2, when I edit my case type, I have some properties that I created listed under the 'data model' tab. If I look under the explorer view under app-->Data Model-->Property, I have all the properties that I use listed (other properties I created within 'sections' and for reports, etc.).
I am trying to understand why they are listed separately (are some in my work object, and others in my data object), and what is the proper approach when adding properties to an app?
The properties that are listed in AppExplorer -> Data Model can be of following categories.
Single Value Properties: These are directly defined in your work class or in any one of its ancestral classes and can be used directly using dot (.) operator.
Embedded Properties(Page and Page List): These hold the class reference to your data class objects. On Expanding these u can see the properties defined in Data Object. These properties can be used in work item using .PagePropertyName.Propertyname.
Ideally we create Data Objects in Data Explorer for Complex Data such as Customer Information or Customer List. And refer these Data Objects in work class using a Page or Page List Properties.
Hope I understood your query and was able to clarify the same.
thanks for your response. It helped. Are you saying all single value properties are contained under a work object, and embedded properties are under a data object? I guess i am thinking of it from a class point of view where a class may contain or inherit both single and more complex properties, so when properties are created in Pega, are they supposed to be work properties or data properties? (or when is it one versus the other)
I think you will be able to relate from below example.
Suppose we want to create a stand alone property for some kind of Indicator (Lets Say Loan request Approved) then we will create that property in work class or any of the parent class of your work object class. That way we can make sure that this property is directly accessible from work class. In future we we get any reporting requirment then the property can be easily exposed as a column and reporting can be done.
On the other hand lets suppose you want to create various properties which are attribute of lets say Customer like Customer Name, Address, Account NO, Email etc. Then its logical to group all those properties in a Data Object Called CustomerInfo which will result in a Data Class where u can define all your customer attributes.
The CustomerInfo attributes can be access in work item by creating a Page or Page List Property (Depending if you have a single customer or list of customer) in work class and using the class reference of CustomerInfo data class.