diff --git a/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java b/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java
index fc4b7c502..3ad67cdff 100755
--- a/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java
@@ -41,45 +41,45 @@ import java.util.stream.Collectors;
*
* @author Jens Pelzetter
*/
-@Configuration(descBundle = "com.arsdigita.bebop.BebopConfigDescription",
- descKey = "bebop.config.description")
+@Configuration(
+ descKey = "bebop.config.description")
public final class BebopConfig {
- @Setting(descKey = "bebop.config.presenter_class_name")
+ @Setting
private String presenterClassName = PageTransformer.class.getName();
- @Setting(descKey = "bebop.config.base_page_name")
+ @Setting
private String basePageClassName = SimplePage.class.getName();
- @Setting(descKey = "bebop.config.tidy_config_file")
+ @Setting
private String tidyConfigFile
= "com/arsdigita/bebop/parameters/tidy.properties";
- @Setting(descKey = "bebop.config.fancy_errors")
+ @Setting
private Boolean fancyErrors = false;
- @Setting(descKey = "bebop.config.dcp_on_buttons")
+ @Setting
private Boolean dcpOnButtons = true;
- @Setting(descKey = "bebop.config.dcp_on_links")
+ @Setting
private Boolean dcpOnLinks = false;
- @Setting(descKey = "bebop.config.tree_select_enabled")
+ @Setting
private Boolean treeSelectEnabled = false;
- @Setting(descKey = "bebop.config.dhtml_editors")
+ @Setting
private Set dhtmlEditors = new HashSet<>(
Arrays.asList(new String[]{BebopConstants.BEBOP_XINHAEDITOR,
BebopConstants.BEBOP_FCKEDITOR,
BebopConstants.BEBOP_DHTMLEDITOR}));
- @Setting(descKey = "bebop.config.default_dhtml_editor")
+ @Setting
private String defaultDhtmlEditor = BebopConstants.BEBOP_XINHAEDITOR;
- @Setting(descKey = "bebop.config.dhtml_editor_srcfile")
+ @Setting
private String dhtmlEditorSrcFile = "/assets/xinha/XinhaLoader.js";
- @Setting(descKey = "bebop.config.show_class_name")
+ @Setting
private Boolean showClassName = false;
public static BebopConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java b/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java
index 5e39c6113..be7c127fb 100755
--- a/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java
@@ -28,20 +28,19 @@ import org.libreccm.configuration.Setting;
*
* @author Jens Pelzetter
*/
-@Configuration(descBundle = "com.arsdigita.dispatcher.DispatcherConfigDescription",
- descKey = "dispatcher.config.description")
+@Configuration
public final class DispatcherConfig {
- @Setting(descKey = "dispatcher.config.caching_active")
+ @Setting
private Boolean cachingActive = true;
- @Setting(descKey = "dispatcher.config.default_expiry")
+ @Setting
private Integer defaultExpiry = 259200;
- @Setting(descKey = "dispatcher.config.static_url_prefix")
+ @Setting
private String staticUrlPrefix = "/STATICII/";
- @Setting(descKey = "dispatcher.config.default_page_class")
+ @Setting
private String defaultPageClass = "com.arsdigita.bebop.Page";
public static DispatcherConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/formbuilder/FormBuilderConfig.java b/ccm-core/src/main/java/com/arsdigita/formbuilder/FormBuilderConfig.java
index 5ee2abc11..6d563ca6d 100755
--- a/ccm-core/src/main/java/com/arsdigita/formbuilder/FormBuilderConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/formbuilder/FormBuilderConfig.java
@@ -29,18 +29,16 @@ import java.util.Objects;
*
* @author Jens Pelzetter
*/
-@Configuration(
- descBundle = "com.arsdigita.formbuilder.FormBuilderConfigDescription",
- descKey = "formbuilder.config.description")
+@Configuration
public final class FormBuilderConfig {
- @Setting(descKey = "formbuilder.config.actions_help_url")
+ @Setting
private String actionsHelpUrl;
- @Setting(descKey = "formbuilder.config.controls_help_url")
+ @Setting
private String controlsHelpUrl;
- @Setting(descKey = "formbuilder.config.interpolate_email_actions")
+ @Setting
private Boolean interpolateEmailActions;
public static FormBuilderConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/kernel/KernelConfig.java b/ccm-core/src/main/java/com/arsdigita/kernel/KernelConfig.java
index d22c0c8a1..34096faeb 100644
--- a/ccm-core/src/main/java/com/arsdigita/kernel/KernelConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/kernel/KernelConfig.java
@@ -29,46 +29,44 @@ import org.libreccm.configuration.Configuration;
import org.libreccm.configuration.ConfigurationManager;
import org.libreccm.configuration.Setting;
-import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
*
* @author Jens Pelzetter
*/
-@Configuration(descBundle = "com.arsdigita.kernel.KernelConfigDescription",
- descKey = "kernel.config.description")
+@Configuration
public final class KernelConfig {
private static final String EMAIL = "email";
private static final String SCREEN_NAME = "screen_name";
- @Setting(descKey = "kernel.config.debug_enabled")
+ @Setting
private boolean debugEnabled = false;
- @Setting(descKey = "kernel.config.webdev_support_enabled")
+ @Setting
private boolean webdevSupportEnabled = false;
- @Setting(descKey = "kernel.config.data_permission_check_enabled")
+ @Setting
private boolean dataPermissionCheckEnabled = true;
- @Setting(descKey = "kernel.config.primary_user_identifier")
+ @Setting
private String primaryUserIdentifier = EMAIL;
- @Setting(descKey = "kernel.config.sso_enabled")
+ @Setting
private boolean ssoEnabled = false;
- @Setting(descKey = "kernel.config.remember_login_enabled")
+ @Setting
private boolean rememberLoginEnabled = true;
- @Setting(descKey = "kernel_config.secure_login_enabled")
+ @Setting
private boolean secureLoginEnabled = false;
- @Setting(descKey = "kernel.config.supported_languages")
+ @Setting
private Set supportedLanguages = new HashSet<>(
Arrays.asList(new String[]{"en"}));
- @Setting(descKey = "kernel.config.default_language")
+ @Setting
private String defaultLanguage = "en";
public static KernelConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/kernel/security/SecurityConfig.java b/ccm-core/src/main/java/com/arsdigita/kernel/security/SecurityConfig.java
index 6e2ea1be5..c2a302e53 100644
--- a/ccm-core/src/main/java/com/arsdigita/kernel/security/SecurityConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/kernel/security/SecurityConfig.java
@@ -27,35 +27,32 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
-import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
*
* @author Jens Pelzetter
*/
-@Configuration(
- descBundle = "com.arsdigita.kernel.security.SecurityConfigDescription",
- descKey = "security.config.description")
+@Configuration
public final class SecurityConfig {
- @Setting(descKey = "security.confg.excluded_extensions")
+ @Setting
private List excludedExtensions = Arrays.asList(
new String[]{".jpg", ".gif", ".png", ".pdf"});
- @Setting(descKey = "security.config.auto_registration_enabled")
+ @Setting
private Boolean autoRegistrationEnabled = false;
- @Setting(descKey = "security.config.password_recovery_enabled")
+ @Setting
private Boolean passwordRecoveryEnabled = true;
- @Setting(descKey = "security.config.hash_algorithm")
+ @Setting
private String hashAlgorithm = "SHA-512";
- @Setting(descKey = "security.config.salt_length")
+ @Setting
private Integer saltLength = 256;
- @Setting(descKey = "security.config.hash_iterations")
+ @Setting
private Integer hashIterations = 50000;
public static SecurityConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/notification/LegacyNotificationConfig.java b/ccm-core/src/main/java/com/arsdigita/notification/LegacyNotificationConfig.java
deleted file mode 100644
index 82990401e..000000000
--- a/ccm-core/src/main/java/com/arsdigita/notification/LegacyNotificationConfig.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2011 pboy (pboy@barkhof.uni-bremen.de) All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-package com.arsdigita.notification;
-
-import com.arsdigita.runtime.AbstractConfig;
-import com.arsdigita.util.parameter.IntegerParameter;
-import com.arsdigita.util.parameter.Parameter;
-
-import org.apache.log4j.Logger;
-
-/**
- * LegacyNotificationConfig
- *
- * @author Peter Boy <pboy@barkhof.uni-bremen.de>
- * @version $Id: LegacyNotificationConfig.java $
- */
-public class LegacyNotificationConfig extends AbstractConfig {
-
- /** Private Logger instance. */
- private static final Logger s_log = Logger.getLogger(LegacyNotificationConfig.class);
-
- /** Private Object to hold one's own instance to return to users. */
- private static LegacyNotificationConfig s_conf;
-
- /**
- * Returns the singleton configuration record for the content section
- * environment.
- *
- * @return The ContentSectionConfig record; it cannot be null
- */
- public static synchronized LegacyNotificationConfig getInstance() {
- if (s_conf == null) {
- s_conf = new LegacyNotificationConfig();
- s_conf.load();
- }
-
- return s_conf;
- }
-
-
-// /////////////////////////////////////////////////////////////////////////////
-//
-// Set of parameters controlling Overdue Task alerts:
-// Currently there is no way to persist it nor to persist on a per section base.
-// Therefore Initializer has to create overdue task alert mechanism using a
-// configuration applied to every content section.
-//
-// /////////////////////////////////////////////////////////////////////////////
-
-
-
- /**
- * Request manager's delay in seconds.
- */
- private IntegerParameter m_requestManagerDelay = new IntegerParameter
- ("waf.notification.request_manager_delay", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Request manager's period in seconds
- */
- private IntegerParameter m_requestManagerPeriod = new IntegerParameter
- ("waf.notification.request_manager_period", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Digest queue's delay in seconds.
- */
- private IntegerParameter m_digestQueueDelay = new IntegerParameter
- ("waf.notification.digest_queue_delay", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Digest queue's period in seconds
- */
- private IntegerParameter m_digestQueuePeriod = new IntegerParameter
- ("waf.notification.digest_queue_period", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Simple queue's delay in seconds.
- */
- private IntegerParameter m_simpleQueueDelay = new IntegerParameter
- ("waf.notification.simple_queue_delay", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Simple queue's period in seconds
- */
- private IntegerParameter m_simpleQueuePeriod = new IntegerParameter
- ("waf.notification.simple_queue_period", Parameter.REQUIRED,
- new Integer(900));
-
- /**
- * Constructor.
- * Do not use it directly! Singleton design pattern!
- */
- public LegacyNotificationConfig() {
- s_log.debug("Executing NotificationConfig Constructor.");
- register(m_requestManagerDelay);
- register(m_requestManagerPeriod);
- register(m_simpleQueueDelay);
- register(m_simpleQueuePeriod);
- register(m_digestQueueDelay);
- register(m_digestQueuePeriod);
- s_log.debug("NotificationConfig register executed.");
-
- s_log.debug("Executing NotificationConfig loadinfo.");
- loadInfo();
- s_log.debug("Leaving NotificationConfig Constructor.");
- }
-
-
- /**
- * Retrieve request manager's delay in seconds.
- * @return delay, in seconds.
- */
- public int getRequestManagerDelay() {
- s_log.debug("m_requestManagerDelay retrieved.");
- // return ((Integer) get(m_requestManagerDelay)).intValue();
- return 900;
- }
-
- /**
- * Retrieve request manager's period in seconds
- * @return period, in seconds
- */
- public int getRequestManagerPeriod() {
- s_log.debug("m_requestManagerPeriod retrieved.");
- // return ((Integer) get(m_requestManagerPeriod)).intValue();
- return 900;
- }
-
- /**
- * Retrieve digest queue's delay in seconds.
- * @return delay, in seconds.
- */
- public int getDigestQueueDelay() {
- s_log.debug("m_digestQueueDelay retrieved.");
- // return ((Integer) get(m_digestQueueDelay)).intValue();
- return 900;
- }
-
- /**
- * Retrieve digest queue's period in seconds
- * @return period, in seconds
- */
- public int getDigestQueuePeriod() {
- s_log.debug("m_digestQueuePeriod retrieved.");
- // return ((Integer) get(m_digestQueuePeriod)).intValue();
- return 900;
- }
-
- /**
- * Retrieve simple queue's delay in seconds.
- * @return delay, in seconds.
- */
- public int getSimpleQueueDelay() {
- s_log.debug("m_simpleQueueDelay retrieved.");
- // return ((Integer) get(m_simpleQueueDelay)).intValue();
- return 900;
- }
-
- /**
- * Retrieve simple queue's period in seconds
- * @return period, in seconds
- */
- public int getSimpleQueuePeriod() {
- s_log.debug("m_simpleQueuePeriod retrieved.");
- // return ((Integer) get(m_simpleQueuePeriod)).intValue();
- return 900;
- }
-
-}
diff --git a/ccm-core/src/main/java/com/arsdigita/notification/NotificationConfig.java b/ccm-core/src/main/java/com/arsdigita/notification/NotificationConfig.java
index a2c3a7f7a..3edbaf14e 100644
--- a/ccm-core/src/main/java/com/arsdigita/notification/NotificationConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/notification/NotificationConfig.java
@@ -29,27 +29,25 @@ import java.util.Objects;
*
* @author Jens Pelzetter
*/
-@Configuration(
- descBundle = "com.arsdigita.notification.NotificationConfigDescription",
- descKey = "notification.config.description")
+@Configuration
public final class NotificationConfig {
- @Setting(descKey = "notification.config.request_manager_delay")
+ @Setting
private Integer requestManagerDelay = 900;
- @Setting(descKey = "notification.config.request_manager_period")
+ @Setting
private Integer requestManagerPeriod = 900;
- @Setting(descKey = "notification.config.digest_queue_delay")
+ @Setting
private Integer digestQueueDelay = 900;
- @Setting(descKey = "notification.config.digest_queue_period")
+ @Setting
private Integer digestQueuePeriod = 900;
- @Setting(descKey = "notification.config.simple_queue_delay")
+ @Setting
private Integer simpleQueueDelay = 900;
- @Setting(descKey = "notification.config.simple_queue_period")
+ @Setting
private Integer simpleQueuePeriod = 900;
public static NotificationConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/UIConfig.java b/ccm-core/src/main/java/com/arsdigita/ui/UIConfig.java
index 57474606d..837fe127a 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/UIConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/UIConfig.java
@@ -33,24 +33,23 @@ import java.util.StringJoiner;
*
* @author Jens Pelzetter
*/
-@Configuration(descBundle = "com.arsdigita.ui.UIConfigDescription",
- descKey = "ui.config.description")
+@Configuration
public final class UIConfig {
- @Setting(descKey = "ui.config.default_layout")
+ @Setting
private List defaultLayout = Arrays.asList(new String[]{
"top:com.arsdigita.ui.UserBanner",
"bottom:com.arsdigita.ui.SiteBanner",
"bottom:com.arsdigita.ui.DebugPanel"
});
- @Setting(descKey = "ui.config.root_page_url")
+ @Setting
private String rootPageUrl = "/register/";
- @Setting(descKey = "ui.config.user_redirect_url")
+ @Setting
private String userRedirectUrl = "/permissions/";
- @Setting(descKey = "ui.config.workspace_url")
+ @Setting
private String workspaceUrl = "pvt/";
public static UIConfig getConfig() {
diff --git a/ccm-core/src/main/java/com/arsdigita/xml/formatters/DateFormatterConfig.java b/ccm-core/src/main/java/com/arsdigita/xml/formatters/DateFormatterConfig.java
index 82b43834d..56745b5a1 100755
--- a/ccm-core/src/main/java/com/arsdigita/xml/formatters/DateFormatterConfig.java
+++ b/ccm-core/src/main/java/com/arsdigita/xml/formatters/DateFormatterConfig.java
@@ -29,12 +29,10 @@ import java.util.Objects;
*
* @author Jens Pelzetter
*/
-@Configuration(
- descBundle = "com.arsdigita.xml.formatters.DataFormatterDescription",
- descKey = "dataformatter.config.description")
+@Configuration
public final class DateFormatterConfig {
- @Setting(descKey = "dateformatter.config.locale")
+ @Setting
private String locale = null;
public static DateFormatterConfig getConfig() {
diff --git a/ccm-core/src/main/java/org/libreccm/configuration/ConfigurationManager.java b/ccm-core/src/main/java/org/libreccm/configuration/ConfigurationManager.java
index f413d0525..5849c16bc 100644
--- a/ccm-core/src/main/java/org/libreccm/configuration/ConfigurationManager.java
+++ b/ccm-core/src/main/java/org/libreccm/configuration/ConfigurationManager.java
@@ -377,9 +377,20 @@ public class ConfigurationManager {
settingInfo.setConfClass(configuration.getName());
settingInfo.setDescBundle(descBundle);
+
+ if (settingAnnotation.labelKey() == null
+ || settingAnnotation.labelKey().isEmpty()) {
+ settingInfo.setLabelKey(String.join(".", field.getName(),
+ "label"));
+ } else {
+ settingInfo.setLabelKey(name);
+ }
+
if (settingAnnotation.descKey() == null
|| settingAnnotation.descKey().isEmpty()) {
- settingInfo.setDescKey(field.getName());
+ settingInfo.setDescKey(String.join(".",
+ field.getName(),
+ "descripotion"));
} else {
settingInfo.setDescKey(settingAnnotation.descKey());
}
diff --git a/ccm-core/src/main/java/org/libreccm/configuration/Setting.java b/ccm-core/src/main/java/org/libreccm/configuration/Setting.java
index f7c2a0edc..49c6360d8 100644
--- a/ccm-core/src/main/java/org/libreccm/configuration/Setting.java
+++ b/ccm-core/src/main/java/org/libreccm/configuration/Setting.java
@@ -40,6 +40,13 @@ public @interface Setting {
*/
String name() default "";
+ /**
+ * Key for the localised label for the setting.
+ *
+ * @return Key for the localised label for the setting.
+ */
+ String labelKey() default "";
+
/**
* Key of description of the setting.
*
diff --git a/ccm-core/src/main/java/org/libreccm/configuration/SettingInfo.java b/ccm-core/src/main/java/org/libreccm/configuration/SettingInfo.java
index 8211faaab..b13a3b36b 100644
--- a/ccm-core/src/main/java/org/libreccm/configuration/SettingInfo.java
+++ b/ccm-core/src/main/java/org/libreccm/configuration/SettingInfo.java
@@ -52,6 +52,11 @@ public final class SettingInfo {
*/
private String descBundle;
+ /**
+ * Key for the localised label of the setting
+ */
+ private String labelKey;
+
/**
* Key of the description of the setting.
*/
@@ -101,6 +106,14 @@ public final class SettingInfo {
return ResourceBundle.getBundle(descBundle, locale);
}
+ public String getLabelKey() {
+ return labelKey;
+ }
+
+ void setLabelKey(final String labelKey) {
+ this.labelKey = labelKey;
+ }
+
public String getDescKey() {
return descKey;
}
@@ -121,6 +134,7 @@ public final class SettingInfo {
hash = 79 * hash + Objects.hashCode(defaultValue);
hash = 79 * hash + Objects.hashCode(confClass);
hash = 79 * hash + Objects.hashCode(descBundle);
+ hash = 79 * hash + Objects.hashCode(labelKey);
hash = 79 * hash + Objects.hashCode(descKey);
return hash;
}
@@ -155,6 +169,10 @@ public final class SettingInfo {
return false;
}
+ if (!Objects.equals(labelKey, other.getLabelKey())) {
+ return false;
+ }
+
return Objects.equals(descKey, other.getDescKey());
}
@@ -166,6 +184,7 @@ public final class SettingInfo {
+ "defaultValue = \"%s\", "
+ "configurationClass = \"%s\", "
+ "descBundle = \"%s\","
+ + "labelKey = \"%s\", "
+ "descKey = \"%s\""
+ " }",
super.toString(),
@@ -174,6 +193,7 @@ public final class SettingInfo {
defaultValue,
confClass,
descBundle,
+ labelKey,
descKey);
}
diff --git a/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfigDescription.properties
index d09c2d7cc..bede733f2 100644
--- a/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfigDescription.properties
@@ -15,16 +15,37 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-bebop.config.description = Several configuration options for Bebop
+description = Several configuration options for Bebop
-bebop.config.presenter_class_name = Determines what implementation of PresentationManager is used to style Bebop pages
-bebop.config.base_page_name = Determines what implementation of BasePage is used to serve Bebop pages
-bebop.config.tidy_config_file = Points to the configuration file for the JTidy parameter validation listener
-bebop.config.fancy_errors = Always display fancy XSL error pages
-bebop.config.dcp_on_buttons = Specify whether to apply javascript double click protection to form submits
-bebop.config.dcp_on_links = Specify whether to apply javascript double click protection to anchor elements
-bebop.config.tree_select_enabled = Specify whether to turn on isSelected XML attribute on bebop.Tree nodes (performance impact)
-bebop.config.dhtml_editors = Lists of all available DHTML text input widgets
-bebop.config.default_dhtml_editor = Select which DHTML text input widget is used for DHTMLEditor Bebop component.
-bebop.config.dhtml_editor_srcfile = Relative path to the source javascript file
-bebop.config.show_class_name =
\ No newline at end of file
+presenterClassName.label = Bebop presentation manager class
+presenterClassName.description = Determines what implementation of PresentationManager is used to style Bebop pages
+
+basePageName.label = Bebop base page class
+basePageName.description = Determines what implementation of BasePage is used to serve Bebop pages
+
+tidyConfigFile.label = JTidy validation listener config file
+tidyConfigFile.description = Points to the configuration file for the JTidy parameter validation listener
+
+fancyErrors.label = Fancy XSL errors
+fancyErrors.description = Always display fancy XSL error pages
+
+dcpOnButtons.label = Double Click protection for buttons
+dcpOnButtons.description = Specify whether to apply JavaScript double click protection to form submits
+
+dcpOnLinks.label = Double Click protection for links
+dcpOnLinks.description = Specify whether to apply JavaScript double click protection to anchor elements
+
+treeSelectEnabled.label = isSelected attribute for bebop.Tree nodes
+treeSelectEnabled.description = Specify whether to turn on isSelected XML attribute on bebop.Tree nodes (performance impact)
+
+dhtmlEditors.label = Available DHTML editor implementations
+dhtmlEditors.description = Lists of all available DHTML text input widgets
+
+defaultDhtmlEditor.label = Default DHTML editor
+defaultDhtmlEditor.description = Select which DHTML text input widget is used for DHTMLEditor Bebop component.
+
+dhtmlEditorSrcfile.label = Relative path to the source JavaScript file
+dhtmlEditorSrcfile.description = Relative path to the source JavaScript file
+
+showClassName.label = Show class name
+showClassName.description =
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfigDescription.properties
index 91fbd2b58..cdfc2c7f1 100644
--- a/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfigDescription.properties
@@ -15,9 +15,16 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-dispatcher.config.description = Configuration for the Dispatcher
+description = Configuration for the Dispatcher
-dispatcher.config.caching_active = Toggle whether or not to use HTTP/1.1 caching
-dispatcher.config.default_expiry = Set the default expiration time for HTTP caching
-dispatcher.config.static_url_prefix = Prefix used for serving static files
-dispatcher.config.default_page_class = The default page class. A custom installation may provide it's own implementation. Use with care because all pages inherit from this class!
\ No newline at end of file
+cachingActive.label = Dispatcher caching enabled?
+cachingActive.description = Toggle whether or not to use HTTP/1.1 caching
+
+defaultExpiry.label = Default cache expiration
+defaultExpiry.description = Set the default expiration time for HTTP caching
+
+staticUrlPrefix.label = Static URL Prefix
+staticUrlPrefix.description = Prefix used for serving static files
+
+defaultPageClass.label = Default page class
+defaultPageClass.description = The default page class. A custom installation may provide it's own implementation. Use with care because all pages inherit from this class!
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/formbuilder/FormBuilderDescription.properties b/ccm-core/src/main/resources/com/arsdigita/formbuilder/FormBuilderDescription.properties
index 17774981d..a3485c84b 100644
--- a/ccm-core/src/main/resources/com/arsdigita/formbuilder/FormBuilderDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/formbuilder/FormBuilderDescription.properties
@@ -15,8 +15,13 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-formbuilder.config.description = Configuration parameters for the FormBuilder
+description = Configuration parameters for the FormBuilder
-formbuilder.config.actions_help_url = This is a string that can be used to create the URL to point to the help page that explains how to create actions within the formbuilder. If it starts with "/" then it is assumed to be located on this server. If it starts with anything else, it is assumed to be a link to a foreign site.
-formbuilder.config.controls_help_url = This is a string that can be used to create the URL to point to the help page that explains how to create controls within the formbuilder. If it starts with "/" then it is assumed to be located on this server. If it starts with anything else, it is assumed to be a link to a foreign site.
-formbuilder.config.interpolate_email_actions = Should the to: field of email actions be interpolated, ie translated using submitted form values
\ No newline at end of file
+actionsHelpUrl.label = Help link for creating FormBuilder actions
+actionsHelpUrl.description = This is a string that can be used to create the URL to point to the help page that explains how to create actions within the formbuilder. If it starts with "/" then it is assumed to be located on this server. If it starts with anything else, it is assumed to be a link to a foreign site.
+
+controlsHelpUrl.label = Help link for creating FormBuilder controls
+controlsHelpUrl.description = This is a string that can be used to create the URL to point to the help page that explains how to create controls within the formbuilder. If it starts with "/" then it is assumed to be located on this server. If it starts with anything else, it is assumed to be a link to a foreign site.
+
+interpolateEmailActions.label = Interpolate the to: field
+interpolateEmailActions.description = Should the to: field of email actions be interpolated, ie translated using submitted form values
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties
index 5681429ae..498ae2705 100644
--- a/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties
@@ -15,6 +15,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-globalization.config.description = A configuration record for configuration of the core globalization package
+description = A configuration record for configuration of the core globalization package
-globalization.config.default_charset = Default character set for locales not explicitly listed in the locales parameter.
\ No newline at end of file
+defaultCharset.label = Default Charset
+defaultCharset.description = Default character set for locales not explicitly listed in the locales parameter.
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties
index 69926c74e..56a265997 100644
--- a/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties
@@ -1,10 +1,25 @@
-kernel.config.description=Configure several basic properties for LibreCCM
+description = Configure several basic properties for LibreCCM
-kernel.config.debug_enabled=Enables or disables WAF debugging
-kernel.config.kernel.config.webdev_support_enabled=Enables or disables Webdev support
-kernel.config.kernel.config.data_permission_check_enabled=Enables or disables permissions checks on database writes
-kernel.config.kernel.config.primary_user_identifier=Determines whether email addresses or screen names are used to authenticate users. Valid values: "screen_name" or "email"
-kernel.config.kernel.config.sso_enabled=Enables or disables SSO login
-kernel.config.kernel.config.remember_login_enabled=Determines whether the "remember login" feature is enabled or disabled by default
-kernel.config.kernel_config.secure_login_enabled=Accept only credentials presented over secure connection?
-kernel.config.kernel.config.supported_languages=Set the languages supported for this installation (for content creation). Uses the ISO language codes.
+debugEnabled.label = Global debug flag
+debugEnabled.description = Enables or disables WAF debugging
+
+webdev_supportEnabled.label = Webdev support enabled?
+webdev_supportEnabled.description = Enables or disables Webdev support
+
+data_permissionCheckEnabled.label = DML permission checking flag
+data_permissionCheckEnabled.description = Enables or disables permissions checks on database writes
+
+primaryUserIdentifier.label = The primary user identification
+primaryUserIdentifier.description = Determines whether email addresses or screen names are used to authenticate users. Valid values: "screen_name" or "email"
+
+ssoEnabled.label = Enable SSO login?
+ssoEnabled.description = Enables or disables SSO login
+
+rememberLoginEnabled.label = Remember login by default
+rememberLoginEnabled.description = Determines whether the "remember login" feature is enabled or disabled by default
+
+kernelConfig.secureLoginEnabled.label = Require secure login?
+kernelConfig.secureLoginEnabled.description = Accept only credentials presented over secure connection?
+
+supportedLanguages.label = Set the supported languages for categorization
+supportedLanguages.description = Set the languages supported for this installation (for content creation). Uses the ISO language codes.
diff --git a/ccm-core/src/main/resources/com/arsdigita/kernel/LegacyKernelConfig_parameter.properties b/ccm-core/src/main/resources/com/arsdigita/kernel/LegacyKernelConfig_parameter.properties
deleted file mode 100755
index 0db71c6a2..000000000
--- a/ccm-core/src/main/resources/com/arsdigita/kernel/LegacyKernelConfig_parameter.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-waf.debug.title=Global debug flag
-waf.debug.purpose=Enables or disables WAF debugging
-waf.debug.example=true
-waf.debug.format=true|false
-
-waf.kernel.data_permission_check_enabled.title=DML permission checking flag
-waf.kernel.data_permission_check_enabled.purpose=Enables or disables permissions checks on database writes
-waf.kernel.data_permission_check_enabled.example=true
-waf.kernel.data_permission_check_enabled.format=true|false
-
-waf.kernel.primary_user_identifier.title=The primary user identification
-waf.kernel.primary_user_identifier.purpose=Determines whether email addresses or screen names are used to authenticate users
-waf.kernel.primary_user_identifier.example=email
-waf.kernel.primary_user_identifier.format=email|screen_name
-
-waf.kernel.remember_login.title=Remember login by default
-waf.kernel.remember_login.purpose=Determines whether the "remember login" feature is enabled or disabled by default
-waf.kernel.remember_login.example=true
-waf.kernel.remember_login.format=true|false
-
-waf.kernel.secure_login.title=Require secure login
-waf.kernel.secure_login.purpose=Accept only credentials presented over secure connection
-waf.kernel.secure_login.example=true
-waf.kernel.secure_login.format=true|false
-
-waf.kernel.sso_login.title=Enable SSO login
-waf.kernel.sso_login.purpose=Enable alternative "RegisterSSO" login context.
-waf.kernel.sso_login.example=false
-waf.kernel.sso_login.format=true|false
-
-waf.kernel.supported_languages.title=Set the supported languages for categorization
-waf.kernel.supported_languages.purpose=Set the supported languages for categorization. First entry is the default language
-waf.kernel.supported_languages.example=en,de,fr,nl,it,pt,es
-waf.kernel.supported_languages.format=[string]
-
-waf.kernel.language_independent_items.title=Allow language independent content items
-waf.kernel.language_independent_items.purpose=Allow language independent content items
-waf.kernel.language_independent_items.example=false
-waf.kernel.language_independent_items.format=true|false
-
-waf.kernel.language_independent_code.title=Select language independent code
-waf.kernel.language_independent_code.purpose=Allow language independent code
-waf.kernel.language_independent_code.example=--
-waf.kernel.language_independent_code.format=[string]
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/kernel/security/SecurityConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/kernel/security/SecurityConfigDescription.properties
index 2426249bc..348353315 100644
--- a/ccm-core/src/main/resources/com/arsdigita/kernel/security/SecurityConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/kernel/security/SecurityConfigDescription.properties
@@ -15,11 +15,22 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-security.config.description = A record containing server-session scoped security configuration properties.
+description = A record containing server-session scoped security configuration properties.
-security.confg.excluded_extensions = List of extensions excluded from authentication cookies.
-security.config.auto_registration_enabled = Wether new users get automatically redirected to the create new user form
-security.config.password_recovery_enabled = Enables or disables the password recovery function for users.
-security.config.hash_algorithm = Sets the Hash Algorithm to use for new passwords. The available algorithms depend on the Java Runtime.
-security.config.salt_length = Sets the length of the salt for new passwords
-security.config.hash_iterations = Number of iterations when hashing new passwords
\ No newline at end of file
+excludedExtensions.label = Excluded extensions
+excludedExtensions.description = List of extensions excluded from authentication cookies.
+
+autoRegistrationEnabled.label = Auto Registration enabled?
+autoRegistrationEnabled.description = Wether new users get automatically redirected to the create new user form
+
+passwordRecoveryEnabled.label = Password recovery enabled?
+passwordRecoveryEnabled.description = Enables or disables the password recovery function for users.
+
+hashAlgorithm.label = Default Hash Algorithm
+hashAlgorithm.description = Sets the Hash Algorithm to use for new passwords. The available algorithms depend on the Java Runtime.
+
+saltLength.label = Salt length
+saltLength.description = Sets the length of the salt for new passwords
+
+hashIterations.label = Number of hash iterations
+hashIterations.description = Number of iterations when hashing new passwords
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/mail/MailConfig_parameter.properties b/ccm-core/src/main/resources/com/arsdigita/mail/MailConfig_parameter.properties
deleted file mode 100755
index 375cde059..000000000
--- a/ccm-core/src/main/resources/com/arsdigita/mail/MailConfig_parameter.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-waf.mail.debug.title=Mail debug flag
-waf.mail.debug.purpose=Enables or disables debugging for the mail component
-waf.mail.debug.example=true
-waf.mail.debug.format=true|false
-
-waf.mail.javamail.configuration.title=JavaMail properties URL
-waf.mail.javamail.configuration.purpose=URL of properties file used to create JavaMail session for outgoing mail
-waf.mail.javamail.configuration.example=file:///etc/javamail.properties
-waf.mail.javamail.configuration.format=[url]
-
-waf.mail.send_html_mail.title=Send html messages as html emails
-waf.mail.send_html_mail.purpose=Determine whether to send html messages as html, or convert to plain mail
-waf.mail.send_html_mail.example=true|false
-waf.mail.send_html_mail.format=[boolean]
diff --git a/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfigDescription.properties
index eff7ff1ed..c9631bba9 100644
--- a/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfigDescription.properties
@@ -15,13 +15,22 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-notification.config.description=Configuration for the notification system
+description=Configuration for the notification system
-notification.config.request_manager_delay=Start of request manager's delay in seconds.
-notification.config.request_manager_period=Request manager's activities period in seconds
+requestManagerDelay.label = Request Manager Delay
+requestManagerDelay.description = Start of request manager's delay in seconds.
-notification.config.digest_queue_delay=Start of Digest Queue's delay in seconds.
-notification.config.digest_queue_period=Digest Queue's activities period in seconds
+requestManagerPeriod.label = Request Manager Period
+requestManagerPeriod.description = Request manager's activities period in seconds
-notification.config.simple_queue_delay=Start of Simple Queue's delay in seconds.
-notification.config.simple_queue_period=Simple Queue's activities period in seconds
+digestQueueDelay.label = Digest Queue Delay
+digestQueueDelay.description = Start of Digest Queue's delay in seconds.
+
+digestQueuePeriod.label = Digest Queue Period
+digestQueuePeriod.description = Digest Queue's activities period in seconds
+
+simpleQueueDelay.label = Simple Queue Delay
+simpleQueueDelay.description = Start of Simple Queue's delay in seconds.
+
+simpleQueuePeriod.label = Simple Queue Period
+simpleQueuePeriod.description = Simple Queue's activities period in seconds
diff --git a/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfig_parameter.properties b/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfig_parameter.properties
deleted file mode 100644
index a7d7486ea..000000000
--- a/ccm-core/src/main/resources/com/arsdigita/notification/NotificationConfig_parameter.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-waf.notification.request_manager_delay.title=Request Manager Delay
-waf.notification.request_manager_delay.purpose=Start of request manager's delay in seconds.
-waf.notification.request_manager_delay.example=900
-waf.notification.request_manager_delay.format=[integer]
-
-waf.notification.request_manager_period.title=Request Manager Period
-waf.notification.request_manager_period.purpose=Request manager's activities period in seconds
-waf.notification.request_manager_period.example=900
-waf.notification.request_manager_period.format=[integer]
-
-waf.notification.digest_queue_delay.title=Digest Queue Delay
-waf.notification.digest_queue_delay.purpose=Start of Digest Queue's delay in seconds.
-waf.notification.digest_queue_delay.example=900
-waf.notification.digest_queue_delay.format=[integer]
-
-waf.notification.digest_queue_period.title=Digest Queue Period
-waf.notification.digest_queue_period.purpose=Digest Queue's activities period in seconds
-waf.notification.digest_queue_period.example=900
-waf.notification.digest_queue_period.format=[integer]
-
-waf.notification.simple_queue_delay.title=Simple Queue Delay
-waf.notification.simple_queue_delay.purpose=Start of Simple Queue's delay in seconds.
-waf.notification.simple_queue_delay.example=900
-waf.notification.simple_queue_delay.format=[integer]
-
-waf.notification.simple_queue_period.title=Simple Queue Period
-waf.notification.simple_queue_period.purpose=Simple Queue's activities period in seconds
-waf.notification.simple_queue_period.example=900
-waf.notification.simple_queue_period.format=[integer]
diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/UIConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/ui/UIConfigDescription.properties
index 57388fedb..8534280f5 100644
--- a/ccm-core/src/main/resources/com/arsdigita/ui/UIConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/ui/UIConfigDescription.properties
@@ -1,6 +1,13 @@
-ui.config.description=Configuration for the UI system
+description.description = Configuration for the UI system
-ui.config.default_layout=Default layout components for SimplePage class
-ui.config.root_page_url=Enter the relative URL for top-level page (to document root and without constant prefix if configured)
-ui.config.user_redirect_url=Enter the relative URL to a page which redirects the request according to the logged in user (if exists)
-ui.config.workspace_url=Enter the relative URL for the Workspace Page (to document root and without constant prefix if configured)
\ No newline at end of file
+defaultLayout.label = Default Layout
+defaultLayout.description = Default layout components for SimplePage class
+
+rootPageUrl.label = Root Page
+rootPageUrl.description = Enter the relative URL for top-level page (to document root and without constant prefix if configured)
+
+userRedirectUrl.label = User Redirect Page
+userRedirectUrl.description = Enter the relative URL to a page which redirects the request according to the logged in user (if exists)
+
+workspaceUrl.label = Workspace Page
+workspaceUrl.description = Enter the relative URL for the Workspace Page (to document root and without constant prefix if configured)
\ No newline at end of file
diff --git a/ccm-core/src/main/resources/com/arsdigita/ui/UIConfig_parameter.properties b/ccm-core/src/main/resources/com/arsdigita/ui/UIConfig_parameter.properties
deleted file mode 100644
index fdbf3f7e2..000000000
--- a/ccm-core/src/main/resources/com/arsdigita/ui/UIConfig_parameter.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-core.ui.default_layout.title=Default Layout
-core.ui.default_layout.purpose=Default layout components for SimplePage class
-core.ui.default_layout.example="top,com.arsdigita.ui.UserBanner","bottom,com.arsdigita.ui.SiteBanner","left,com.arsdigita.x.y.zl",
-core.ui.default_layout.format=[StringArray]
-
-core.ui.application_layouts.title=Application Layouts
-core.ui.application_layouts.purpose=The customized layout for applications using the SimplePage class
-core.ui.application_layouts.example=unkown
-core.ui.application_layouts.format=[StringArray]
-
-core.ui.pagemap.root_page_url.title=Root Page
-core.ui.pagemap.root_page_url.purpose=Enter the relative URL for top-level page (to document root and without constant prefix if configured)
-core.ui.pagemap.root_page_url.example=register/
-core.ui.pagemap.root_page_url.format=[string]
-
-core.ui.pagemap.user_redirect_url.title=User Redirect Page
-core.ui.pagemap.user_redirect_url.purpose=Enter the relative URL to a page which redirects the request according to the logged in user (if exists)
-core.ui.pagemap.user_redirect_url.example=pvt/
-core.ui.pagemap.user_redirect_url.format=[string]
-
-core.ui.pagemap.workspace_url.title=Workspace Page
-core.ui.pagemap.workspace_url.purpose=Enter the relative URL for the Workspace Page (to document root and without constant prefix if configured)
-core.ui.pagemap.workspace_url.example=pvt/
-core.ui.pagemap.workspace_url.format=[string]
-
-
-#waf.pagemap.permission.title=Permissions Page
-#waf.pagemap.permission.purpose=Enter the relative URL for the main Permissions administration page
-#waf.pagemap.permission.example=permissions/
-#waf.pagemap.permission.format=[string]
-
-#waf.pagemap.perm_single.title=Single object Permissions Page
-#waf.pagemap.perm_single.purpose=Enter the relative URL for the Single Object permissons administration page
-#waf.pagemap.perm_single.example=permissions/one
-#waf.pagemap.perm_single.format=[string]
diff --git a/ccm-core/src/main/resources/com/arsdigita/xml/formatters/DateFormatterConfigDescription.properties b/ccm-core/src/main/resources/com/arsdigita/xml/formatters/DateFormatterConfigDescription.properties
index fd5202fda..e8c0c9acd 100644
--- a/ccm-core/src/main/resources/com/arsdigita/xml/formatters/DateFormatterConfigDescription.properties
+++ b/ccm-core/src/main/resources/com/arsdigita/xml/formatters/DateFormatterConfigDescription.properties
@@ -15,5 +15,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA
-dateformatter.config.description = Configuration for date formatters
-dateformatter.config.locale = If set will use this rather than the contexts locale. Useful for things that may be formatted differently in other locales, eg dates.
\ No newline at end of file
+description = Configuration for date formatters
+
+locale.label = Locale language code
+locale.description = If set will use this rather than the contexts locale. Useful for things that may be formatted differently in other locales, eg dates.
\ No newline at end of file