We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow before making a change.
You can file bugs against and change request for the project via github issues. Consult GitHub Help for more information on using github issues.
For the roadmap, we use github projects. In the monthly TSC of lfenergyarchitecturemodel, the TSC and maintainers discuss upcoming work, prioritize work, review work and assign work.
In order to maintain consitency in the model whilst facilitating collaboration and contributions from all parties, a set of modelling guidelines have been created.
If you wish to contribute to the model, please follow the LF Energy Meta model.
The latest version can be found in lfenergyfunctionalarchitecturemodel -> Views -> Metamodel
If you wish to contribute to the model, (e.g., Create new diagrams or edits to existing diagrams) please create a new branch from the main model. When your draft is stable, create a pull request to merge your development branch into the master branch. The lfenergy functional architecture team will review the pull request and accept/edit the contribution from the development branch via github.
The lfenergy functional architecture team will review draft branches on a monthly basis and merge them into the master branch.
Please add a sub-folder for each lfenergy project in the 'Views' folder. (See OpenSTEF as an example). In this sub-folder, create two diagrams:
- X Detailed. This diagram describes the behavior (functions and data flows) of each lfenergy project.
- X Realized. This diagram relates the lfenergy project to the generic reference archietcure by pointout out which generic functions are realized by the lfenergy project.
Any model object that is specific and exclusively used by a specific LFenergy project should be stored in the folder for that project. If such a folder does not already exist, please create it under the Applications folder (e.g., see the Open STEF folder as an example).
When creating diagrams, re-use model objects wherevere possible, to avoid creating duplicate objects for the same concept. Existing generic model objects are stored in the subfolders of the Application folder:
- Generic Application Components
- Generic Application Functions
- Generic Application Service / Data Exchange Standard
- Generic data objects
In #2 you will find the functions, and in #4 you will find the data objects that have been created for generic modelling. Please re-use these wherever possible, and only create a new object if the concept has not already been modelled. Every object must have a definition when it is created in order to help users to understand the meaning of a model object.
At this moment contributions from maintainers can be be submitted directly to main branch without submitting a Github pull requests. To prevent merge conflicts, please always refersh the model in Archi before you make any changes. When you ready with your change, please commit your change directly and don't forget to also publish your changes. If you run into a merge conflict, please use the slack channel to align with the other maintainers.
Contributions for contributors should be submitted as Github pull requests. See Creating a pull request if you're unfamiliar with this concept.