We want to accelerate and simplify extension development by removing the necessity to type or copy the boilerplate code. Can we provide a template or a similar mechanism to aid when developing new extensions?
Chosen option: “[option 1]”, because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)].
Positive Consequences:
[e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]
We have a boilr template already. boilr-ocis-extension
This approach is nice because it provides placeholders which can be filled during the generation of a new extension from the template. It also provides prompts for the placeholder values during generation.
Good, because with the placeholders it is hard to miss values which should be changed
Bad, because maintaining is more complex
Template git repository
Create a git repository with an extension containing the boilerplate code.
Good, because we can use the usual tools for QA and dependency scanning/updating.
Good, because it doesn’t require any additional tool.
We have the ocis-hello repository which acts as an example extension containing a grpc and http service and a web UI. It also demonstrates the usage of the settings service.
Good, because it contains a bit more code than just the plain boilerplate
Good, because the integration into oCIS is already tested for the Hello extension (e.g. with Proxy and Settings). This will ensure, that the example extension is up-to-date.
Bad, because if you don’t require all features you have to delete stuff