-
Notifications
You must be signed in to change notification settings - Fork 11
Structure of Sif Framework repositories
The sif-framework-dotnet and sif-framework-java open source contributions were originated in Australia for use with SIF infrastructure and data model in that locale. Global interest in the framework lead to a change in the structure of the git repositories for this open source contribution. This structures allows for the special needs and governances of different SIF locales while providing a common trunk for contributions from any locale.
The branching model described below is a simplified version of this branching model.
The following global organisation structure applies to both assets: Access4Learning/sif3-framework-java Access4Learning/sif3-framework-dotnet
The global repositories will contain three types of branch:
- master branch - this will be the stable branch
- develop branch - this branch will be used for all pull requests
- release branches - these branches are available for hotfix support for multiple releases if required
Within the global repositories will be found:
- Library for Framework code
- Code generator for specification releases (based on XSDs)
- EnvironmentProvider for DIRECT environments
- Documentation
For the global repositories:
- Each locale nominates an Administrator as gatekeeper to the global repositories
- Administrator consensus is required for Pull Request acceptance
- Administrator consensus is also required for what goes into a release
- An allocated administrator manages version releases
Generally, global repositories will not be used for collaborative development, but rather only for feature builds.
Currently, the following repositories exist:
- nsip/sif3-framework-java (fork of Access4Learning)
- nsip/sif3-framework-dotnet (fork of Access4Learning)
- nsip/sif3-framework-demos-au-dotnet (locale-specific demo for Australia)
If and when other locale-specific githubs, framework branches and demos are created, a similar naming policy should be followed.
Forked frameworks (same as exposed by Access4Learning/):
- master branch (stable)
- develop branch (for Pull Requests)
- release branches (for hotfix support)
Local specific demos:
- master branch (stable)
- develop branch (for Pull Requests)
- release branches (to reflect Global repository version releases)
Within the locale repositories are found:
- Fork of Global repositories (Framework libraries)
- Library for locale specific demo code
- Documentation
Locale repositories are publicly exposed repositories for collaborative development:
- Developers to fork into their own remote repositories
- Submit Pull Requests to “develop” branches only
Each locale has its own Administrators who manage:
- Pull Request acceptance
- Version releases