Relational Hierarchical in Same Repository – Cowboy

Keeping coding standards is relatively difficult for a small company. I have come across many ways that standards or lack of standards have been handled. The worst was so bad.

The managing director would agree with each person in turn. Yip, if a standard was to be discussed, I
could see before discussion started it was decided. Last time I agreed with Larry, so this time it is Steven’s turn. Wow !!

My enthusiasm fell, for the product, and it was a cash cow. I tried to change it, emphasising to think of next person who has to maintain the code. But cowboys were around, trying to cement their own worth.

One of worst, was when Gary the Cowboy (fictional name but did start with G) would implement a totally different way of doing things. He would make the config file, have business logic (without syntax checking) that was implemented all other modules using classes. Then Robert (another fictional name starting with R) would of worked out it was time to agree with Gary, so this was fine.

Dynamics 365 Marketing

The above rather depressing story, came back to me today. I was looking at customer journeys and found the field ‘Workflow Definition’. This is a Json format Hierarchical column found in a relational row.

So Microsoft forgo Relationship and even the ‘Connection’ table for this mongrel design.
Once again Wow. There is no relational relationship between the ‘Customer Journey’ and ‘ Task Activity Marketing Template’, the link is found in the Json somewhere.

This feels like Cowboys have been playing in the code. I could understand (sort of) if this was for a layout design. However, for data, that is really hard to fathom. And of course there is no easily found documentation of why this was done.

BUT

Protagonists of this style my argue – dealing with two systems Dataverse and Marketing Services.
To this I would ask:

  • Where are the Customer Journey stored?
  • Where are the ‘ Task Activity Marketing Template’ records stored?
  • Where are the ‘Task’ records stored?

All are stored in Dataverse and hence the relational nature should be respected.

Last Word

There is no link between ‘ Task Activity Marketing Template’ and the ‘Task’ The ‘ Task Activity Marketing Template’ is used to create the ‘Task’ record.

Yee how