Posted on 19/09/2018 11:56:03
Hi Nicolai,
That's great for Option 1. I understand where you are comming though.
As for option 2, I don't probably need it now. But it is important to let you know why we use Ids in the systemName.
The requirements actually comes from our Integration team. This is associated with large amounts of attributes in the ERP that we need to bring over to DW dynamically. not all ERPs will have a "human" readable Id. They will likely have a lablel (that may change) and a GUID or ID (which is this case).
So in our integration when bringing over product field, product category fields and product properties definitions we:
- Bring the Label from the ERP
- Set the TemplateTag field from the Label (stripping out special characters) - only on create, never on updates. So if someone fixes a typo on the label (in DW or the ERP), the templates still work as intended
- We need to leave the SystemName to be "parsable" - for that reason we use the GUID or ID from the ERP
This allow us to dynamically create large lists of attributes and in the templates we loop through the fields loop to create specification tables. Unless you know of a better way to handle this that we're not aware of, we'll need option 1 to make sense out of the fields in the repository's index.
@Scott Forsyth. Anything you'd like to add to this? Essentially I understand you need an ID to match with the ERP in Integration, but I also need something that's readable to work with in the backend. We've solved for the templates, but the system name is still visible/used at least the repository.
Best Regards,
Nuno Aguiar