Steps:
...
Extract the downloaded plugin in to a folder and delete jar file. Eg. os-sample-plugin
Code Block | ||
---|---|---|
| ||
$ jar -xvf os-sample-plugin.jar |
...
Introduction
This document describes the steps to create a plugin to change the UI labels and API error messages. This guide is intended for developers or technical IT staff.
Download plugin
Download or clone the sample plugin from git. Henceforth the exploded plugin directory (i.e:
custom-resources
) is referred as $PLUGIN_HOME
.
Resources files
All labels and messages are stored in locale based resource files. There are two resource files:
en.js
: The default English resource file for user interface labels and messages (e.g. fields displayed in a page).messages.properties
: The default English resource file for messages generated by the backend (e.g. an unique constraint violation error).
Changing UI labels
You can create your own en.js
file in your plugin and override the resources you need to change.
To do that, follow below steps
- Open the file
$PLUGIN_HOME/src/main/webapp/app/i18n/en.js
- Suppose we want to change below labels
"Collection Protocols" to "Studies"
"Create Collection Protocol" to "Create Study"
"Title" to "Study Name"
Add below JSON in en.js
file. To know what key values to be overridden, please search en.js
of core app by UI labels.
Code Block | ||
---|---|---|
| ||
{ " |
...
cp": { "list": "Studies", " |
...
create_cp_title": " |
...
Create Study", "title": "Study Name" } } |
...
The en.js file will change the value in UI. To change the a field in backend and in Templates message.properties needs to be updated.
...
Code Block | ||
---|---|---|
| ||
dp_short_title = Short Title |
Replace Short Title with Request ID.
Code Block | ||
---|---|---|
| ||
dp_short_title = Request ID |
...
Create new plugin using given command:
Code Block | ||
---|---|---|
| ||
$jar -cf os-sample-plugin.jar META-INF/ pluginContext.xml errors/ pluginApiContext.xml pluginContext.xml
|
...
Change API error messages
- Open the file
$PLUGIN_HOME/src/main/resources/errors/messages.properties
- Suppose we want to change below error message
"Collection Protocol with same title {0} already exists." to "Study with same title {0} already exists."
Add below property in messages.properties
file. To know what key values to be overridden, please search messages.properties
of core app by messages.
Code Block |
---|
cp_dup_title=Study with same title {0} already exists. |
Creating the plugin
- To create the plugin JAR, execute the below commands from
$PLUGIN_HOME
directory :gradle clean; gradle build
- The plugin JAR will get created at
${PLUGIN_HOME}/build/libs/os-messages-1.0.0.jar
- Copy the plugin JAR to OS plugins directory.
- Restart the Tomcat app server.