Hello,
We have identified several issues that are bound to the current specification of the implementation for custom properties that are impacting the user's affinity and operatibility of technical users in CP4D.
Let's differentiate between custom properties for gov. artifacts and custom properties for data assets which is not a symmetrical implementation.
Customer is looking to feed into CP4D for all their governance artifacts/data assets additional information to translate some business metadata to another language. They are looking to obtain via APIs said metadata to have an external web service that will show information in several languages.
In this case, we proposed to store these additional values for each metadata value in custom properties, so we would have this as an example of a business term:
[Native properties]
Name: <name_in_spanish>
Description: <description_in_spanish>
[Custom properties]
Name_secondary_language: <name_in_secondary_language>
Description_secondary_language: <description_in_secondary_language>
and so on.
For governance artifacts we have seen some weaknesses to make it user friendly:
1- When creating custom properties for governance artifacts we do not have a way to specify an unique identifier internally the same we do for Catalog assets. That makes us need to put an identificator in the description box of the property.
1.1 - That means when we obtain the business term metadata via API, the way to obtain specific custom properties etc has to be resolved via the custom property name which allows alphanumeric and special symbols, making it needed to obtain the "name" key and parse the value, instead of having a cleaned up unique identifier that doesn't need any parsing to be treated as a JSON key (not a priority, just pointing out a difference)
2- When creating custom properties for governance artifacts, these get automatically ordered alphabetically. There is also no way to have Groups for properties as we do in Assets, so it means that we cannot have blocks of properties separating concepts (in this case, have a Group for properties in spanish, and a group of properties in another language. The properties get mixed between them and makes it not user friendly for the technical user operating in CP4D.
This also happens for the multiple values feature in custom properties (5.1.3+). Right now to handle this custom property issue, we need to scale linearly the amount of properties for each language (if we had 4 metadata fields to be translated, we need 4 more for the second language). Multiple values feature is handy because we expected to have a single property with several possible values. In this case, for languages, its a must that the multiple values have a fixed position, so when obtaining said information from API or visualizing it in the UI, we know that the first position corresponds to a language, the second position to a second language... But in reality they also get ordered alphabetically in the UI and also in the API response JSON. That makes the feature unusable for us at the moment.
2.1 - We think that its a must to be able to order custom properties after creation. Currently there is no way to do that. Also automatically ordering should be disabled and let users atleast create them sequentially to have an order.
2.2 - We think it is a must to have groups of properties if we cannot order them as we please.
Now for Catalog Assets:
1- There we have unique identifiers, which is a bit better than the governance artifact implementation. However we face the same issues as in governance artifacts:
1.1 We have groups of properties, but we cannot rearrange them as we please. So if we want to change the order of these visually at some point, we need to delete them and reassign them to the Asset.
1.2 We cannot order the properties in any way, the same as in governance artifacts.
1.3 We face the same issue with the multiple values automatical ordering as we saw in governance artifacts, making the feature unusable.
Thank you!