Changes
The {{UBIK}} Plugin Design feature allows users to create a {{UBIK}} Plugin C# solution, including system definitions purely from customizing in {{UBIK}} Studio.{{Version/ServerSince|5.0.0}}
== Overview ==
=== Relevant use-cases ===
Getting a customizing from one {{UBIK}} database into another can be quite a challenge. There are several use-cases in which this is required though:
* '''Staging''': E.g., moving a feature from a test environment to the productive environment
* '''Hotfixes''': A bugfix should be done in multiple environments
* '''Reusing features''': A set of features should be reused in multiple projects
* '''Standardization''': An implementation should be positioned as a verifiable standard package
=== Benefit of {{UBIK}} Plugins ===
Plugins are a good way to deal with this, because of the following benefits:
* Plugins can be developed and maintained using industry-standard processes and tools (e.g., IDEs like Visual Studio and CVSs like Git).
* Plugins can be transported and deployed rather easily.
* Plugins can be strong-named (signed) and versioned.
* Plugins can be compiled, tested and even deployed automatically using DevOps infrastructure.
=== Manual configuration, automatic generation ===
However, [[HowTo:Provide_system_definitions_with_a_custom_plugin|developing a {{UBIK}} Plugin]] from scratch is an expert-level task.
Optimally, one could configure a customizing in {{UBIK}} Studio, as usual, and generate a Plugin out of this configuration.
This can be achieved with the {{UBIK}} Plugin Design feature.
== Usage ==
=== Setup ===
The {{UBIK}} Plugin Design feature-set is contained in a {{UBIK}} Plugin itself. It's called "UBIK.Module.PluginDesign" and can be downloaded from the [https://release.augmensys.com/download/modules/Plugins/ Release Portal].
To install it, copy & paste the UBIK.Module.PluginDesign.dll into the Injection folder of your {{UBIK}} Studio.
After this, when connecting to a {{UBIK}} Environment (database), an upgrade dialog allowing the installation of the Plugin should appear.
=== Creation of a new Plugin Design Configuration ===
[[File:Plugin_Design_Configuration_instance.png|300px|thumb|Creating a plugin design configuration instance]]
|-
| Generation of a basic Plugin project,<br/>including the Module and a SystemDefinitions stub
| 5.0 Initial Release
|-
| Incremental versioning of the generated Plugin to support upgrades in a target Environment
| 5.0 Initial Release
|-
| 5.1 Service Pack
|}
== See also ==
