We’ve been looking to create a “Haiti Core” OpenMRS module to facilitate collaboration between different OpenMRS distributions operating in Haiti. The immediate use case is to allow greater collaboration between the PIH EMR in Haiti and iSante Plus (which runs a version of the Ref App).
I didn’t want this to live in the PIH github repo, since it isn’t PIH specific, so I set the module up in OpenMRS github. Do people have a problem with using the OpenMRS github space for a country-specific module?
I’ll need to give members of our team and the iSante team push rights to this repo, regardless of their potential “/dev” status, but I believe I can do this via setting up a “Haiti Team” that has permissions only on the “Haiti Core” repo. But, this, of course, means one more implementation-specific thing (the “Haiti Team”) that needs to live under the OpenMRS umbrella.
I plan to continue down this path, but wanted to give others a chance to raise any objections. It’s possible we could create a separate “OpenMRS Haiti” organization if need be.
Also, @craigappl, I believe the iSante developers would have to request to “join” the OpenMRS github organization before I can add them to the team (honestly, I forget exactly what the process is to join).
ps @craigappl, @ddesimone just pointed out to me that I’ve been spelling iSante wrong… I just corrected it, but feel free to remind me if I make the same mistake again…
@ssmusoke, good timing, as I just had to deal with this because it was causing a problem with our Poro distribution.
Right now Haiti Core is just used to install metadata (though this may change in the future), so the design we’ve come up with is that the Haiti Core module will contain the metadata bundles that could be shared across different Haiti distributions, but it won’t install anything by default.
Our PIH Core module will then install the bundles depending on the location–we have some basic json config we set up in Haiti Core that allow us to specify the country and location for different implementations. I can point you in it’s direction if you are interested.
As @darius pointed out, one of the primary purposes/benefits of the OpenMRS github organization is for repos that are being shared across different organizations.
You do not need to create a separate team. Any /dev/5, including yourself, can administer the repo and can add any /dev/null, /dev/1, or /dev/2 who needs push access as a collaborator on that repo with elevated privileges. I recently suggested on a PM call we could use repo-specific collaborators to ensure current “owners” of the repo have admin privileges, which would allow us to programmatically discover & publish repo ownership for our ~200 repos.
Rather than creating new teams and inheriting the costs of managing & maintaining an never-ending list of teams that bypass our Dev Stages, I’d prefer we make repo-specific exceptions as I’ve described and encourage organizations & developers to strive to grow the number of /dev/3s, /dev/4s, and /dev/5s.