Open JSv4 opened 1 year ago
In order to make this change in a non-breaking way, we would change the Stakeholder
model to allow one field or the other:
current_relationship
ORrelationships
which will contain 1 or more StakeholderRelationship
entries with the shape:
a. type: StakeholderRelationshipType
enum
b. start_date
c. end_dateNeither 1 or 2 will be required, although 2 will be necessary for high-quality OCX output.
We would then desire a way to "remember" to eliminate 1 when we make a 2.0 release.
To track the deprecations, let's use a GitHub issue.
Versioning we're planning to use major changes for breaking changes.
Some questions:
TODO - build this change with mind towards fleshing out what object-level versioning looks like.
I have some thoughts on a potential approach we could take:
StakeholderChange
transaction that would represent the updates to the Stakeholder object at a certain point in time?I'll edit this comment later with a hypothetical schema for how this transaction could look like.
Per TWG discussion, it doesn't seem like this is actually required for OCX at all. If not, let's punt this to when we do version control / change logs for all objects (which we intentionally decided not to add to v 1.0.0).
Full list of discussion points from the meeting:
Discussion re: supporting multiple positions simultaneously:
Revisiting this after a long while... since we've opened up issuer events, I'd say let's just go with stakeholder events too and do this right. An event-based system an ADD_RELATIONSHIP and REMOVE_RELATIONSHIP event seems right to me.
Unassigning myself for now; I may return to this but I don't want to be perceived as a blocker.
Will also be relevant for ISO/NSO split.
Description of Enhancement :
This was discussed quite some time ago (over a year). We debated making relationship a multi-select and decided against it. I'm remembering now that it may have been related to not having the version history for changes to that field and concerns about the list going stale. Think there was also some concern with not all vendors having this information and, if they export a single relationship, it would not be clear whether this is the entirety of the relationships a given stakeholder has or whether the vendor just doesn't track it. Anyway, there is a lot of interest in the legal working group having a list for this field, possibly making it a list of objects with start and end dates for the various relationship objs.
Why is this Needed?
Lot of interest in having more data in this field, particularly because current approach is known to be unable to capture common situations - e.g. ex-employee who becomes an adviser or someone who is a board member and then becomes an investor. An issue here, again, is all vendors may not have this.
Anything else we need to know?