Closed isc-tleavitt closed 1 year ago
Capturing for the record: Sam Schafer and I spoke with (collectively) at least 4 InterSystems customers interested in running this extension on Caché/Ensemble at Global Summit.
Spoke with another customer with the same need today.
Spent a bit of time looking into this, and there's a key issue that will need to be addressed for this to work (beyond the actual packaging of the project). Prior to IRIS 2018.1.0, it was not possible to define a subextent of a persistent class from a read-only database. SourceControl.Git.Change defines a subextent of %Studio.SourceControl.Change, which is from CACHELIB, which should be read-only. (Internal change reference: DP-277862)
So for SourceControl.Git.Change to work pre-IRIS, the inheritance should be removed and SourceControl.Git.Change should define its own extent. Ultimately, moving storage to a separate global is a low-risk change without compatibility impact, because the "uncommitted queue" is constantly being updated based on git status calls. (It's also just a good idea anyway.)
We want to support 2016.1+ (maybe 2016.2+ for simplicity if JSON ends up mattering) Should also cover generation of some artifact that can be installed on IRIS instances without using the package manager (maybe w/ Studio Project packaging? though that'll be challenging for the web resources)