Hi @Ed_Liveikis ,
thanks for sharing this!
Your approach is definitely helpful.
It’s a topic I tried to discuss in the past (have a look at this, if you wish: [Open Discussion] An Object-Oriented approach for Tables: Extensions).
Unfortunately, this solution isn’t resolving the problem from the other way round: the polymorphic advantage of an extension.
Think about more structured hierarchies, for instance:
People < Candidates
People < Employees < Interviewers
People < Contact < Client
People < Contact < Provider
With the composition approach you provided, there would be a multiple nested structure, i.e. every subsequent extension should flatten the set of attributes (columns).
A pure extension would just add the missing attributes.
That way you could define the datatype of the lookup by narrowing / expanding the proper table and implicitly would have the full set of (un-nested) attributes.
Interviews
- Candidate: Candidate
- Role: Employee
- Interviewers: Interviewer
- References: Contact
- ...
Allowing something like:
ListCombine(Interviewers, References, Candidate)
.FormulaMap(CurrentValue.Name).BulletedList()
I hope this add some ideas to talk about.
Thank you!