Class PluginConfigExtension
- All Implemented Interfaces:
PluginExtension
This class should be extended to create a configuration page for a Web Author plugin. For common use-cases, only the abstract methods should be implemented/overridden.
This class creates an HTML form that will be presented in the Administration Page to the user to configure some options. The options will be applied for all the users.
These options can be read from the server-side code like in the code snippet below:
PluginWorkspaceProvider.getPluginWorkspace().getOptionsStorage().getOption("option_name", "default_value");
The options can be read from client-side like in the code snippet below:
sync.options.PluginsOptions.getClientOption('option_name');
Make sure to call super.init() in the extended class otherwise you won't be able to manipulate the options.
- Since:
- 17.1
-
Field Summary
Fields inherited from class ro.sync.ecss.extensions.api.webapp.plugin.WebappServletPluginExtension
config -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.In the derived class make sure to set the default options. -
Method Summary
Modifier and TypeMethodDescriptionvoiddoDelete(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) Deprecated.This method should return a plugin to its default options.voiddoGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) Deprecated.This method responds with the plugin configuration page (html/css/js).voiddoPut(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) Deprecated.The request body of this request should contain a JSON object of the options to set, containing only key-value pairs with value being a string and not an object.Deprecated.protected StringDeprecated.Returns the option for the given key or the default value if the key doesn't exist.abstract StringDeprecated.Implement this method to return an HTML form containing the options which should be modified using the administration page.abstract StringDeprecated.Returns the options available of the client-side in JSON format.abstract StringgetPath()Deprecated.Should be implemented to return the relative path handled by this plugin.voidinit()Deprecated.Derived classes should make sure to call this method.final booleanDeprecated.PluginConfigExtensions will only serve content if the user is authenticated.protected voidDeprecated.Saves the set options to disk.serializeMapToJSON(Map<String, Object> map) Deprecated.Serializes a map to a JSON string.voidsetDefaultOptions(Map<String, String> defaultOptions) Deprecated.Sets the default options for this plugin configuration extension.protected voidDeprecated.Sets the value of an option referenced by its key.Methods inherited from class ro.sync.ecss.extensions.api.webapp.plugin.WebappServletPluginExtension
doPost, getServletConfig, init, service
-
Constructor Details
-
PluginConfigExtension
public PluginConfigExtension()Deprecated.In the derived class make sure to set the default options.
-
-
Method Details
-
getPath
Deprecated.Should be implemented to return the relative path handled by this plugin. The path should be unique among other webapp servlet plugins paths and not an empty String. and should contain only lower case letters or the '-' sign. Example: "plugin-path".- Specified by:
getPathin classWebappServletPluginExtension- Returns:
- The path at which the servlet will be accessed.
-
init
public void init() throws javax.servlet.ServletExceptionDeprecated.Derived classes should make sure to call this method.- Overrides:
initin classWebappServletPluginExtension- Throws:
javax.servlet.ServletException- Thrown to respect the interface
-
doGet
public void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException Deprecated.This method responds with the plugin configuration page (html/css/js).- Overrides:
doGetin classWebappServletPluginExtension- Parameters:
req- The HTTP requestresp- The HTTP response- Throws:
javax.servlet.ServletException- To respect the interfaceIOException- Thrown by getWriter
-
doPut
public void doPut(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException Deprecated.The request body of this request should contain a JSON object of the options to set, containing only key-value pairs with value being a string and not an object. Derived methods should use setOption in this method. And afterwards call saveOptions().- Overrides:
doPutin classWebappServletPluginExtension- Parameters:
req- The HTTP request objectresp- The HTTP response object- Throws:
javax.servlet.ServletException- To respect the interfaceIOException- If the options file is not found or storing the options encounters an error
-
doDelete
public void doDelete(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws javax.servlet.ServletException, IOException Deprecated.This method should return a plugin to its default options.
It sets the options back to their defaults and saves them on disk.
In derived classes return your plugin to the default options and call the super method to set the options to the default values and save them on disk.
- Overrides:
doDeletein classWebappServletPluginExtension- Parameters:
req- The HTTP request objectresp- The HTTP response object- Throws:
javax.servlet.ServletException- To respect the interfaceIOException- When the options file is not found or storing options encounters an error
-
getOption
Deprecated.Returns the option for the given key or the default value if the key doesn't exist.- Parameters:
key- The key for the option to returndefaultValue- The value to return if the key doesn't exist- Returns:
- The option for the given key or the default value if the key doesn't exist
-
setOption
Deprecated.Sets the value of an option referenced by its key.- Parameters:
key- The key of the option to setvalue- The value of the option to set
-
saveOptions
Deprecated.Saves the set options to disk.- Throws:
IOException- Couldn't save options.
-
getDefaultOptions
Deprecated.- Returns:
- the defaultOptions
-
setDefaultOptions
Deprecated.Sets the default options for this plugin configuration extension.If you want the default values for your options to be empty/null make sure to set them as empty/null, don't leave them out of the defaultOptions map.
- Parameters:
defaultOptions- the defaultOptions to set
-
getOptionsForm
Deprecated.Implement this method to return an HTML form containing the options which should be modified using the administration page. The form inputs name attribute should be the option name.- Returns:
- The options form representing an html form with inputs where every input's name attribute represents the name of the option which we want to set.
-
getOptionsJson
Deprecated.Returns the options available of the client-side in JSON format. These options will be available for all type of users so you should not include sensitive options that should require authorization.- Returns:
- the options available on client formated as JSON.
-
requiresAuthorization
public final boolean requiresAuthorization()Deprecated.PluginConfigExtensions will only serve content if the user is authenticated.- Overrides:
requiresAuthorizationin classWebappServletPluginExtension- Returns:
- True to require authorization
-
serializeMapToJSON
Deprecated.Serializes a map to a JSON string.- Parameters:
map- the map to serialize to JSON string.- Returns:
- the map serialized as a JSON.
-
ServletPluginConfigExtensioninstead.