Creating a Plugin Configuration PageHistory | Edit
To create a configuration page for a plugin that does not already have the
Configure icon displayed in the
Administration page, follow these steps:
Configure icon is now displayed next to its name in the
Administration page.
Configure icon displayed in the
Administration page, follow these steps:- Register a
WebappServletextension type with aroleattribute set to config in your plugin.xml file, as in the following example:<extension type="WebappServlet" role="config" class="com.ex.MyPluginConfigExt"/>
The
classattribute value should point to an extension of the PluginConfigExtension class. - When extending the PluginConfigExtension class,
consider the following notes:
- Implement the getOptionsForm method to return an HTML form and
make sure that contains inputs with the
nameattribute the same as the option you want to configure. - Implement the getOptionsJson method to return a JSON string that
contains the options that you want to make available to the JavaScript code. They will
be accessible in your plugin JavaScript code using the
sync.options.PluginsOptions.getClientOption(optionName)method.Note: The JSON should only contain key values, where values are of the type string|number|boolean with no arrays or other objects.Tip: You should not include any sensitive information (e.g. OAuth secrets) in the options returned by this method. - Implement the getPath method to return a non-empty string that
represents the path for which this extension will be served.
For example:
{webapp-context}/plugins-dispatcher/RESULT_OF_GETPATH - If you need to override the init method, make sure you call super.init(). Otherwise, options will not be saved to disk and will be lost when you restart the application.
- If you need to override any of the doPut/doDelete methods, make sure you call the saveOptions method at the end to save the options to disk.
- If you need to override the doGet method, make sure it responds
with the result of getOptionsForm for header
Accept=text/html, and with the result of getOptionsJson when called with headerAccept=application/json. Use the getOption or getDefaultOptions methods to access the current or default options.
Tip: For an implementation example, you can look at com.oxygenxml.sdksamples.github.GithubPluginConfigExtension in the webapp-github-plugin project. - Implement the getOptionsForm method to return an HTML form and
make sure that contains inputs with the
Configure icon is now displayed next to its name in the
Administration page.