-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add description of extension lifecycle #387
base: master
Are you sure you want to change the base?
Changes from 2 commits
cb6efdf
f136655
6bb3e12
7e27646
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -77,6 +77,48 @@ Optionally, an extension may define an external frontend that functions as an en | |
You configure the external frontend as a URL, for which you may use templating. | ||
For more information, see [templating of configuration values](../concepts/templating) and [lifecycle webhook concept](../concepts/lifecycle-webhooks). | ||
|
||
## Lifecycle of an Extension | ||
|
||
After registering an Extension the verification can be requested. | ||
To do so a unique name has to be set. | ||
Also the scopes, context and support-information have to be set. | ||
tdellmann marked this conversation as resolved.
Show resolved
Hide resolved
|
||
If your extension is not free the webhookUrls are also required. | ||
|
||
The verification can be aborted by the contributor. | ||
|
||
The extension will now be reviewed by mittwald and verified. | ||
tdellmann marked this conversation as resolved.
Show resolved
Hide resolved
|
||
If everything checks out and no feedback is provided the extension can be published. | ||
Only the contributor can publish the extension. | ||
|
||
### After Publication | ||
|
||
The extension can be withdrawn again by the contributor. | ||
This prevents new ExtensionInstances from beeing created and disables already existing instances. | ||
tdellmann marked this conversation as resolved.
Show resolved
Hide resolved
|
||
This can be useful for performing maintenance. | ||
Afterwards the Extension can be published again without requesting a new verification. | ||
|
||
### Changing the Extension | ||
|
||
Changes of the scopes or the webhookUrls need to be verified by mittwald. | ||
After these changes have been accepted the changes apply instantly. | ||
tdellmann marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
The context of an extension can only be changed before the initial verification has been requested. | ||
During the development of the extension the context can be changed freely. | ||
This will remove all extension-instances. | ||
|
||
### When can extension instances be added to a context | ||
|
||
At least the context has to be set to add an extension to a context. | ||
Before the publishing of an extension only the contributor can create instances in their own organization or projects. | ||
Afterward everyone can create extension-instances. | ||
|
||
### Deletion of an Extension | ||
|
||
A graceful deletion of the extension can be realized through defining a deprecation. | ||
The Deprecation defines a shut down date as well as a successor. | ||
|
||
The deletion of the Extension is asynchronous because all Extension-Instances must be removed beforehand. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is inconsistent with the german translation ("Die Löschung der Extension passiert asynchron, weil alle Extension-Instances vorab gelöscht werden."). The original sentence ("must be removed") implies that some kind of action is required (either from the contributor, or from the extension users) to remove existing extension instances, whereas the passive phrasing in the german version implies that this is done by the system. Which is it? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the german version is correct. That concept changed while this was worked on. |
||
|
||
## Versioning of Extensions | ||
|
||
The mStudio does not provide a concept for the versioning of extensions. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get that this is a high-level description of the whole process; but is there a more detailed description of the whole process (including API calls and such) somewhere that we can link here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not yet, unfortunately.
The routes are currently beeing beautified before we publish them.