From cd38089a8db684dde13ecb22d20a50e1670cefbf Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sun, 1 Nov 2020 13:00:54 +0100 Subject: [PATCH] Labels and descriptions for configuration settings Former-commit-id: 6721b0db3705150be54175159f4a82ff96846c1c --- .../java/org/arsdigita/cms/CMSConfig.java | 322 ++++++++++++++---- .../com/arsdigita/cms/CMSConfig.properties | 126 +++++++ .../com/arsdigita/cms/CMSConfig_de.properties | 126 +++++++ .../java/com/arsdigita/bebop/BebopConfig.java | 60 +++- .../dispatcher/DispatcherConfig.java | 26 +- .../configuration/SettingManager.java | 2 +- .../ui/admin/configuration/settings.xhtml | 10 +- .../arsdigita/bebop/BebopConfig.properties | 41 +++ .../arsdigita/bebop/BebopConfig_de.properties | 41 +++ .../dispatcher/DispatcherConfig.properties | 27 ++ .../dispatcher/DispatcherConfig_de.properties | 27 ++ .../GlobalizationConfigDescription.properties | 2 +- .../kernel/KernelConfigDescription.properties | 20 +- .../KernelConfigDescription_de.properties | 35 ++ 14 files changed, 771 insertions(+), 94 deletions(-) create mode 100644 ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig.properties create mode 100644 ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig_de.properties create mode 100644 ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig.properties create mode 100644 ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig_de.properties create mode 100644 ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig.properties create mode 100644 ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig_de.properties create mode 100644 ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription_de.properties diff --git a/ccm-cms/src/main/java/org/arsdigita/cms/CMSConfig.java b/ccm-cms/src/main/java/org/arsdigita/cms/CMSConfig.java index 19d8846d7..39e7ffbe0 100644 --- a/ccm-cms/src/main/java/org/arsdigita/cms/CMSConfig.java +++ b/ccm-cms/src/main/java/org/arsdigita/cms/CMSConfig.java @@ -39,49 +39,71 @@ import java.util.List; * * @author Jens Pelzetter */ -@Configuration +@Configuration( + descBundle = "com.arsdigita.cms.CMSConfig", + descKey = "description", + titleKey = "title" +) public class CMSConfig { /** * Path for the default item template. Path is relative to the Template Root * path. */ - @Setting + @Setting( + descKey = "defaultItemTemplatePath.desc", + labelKey = "defaultItemTemplatePath.label" + ) private String defaultItemTemplatePath = "/default/item.jsp"; /** * Path for the default folder template. Path is relative to the Template * Root path. */ - @Setting + @Setting( + descKey = "defaultFolderTemplatePath.desc", + labelKey = "defaultFolderTemplatePath.label" + ) private String defaultFolderTemplatePath = "/default/folder.jsp"; /** * Path or the root folder for template folders. Path is relative to webapp * root. Modify with care! Usually modified by developers only! */ - @Setting + @Setting( + descKey = "templateRootPath.desc", + labelKey = "templateRootPath.label" + ) private String templateRootPath = "/templates/ccm-cms/content-section/"; /** * Item Adapters File, path to an XML resource containing adapter * specifications. Path is relative to webapp root. */ - @Setting + @Setting( + descKey = "itemAdapters.desc", + labelKey = "itemAdapters.label" + ) private String itemAdapters = "/WEB-INF/resources/cms-item-adapters.xml"; /** * Use streamlined content creation: upon item creation, automatically open * authoring steps and forward to the next step */ - @Setting + @Setting( + descKey = "useStreamlinedCreation.desc", + labelKey = "useStreamlinedCreation.label" + ) private boolean useStreamlinedCreation = true; /** * DHTML Editor Configuration for use in CMS module, lists the configuration * object name and Javascript source location for its definition. */ - @Setting + @Setting( + descKey = "dhtmlEditorConfig.desc", + labelKey = "dhtmlEditorConfig.label" + ) private List dhtmlEditorConfig = Arrays.asList(new String[]{ "TinyMCE.Config", "scripts/ccm-cms/tinymce-loader.js" }); @@ -91,74 +113,107 @@ public class CMSConfig { * Defines which plugins to use, e.g.TableOperations,CSS Format: * [string,string,string] */ - @Setting + @Setting( + descKey = "dhtmlEditorPlugins.desc", + labelKey = "dhtmlEditorPlugins.label" + ) private List dhtmlEditorPlugins = Arrays.asList(new String[]{ -// "scripts/ccm-cms/tinymce/plugins/insertimage.js" - "http://localhost/web/ccm-cms-tinymce/insertimage.js" + // "scripts/ccm-cms/tinymce/plugins/insertimage.js" + "http://localhost/web/ccm-cms-tinymce/insertimage.js" }); /** * Prevent undesirable functions from being made available, eg images should * only be added through the cms methods. */ - @Setting + @Setting( + descKey = "dhtmlEditorHiddenButtons.desc", + labelKey = "dhtmlEditorHiddenButtons.label" + ) private List dhtmlEditorHiddenButtons = Collections.emptyList(); /** * Hide section admin tabs from users without administrative rights. */ - @Setting + @Setting( + descKey = "hideAdminTabs.desc", + labelKey = "hideAdminTabs.label" + ) private boolean hideAdminTabs = true; /** * Hide Folder Index Checkbox from folder view */ - @Setting + @Setting( + descKey = "hideFolderIndexCheckbox.desc", + labelKey = "hideFolderIndexCheckbox.label" + ) private boolean hideFolderIndexCheckbox = true; /** * Hide launch date parameter on all forms and displays where it's used. */ - @Setting + @Setting( + descKey = "hideLaunchDate.desc", + labelKey = "hideLaunchDate.label" + ) private boolean hideLaunchDate = true; /** * Require the launch date parameter to be set by the content author. */ - @Setting + @Setting( + descKey = "requireLaunchDate.desc", + labelKey = "requireLaunchDate.label" + ) private boolean requireLaunchDate = true; /** * Hide the templates tab on the item admin page. */ - @Setting + @Setting( + descKey = "hideTemplatesTab.desc", + labelKey = "hideTemplatesTab.label" + ) private boolean hideTemplatesTab = false; /** * Hide the upload file link in the editing of a text asset. */ - @Setting + @Setting( + descKey = "hideTextAssetUploadFile.desc", + labelKey = "hideTextAssetUploadFile.label" + ) private boolean hideTextAssetUploadFile = false; /** * Hide timezone labels (if, for example, all users will be in the same * timezone and such information would be unnecessary) */ - @Setting + @Setting( + descKey = "hideTimezone.desc", + labelKey = "hideTimezone.label" + ) private boolean hideTimezone = false; /** * Whether the Wysiwyg editor should clear the text of MSWord tags, * everytime the user clicks on 'Save' */ - @Setting + @Setting( + descKey = "saveTextCleansWordTags.desc", + labelKey = "saveTextCleansWordTags.label" + ) private boolean saveTextCleansWordTags = true; /** * Get the search indexing not to process FileAssets, eg to avoid PDF * slowdowns */ - @Setting + @Setting( + descKey = "disableFileAssetExtraction.desc", + labelKey = "disableFileAssetExtraction.label" + ) private boolean disableFileAssetExtraction = false; /** @@ -172,55 +227,79 @@ public class CMSConfig { * link to restart a workflow will not work. * */ - @Setting + @Setting( + descKey = "deleteWorkflowAfterPublication.desc", + labelKey = "deleteWorkflowAfterPublication.label" + ) private boolean deleteWorkflowAfterPublication = false; /** * Defines the number of days ahead that are covered in the 'Soon Expired' * tab */ - @Setting + @Setting( + descKey = "soonExpiredTimespanDays.desc", + labelKey = "soonExpiredTimespanDays.label" + ) private int soonExpiredTimespanDays = 14; /** * Defines the number of months ahead that are covered in the 'Soon Expired' * tab */ - @Setting + @Setting( + descKey = "soonExpiredTimespanMonths.desc", + labelKey = "soonExpiredTimespanMonths.label" + ) private int soonExpiredTimespanMonths = 1; /** * Does a redirect to the unpublished item generate not found error? */ - @Setting + @Setting( + descKey = "unpublishedNotFound.desc", + labelKey = "unpublishedNotFound.label" + ) private boolean unpublishedNotFound = true; /** * Links created through browse interfaces should only be within the same * subsite */ - @Setting + @Setting( + descKey = "linksOnlyInSameSubsite.desc", + labelKey = "linksOnlyInSameSubsite.label" + ) private boolean linksOnlyInSameSubsite = false; /** * Link available to reset lifecycle on republish. If false don't display * the link otherwise display. */ - @Setting + @Setting( + descKey = "hideResetLifecycleLink.desc", + labelKey = "hideResetLifecycleLink.label" + ) private boolean hideResetLifecycleLink = true; /** * Whether to include INPATH operators to contains clause in intermedia * search */ - @Setting + @Setting( + descKey = "scoreTitleAndKeywords.desc", + labelKey = "scoreTitleAndKeywords.label" + ) private boolean scoreTitleAndKeywords = false; /** * Title Weight, the relative weight given to title element within cms:item * when ranking search results (only used by interMedia) */ - @Setting + @Setting( + descKey = "titleWeight.desc", + labelKey = "titleWeight.label" + ) private int titleWeight = 1; /** @@ -228,13 +307,19 @@ public class CMSConfig { * within dublinCore element within cms:item element when ranking search * results (only used by interMedia) */ - @Setting + @Setting( + descKey = "keywordWeight.desc", + labelKey = "keywordWeight.label" + ) private int keywordWeight = 1; /** * Limit the item search to current content section */ - @Setting + @Setting( + descKey = "limitItemSearchToContentSection.desc", + labelKey = "limitItemSearchToContentSection.label" + ) private boolean limitItemSearchToContentSection = true; /** @@ -245,60 +330,87 @@ public class CMSConfig { * Second string is the name of the bebop step component eg * com.arsdigita.cms.contenttypes.ui.ImageStep */ - @Setting + @Setting( + descKey = "skipAssetSteps.desc", + labelKey = "skipAssetSteps.label" + ) private List skipAssetSteps = Collections.emptyList(); /** * Mandatory Descriptions Content types may refer to this to decide whether * to validate against empty descriptions */ - @Setting + @Setting( + descKey = "mandatoryDescriptions.desc", + labelKey = "mandatoryDescriptions.label" + ) private boolean mandatoryDescriptions = false; /** * Delete Finished Lifecycles. Decide whether lifecycles and their phases * should be deleted from the system when finished. */ - @Setting + @Setting( + descKey = "deleteLifecycleWhenComplete.desc", + labelKey = "deleteLifecycleWhenComplete.label" + ) private boolean deleteLifecycleWhenComplete = false; /** * Delete Sent Workflow Notifications. Decide whether successfully sent * notifications and messages should be deleted from the system */ - @Setting + @Setting( + descKey = "deleteWorkflowNotificationWhenSend.desc", + labelKey = "deleteWorkflowNotificationWhenSend.label" + ) private boolean deleteWorkflowNotificationWhenSend = false; /** * Decide whether successfully sent notifications and messages should be * deleted from the system */ - @Setting + @Setting( + descKey = "deleteExpiryNotificationsWhenSent.desc", + labelKey = "deleteExpiryNotificationsWhenSent.label" + ) private boolean deleteExpiryNotificationsWhenSent = false; /** * Amount of time (in hours) before the expiration of a content item that * users in the Alert Recipient role are alerted via email */ - @Setting + @Setting( + descKey = "defaultNotificationTime.desc", + labelKey = "defaultNotificationTime.label" + ) private int defaultNotificationTime = 0; /** * Whether a content item's author should be notified by the item's * LifecycleListener; defaults to true */ - @Setting + @Setting( + descKey = "notifyAuthorOnLifecycle.desc", + labelKey = "notifyAuthorOnLifecycle.label" + ) private boolean notifyAuthorOnLifecycle = false; /** * XML Mapping of the content center tabs to URLs, see * {@link ContentCenterDispatcher} */ - @Setting + @Setting( + descKey = "contentCenterMap.desc", + labelKey = "contentCenterMap.label" + ) private String contentCenterMap - = "/WEB-INF/resources/content-center-map.xml"; + = "/WEB-INF/resources/content-center-map.xml"; - @Setting + @Setting( + descKey = "defaultItemResolverClassNames.desc", + labelKey = "defaultItemResolverClassNames.label" + ) private List defaultItemResolverClassNames = Arrays.asList( new String[]{ SimpleItemResolver.class.getName() @@ -310,87 +422,165 @@ public class CMSConfig { // DefaultTemplateResolver.class.getName(), // TemplateResolver.class.getName() // }); - @Setting + @Setting( + descKey = "itemSearchDefaultTab.desc", + labelKey = "itemSearchDefaultTab.label" + ) private String itemSearchDefaultTab = "flatBrowse"; - @Setting + @Setting( + descKey = "itemSearchFlatBrowsePanePageSize.desc", + labelKey = "itemSearchFlatBrowsePanePageSize.label" + ) private int itemSearchFlatBrowsePanePageSize = 20; - @Setting + @Setting( + descKey = "folderBrowseListSize.desc", + labelKey = "folderBrowseListSize.label" + ) private int folderBrowseListSize = 20; - @Setting + @Setting( + descKey = "folderAtoZShowLimit.desc", + labelKey = "folderAtoZShowLimit.label" + ) private int folderAtoZShowLimit = 100; - @Setting + @Setting( + descKey = "useOldStyleItemLifecycleItemPane.desc", + labelKey = "useOldStyleItemLifecycleItemPane.label" + ) private boolean useOldStyleItemLifecycleItemPane = false; - @Setting + @Setting( + descKey = "threadPublishing.desc", + labelKey = "threadPublishing.label" + ) private boolean threadPublishing = false; - @Setting + @Setting( + descKey = "publishingFailureSender.desc", + labelKey = "publishingFailureSender.label" + ) private String publishingFailureSender = ""; - @Setting + @Setting( + descKey = "publishingFailureReceiver.desc", + labelKey = "publishingFailureReceiver.label" + ) private String publishingFailureReceiver = ""; - @Setting + @Setting( + descKey = "imageBrowserThumbnailMaxWidth.desc", + labelKey = "imageBrowserThumbnailMaxWidth.label" + ) private int imageBrowserThumbnailMaxWidth = 50; - @Setting + @Setting( + descKey = "imageBrowserThumbnailMaxHeight.desc", + labelKey = "imageBrowserThumbnailMaxHeight.label" + ) private int imageBrowserThumbnailMaxHeight = 50; - @Setting + @Setting( + descKey = "imageBrowserCaptionSize.desc", + labelKey = "imageBrowserCaptionSize.label" + ) private int imageBrowserCaptionSize = 50; - @Setting + @Setting( + descKey = "imageBrowserDescriptionSize.desc", + labelKey = "imageBrowserDescriptionSize.label" + ) private int imageBrowserDescriptionSize = 400; - @Setting + @Setting( + descKey = "imageBrowserTitleSize.desc", + labelKey = "imageBrowserTitleSize.label" + ) private int imageBrowserTitleSize = 200; - @Setting + @Setting( + descKey = "imageCacheEnabled.desc", + labelKey = "imageCacheEnabled.label" + ) private boolean imageCacheEnabled = true; - @Setting + @Setting( + descKey = "imageCachePrefetchEnabled.desc", + labelKey = "imageCachePrefetchEnabled.label" + ) private boolean imageCachePrefetchEnabled = false; - @Setting + @Setting( + descKey = "imageCacheMaxSize.desc", + labelKey = "imageCacheMaxSize.label" + ) private int imageCacheMaxSize = 100; - @Setting + @Setting( + descKey = "imageCacheMaxAge.desc", + labelKey = "imageCacheMaxAge.label" + ) private int imageCacheMaxAge = 300; - @Setting + @Setting( + descKey = "attachPersonOrgaUnitsStep.desc", + labelKey = "attachPersonOrgaUnitsStep.label" + ) private boolean attachPersonOrgaUnitsStep = true; - @Setting + @Setting( + descKey = "personOrgaUnitsStepSortKey.desc", + labelKey = "personOrgaUnitsStepSortKey.label" + ) private int personOrgaUnitsStepSortKey = 20; - @Setting + @Setting( + descKey = "enableXmlCache.desc", + labelKey = "enableXmlCache.label" + ) private boolean enableXmlCache = false; - @Setting + @Setting( + descKey = "xmlCacheSize.desc", + labelKey = "xmlCacheSize.label" + ) private int xmlCacheSize = 2500; - @Setting + @Setting( + descKey = "xmlCacheAge.desc", + labelKey = "xmlCacheAge.label" + ) private int xmlCacheAge = 60 * 60 * 24; - @Setting + @Setting( + descKey = "categoryAuthoringAddForm.desc", + labelKey = "categoryAuthoringAddForm.label" + ) private String categoryAuthoringAddForm = ItemCategoryPicker.class.getName(); - @Setting + @Setting( + descKey = "categoryAuthoringExtension.desc", + labelKey = "categoryAuthoringExtension.label" + ) private String categoryAuthoringExtension = ItemCategoryExtension.class .getName(); - @Setting + @Setting( + descKey = "categoryPickerAjaxExpandAll.desc", + labelKey = "categoryPickerAjaxExpandAll.label" + ) private boolean categoryPickerAjaxExpandAll = false; /** * Max length of the description of a link (in database max length are 4000 * characters) */ - @Setting + @Setting( + descKey = "linkDescMaxLength.desc", + labelKey = "linkDescMaxLength.label" + ) private int linkDescMaxLength = 400; public static CMSConfig getConfig() { diff --git a/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig.properties b/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig.properties new file mode 100644 index 000000000..86aafc4e7 --- /dev/null +++ b/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig.properties @@ -0,0 +1,126 @@ + +title=CMS Configuration +description=Various settings for customizing content handling +defaultItemTemplatePath.desc=Path of the default JSP template for Content Items. Only used by the legacy presentation system. +defaultItemTemplatePath.label=Default Item Template Path +defaultFolderTemplatePath.label=Default Folder Template Path +defaultFolderTemplatePath.desc=Path of the default JSP template for folders. Only used by the legacy presentation system. +templateRootPath.label=Template Root Path +templateRootPath.desc=Where to look for JSP templates. Only used by the legacy presentation system. +itemAdapters.label=Item Adapters +itemAdapters.desc=Path of the the item adapter file +useStreamlinedCreation.label=Use Streamlined Creation? +useStreamlinedCreation.desc= +dhtmlEditorConfig.label=DHTML Editor Configuration +dhtmlEditorConfig.desc=Configuration of the Rich Text Editor +dhtmlEditorPlugins.label=DHTML Editor Plugins +dhtmlEditorPlugins.desc= +dhtmlEditorHiddenButtons.label=DHTML Editor Hidden Buttons +dhtmlEditorHiddenButtons.desc= +hideAdminTabs.label=Hide Admin Tabs? +hideAdminTabs.desc=Hide Admin Tabs for none admin users? +hideFolderIndexCheckbox.label=Hide Folder Index Checkbox? +hideFolderIndexCheckbox.desc= +hideLaunchDate.label=Hide Launch Date? +hideLaunchDate.desc= +requireLaunchDate.label=Require Launch Date? +requireLaunchDate.desc= +hideTemplatesTab.label=Hide Templates Tab? +hideTemplatesTab.desc= +hideTextAssetUploadFile.label=Hide Text Asset Upload File? +hideTextAssetUploadFile.desc= +hideTimezone.label=Hide Timezone? +hideTimezone.desc= +saveTextCleansWordTags.label=Save Text Cleans Word Tags? +saveTextCleansWordTags.desc= +disableFileAssetExtraction.desc= +disableFileAssetExtraction.label=Disable File Asset Extraction? +deleteWorkflowAfterPublication.label=Delete Workflow after publication? +deleteWorkflowAfterPublication.desc=Whether an item's workflow should be deleted, once the item has been \n(re)published. +soonExpiredTimespanDays.desc= +soonExpiredTimespanDays.label=Soon Expired Timespan Days +soonExpiredTimespanMonths.label=Soon expired timespan months +soonExpiredTimespanMonths.desc= +unpublishedNotFound.label=Unpublished not found? +unpublishedNotFound.desc=Does a redirect to the unpublished item generate not found error? +linksOnlyInSameSubsite.desc= +linksOnlyInSameSubsite.label=Links Only In Same Subsite? +hideResetLifecycleLink.desc= +hideResetLifecycleLink.label=Hide Reset Lifecycle Link? +scoreTitleAndKeywords.label=Score title and keywords? +scoreTitleAndKeywords.desc= +titleWeight.desc= +titleWeight.label=Title Weight +keywordWeight.label=Keyword Weight +keywordWeight.desc= +limitItemSearchToContentSection.desc= +limitItemSearchToContentSection.label=Limit Item Search to Content Section? +skipAssetSteps.label=Skip Asset Steps? +skipAssetSteps.desc= +mandatoryDescriptions.label=Mandatory Descriptions? +mandatoryDescriptions.desc= +deleteLifecycleWhenComplete.label=Delete Lifecycle when complete? +deleteLifecycleWhenComplete.desc= +deleteWorkflowNotificationWhenSend.label=Delete Workflow Notification when send? +deleteWorkflowNotificationWhenSend.desc= +deleteExpiryNotificationsWhenSent.label=Delete Expiry Notifications when sent +deleteExpiryNotificationsWhenSent.desc= +defaultNotificationTime.label=Default Notification Time +defaultNotificationTime.desc=Amount of time (in hours) before the expiration of a content item that users in the Alert Recipient role are alerted via email +notifyAuthorOnLifecycle.label=Notify author on lifecycle? +notifyAuthorOnLifecycle.desc= +contentCenterMap.label=Content Center Map +contentCenterMap.desc= +defaultItemResolverClassNames.label=Default Item Resolver class names +defaultItemResolverClassNames.desc= +itemSearchDefaultTab.label=Item Search Default Tab +itemSearchDefaultTab.desc= +itemSearchFlatBrowsePanePageSize=Item Search Flat Browse Pane Page Size +folderBrowseListSize.label=Folder Browse List Size +folderBrowseListSize.desc= +folderAtoZShowLimit.label=Folder A to Z Show Limit +folderAtoZShowLimit.desc= +useOldStyleItemLifecycleItemPane.label=Use Old Style Item Lifecycle Item Pane? +useOldStyleItemLifecycleItemPane.desc= +threadPublishing.label=Thread Publishing +threadPublishing.desc= +publishingFailureSender.label=Publishing Failure Sender +publishingFailureSender.desc= +publishingFailureReceiver.label=Publishing Failure Receiver +publishingFailureReceiver.desc= +imageBrowserThumbnailMaxWidth.label=Image Browser Thumbnail Max Width +imageBrowserThumbnailMaxWidth.desc= +imageBrowserThumbnailMaxHeight.label=Image Browser Thumbnail Max Height +imageBrowserThumbnailMaxHeight.desc= +imageBrowserCaptionSize.label=Image Browser Caption Size +imageBrowserCaptionSize.desc= +imageBrowserDescriptionSize.label=Image Browser Description Size +imageBrowserDescriptionSize.desc= +imageBrowserTitleSize.label=Image Browser Title Size +imageBrowserTitleSize.desc= +imageCacheEnabled.label=Image Cache Enabled? +imageCacheEnabled.desc= +imageCachePrefetchEnabled.label=Image Cache Prefetch Enabled +imageCachePrefetchEnabled.desc= +imageCacheMaxSize.label=Image Cache Max Size +imageCacheMaxSize.desc= +imageCacheMaxAge.label=Image Cache Max Age +imageCacheMaxAge.desc= +attachPersonOrgaUnitsStep.label=Attach Person Orga Units Step enabled? +attachPersonOrgaUnitsStep.desc= +personOrgaUnitsStepSortKey.label=Person Orga Units Step Sort Key +personOrgaUnitsStepSortKey.desc= +enableXmlCache.label=Enable XML Cache? +enableXmlCache.desc= +xmlCacheSize.label=XML Cache Size +xmlCacheSize.desc= +xmlCacheAge.label=XML Cache Age +xmlCacheAge.desc= +categoryAuthoringAddForm.label=Category Authoring Add Form +categoryAuthoringAddForm.desc= +categoryAuthoringExtension.label=Category Authoring Extension +categoryAuthoringExtension.desc= +categoryPickerAjaxExpandAll.label=Category Picker AJAX Expand All? +categoryPickerAjaxExpandAll.desc= +linkDescMaxLength.label=Link description max length +linkDescMaxLength.desc= diff --git a/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig_de.properties b/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig_de.properties new file mode 100644 index 000000000..bd3c11563 --- /dev/null +++ b/ccm-cms/src/main/resources/com/arsdigita/cms/CMSConfig_de.properties @@ -0,0 +1,126 @@ + +title=CMS Konfiguration +description=Einstellungen bez\u00fcglich Bearbeitung und Anzeige von Inhalten +defaultItemTemplatePath.desc=Pfad der Standard-JSP-Template f\u00fcr Content Items. Nur vom alten Pr\u00e4sentationssystem genutzt. +defaultItemTemplatePath.label=Pfad der Standard Template f\u00fcr Content Items +defaultFolderTemplatePath.label=Pfad der Standard-JSP-Template f\u00fcr Ordner +defaultFolderTemplatePath.desc=Pfad der Standard-JSP-Template f\u00fcr Ordner. Nur vom alten Pr\u00e4sentationssystem genutzt. +templateRootPath.label=Suchpfad f\u00fcr Templates +templateRootPath.desc=Ordner in dem nach JSP-Templates gesucht wird. Nur vom alten Pr\u00e4sentationssystem genutzt. +itemAdapters.label=Item Adapter +itemAdapters.desc=Pfad der Item-Adapter-Datei +useStreamlinedCreation.label=Use Streamlined Creation? +useStreamlinedCreation.desc= +dhtmlEditorConfig.label=DHTML Editor Konfiguration +dhtmlEditorConfig.desc=Konfiguration des Text Editors +dhtmlEditorPlugins.label=DHTML Editor Plugins +dhtmlEditorPlugins.desc= +dhtmlEditorHiddenButtons.label=DHTML Editor Deaktivierte Funktionen +dhtmlEditorHiddenButtons.desc= +hideAdminTabs.label=Admin Tabs verstecken? +hideAdminTabs.desc=Sollen die Admin-Tabs f\u00fcr Benutzer*innen ohnen Administrations-Rechte sichtbar sein? +hideFolderIndexCheckbox.label=Index-Checkbox f\u00fcr Ordner verstecken? +hideFolderIndexCheckbox.desc= +hideLaunchDate.label=Start-Datum verstecken? +hideLaunchDate.desc= +requireLaunchDate.label=Startdatum erforderlich? +requireLaunchDate.desc= +hideTemplatesTab.label=Vorlaben Tab verbergen? +hideTemplatesTab.desc= +hideTextAssetUploadFile.label=Hochladen f\u00fcr Text-Assets verbergen? +hideTextAssetUploadFile.desc= +hideTimezone.label=Zeitzone verstecken? +hideTimezone.desc= +saveTextCleansWordTags.label=Speichern bereinigt Word Tags? +saveTextCleansWordTags.desc= +disableFileAssetExtraction.desc= +disableFileAssetExtraction.label=Analyse von hochgeladenen Dateien deaktivieren? +deleteWorkflowAfterPublication.label=Arbeitsablauf nach dem Publizieren l\u00f6schen? +deleteWorkflowAfterPublication.desc= +soonExpiredTimespanDays.desc= +soonExpiredTimespanDays.label=Soon Expired Timespan Days +soonExpiredTimespanMonths.label=Soon expired timespan months +soonExpiredTimespanMonths.desc= +unpublishedNotFound.label=Unpublished not found? +unpublishedNotFound.desc=Does a redirect to the unpublished item generate not found error? +linksOnlyInSameSubsite.desc= +linksOnlyInSameSubsite.label=Links Only In Same Subsite? +hideResetLifecycleLink.desc= +hideResetLifecycleLink.label=Hide Reset Lifecycle Link? +scoreTitleAndKeywords.label=Score title and keywords? +scoreTitleAndKeywords.desc= +titleWeight.desc= +titleWeight.label=Title Weight +keywordWeight.label=Keyword Weight +keywordWeight.desc= +limitItemSearchToContentSection.desc= +limitItemSearchToContentSection.label=Limit Item Search to Content Section? +skipAssetSteps.label=Skip Asset Steps? +skipAssetSteps.desc= +mandatoryDescriptions.label=Mandatory Descriptions? +mandatoryDescriptions.desc= +deleteLifecycleWhenComplete.label=Delete Lifecycle when complete? +deleteLifecycleWhenComplete.desc= +deleteWorkflowNotificationWhenSend.label=Delete Workflow Notification when send? +deleteWorkflowNotificationWhenSend.desc= +deleteExpiryNotificationsWhenSent.label=Delete Expiry Notifications when sent +deleteExpiryNotificationsWhenSent.desc= +defaultNotificationTime.label=Default Notification Time +defaultNotificationTime.desc=Amount of time (in hours) before the expiration of a content item that users in the Alert Recipient role are alerted via email +notifyAuthorOnLifecycle.label=Notify author on lifecycle? +notifyAuthorOnLifecycle.desc= +contentCenterMap.label=Content Center Map +contentCenterMap.desc= +defaultItemResolverClassNames.label=Default Item Resolver class names +defaultItemResolverClassNames.desc= +itemSearchDefaultTab.label=Item Search Default Tab +itemSearchDefaultTab.desc= +itemSearchFlatBrowsePanePageSize=Item Search Flat Browse Pane Page Size +folderBrowseListSize.label=Folder Browse List Size +folderBrowseListSize.desc= +folderAtoZShowLimit.label=Folder A to Z Show Limit +folderAtoZShowLimit.desc= +useOldStyleItemLifecycleItemPane.label=Use Old Style Item Lifecycle Item Pane? +useOldStyleItemLifecycleItemPane.desc= +threadPublishing.label=Thread Publishing +threadPublishing.desc= +publishingFailureSender.label=Publishing Failure Sender +publishingFailureSender.desc= +publishingFailureReceiver.label=Publishing Failure Receiver +publishingFailureReceiver.desc= +imageBrowserThumbnailMaxWidth.label=Image Browser Thumbnail Max Width +imageBrowserThumbnailMaxWidth.desc= +imageBrowserThumbnailMaxHeight.label=Image Browser Thumbnail Max Height +imageBrowserThumbnailMaxHeight.desc= +imageBrowserCaptionSize.label=Image Browser Caption Size +imageBrowserCaptionSize.desc= +imageBrowserDescriptionSize.label=Image Browser Description Size +imageBrowserDescriptionSize.desc= +imageBrowserTitleSize.label=Image Browser Title Size +imageBrowserTitleSize.desc= +imageCacheEnabled.label=Image Cache Enabled? +imageCacheEnabled.desc= +imageCachePrefetchEnabled.label=Image Cache Prefetch Enabled +imageCachePrefetchEnabled.desc= +imageCacheMaxSize.label=Image Cache Max Size +imageCacheMaxSize.desc= +imageCacheMaxAge.label=Image Cache Max Age +imageCacheMaxAge.desc= +attachPersonOrgaUnitsStep.label=Attach Person Orga Units Step enabled? +attachPersonOrgaUnitsStep.desc= +personOrgaUnitsStepSortKey.label=Person Orga Units Step Sort Key +personOrgaUnitsStepSortKey.desc= +enableXmlCache.label=Enable XML Cache? +enableXmlCache.desc= +xmlCacheSize.label=XML Cache Size +xmlCacheSize.desc= +xmlCacheAge.label=XML Cache Age +xmlCacheAge.desc= +categoryAuthoringAddForm.label=Category Authoring Add Form +categoryAuthoringAddForm.desc= +categoryAuthoringExtension.label=Category Authoring Extension +categoryAuthoringExtension.desc= +categoryPickerAjaxExpandAll.label=Category Picker AJAX Expand All? +categoryPickerAjaxExpandAll.desc= +linkDescMaxLength.label=Link description max length +linkDescMaxLength.desc= 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 bff6acabb..b75adb31e 100755 --- a/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java +++ b/ccm-core/src/main/java/com/arsdigita/bebop/BebopConfig.java @@ -41,32 +41,59 @@ import java.util.stream.Collectors; * @author Jens Pelzetter */ @Configuration( - descKey = "bebop.config.description") + descBundle = "com.arsdigita.bebop.BebopConfig", + descKey = "description", + titleKey = "title" +) public final class BebopConfig { - @Setting + @Setting( + descKey = "presenterClassName.desc", + labelKey = "presenterClassName.label" + ) private String presenterClassName = PageTransformer.class.getName(); - @Setting + @Setting( + descKey = "basePageClassName.desc", + labelKey = "basePageClassName.label" + ) private String basePageClassName = SimplePage.class.getName(); - @Setting + @Setting( + descKey = "tidyConfigFile.desc", + labelKey = "tidyConfigFile.label" + ) private String tidyConfigFile = "com/arsdigita/bebop/parameters/tidy.properties"; - @Setting + @Setting( + descKey = "fancyErrors.desc", + labelKey = "fancyErrors.label" + ) private Boolean fancyErrors = false; - @Setting + @Setting( + descKey = "dcpOnButtons.desc", + labelKey = "dcpOnButtons.label" + ) private Boolean dcpOnButtons = true; - @Setting + @Setting( + descKey = "dcpOnLinks.desc", + labelKey = "dcpOnLinks.label" + ) private Boolean dcpOnLinks = false; - @Setting + @Setting( + descKey = "treeSelectEnabled.desc", + labelKey = "treeSelectEnabled.label" + ) private Boolean treeSelectEnabled = false; - @Setting + @Setting( + descKey = "dhtmlEditors.desc", + labelKey = "dhtmlEditors.label" + ) private Set dhtmlEditors = new HashSet<>( Arrays.asList(new String[]{BebopConstants.BEBOP_XINHAEDITOR, BebopConstants.BEBOP_FCKEDITOR, @@ -74,14 +101,23 @@ public final class BebopConfig { BebopConstants.BEBOP_CCMEDITOR, BebopConstants.BEBOP_TINYMCE_EDITOR})); - @Setting + @Setting( + descKey = "defaultDhtmlEditor.desc", + labelKey = "defaultDhtmlEditor.label" + ) private String defaultDhtmlEditor = BebopConstants.BEBOP_TINYMCE_EDITOR; - @Setting + @Setting( + descKey = "dhtmlEditorSrcFile.desc", + labelKey = "dhtmlEditorSrcFile.label" + ) // private String dhtmlEditorSrcFile = "/ccm-editor/ccm-editor-loader.js"; private String dhtmlEditorSrcFile = "/webjars/tinymce/4.8.2/tinymce.js"; - @Setting + @Setting( + descKey = "showClassName.desc", + labelKey = "showClassName.label" + ) 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 fbc41278f..2a4e44466 100755 --- a/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java +++ b/ccm-core/src/main/java/com/arsdigita/dispatcher/DispatcherConfig.java @@ -28,19 +28,35 @@ import org.libreccm.configuration.Setting; * * @author Jens Pelzetter */ -@Configuration +@Configuration( + descBundle = "com.arsdigita.dispatcher.DispatcherConfig", + descKey = "description", + titleKey = "title" +) public final class DispatcherConfig { - @Setting + @Setting( + descKey = "cachingActive.desc", + labelKey = "cachingActive.label" + ) private Boolean cachingActive = true; - @Setting + @Setting( + descKey = "defaultExpiry.desc", + labelKey = "defaultExpiry.label" + ) private Integer defaultExpiry = 259200; - @Setting + @Setting( + descKey = "staticUrlPrefix.desc", + labelKey = "statusUrlPrefix.label" + ) private String staticUrlPrefix = "/STATICII/"; - @Setting + @Setting( + descKey = "defaultPageClass.desc", + labelKey = "defaultPageClass.label" + ) private String defaultPageClass = "com.arsdigita.bebop.Page"; public static DispatcherConfig getConfig() { diff --git a/ccm-core/src/main/java/org/libreccm/configuration/SettingManager.java b/ccm-core/src/main/java/org/libreccm/configuration/SettingManager.java index a237ed80a..e528915bf 100644 --- a/ccm-core/src/main/java/org/libreccm/configuration/SettingManager.java +++ b/ccm-core/src/main/java/org/libreccm/configuration/SettingManager.java @@ -179,7 +179,7 @@ public class SettingManager { settingInfo.setLabelKey(String.join(".", field.getName(), "label")); } else { - settingInfo.setLabelKey(name); + settingInfo.setLabelKey(settingAnnotation.labelKey()); } if (Strings.isBlank(settingAnnotation.descKey())) { diff --git a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/configuration/settings.xhtml b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/configuration/settings.xhtml index 2a1680169..d105e963f 100644 --- a/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/configuration/settings.xhtml +++ b/ccm-core/src/main/resources/WEB-INF/views/org/libreccm/ui/admin/configuration/settings.xhtml @@ -11,18 +11,20 @@ - - -
+

#{confLabel}

#{confDescription} diff --git a/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig.properties b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig.properties new file mode 100644 index 000000000..773a769f4 --- /dev/null +++ b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig.properties @@ -0,0 +1,41 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +description=Settings for legacy UI framework used by CCM +title=Bebop Configuration +presenterClassName.label=Presenter Class name +presenterClassName.desc=Fully qualified class name of the presenter implementation to use +basePageClassName.desc=Fully qualified class name of the basic page component +basePageClassName.label=Base Page Class Name +tidyConfigFile.desc= +tidyConfigFile.label=Tidy Configuration File +fancyErrors.desc= +fancyErrors.label=Fancy Errors? +dcpOnButtons.desc= +dcpOnButtons.label=Enable Double-Click protection on buttons? +dcpOnLinks.desc= +dcpOnLinks.label=Enable Double-Click protecttion on links? +treeSelectEnabled.desc= +treeSelectEnabled.label=Tree Select Enabled +dhtmlEditors.desc= +dhtmlEditors.label=DHTML editors +defaultDhtmlEditor.desc=Default DHTML Editor +defaultDhtmlEditor.label=Default DHTML Editor +dhtmlEditorSrcFile.desc= +dhtmlEditorSrcFile.label=DHTML Editor Main File +showClassName.desc= +showClassName.label=Show Class Name? diff --git a/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig_de.properties b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig_de.properties new file mode 100644 index 000000000..773a769f4 --- /dev/null +++ b/ccm-core/src/main/resources/com/arsdigita/bebop/BebopConfig_de.properties @@ -0,0 +1,41 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +description=Settings for legacy UI framework used by CCM +title=Bebop Configuration +presenterClassName.label=Presenter Class name +presenterClassName.desc=Fully qualified class name of the presenter implementation to use +basePageClassName.desc=Fully qualified class name of the basic page component +basePageClassName.label=Base Page Class Name +tidyConfigFile.desc= +tidyConfigFile.label=Tidy Configuration File +fancyErrors.desc= +fancyErrors.label=Fancy Errors? +dcpOnButtons.desc= +dcpOnButtons.label=Enable Double-Click protection on buttons? +dcpOnLinks.desc= +dcpOnLinks.label=Enable Double-Click protecttion on links? +treeSelectEnabled.desc= +treeSelectEnabled.label=Tree Select Enabled +dhtmlEditors.desc= +dhtmlEditors.label=DHTML editors +defaultDhtmlEditor.desc=Default DHTML Editor +defaultDhtmlEditor.label=Default DHTML Editor +dhtmlEditorSrcFile.desc= +dhtmlEditorSrcFile.label=DHTML Editor Main File +showClassName.desc= +showClassName.label=Show Class Name? diff --git a/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig.properties b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig.properties new file mode 100644 index 000000000..2606701a7 --- /dev/null +++ b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig.properties @@ -0,0 +1,27 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +title=Dispatcher Configuration +description=Settings for the legacy dispatcher +cachingActive.desc=Toggle whether or not to use HTTP/1.1 caching +cachingActive.label=Caching Active? +defaultExpiry.desc=Set the default expiration time for HTTP caching +defaultExpiry.label=Default Cache Expiry +statusUrlPrefix.desc=The default page class. A custom installation may provide it's own implementation. Use with care because all pages inherit from this class! +staticUrlPrefix.label=Static URL Prefix +defaultPageClass.desc=Prefix used for serving static files +defaultPageClass.label=Default Page Class diff --git a/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig_de.properties b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig_de.properties new file mode 100644 index 000000000..49a8a02ca --- /dev/null +++ b/ccm-core/src/main/resources/com/arsdigita/dispatcher/DispatcherConfig_de.properties @@ -0,0 +1,27 @@ +# Copyright (C) 2020 LibreCCM Foundation. +# +# 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., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +title=Dispatcher Configuration +description= +cachingActive.desc=Toggle whether or not to use HTTP/1.1 caching +cachingActive.label=Caching Active? +defaultExpiry.desc=Set the default expiration time for HTTP caching +defaultExpiry.label=Default Cache Expiry +statusUrlPrefix.desc=The default page class. A custom installation may provide it's own implementation. Use with care because all pages inherit from this class! +staticUrlPrefix.label=Static URL Prefix +defaultPageClass.desc=Prefix used for serving static files +defaultPageClass.label=Default Page Class 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 498ae2705..982cecd08 100644 --- a/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties +++ b/ccm-core/src/main/resources/com/arsdigita/globalization/GlobalizationConfigDescription.properties @@ -15,7 +15,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301 USA -description = A configuration record for configuration of the core globalization package +globalization.config.description = A configuration record for configuration of the core globalization package 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 56a265997..1347247da 100644 --- a/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties +++ b/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription.properties @@ -3,8 +3,8 @@ description = Configure several basic properties for LibreCCM 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 +webdevSupportEnabled.label=Webdev support enabled? +webdevSupportEnabled.description=Enables or disables Webdev support data_permissionCheckEnabled.label = DML permission checking flag data_permissionCheckEnabled.description = Enables or disables permissions checks on database writes @@ -18,8 +18,18 @@ 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. +title=Kernel Configuration +dataPermissionCheckEnabled.label=Data Permission Check Enabled? +defaultLanguage.label=Default Language +exportPath.label=Export Path +exportPath.description=Where to store export files +importPath.label=Import Path +importPath.description=Where to look for files to import +jwtSecret.label=JWT secret +jwtSecret.description=Secret for generating JSON Web Tokens +secureLoginEnabled.label=Secure Login enabled? +secureLoginEnabled.description=Force HTTPS for login? +systemEmailAddress.label=System Email address +systemEmailAddress.description=Email address used a from address for mail generated by the CCM diff --git a/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription_de.properties b/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription_de.properties new file mode 100644 index 000000000..1347247da --- /dev/null +++ b/ccm-core/src/main/resources/com/arsdigita/kernel/KernelConfigDescription_de.properties @@ -0,0 +1,35 @@ +description = Configure several basic properties for LibreCCM + +debugEnabled.label = Global debug flag +debugEnabled.description = Enables or disables WAF debugging + +webdevSupportEnabled.label=Webdev support enabled? +webdevSupportEnabled.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 + +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. +title=Kernel Configuration +dataPermissionCheckEnabled.label=Data Permission Check Enabled? +defaultLanguage.label=Default Language +exportPath.label=Export Path +exportPath.description=Where to store export files +importPath.label=Import Path +importPath.description=Where to look for files to import +jwtSecret.label=JWT secret +jwtSecret.description=Secret for generating JSON Web Tokens +secureLoginEnabled.label=Secure Login enabled? +secureLoginEnabled.description=Force HTTPS for login? +systemEmailAddress.label=System Email address +systemEmailAddress.description=Email address used a from address for mail generated by the CCM