/dotcms.plugins.globalconfig

A Global Configuration Tool for dotCMS.

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Global Configuration Plugin

This plugin allows you to set global config varaiables.

Included is a Portlet to manage the config parameters and viewtool to get the values from the config.
The values are stored in your assets directory under aquentglobalconfig.json and are read read into a cache as they are used.

Installation

  • Navigate to the dotCMS Dynamic plugins page: "System" > "Dynamic Plugins"
  • Click on "Upload plugin" and select the .jar file located in the "build/libs/" folder
  • Navigate to "System" > "Roles and Tabs" and add the portlet to a tab that your admin users have access to.

Usage Example

The internal storage of the data uses org.json.JSONobject.

In Java Code:

// Get a Util Instance
GlobalConfigUtil gcu =  GlobalConfigUtil.getInstance();

// Get a value of a property from a key
String key = "test";
String value = gcu.getValue(key);
// Do something with Value

// Get all the data in json format (org.json.JSONObject)
JSONObject data = gcu.getData();
for(String k : data.getNames(data)) {
	String v = data.getString(k);
	// Do something with the value v
} 

// Update a property
boolean update_status = gcu.updateProperty("original_key", "new_key", "new_value");

// Delete a property
boolean delete_status = gcu.deleteProperty("key");

In Velocity Code:

## Get a value from the config:
#set($key = "test")
#set($value = $gconfig.getProperty($key))
## Do Something with $value

## Get all the data in json format (org.json.JSONObject)
#set($data = $gconfig.getData())
#set($keys = $data.getNames($data))
#foreach($k in $keys) 
  #set($v = $data.getString($key))
  ## Do something with $v
#end

Building

  • Install Gradle (if not already installed)
  • gradle jar