ItemLifecycleItemPane umgestaltet, um versehentliche Klicks auf zurückziehen zu vermeiden.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1243 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
6118543a94
commit
0ca2616746
|
|
@ -112,19 +112,19 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
|
|
||||||
return s_config;
|
return s_config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Storage (map) for method getAssetStepsToSkip(ContentType type) to store
|
* Storage (map) for method getAssetStepsToSkip(ContentType type) to store
|
||||||
* mapping of steps that are deemed irrelevant for the passid in type.
|
* mapping of steps that are deemed irrelevant for the passid in type.
|
||||||
*/
|
*/
|
||||||
private static Map s_skipAssetSteps = null;
|
private static Map s_skipAssetSteps = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Item category add form speciofies Subclass of ItemCategoryForm
|
* Item category add form speciofies Subclass of ItemCategoryForm
|
||||||
* to use for the assign categories step.
|
* to use for the assign categories step.
|
||||||
* Used in c.ad.cms.ui.authoring.ItemCategoryStep
|
* Used in c.ad.cms.ui.authoring.ItemCategoryStep
|
||||||
*/
|
*/
|
||||||
private final Parameter m_categoryAuthoringAddForm = new SpecificClassParameter("com.arsdigita.cms.category_authoring_add_form",
|
private final Parameter m_categoryAuthoringAddForm =
|
||||||
|
new SpecificClassParameter(
|
||||||
|
"com.arsdigita.cms.category_authoring_add_form",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
ItemCategoryForm.class,
|
ItemCategoryForm.class,
|
||||||
SimpleComponent.class);
|
SimpleComponent.class);
|
||||||
|
|
@ -132,19 +132,28 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Path for the default item template. Path is relative to the
|
* Path for the default item template. Path is relative to the
|
||||||
* Template Root path.
|
* Template Root path.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_defaultItemTemplatePath = new StringParameter("com.arsdigita.cms.default_item_template_path",
|
private final Parameter m_defaultItemTemplatePath =
|
||||||
Parameter.REQUIRED, "/default/item.jsp");
|
new StringParameter(
|
||||||
|
"com.arsdigita.cms.default_item_template_path",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
"/default/item.jsp");
|
||||||
/**
|
/**
|
||||||
* Path for the default folder template. Path is relative to the
|
* Path for the default folder template. Path is relative to the
|
||||||
* Template Root path.
|
* Template Root path.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_defaultFolderTemplatePath = new StringParameter("com.arsdigita.cms.default_folder_template_path",
|
private final Parameter m_defaultFolderTemplatePath =
|
||||||
Parameter.REQUIRED, "/default/folder.jsp");
|
new StringParameter(
|
||||||
|
"com.arsdigita.cms.default_folder_template_path",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
"/default/folder.jsp");
|
||||||
/**
|
/**
|
||||||
* Path for the default template folder. Path is relative to webapp root
|
* Path for the default template folder. Path is relative to webapp root
|
||||||
*/
|
*/
|
||||||
private final Parameter m_templateRootPath = new StringParameter("com.arsdigita.cms.template_root_path",
|
private final Parameter m_templateRootPath =
|
||||||
Parameter.REQUIRED, "/packages/content-section/templates");
|
new StringParameter(
|
||||||
|
"com.arsdigita.cms.template_root_path",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
"/packages/content-section/templates");
|
||||||
// URL resource: protocol handler removal: START
|
// URL resource: protocol handler removal: START
|
||||||
// remove:
|
// remove:
|
||||||
// try {
|
// try {
|
||||||
|
|
@ -160,7 +169,9 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Item Adapters File, path to an XML resource containing adapter
|
* Item Adapters File, path to an XML resource containing adapter
|
||||||
* specifications. Path is relative to webapp root.
|
* specifications. Path is relative to webapp root.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_itemAdapters = new ResourceParameter("com.arsdigita.cms.item_adapters",
|
private final Parameter m_itemAdapters =
|
||||||
|
new ResourceParameter(
|
||||||
|
"com.arsdigita.cms.item_adapters",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
"/WEB-INF/resources/cms-item-adapters.xml");
|
"/WEB-INF/resources/cms-item-adapters.xml");
|
||||||
// URL resource: protocol handler removal: END
|
// URL resource: protocol handler removal: END
|
||||||
|
|
@ -168,18 +179,21 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Use streamlined content creation: upon item creation,
|
* Use streamlined content creation: upon item creation,
|
||||||
* automatically open authoring steps and forward to the next step
|
* automatically open authoring steps and forward to the next step
|
||||||
*/
|
*/
|
||||||
private final Parameter m_useStreamlinedCreation = new BooleanParameter("com.arsdigita.cms.use_streamlined_creation",
|
private final Parameter m_useStreamlinedCreation = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(true));
|
"com.arsdigita.cms.use_streamlined_creation",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
true));
|
||||||
/**
|
/**
|
||||||
* DHTML Editor Configuration for use in CMS module, lists the
|
* DHTML Editor Configuration for use in CMS module, lists the
|
||||||
* config object name and Javascript source location for its definition.
|
* config object name and Javascript source location for its definition.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_dhtmlEditorConfig =
|
private final Parameter m_dhtmlEditorConfig =
|
||||||
new DHTMLEditorConfigParameter(
|
new DHTMLEditorConfigParameter(
|
||||||
"com.arsdigita.cms.dhtml_editor_config",
|
"com.arsdigita.cms.dhtml_editor_config",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
new DHTMLEditor.Config("XinhaConfig",
|
new DHTMLEditor.Config("XinhaConfig",
|
||||||
"/assets/xinha/CCMcmsXinhaConfig.js"));
|
"/assets/xinha/CCMcmsXinhaConfig.js"));
|
||||||
// previous parameter definition:
|
// previous parameter definition:
|
||||||
// > DHTMLEditor.Config.STANDARD); <
|
// > DHTMLEditor.Config.STANDARD); <
|
||||||
// didn't work because of broken unmarshalling (cf. similiar problem
|
// didn't work because of broken unmarshalling (cf. similiar problem
|
||||||
|
|
@ -202,108 +216,162 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Prevent undesirable functions from being made available,
|
* Prevent undesirable functions from being made available,
|
||||||
* eg images should only be added through the cms methods.
|
* eg images should only be added through the cms methods.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_dhtmlEditorHiddenButtons = new StringArrayParameter("com.arsdigita.cms.dhtml_editor_hidden_buttons",
|
private final Parameter m_dhtmlEditorHiddenButtons =
|
||||||
|
new StringArrayParameter(
|
||||||
|
"com.arsdigita.cms.dhtml_editor_hidden_buttons",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
null);
|
null);
|
||||||
/**
|
/**
|
||||||
* Hide section admin tabs from users without administrative rights.
|
* Hide section admin tabs from users without administrative rights.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideAdminTabs = new BooleanParameter("com.arsdigita.cms.hide_admin_tabs",
|
private final Parameter m_hideAdminTabs = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.hide_admin_tabs",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide Folder Index Checkbox from folder view
|
* Hide Folder Index Checkbox from folder view
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideFolderIndexCheckbox = new BooleanParameter("com.arsdigita.cms.hide_folder_index_checkbox",
|
private final Parameter m_hideFolderIndexCheckbox = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.hide_folder_index_checkbox",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide launch date parameter on all forms and displays where it's used.
|
* Hide launch date parameter on all forms and displays where it's used.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideLaunchDate = new BooleanParameter("com.arsdigita.cms.hide_launch_date",
|
private final Parameter m_hideLaunchDate = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(true));
|
"com.arsdigita.cms.hide_launch_date",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
true));
|
||||||
/**
|
/**
|
||||||
* Require the launch date parameter to be set by the content author.
|
* Require the launch date parameter to be set by the content author.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_requireLaunchDate = new BooleanParameter("com.arsdigita.cms.require_launch_date",
|
private final Parameter m_requireLaunchDate = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.require_launch_date",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide the templates tab on the item admin page.
|
* Hide the templates tab on the item admin page.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideTemplatesTab = new BooleanParameter("com.arsdigita.cms.hide_templates_tab",
|
private final Parameter m_hideTemplatesTab = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.hide_templates_tab",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide the upload file link in the editing of a text asset.
|
* Hide the upload file link in the editing of a text asset.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideTextAssetUploadFile = new BooleanParameter("com.arsdigita.cms.hide_text_asset_upload_file",
|
private final Parameter m_hideTextAssetUploadFile = new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.hide_text_asset_upload_file",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
new Boolean(false));
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide timezone labels (if, for example, all users will be in the
|
* Hide timezone labels (if, for example, all users will be in the
|
||||||
* same timezone and such information would be unnecessary)
|
* same timezone and such information would be unnecessary)
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideTimezone = new BooleanParameter("com.arsdigita.cms.hide_timezone",
|
private final Parameter m_hideTimezone = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.hide_timezone",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide User Defined Content Types UI
|
* Hide User Defined Content Types UI
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideUDCTUI = new BooleanParameter("com.arsdigita.cms.hide_udct_ui",
|
private final Parameter m_hideUDCTUI = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.hide_udct_ui",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Specifies the name of the class to use as a PublishLifecycleListener
|
* Specifies the name of the class to use as a PublishLifecycleListener
|
||||||
*/
|
*/
|
||||||
private final Parameter m_publishLifecycleListenerClass = new StringParameter("com.arsdigita.cms.publish_lifecycle_listener_class",
|
private final Parameter m_publishLifecycleListenerClass =
|
||||||
Parameter.OPTIONAL, PublishLifecycleListener.class.getName());
|
new StringParameter(
|
||||||
|
"com.arsdigita.cms.publish_lifecycle_listener_class",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
PublishLifecycleListener.class.getName());
|
||||||
/**
|
/**
|
||||||
* Wether the Wysiwyg editor should clear the text of MSWord tags,
|
* Wether the Wysiwyg editor should clear the text of MSWord tags,
|
||||||
* everytime the user clicks on 'Save'
|
* everytime the user clicks on 'Save'
|
||||||
*/
|
*/
|
||||||
private final Parameter m_saveTextCleansWordTags = new BooleanParameter("com.arsdigita.cms.save_text_cleans_word_tags",
|
private final Parameter m_saveTextCleansWordTags = new BooleanParameter(
|
||||||
Parameter.OPTIONAL, new Boolean(false));
|
"com.arsdigita.cms.save_text_cleans_word_tags",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Hide Additional Resource Fields on RelatedLinkPropertyForm
|
* Hide Additional Resource Fields on RelatedLinkPropertyForm
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideAdditionalResourceFields = new BooleanParameter("com.arsdigita.cms.contentassets.ui."
|
private final Parameter m_hideAdditionalResourceFields =
|
||||||
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.contentassets.ui."
|
||||||
+ "RelatedLinkPropertyForm.hideAdditionalResourceFields",
|
+ "RelatedLinkPropertyForm.hideAdditionalResourceFields",
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(false));
|
||||||
/**
|
/**
|
||||||
* Get the search indexing not to process FileAssets,
|
* Get the search indexing not to process FileAssets,
|
||||||
* eg to avoid PDF slowdowns
|
* eg to avoid PDF slowdowns
|
||||||
*/
|
*/
|
||||||
private final Parameter m_disableFileAssetExtraction = new BooleanParameter("com.arsdigita.cms.search.disableFileAssetExtraction",
|
private final Parameter m_disableFileAssetExtraction = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.search.disableFileAssetExtraction",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Whether an item's workflow should be deleted, once the item
|
* Whether an item's workflow should be deleted, once the item
|
||||||
* has been (re)published
|
* has been (re)published
|
||||||
*/
|
*/
|
||||||
private final Parameter m_deleteWorkflowAfterPublication = new BooleanParameter("com.arsdigita.cms.delete_workflow_after_publication",
|
private final Parameter m_deleteWorkflowAfterPublication =
|
||||||
Parameter.REQUIRED, new Boolean(true));
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.delete_workflow_after_publication",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(true));
|
||||||
/**
|
/**
|
||||||
* Defines the number of days ahead that are covered in the
|
* Defines the number of days ahead that are covered in the
|
||||||
* 'Soon Expired' tab
|
* 'Soon Expired' tab
|
||||||
*/
|
*/
|
||||||
private final Parameter m_soonExpiredTimespanDays = new IntegerParameter("com.arsdigita.cms.soon_expired_timespan_days",
|
private final Parameter m_soonExpiredTimespanDays = new IntegerParameter(
|
||||||
Parameter.REQUIRED, new Integer(14));
|
"com.arsdigita.cms.soon_expired_timespan_days",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Integer(
|
||||||
|
14));
|
||||||
/**
|
/**
|
||||||
* Defines the number of months ahead that are covered in the
|
* Defines the number of months ahead that are covered in the
|
||||||
* 'Soon Expired' tab
|
* 'Soon Expired' tab
|
||||||
*/
|
*/
|
||||||
private final Parameter m_soonExpiredTimespanMonths = new IntegerParameter("com.arsdigita.cms.soon_expired_timespan_months",
|
private final Parameter m_soonExpiredTimespanMonths = new IntegerParameter(
|
||||||
Parameter.REQUIRED, new Integer(1));
|
"com.arsdigita.cms.soon_expired_timespan_months",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Integer(
|
||||||
|
1));
|
||||||
/**
|
/**
|
||||||
* Does a redirect to the unpublished item generate not found error?
|
* Does a redirect to the unpublished item generate not found error?
|
||||||
*/
|
*/
|
||||||
private final Parameter m_unpublishedNotFound = new BooleanParameter("com.arsdigita.cms.unpublished_not_found",
|
private final Parameter m_unpublishedNotFound = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(true));
|
"com.arsdigita.cms.unpublished_not_found",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
true));
|
||||||
/**
|
/**
|
||||||
* Links created through browse interfaces should only be within the
|
* Links created through browse interfaces should only be within the
|
||||||
* same subsite
|
* same subsite
|
||||||
*/
|
*/
|
||||||
private final Parameter m_linksOnlyInSameSubsite = new BooleanParameter("com.arsdigita.cms.browse_links_in_same_subsite_only",
|
private final Parameter m_linksOnlyInSameSubsite = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.browse_links_in_same_subsite_only",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Item category step extension hook: Subclass of ItemCategoryExtension
|
* Item category step extension hook: Subclass of ItemCategoryExtension
|
||||||
* which adds extension actions for the category authoring step
|
* which adds extension actions for the category authoring step
|
||||||
*/
|
*/
|
||||||
private final Parameter m_categoryAuthoringExtension = new SpecificClassParameter("com.arsdigita.cms.category_authoring_extension",
|
private final Parameter m_categoryAuthoringExtension =
|
||||||
|
new SpecificClassParameter(
|
||||||
|
"com.arsdigita.cms.category_authoring_extension",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
ItemCategoryExtension.class,
|
ItemCategoryExtension.class,
|
||||||
ItemCategoryExtension.class);
|
ItemCategoryExtension.class);
|
||||||
|
|
@ -311,19 +379,25 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Link available to reset lifecycle on republish. If false don't display
|
* Link available to reset lifecycle on republish. If false don't display
|
||||||
* the link otherwise display.
|
* the link otherwise display.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hideResetLifecycleLink = new BooleanParameter("com.arsdigita.cms.hide_reset_lifecycle_link",
|
private final Parameter m_hideResetLifecycleLink = new BooleanParameter(
|
||||||
Parameter.OPTIONAL, new Boolean(true));
|
"com.arsdigita.cms.hide_reset_lifecycle_link",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(
|
||||||
|
true));
|
||||||
/**
|
/**
|
||||||
* Whether to include INPATH operators to contains clause in intermedia search
|
* Whether to include INPATH operators to contains clause in intermedia search
|
||||||
*/
|
*/
|
||||||
private final Parameter m_scoreTitleAndKeywords = new BooleanParameter("com.arsdigita.cms.search.score_title_and_keywords",
|
private final Parameter m_scoreTitleAndKeywords =
|
||||||
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.search.score_title_and_keywords",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
Boolean.FALSE);
|
Boolean.FALSE);
|
||||||
/**
|
/**
|
||||||
* Title Weight, the relative weight given to title element within
|
* Title Weight, the relative weight given to title element within
|
||||||
* cms:item when ranking search results (only used by interMedia)
|
* cms:item when ranking search results (only used by interMedia)
|
||||||
*/
|
*/
|
||||||
private final Parameter m_titleWeight = new IntegerParameter("com.arsdigita.cms.search.intermedia.title_weight",
|
private final Parameter m_titleWeight = new IntegerParameter(
|
||||||
|
"com.arsdigita.cms.search.intermedia.title_weight",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
new Integer(1));
|
new Integer(1));
|
||||||
/**
|
/**
|
||||||
|
|
@ -331,13 +405,17 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* within dublinCore element within cms:item element when ranking
|
* within dublinCore element within cms:item element when ranking
|
||||||
* search results (only used by interMedia)
|
* search results (only used by interMedia)
|
||||||
*/
|
*/
|
||||||
private final Parameter m_keywordWeight = new IntegerParameter("com.arsdigita.cms.search.intermedia.keyword_weight",
|
private final Parameter m_keywordWeight =
|
||||||
|
new IntegerParameter(
|
||||||
|
"com.arsdigita.cms.search.intermedia.keyword_weight",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
new Integer(1));
|
new Integer(1));
|
||||||
/**
|
/**
|
||||||
* Limit the item search to current content section
|
* Limit the item search to current content section
|
||||||
*/
|
*/
|
||||||
private final Parameter m_limitToContentSection = new BooleanParameter("com.arsdigita.cms.search.limitToContentSection",
|
private final Parameter m_limitToContentSection =
|
||||||
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.search.limitToContentSection",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
Boolean.TRUE);
|
Boolean.TRUE);
|
||||||
/**
|
/**
|
||||||
|
|
@ -349,40 +427,55 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Second string is the name of the bebop step component
|
* Second string is the name of the bebop step component
|
||||||
* eg com.arsdigita.cms.contenttypes.ui.ImageStep
|
* eg com.arsdigita.cms.contenttypes.ui.ImageStep
|
||||||
*/
|
*/
|
||||||
private final Parameter m_skipAssetSteps = new StringArrayParameter("com.arsdigita.cms.skip_asset_steps",
|
private final Parameter m_skipAssetSteps = new StringArrayParameter(
|
||||||
|
"com.arsdigita.cms.skip_asset_steps",
|
||||||
Parameter.OPTIONAL,
|
Parameter.OPTIONAL,
|
||||||
null);
|
null);
|
||||||
/**
|
/**
|
||||||
* Mandatory Descriptions Content types may refer to this to decide
|
* Mandatory Descriptions Content types may refer to this to decide
|
||||||
* whether to validate against empty descriptions
|
* whether to validate against empty descriptions
|
||||||
*/
|
*/
|
||||||
private final Parameter m_mandatoryDescriptions = new BooleanParameter("com.arsdigita.cms.mandatory_descriptions",
|
private final Parameter m_mandatoryDescriptions = new BooleanParameter(
|
||||||
Parameter.OPTIONAL, new Boolean(false));
|
"com.arsdigita.cms.mandatory_descriptions",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Delete Finished Lifecycles. Decide whether lifecycles and their phases
|
* Delete Finished Lifecycles. Decide whether lifecycles and their phases
|
||||||
* should be deleted from the system when finished.
|
* should be deleted from the system when finished.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_deleteLifecycleWhenComplete = new BooleanParameter("com.arsdigita.cms.delete_lifecycle_when_complete",
|
private final Parameter m_deleteLifecycleWhenComplete =
|
||||||
Parameter.OPTIONAL, new Boolean(false));
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.delete_lifecycle_when_complete",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(false));
|
||||||
/**
|
/**
|
||||||
* Contacts for content items. Allows you to add a Contact authoring step
|
* Contacts for content items. Allows you to add a Contact authoring step
|
||||||
* to all items
|
* to all items
|
||||||
*/
|
*/
|
||||||
private final Parameter m_hasContactsAuthoringStep = new BooleanParameter("com.arsdigita.cms.has_contacts_authoring_step",
|
private final Parameter m_hasContactsAuthoringStep = new BooleanParameter(
|
||||||
Parameter.REQUIRED, new Boolean(false));
|
"com.arsdigita.cms.has_contacts_authoring_step",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Boolean(
|
||||||
|
false));
|
||||||
/**
|
/**
|
||||||
* Ordering for nodes in assign category tree. Decide whether entries
|
* Ordering for nodes in assign category tree. Decide whether entries
|
||||||
* should be ordered alphabetically or according to sort key
|
* should be ordered alphabetically or according to sort key
|
||||||
* (maintained in category admin tab in content centre)
|
* (maintained in category admin tab in content centre)
|
||||||
* SortKey|Alphabetical is initialized in constructor! See below.
|
* SortKey|Alphabetical is initialized in constructor! See below.
|
||||||
*/
|
*/
|
||||||
private final Parameter m_categoryTreeOrdering = new EnumerationParameter("com.arsdigita.cms.category_tree_order",
|
private final Parameter m_categoryTreeOrdering =
|
||||||
Parameter.OPTIONAL, Category.SORT_KEY);
|
new EnumerationParameter(
|
||||||
|
"com.arsdigita.cms.category_tree_order",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
Category.SORT_KEY);
|
||||||
/**
|
/**
|
||||||
* Allow content creation in section listing. Allows you to turn off
|
* Allow content creation in section listing. Allows you to turn off
|
||||||
* the ability to create content in the section listing
|
* the ability to create content in the section listing
|
||||||
*/
|
*/
|
||||||
private final Parameter m_allowContentCreateInSectionListing = new BooleanParameter("com.arsdigita.cms.allow_content_create_in_section_listing",
|
private final Parameter m_allowContentCreateInSectionListing =
|
||||||
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.allow_content_create_in_section_listing",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
new Boolean(true));
|
new Boolean(true));
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
|
|
@ -392,26 +485,38 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* Delete Sent Workflow Notifications. Decide whether successfully sent
|
* Delete Sent Workflow Notifications. Decide whether successfully sent
|
||||||
* notifications and messages should be deleted from the system
|
* notifications and messages should be deleted from the system
|
||||||
*/
|
*/
|
||||||
private final Parameter m_deleteWorkflowNotificationsWhenSent = new BooleanParameter("com.arsdigita.cms.delete_workflow_notification_when_sent",
|
private final Parameter m_deleteWorkflowNotificationsWhenSent =
|
||||||
Parameter.OPTIONAL, new Boolean(false));
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.delete_workflow_notification_when_sent",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(false));
|
||||||
/**
|
/**
|
||||||
* Decide whether successfully sent notifications and messages
|
* Decide whether successfully sent notifications and messages
|
||||||
* should be deleted from the system
|
* should be deleted from the system
|
||||||
*/
|
*/
|
||||||
private final Parameter m_deleteExpiryNotificationsWhenSent = new BooleanParameter("com.arsdigita.cms.delete_expiry_notification_when_sent",
|
private final Parameter m_deleteExpiryNotificationsWhenSent =
|
||||||
Parameter.OPTIONAL, new Boolean(false));
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.delete_expiry_notification_when_sent",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(false));
|
||||||
/**
|
/**
|
||||||
* Amount of time (in hours) before the expiration of a content item
|
* Amount of time (in hours) before the expiration of a content item
|
||||||
* that users in the Alert Recipient role are alerted via email
|
* that users in the Alert Recipient role are alerted via email
|
||||||
*/
|
*/
|
||||||
private final Parameter m_defaultNotificationTime = new IntegerParameter("com.arsdigita.cms.default_notification_time",
|
private final Parameter m_defaultNotificationTime = new IntegerParameter(
|
||||||
Parameter.REQUIRED, new Integer(0));
|
"com.arsdigita.cms.default_notification_time",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
new Integer(
|
||||||
|
0));
|
||||||
/**
|
/**
|
||||||
* Wether a content item's author should be notified
|
* Wether a content item's author should be notified
|
||||||
* by the item's LifecycleListener; defaults to true
|
* by the item's LifecycleListener; defaults to true
|
||||||
*/
|
*/
|
||||||
private final Parameter m_notifyAuthorOnLifecycle = new BooleanParameter("com.arsdigita.cms.notify_author_on_lifecycle",
|
private final Parameter m_notifyAuthorOnLifecycle = new BooleanParameter(
|
||||||
Parameter.OPTIONAL, new Boolean(true));
|
"com.arsdigita.cms.notify_author_on_lifecycle",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
new Boolean(
|
||||||
|
true));
|
||||||
// ////////////////////////////////////////////////////
|
// ////////////////////////////////////////////////////
|
||||||
// Content Center (Workspace) config related parameters
|
// Content Center (Workspace) config related parameters
|
||||||
// ////////////////////////////////////////////////////
|
// ////////////////////////////////////////////////////
|
||||||
|
|
@ -426,8 +531,10 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
// Content Section config related parameters
|
// Content Section config related parameters
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
private final Parameter m_defaultSection = new StringParameter("com.arsdigita.cms.default_content_section",
|
private final Parameter m_defaultSection = new StringParameter(
|
||||||
Parameter.REQUIRED, "content");
|
"com.arsdigita.cms.default_content_section",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
"content");
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
// Content Section creation parameters
|
// Content Section creation parameters
|
||||||
// XXX these are probably temporary parameters, as the
|
// XXX these are probably temporary parameters, as the
|
||||||
|
|
@ -435,32 +542,49 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
// to SectionInitializer. However, it still may be useful to
|
// to SectionInitializer. However, it still may be useful to
|
||||||
// keep these for the default values.
|
// keep these for the default values.
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
private final Parameter m_defaultItemResolverClass = new SpecificClassParameter
|
private final Parameter m_defaultItemResolverClass =
|
||||||
("com.arsdigita.cms.default_item_resolver_class",
|
new SpecificClassParameter(
|
||||||
Parameter.REQUIRED,
|
"com.arsdigita.cms.default_item_resolver_class",
|
||||||
MultilingualItemResolver.class,
|
Parameter.REQUIRED,
|
||||||
ItemResolver.class);
|
MultilingualItemResolver.class,
|
||||||
private final Parameter m_defaultTemplateResolverClass = new SpecificClassParameter("com.arsdigita.cms.default_template_resolver_class",
|
ItemResolver.class);
|
||||||
|
private final Parameter m_defaultTemplateResolverClass =
|
||||||
|
new SpecificClassParameter(
|
||||||
|
"com.arsdigita.cms.default_template_resolver_class",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
DefaultTemplateResolver.class,
|
DefaultTemplateResolver.class,
|
||||||
TemplateResolver.class);
|
TemplateResolver.class);
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
// ItemSearchWidget
|
// ItemSearchWidget
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
private final Parameter m_itemSearchDefaultTab = new StringParameter("com.arsdigita.cms.item_search.default_tab",
|
private final Parameter m_itemSearchDefaultTab =
|
||||||
|
new StringParameter(
|
||||||
|
"com.arsdigita.cms.item_search.default_tab",
|
||||||
Parameter.REQUIRED, "browse");
|
Parameter.REQUIRED, "browse");
|
||||||
|
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
// FolderBrowse
|
// FolderBrowse
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
private final Parameter m_folderBrowseListSize = new IntegerParameter("com.arsdigita.cms.folder_browse_list_size",
|
private final Parameter m_folderBrowseListSize = new IntegerParameter(
|
||||||
Parameter.REQUIRED, 20);
|
"com.arsdigita.cms.folder_browse_list_size",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
20);
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
// Folder A to Z show limit: Display a A to Z filter bar when a folder has more than x items
|
// Folder A to Z show limit: Display a A to Z filter bar when a folder has more than x items
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
private final Parameter m_folderAtoZShowLimit = new IntegerParameter("com.arsdigita.cms.folder_atoz_show_limit",
|
private final Parameter m_folderAtoZShowLimit = new IntegerParameter(
|
||||||
Parameter.REQUIRED, 100);
|
"com.arsdigita.cms.folder_atoz_show_limit",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
100);
|
||||||
|
//////////////////////////////////////////////
|
||||||
|
//If set to true the old style ItemLifecycleItemPane (allows you to
|
||||||
|
//republish and withdraw items) is used. Otherwise the new style form is
|
||||||
|
//used, which is more secure against wrong clicks.
|
||||||
|
//////////////////////////////////////////////
|
||||||
|
private final Parameter m_useOldStyleItemLifecycleItemPane =
|
||||||
|
new BooleanParameter(
|
||||||
|
"com.arsdigita.cms.lifecycle.use_old_style_item_lifecycle_item_pane",
|
||||||
|
Parameter.REQUIRED,
|
||||||
|
false);
|
||||||
|
|
||||||
// ///////////////////////////////////////////
|
// ///////////////////////////////////////////
|
||||||
// publishToFile package related parameter
|
// publishToFile package related parameter
|
||||||
|
|
@ -478,8 +602,10 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
// Initialize m_categoryTreeOrdering parameter here!
|
// Initialize m_categoryTreeOrdering parameter here!
|
||||||
// 2 valid values at the moment - enumeration used rather than boolean
|
// 2 valid values at the moment - enumeration used rather than boolean
|
||||||
// in case other possible orders are deemed valid
|
// in case other possible orders are deemed valid
|
||||||
((EnumerationParameter) m_categoryTreeOrdering).put("SortKey", Category.SORT_KEY);
|
((EnumerationParameter) m_categoryTreeOrdering).put("SortKey",
|
||||||
((EnumerationParameter) m_categoryTreeOrdering).put("Alphabetical", Category.NAME);
|
Category.SORT_KEY);
|
||||||
|
((EnumerationParameter) m_categoryTreeOrdering).put("Alphabetical",
|
||||||
|
Category.NAME);
|
||||||
|
|
||||||
|
|
||||||
register(m_templateRootPath);
|
register(m_templateRootPath);
|
||||||
|
|
@ -540,6 +666,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
register(m_folderBrowseListSize);
|
register(m_folderBrowseListSize);
|
||||||
register(m_folderAtoZShowLimit);
|
register(m_folderAtoZShowLimit);
|
||||||
|
|
||||||
|
register(m_useOldStyleItemLifecycleItemPane);
|
||||||
|
|
||||||
// publishToFile package related parameter
|
// publishToFile package related parameter
|
||||||
// Moved to publishToFile.PublishToFileConfig as of version 6.0.2
|
// Moved to publishToFile.PublishToFileConfig as of version 6.0.2
|
||||||
// register(m_disableItemPfs);
|
// register(m_disableItemPfs);
|
||||||
|
|
@ -720,8 +848,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
private class DHTMLEditorConfigParameter extends StringParameter {
|
private class DHTMLEditorConfigParameter extends StringParameter {
|
||||||
|
|
||||||
public DHTMLEditorConfigParameter(final String name,
|
public DHTMLEditorConfigParameter(final String name,
|
||||||
final int multiplicity,
|
final int multiplicity,
|
||||||
final Object defaultObj) {
|
final Object defaultObj) {
|
||||||
super(name, multiplicity, defaultObj);
|
super(name, multiplicity, defaultObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -739,7 +867,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
protected static HashMap extraXMLGenerators = new HashMap();
|
protected static HashMap extraXMLGenerators = new HashMap();
|
||||||
|
|
||||||
/** Add one ExtraXMLGenerator to the list. */
|
/** Add one ExtraXMLGenerator to the list. */
|
||||||
public static void registerExtraXMLGenerator(String type, ExtraXMLGenerator gen) {
|
public static void registerExtraXMLGenerator(String type,
|
||||||
|
ExtraXMLGenerator gen) {
|
||||||
List gens = (List) extraXMLGenerators.get(type);
|
List gens = (List) extraXMLGenerators.get(type);
|
||||||
if (gens == null) {
|
if (gens == null) {
|
||||||
gens = new LinkedList();
|
gens = new LinkedList();
|
||||||
|
|
@ -807,7 +936,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Collection getAssetStepsToSkip(ContentType type) {
|
public Collection getAssetStepsToSkip(ContentType type) {
|
||||||
s_log.debug("getting asset steps to skip for type " + type.getClassName());
|
s_log.debug("getting asset steps to skip for type "
|
||||||
|
+ type.getClassName());
|
||||||
if (s_skipAssetSteps == null) {
|
if (s_skipAssetSteps == null) {
|
||||||
// populate static map once based on config parameter value
|
// populate static map once based on config parameter value
|
||||||
s_log.debug("loading skipsteps");
|
s_log.debug("loading skipsteps");
|
||||||
|
|
@ -819,8 +949,10 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
for (int i = 0; i < skipSteps.length; i++) {
|
for (int i = 0; i < skipSteps.length; i++) {
|
||||||
String[] pair = StringUtils.split(skipSteps[i], ':');
|
String[] pair = StringUtils.split(skipSteps[i], ':');
|
||||||
// 1st string is name of content type, 2nd string is name of asset step
|
// 1st string is name of content type, 2nd string is name of asset step
|
||||||
s_log.debug("parameter read - type = " + pair[0] + " - step = " + pair[1]);
|
s_log.debug("parameter read - type = " + pair[0]
|
||||||
Collection typeSteps = (Collection) s_skipAssetSteps.get(pair[0]);
|
+ " - step = " + pair[1]);
|
||||||
|
Collection typeSteps =
|
||||||
|
(Collection) s_skipAssetSteps.get(pair[0]);
|
||||||
if (typeSteps == null) {
|
if (typeSteps == null) {
|
||||||
typeSteps = new HashSet();
|
typeSteps = new HashSet();
|
||||||
s_skipAssetSteps.put(pair[0], typeSteps);
|
s_skipAssetSteps.put(pair[0], typeSteps);
|
||||||
|
|
@ -832,7 +964,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Collection skipSteps = (Collection) s_skipAssetSteps.get(type.getClassName());
|
Collection skipSteps = (Collection) s_skipAssetSteps.get(type.
|
||||||
|
getClassName());
|
||||||
if (skipSteps == null) {
|
if (skipSteps == null) {
|
||||||
s_log.debug("no steps to skip");
|
s_log.debug("no steps to skip");
|
||||||
skipSteps = new HashSet();
|
skipSteps = new HashSet();
|
||||||
|
|
@ -884,7 +1017,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public boolean deleteWorkflowNotifications() {
|
public boolean deleteWorkflowNotifications() {
|
||||||
return ((Boolean) get(m_deleteWorkflowNotificationsWhenSent)).booleanValue();
|
return ((Boolean) get(m_deleteWorkflowNotificationsWhenSent)).
|
||||||
|
booleanValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCategoryTreeOrder() {
|
public String getCategoryTreeOrder() {
|
||||||
|
|
@ -910,7 +1044,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final boolean getAllowContentCreateInSectionListing() {
|
public final boolean getAllowContentCreateInSectionListing() {
|
||||||
return ((Boolean) get(m_allowContentCreateInSectionListing)).booleanValue();
|
return ((Boolean) get(m_allowContentCreateInSectionListing)).
|
||||||
|
booleanValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getItemSearchDefaultTab() {
|
public String getItemSearchDefaultTab() {
|
||||||
|
|
@ -924,4 +1059,8 @@ public final class CMSConfig extends AbstractConfig {
|
||||||
public Integer getFolderAtoZShowLimit() {
|
public Integer getFolderAtoZShowLimit() {
|
||||||
return (Integer) get(m_folderAtoZShowLimit);
|
return (Integer) get(m_folderAtoZShowLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean getUseOldStyleItemLifecycleItemPane() {
|
||||||
|
return (Boolean) get(m_useOldStyleItemLifecycleItemPane);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -248,6 +248,11 @@ com.arsdigita.cms.folder_atoz_show_limit.purpose=Show a a to z filter bar when a
|
||||||
com.arsdigita.cms.folder_atoz_show_limit.example=100
|
com.arsdigita.cms.folder_atoz_show_limit.example=100
|
||||||
com.arsdigita.cms.folder_atoz_show_limit.format=[integer]
|
com.arsdigita.cms.folder_atoz_show_limit.format=[integer]
|
||||||
|
|
||||||
|
com.arsdigita.cms.lifecycle.use_old_style_item_lifecycle_item_pane.title = Use old style ItemLifecycleItemPane
|
||||||
|
com.arsdigita.cms.lifecycle.use_old_style_item_lifecycle_item_pane.purpose = If set to true the old style ItemLifecycleItemPane will be used (with the two links), otherwise the new style ItemLifecycleItemPane if used (with a selectbox for the action and a submit button)
|
||||||
|
com.arsdigita.cms.lifecycle.use_old_style_item_lifecycle_item_pane.example = false
|
||||||
|
com.arsdigita.cms.lifecycle.use_old_style_item_lifecycle_item_pane.format = [Boolean]
|
||||||
|
|
||||||
com.arsdigita.cms.xx.title=
|
com.arsdigita.cms.xx.title=
|
||||||
com.arsdigita.cms.xx.purpose=
|
com.arsdigita.cms.xx.purpose=
|
||||||
com.arsdigita.cms.xx.example=
|
com.arsdigita.cms.xx.example=
|
||||||
|
|
|
||||||
|
|
@ -1085,3 +1085,5 @@ cms.contenttypes.ui.contact.alias.select.add=Select former name
|
||||||
cms.contenttypes.person.alias.select.wrong_type=No person selected
|
cms.contenttypes.person.alias.select.wrong_type=No person selected
|
||||||
cms.contenttypes.person.alias.select.same_as_person=Selected person is the same as the current person. Alias and person can't be identical.
|
cms.contenttypes.person.alias.select.same_as_person=Selected person is the same as the current person. Alias and person can't be identical.
|
||||||
cms.contenttypes.person.alias.select.no_suitable_language_variant=The selected item has no suitable language variant.
|
cms.contenttypes.person.alias.select.no_suitable_language_variant=The selected item has no suitable language variant.
|
||||||
|
cms.ui.item.lifecycle.do=Execute
|
||||||
|
cms.ui.item.lifecycle.do.not_authorized=Your not authorized to publish this item.
|
||||||
|
|
|
||||||
|
|
@ -1076,3 +1076,5 @@ cms.contenttypes.ui.contact.alias.select.add=Fr\u00fcheren Namen ausw\u00e4hlen
|
||||||
cms.contenttypes.person.alias.select.wrong_type=Kein Personendatensatz ausgew\u00e4hlt
|
cms.contenttypes.person.alias.select.wrong_type=Kein Personendatensatz ausgew\u00e4hlt
|
||||||
cms.contenttypes.person.alias.select.same_as_person=Der ausgew\u00e4hlte Datensatz ist der gleiche Datensatz wie der aktuelle Datensatz. Alias und Person k\u00f6nnen nicht identisch sein.
|
cms.contenttypes.person.alias.select.same_as_person=Der ausgew\u00e4hlte Datensatz ist der gleiche Datensatz wie der aktuelle Datensatz. Alias und Person k\u00f6nnen nicht identisch sein.
|
||||||
cms.contenttypes.person.alias.select.no_suitable_language_variant=Das ausgew\u00e4hlte Item hat keine passende Sprachvariante.
|
cms.contenttypes.person.alias.select.no_suitable_language_variant=Das ausgew\u00e4hlte Item hat keine passende Sprachvariante.
|
||||||
|
cms.ui.item.lifecycle.do=Ausf\u00fchren
|
||||||
|
cms.ui.item.lifecycle.do.not_authorized=Sie sind nicht berechtigt, dieses Item zu publizieren.
|
||||||
|
|
|
||||||
|
|
@ -24,3 +24,5 @@ cms.contenttypes.ui.contact.alias.select.add=
|
||||||
cms.contenttypes.person.alias.select.wrong_type=
|
cms.contenttypes.person.alias.select.wrong_type=
|
||||||
cms.contenttypes.person.alias.select.same_as_person=
|
cms.contenttypes.person.alias.select.same_as_person=
|
||||||
cms.contenttypes.person.alias.select.no_suitable_language_variant=
|
cms.contenttypes.person.alias.select.no_suitable_language_variant=
|
||||||
|
cms.ui.item.lifecycle.do=
|
||||||
|
cms.ui.item.lifecycle.do.not_authorized=
|
||||||
|
|
|
||||||
|
|
@ -555,3 +555,5 @@ cms.contenttypes.ui.contact.alias.select.add=
|
||||||
cms.contenttypes.person.alias.select.wrong_type=
|
cms.contenttypes.person.alias.select.wrong_type=
|
||||||
cms.contenttypes.person.alias.select.same_as_person=
|
cms.contenttypes.person.alias.select.same_as_person=
|
||||||
cms.contenttypes.person.alias.select.no_suitable_language_variant=
|
cms.contenttypes.person.alias.select.no_suitable_language_variant=
|
||||||
|
cms.ui.item.lifecycle.do=
|
||||||
|
cms.ui.item.lifecycle.do.not_authorized=
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,17 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.ui.lifecycle;
|
package com.arsdigita.cms.ui.lifecycle;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormProcessException;
|
||||||
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.arsdigita.bebop.ActionLink;
|
import com.arsdigita.bebop.ActionLink;
|
||||||
|
import com.arsdigita.bebop.BoxPanel;
|
||||||
import com.arsdigita.bebop.Component;
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.bebop.Form;
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
import com.arsdigita.bebop.Label;
|
import com.arsdigita.bebop.Label;
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.RequestLocal;
|
import com.arsdigita.bebop.RequestLocal;
|
||||||
|
|
@ -31,6 +36,13 @@ import com.arsdigita.bebop.SimpleContainer;
|
||||||
import com.arsdigita.bebop.Table;
|
import com.arsdigita.bebop.Table;
|
||||||
import com.arsdigita.bebop.event.ActionEvent;
|
import com.arsdigita.bebop.event.ActionEvent;
|
||||||
import com.arsdigita.bebop.event.ActionListener;
|
import com.arsdigita.bebop.event.ActionListener;
|
||||||
|
import com.arsdigita.bebop.event.FormInitListener;
|
||||||
|
import com.arsdigita.bebop.event.FormProcessListener;
|
||||||
|
import com.arsdigita.bebop.form.Option;
|
||||||
|
import com.arsdigita.bebop.form.Select;
|
||||||
|
import com.arsdigita.bebop.form.SingleSelect;
|
||||||
|
import com.arsdigita.bebop.form.Submit;
|
||||||
|
import com.arsdigita.cms.CMS;
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.SecurityManager;
|
import com.arsdigita.cms.SecurityManager;
|
||||||
|
|
@ -64,9 +76,8 @@ import com.arsdigita.xml.Element;
|
||||||
*/
|
*/
|
||||||
class ItemLifecycleItemPane extends BaseItemPane {
|
class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
|
|
||||||
private static final Logger s_log = Logger.getLogger
|
private static final Logger s_log = Logger.getLogger(
|
||||||
(ItemLifecycleItemPane.class);
|
ItemLifecycleItemPane.class);
|
||||||
|
|
||||||
private final ContentItemRequestLocal m_item;
|
private final ContentItemRequestLocal m_item;
|
||||||
private final LifecycleRequestLocal m_lifecycle;
|
private final LifecycleRequestLocal m_lifecycle;
|
||||||
private final SimpleContainer m_detailPane;
|
private final SimpleContainer m_detailPane;
|
||||||
|
|
@ -85,45 +96,51 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class SummarySection extends Section {
|
private class SummarySection extends Section {
|
||||||
|
|
||||||
public SummarySection() {
|
public SummarySection() {
|
||||||
setHeading(new Label(gz("cms.ui.lifecycle.details")));
|
setHeading(new Label(gz("cms.ui.lifecycle.details")));
|
||||||
|
|
||||||
final ActionGroup group = new ActionGroup();
|
final ActionGroup group = new ActionGroup();
|
||||||
setBody(group);
|
setBody(group);
|
||||||
|
|
||||||
group.setSubject(new Properties());
|
if (CMS.getConfig().getUseOldStyleItemLifecycleItemPane()) {
|
||||||
group.addAction(new UnpublishLink());
|
group.setSubject(new Properties());
|
||||||
group.addAction(new RepublishLink());
|
group.addAction(new UnpublishLink());
|
||||||
if (!ContentSection.getConfig().hideResetLifecycleLink()){
|
group.addAction(new RepublishLink());
|
||||||
group.addAction(new RepublishAndResetLink());
|
if (!ContentSection.getConfig().hideResetLifecycleLink()) {
|
||||||
|
group.addAction(new RepublishAndResetLink());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
group.addAction(new ActionForm());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Properties extends PropertyList {
|
private class Properties extends PropertyList {
|
||||||
|
|
||||||
protected final java.util.List properties(final PageState state) {
|
protected final java.util.List properties(final PageState state) {
|
||||||
final java.util.List props = super.properties(state);
|
final java.util.List props = super.properties(state);
|
||||||
final Lifecycle cycle = m_lifecycle.getLifecycle(state);
|
final Lifecycle cycle = m_lifecycle.getLifecycle(state);
|
||||||
|
|
||||||
final DateFormat format = DateFormat.getDateTimeInstance
|
final DateFormat format =
|
||||||
(DateFormat.FULL,
|
DateFormat.getDateTimeInstance(DateFormat.FULL,
|
||||||
ContentSection.getConfig().getHideTimezone() ? DateFormat.SHORT : DateFormat.FULL);
|
ContentSection.
|
||||||
|
getConfig().getHideTimezone() ? DateFormat.SHORT
|
||||||
|
: DateFormat.FULL);
|
||||||
|
|
||||||
props.add(new Property(gz("cms.ui.name"),
|
props.add(new Property(gz("cms.ui.name"),
|
||||||
cycle.getLabel()));
|
cycle.getLabel()));
|
||||||
props.add(new Property
|
props.add(new Property(gz("cms.ui.item.lifecycle.start_date"),
|
||||||
(gz("cms.ui.item.lifecycle.start_date"),
|
format.format(cycle.getStartDate())));
|
||||||
format.format(cycle.getStartDate())));
|
|
||||||
|
|
||||||
final java.util.Date endDate = cycle.getEndDate();
|
final java.util.Date endDate = cycle.getEndDate();
|
||||||
|
|
||||||
if (endDate == null) {
|
if (endDate == null) {
|
||||||
props.add(new Property
|
props.add(new Property(gz("cms.ui.item.lifecycle.end_date"),
|
||||||
(gz("cms.ui.item.lifecycle.end_date"),
|
lz("cms.ui.none")));
|
||||||
lz("cms.ui.none")));
|
|
||||||
} else {
|
} else {
|
||||||
props.add(new Property
|
props.add(new Property(gz("cms.ui.item.lifecycle.end_date"),
|
||||||
(gz("cms.ui.item.lifecycle.end_date"),
|
format.format(endDate)));
|
||||||
format.format(endDate)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return props;
|
return props;
|
||||||
|
|
@ -132,9 +149,12 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PublishLink extends ActionLink {
|
private class PublishLink extends ActionLink {
|
||||||
|
|
||||||
private RequestLocal m_canPublish = new RequestLocal();
|
private RequestLocal m_canPublish = new RequestLocal();
|
||||||
|
|
||||||
PublishLink(Component c) { super(c); }
|
PublishLink(Component c) {
|
||||||
|
super(c);
|
||||||
|
}
|
||||||
|
|
||||||
public void generateXML(PageState ps, Element parent) {
|
public void generateXML(PageState ps, Element parent) {
|
||||||
Boolean canPublish = (Boolean) m_canPublish.get(ps);
|
Boolean canPublish = (Boolean) m_canPublish.get(ps);
|
||||||
|
|
@ -155,18 +175,19 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
if (canPublish.booleanValue()) {
|
if (canPublish.booleanValue()) {
|
||||||
if (s_log.isDebugEnabled()) {
|
if (s_log.isDebugEnabled()) {
|
||||||
ContentItem item = m_item.getContentItem(ps);
|
ContentItem item = m_item.getContentItem(ps);
|
||||||
s_log.debug ("User can publish " + item.getOID());
|
s_log.debug("User can publish " + item.getOID());
|
||||||
}
|
}
|
||||||
|
|
||||||
super.generateXML(ps, parent);
|
super.generateXML(ps, parent);
|
||||||
} else if (s_log.isDebugEnabled()) {
|
} else if (s_log.isDebugEnabled()) {
|
||||||
ContentItem item = m_item.getContentItem(ps);
|
ContentItem item = m_item.getContentItem(ps);
|
||||||
s_log.debug ("User cannot publish " + item.getOID());
|
s_log.debug("User cannot publish " + item.getOID());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class UnpublishLink extends PublishLink {
|
private class UnpublishLink extends PublishLink {
|
||||||
|
|
||||||
UnpublishLink() {
|
UnpublishLink() {
|
||||||
super(new Label(gz("cms.ui.item.lifecycle.unpublish")));
|
super(new Label(gz("cms.ui.item.lifecycle.unpublish")));
|
||||||
|
|
||||||
|
|
@ -174,15 +195,16 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Listener implements ActionListener {
|
private class Listener implements ActionListener {
|
||||||
|
|
||||||
public final void actionPerformed(final ActionEvent e) {
|
public final void actionPerformed(final ActionEvent e) {
|
||||||
final PageState state = e.getPageState();
|
final PageState state = e.getPageState();
|
||||||
final ContentItem item = m_item.getContentItem(state);
|
final ContentItem item = m_item.getContentItem(state);
|
||||||
|
|
||||||
item.unpublish();
|
item.unpublish();
|
||||||
|
|
||||||
final String target = URL.getDispatcherPath() +
|
final String target = URL.getDispatcherPath() + ContentItemPage.
|
||||||
ContentItemPage.getItemURL(item,
|
getItemURL(item,
|
||||||
ContentItemPage.AUTHORING_TAB);
|
ContentItemPage.AUTHORING_TAB);
|
||||||
|
|
||||||
throw new RedirectSignal(target, true);
|
throw new RedirectSignal(target, true);
|
||||||
}
|
}
|
||||||
|
|
@ -193,14 +215,15 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
item.republish(reset);
|
item.republish(reset);
|
||||||
Workflow workflow = Workflow.getObjectWorkflow(item);
|
Workflow workflow = Workflow.getObjectWorkflow(item);
|
||||||
try {
|
try {
|
||||||
ItemLifecycleSelectForm.finish(workflow, item, Web
|
ItemLifecycleSelectForm.finish(workflow, item, Web.getContext().
|
||||||
.getContext().getUser());
|
getUser());
|
||||||
} catch (TaskException te) {
|
} catch (TaskException te) {
|
||||||
throw new UncheckedWrapperException(te);
|
throw new UncheckedWrapperException(te);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RepublishLink extends PublishLink {
|
private class RepublishLink extends PublishLink {
|
||||||
|
|
||||||
RepublishLink() {
|
RepublishLink() {
|
||||||
super(new Label(gz("cms.ui.item.lifecycle.republish")));
|
super(new Label(gz("cms.ui.item.lifecycle.republish")));
|
||||||
|
|
||||||
|
|
@ -208,20 +231,23 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Listener implements ActionListener {
|
private class Listener implements ActionListener {
|
||||||
|
|
||||||
public final void actionPerformed(final ActionEvent e) {
|
public final void actionPerformed(final ActionEvent e) {
|
||||||
final PageState state = e.getPageState();
|
final PageState state = e.getPageState();
|
||||||
final ContentItem item = m_item.getContentItem(state);
|
final ContentItem item = m_item.getContentItem(state);
|
||||||
|
|
||||||
republish(item, false);
|
republish(item, false);
|
||||||
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
||||||
throw new RedirectSignal(URL.there(state.getRequest(),
|
throw new RedirectSignal(
|
||||||
Utilities.getWorkspaceURL()), true);
|
URL.there(state.getRequest(),
|
||||||
|
Utilities.getWorkspaceURL()), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RepublishAndResetLink extends PublishLink {
|
private class RepublishAndResetLink extends PublishLink {
|
||||||
|
|
||||||
RepublishAndResetLink() {
|
RepublishAndResetLink() {
|
||||||
super(new Label(gz("cms.ui.item.lifecycle.republish_and_reset")));
|
super(new Label(gz("cms.ui.item.lifecycle.republish_and_reset")));
|
||||||
|
|
||||||
|
|
@ -233,20 +259,23 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class Listener implements ActionListener {
|
private class Listener implements ActionListener {
|
||||||
|
|
||||||
public final void actionPerformed(final ActionEvent e) {
|
public final void actionPerformed(final ActionEvent e) {
|
||||||
final PageState state = e.getPageState();
|
final PageState state = e.getPageState();
|
||||||
final ContentItem item = m_item.getContentItem(state);
|
final ContentItem item = m_item.getContentItem(state);
|
||||||
|
|
||||||
republish(item, true);
|
republish(item, true);
|
||||||
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
||||||
throw new RedirectSignal(URL.there(state.getRequest(),
|
throw new RedirectSignal(
|
||||||
Utilities.getWorkspaceURL()), true);
|
URL.there(state.getRequest(),
|
||||||
|
Utilities.getWorkspaceURL()), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PhaseSection extends Section {
|
private class PhaseSection extends Section {
|
||||||
|
|
||||||
PhaseSection() {
|
PhaseSection() {
|
||||||
super(gz("cms.ui.lifecycle.phases"));
|
super(gz("cms.ui.lifecycle.phases"));
|
||||||
|
|
||||||
|
|
@ -258,14 +287,108 @@ class ItemLifecycleItemPane extends BaseItemPane {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PhaseTable extends Table {
|
private class PhaseTable extends Table {
|
||||||
|
|
||||||
PhaseTable() {
|
PhaseTable() {
|
||||||
super(new ItemPhaseTableModelBuilder(m_lifecycle),
|
super(new ItemPhaseTableModelBuilder(m_lifecycle),
|
||||||
new String[] {
|
new String[]{
|
||||||
lz("cms.ui.name"),
|
lz("cms.ui.name"),
|
||||||
lz("cms.ui.description"),
|
lz("cms.ui.description"),
|
||||||
lz("cms.ui.item.lifecycle.start_date"),
|
lz("cms.ui.item.lifecycle.start_date"),
|
||||||
lz("cms.ui.item.lifecycle.end_date")
|
lz("cms.ui.item.lifecycle.end_date")
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ActionForm
|
||||||
|
extends Form
|
||||||
|
implements FormProcessListener,
|
||||||
|
FormInitListener {
|
||||||
|
|
||||||
|
private static final String LIFECYCLE_ACTION =
|
||||||
|
"itemLifecycleItemPaneActionSelect";
|
||||||
|
private static final String REPUBLISH = "republish";
|
||||||
|
private static final String UNPUBLISH = "unpublish";
|
||||||
|
private static final String REPUBLISH_AND_RESET = "republishAndReset";
|
||||||
|
private final Submit submit;
|
||||||
|
private final Label notAuthorized;
|
||||||
|
|
||||||
|
public ActionForm() {
|
||||||
|
super("itemLifecycleItemPaneActionForm");
|
||||||
|
|
||||||
|
final BoxPanel actionPanel = new BoxPanel(BoxPanel.HORIZONTAL);
|
||||||
|
final SingleSelect actionSelect = new SingleSelect(
|
||||||
|
LIFECYCLE_ACTION);
|
||||||
|
|
||||||
|
actionSelect.addOption(new Option(REPUBLISH, (String) gz(
|
||||||
|
"cms.ui.item.lifecycle.republish").localize()));
|
||||||
|
if (!ContentSection.getConfig().hideResetLifecycleLink()) {
|
||||||
|
actionSelect.addOption(new Option(REPUBLISH_AND_RESET,
|
||||||
|
(String) gz(
|
||||||
|
"cms.ui.item.lifecycle.republish_and_reset").
|
||||||
|
localize()));
|
||||||
|
}
|
||||||
|
actionSelect.addOption(new Option(UNPUBLISH, (String) gz(
|
||||||
|
"cms.ui.item.lifecycle.unpublish").localize()));
|
||||||
|
|
||||||
|
submit = new Submit(gz("cms.ui.item.lifecycle.do"));
|
||||||
|
notAuthorized = new Label(gz(
|
||||||
|
"cms.ui.item.lifecycle.do.not_authorized"));
|
||||||
|
|
||||||
|
actionPanel.add(actionSelect);
|
||||||
|
actionPanel.add(submit);
|
||||||
|
actionPanel.add(notAuthorized);
|
||||||
|
add(actionPanel);
|
||||||
|
|
||||||
|
addInitListener(this);
|
||||||
|
addProcessListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(FormSectionEvent fse) throws FormProcessException {
|
||||||
|
final PageState state = fse.getPageState();
|
||||||
|
final ContentItem item = m_item.getContentItem(state);
|
||||||
|
|
||||||
|
final SecurityManager sm = Utilities.getSecurityManager(state);
|
||||||
|
|
||||||
|
if (sm.canAccess(state.getRequest(),
|
||||||
|
SecurityManager.PUBLISH,
|
||||||
|
item)) {
|
||||||
|
submit.setVisible(state, true);
|
||||||
|
notAuthorized.setVisible(state, false);
|
||||||
|
} else {
|
||||||
|
submit.setVisible(state, false);
|
||||||
|
notAuthorized.setVisible(state, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void process(final FormSectionEvent fse) throws
|
||||||
|
FormProcessException {
|
||||||
|
final PageState state = fse.getPageState();
|
||||||
|
final FormData data = fse.getFormData();
|
||||||
|
|
||||||
|
String selected = (String) data.get(LIFECYCLE_ACTION);
|
||||||
|
final ContentItem item = m_item.getContentItem(state);
|
||||||
|
|
||||||
|
if (REPUBLISH.equals(selected)) {
|
||||||
|
republish(item, false);
|
||||||
|
|
||||||
|
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
||||||
|
throw new RedirectSignal(
|
||||||
|
URL.there(state.getRequest(),
|
||||||
|
Utilities.getWorkspaceURL()), true);
|
||||||
|
}
|
||||||
|
} else if (REPUBLISH_AND_RESET.equals(selected)) {
|
||||||
|
republish(item, true);
|
||||||
|
|
||||||
|
if (ContentSection.getConfig().getUseStreamlinedCreation()) {
|
||||||
|
throw new RedirectSignal(
|
||||||
|
URL.there(state.getRequest(),
|
||||||
|
Utilities.getWorkspaceURL()), true);
|
||||||
|
}
|
||||||
|
} else if (UNPUBLISH.equals(selected)) {
|
||||||
|
item.unpublish();
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Illegal selection");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,8 @@ log4j.logger.com.arsdigita.web.CCMApplicationContextListener=INFO
|
||||||
log4j.logger.com.arsdigita.runtime.CCMResourceManager=INFO
|
log4j.logger.com.arsdigita.runtime.CCMResourceManager=INFO
|
||||||
log4j.logger.com.arsdigita.runtime.Runtime=INFO
|
log4j.logger.com.arsdigita.runtime.Runtime=INFO
|
||||||
|
|
||||||
|
log4j.logger.com.arsdigita.bundle.Loader=INFO
|
||||||
|
|
||||||
# For seeing progress of the 'ccm load' command
|
# For seeing progress of the 'ccm load' command
|
||||||
log4j.logger.com.arsdigita.packaging.Loader=INFO
|
log4j.logger.com.arsdigita.packaging.Loader=INFO
|
||||||
# log4j.logger.com.arsdigita.core.Loader=INFO
|
# log4j.logger.com.arsdigita.core.Loader=INFO
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue