Extensions:
Associated java class:
org.ametys.core.ui.StaticFileImportsClientSideElement
Extension point extended:
org.ametys.core.ui.StaticFileImportsManager
Configuration:
<extension id="org.ametys.runtime.plugins.repository.Misc" point="org.ametys.core.ui.StaticFileImportsManager" class="org.ametys.core.ui.StaticFileImportsClientSideElement">
<scripts>
<file>js/Ametys/repository/Constants.js</file>
</scripts>
</extension>
Components:
Associated java class:
org.ametys.workspaces.repository.jcr.NodeTypeHierarchyComponent
Configuration:
<component role="org.ametys.workspaces.repository.jcr.NodeTypeHierarchyComponent" id="org.ametys.workspaces.repository.jcr.NodeTypeHierarchyComponent" class="org.ametys.workspaces.repository.jcr.NodeTypeHierarchyComponent"/>
Associated java class:
org.ametys.workspaces.repository.jcr.NodeStateTracker
Configuration:
<component role="org.ametys.workspaces.repository.jcr.NodeStateTracker" id="org.ametys.workspaces.repository.jcr.NodeStateTracker" class="org.ametys.workspaces.repository.jcr.NodeStateTracker"/>
Specific configuration parameters detail:
Configuration:
<param type="string" id="repository.default.sort">
<label i18n="true">PLUGINS_REPOSITORYAPP_DEFAULT_SORT</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_DEFAULT_SORT_DESC</description>
<enumeration>
<entry>
<label i18n="true">PLUGINS_REPOSITORYAPP_SORT_DOCUMENT</label>
<value>document</value>
</entry>
<entry>
<label i18n="true">PLUGINS_REPOSITORYAPP_SORT_ALPHA</label>
<value>alpha</value>
</entry>
<entry>
<label i18n="true">PLUGINS_REPOSITORYAPP_SORT_ALPHA_REVERSE</label>
<value>reverseAlpha</value>
</entry>
</enumeration>
<validation>
<mandatory/>
</validation>
<default-value>document</default-value>
<category i18n="true">PLUGINS_REPOSITORYAPP_CONFIG_CATEGORY</category>
<group i18n="true">PLUGINS_REPOSITORYAPP_CONFIG_GROUP</group>
</param>
Components:
Associated java class:
org.ametys.plugins.repositoryapp.RepositoryProvider
Configuration:
<component role="org.ametys.plugins.repositoryapp.RepositoryProvider" id="org.ametys.plugins.repositoryapp.RepositoryProvider" class="org.ametys.plugins.repositoryapp.RepositoryProvider"/>
Components:
Associated java class:
org.ametys.workspaces.repository.jcr.RepositoryDao
Configuration:
<component role="org.ametys.workspaces.repository.jcr.RepositoryDao" id="org.ametys.plugins.repositoryapp.RepositoryProvider" class="org.ametys.workspaces.repository.jcr.RepositoryDao"/>
Extensions:
Associated java class:
org.ametys.core.ui.StaticFileImportsClientSideElement
Extension point extended:
org.ametys.core.ui.StaticFileImportsManager
Configuration:
<extension id="Ametys.repository.RepositoryApp" point="org.ametys.core.ui.StaticFileImportsManager" class="org.ametys.core.ui.StaticFileImportsClientSideElement">
<scripts>
<file>js/Ametys/repository/RepositoryApp.js</file>
<file>js/Ametys/repository/RepositoryNode.js</file>
<file>js/Ametys/repository/RepositoryDao.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.RepositoryNodeMessageTargetFactory
Extension point extended:
org.ametys.core.ui.MessageTargetFactoriesManager
Configuration:
<extension id="repository-node" point="org.ametys.core.ui.MessageTargetFactoriesManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.RepositoryNodeMessageTargetFactory"/>
<scripts>
<file>js/Ametys/repository/message/RepositoryNodeMessageTargetFactory.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
</extension>
Extensions:
Extension point extended:
org.ametys.core.right.RightsExtensionPoint
Configuration:
<extension point="org.ametys.core.right.RightsExtensionPoint" id="repository">
<right id="REPOSITORY_Rights_Access">
<label>PLUGINS_REPOSITORY_RIGHTS_ACCESS_LABEL</label>
<description>PLUGINS_REPOSITORY_RIGHTS_ACCESS_DESCRIPTION</description>
<category>PLUGINS_REPOSITORY_RIGHTS_CATEGORY</category>
</right>
</extension>
Associated java class:
org.ametys.plugins.core.impl.right.StringRightContextConvertor
Extension point extended:
org.ametys.core.right.RightContextConvertorExtensionPoint
Configuration:
<extension id="repositoryConvertor" class="org.ametys.plugins.core.impl.right.StringRightContextConvertor" point="org.ametys.core.right.RightContextConvertorExtensionPoint">
<context-to-remove>repository</context-to-remove>
<context-to-replace-with>admin</context-to-replace-with>
</extension>
Extensions:
Associated java class:
org.ametys.plugins.core.impl.right.WorkspaceSwitchedAccessController
Extension point extended:
org.ametys.core.right.AccessControllerExtensionPoint
Configuration:
<extension id="repositorySwitcher" class="org.ametys.plugins.core.impl.right.WorkspaceSwitchedAccessController" point="org.ametys.core.right.AccessControllerExtensionPoint">
<workspace-to-match>repository</workspace-to-match>
<workspace-to-replace-with>admin</workspace-to-replace-with>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.OpenToolRepositoryButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.JcrView" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.OpenToolRepositoryButtonController">
<opentool-id>uitool-repository-jcr</opentool-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_JCRVIEW_TITLE</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_JCRVIEW_DESCRIPTION</description>
<help>org.ametys.repository.jcrview</help>
<icon-glyph>ametysicon-organization1</icon-glyph>
<icon-small file="true">img/jcr/jcr-view-16.png</icon-small>
<icon-medium file="true">img/jcr/jcr-view-32.png</icon-medium>
<icon-large file="true">img/jcr/jcr-view-48.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/OpenToolRepositoryButtonController.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-jcr</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.tool.factory.UniqueToolFactory
Extension point extended:
org.ametys.core.ui.UIToolsFactoriesManager
Configuration:
<extension id="uitool-repository-jcr" point="org.ametys.core.ui.UIToolsFactoriesManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.tool.factory.UniqueToolFactory">
<toolClass>Ametys.repository.tool.JcrViewTool</toolClass>
<title i18n="true">PLUGINS_REPOSITORYAPP_JCRVIEW_TITLE</title>
<description i18n="true">PLUGINS_REPOSITORYAPP_JCRVIEW_DESCRIPTION</description>
<help>org.ametys.repository.jcrview</help>
<icon-glyph>ametysicon-organization1</icon-glyph>
<icon-small file="true">img/jcr/jcr-view-16.png</icon-small>
<icon-medium file="true">img/jcr/jcr-view-32.png</icon-medium>
<icon-large file="true">img/jcr/jcr-view-48.png</icon-large>
<default-location>l</default-location>
</class>
<scripts>
<file>js/Ametys/repository/utils/Utils.js</file>
<file>js/Ametys/repository/tree/JcrTreePanel.js</file>
<file>js/Ametys/repository/tree/SearchTreePanel.js</file>
<file>js/Ametys/repository/tool/RepositoryTool.js</file>
<file>js/Ametys/repository/tool/JcrViewTool.js</file>
</scripts>
<css>
<file>css/repository.css</file>
</css>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-nodeproperties</org.ametys.core.ui.UIToolsFactoriesManager>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
<org.ametys.core.ui.StaticFileImportsManager>org.ametys.runtime.plugins.repository.Misc</org.ametys.core.ui.StaticFileImportsManager>
</depends>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.tool.factory.BasicToolFactory
Extension point extended:
org.ametys.core.ui.UIToolsFactoriesManager
Configuration:
<extension id="uitool-repository-nodeproperties" point="org.ametys.core.ui.UIToolsFactoriesManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.tool.factory.BasicToolFactory">
<toolClass>Ametys.repository.tool.NodePropertiesTool</toolClass>
<title i18n="true">PLUGINS_REPOSITORYAPP_NODEPROPERTIES_TITLE</title>
<description i18n="true">PLUGINS_REPOSITORYAPP_NODEPROPERTIES_DESCRIPTION</description>
<help>org.ametys.repository.nodeproperties</help>
<icon-glyph>ametysicon-document112</icon-glyph>
<icon-small file="true">img/jcr/node-properties-16.png</icon-small>
<icon-medium file="true">img/jcr/node-properties-32.png</icon-medium>
<icon-large file="true">img/jcr/node-properties-48.png</icon-large>
<default-location/>
</class>
<scripts>
<file>js/Ametys/repository/utils/Utils.js</file>
<file>js/Ametys/repository/tool/RepositoryTool.js</file>
<file>js/Ametys/repository/tool/NodePropertiesTool/TablePropertiesPanel.js</file>
<file>js/Ametys/repository/tool/NodePropertiesTool.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>org.ametys.runtime.plugins.repository.Misc</org.ametys.core.ui.StaticFileImportsManager>
</depends>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.ribbon.element.tab.TabController
Extension point extended:
org.ametys.core.ui.RibbonTabsManager
Configuration:
<extension id="org.ametys.repository.jcr.Tab" point="org.ametys.core.ui.RibbonTabsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.ribbon.element.tab.TabController">
<selection-target-id>^repository-node$</selection-target-id>
</class>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.RepositoryButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.RefreshNode" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.RepositoryButtonController">
<action>Ametys.repository.actions.RefreshNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REFRESH_NODE_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REFRESH_NODE_DESC</description>
<icon-glyph>ametysicon-reload8</icon-glyph>
<icon-small file="true">img/jcr/reload_16.png</icon-small>
<icon-medium file="true">img/jcr/reload_32.png</icon-medium>
<icon-large file="true">img/jcr/reload_48.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.SmartNodeController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.AddNode" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.SmartNodeController">
<action>Ametys.workspace.repository.actions.AddNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_NODE_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_NODE_DESC</description>
<icon-glyph>ametysicon-document112</icon-glyph>
<icon-decorator>decorator-ametysicon-add64</icon-decorator>
<icon-decorator-type>action-create</icon-decorator-type>
<enable-on-unlock-only>true</enable-on-unlock-only>
<description-locked i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_NODE_LOCKED_DESC</description-locked>
<enable-on-checkout-only>true</enable-on-checkout-only>
<description-checkin i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_NODE_CHECKEDIN_DESC</description-checkin>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SmartNodeController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.SmartNodeController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.DeleteNode" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.SmartNodeController">
<action>Ametys.workspace.repository.actions.RemoveNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REMOVE_NODE_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REMOVE_NODE_DESC</description>
<icon-glyph>ametysicon-document112</icon-glyph>
<icon-decorator>decorator-ametysicon-delete30</icon-decorator>
<icon-decorator-type>action-remove</icon-decorator-type>
<enable-on-unlock-only>true</enable-on-unlock-only>
<description-locked i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REMOVE_NODE_LOCKED_DESC</description-locked>
<enable-on-checkout-only>true</enable-on-checkout-only>
<description-checkin i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_REMOVE_NODE_CHECKEDIN_DESC</description-checkin>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SmartNodeController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.SmartNodeController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.AddProperty" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.SmartNodeController">
<action>Ametys.workspace.repository.actions.AddProperty.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_PROPERTY_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_PROPERTY_DESC</description>
<icon-glyph>ametysicon-list6</icon-glyph>
<icon-decorator>decorator-ametysicon-add64</icon-decorator>
<icon-decorator-type>action-create</icon-decorator-type>
<enable-on-unlock-only>true</enable-on-unlock-only>
<description-locked i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_PROPERTY_LOCKED_DESC</description-locked>
<enable-on-checkout-only>true</enable-on-checkout-only>
<description-checkin i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ADD_PROPERTY_CHECKEDIN_DESC</description-checkin>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SmartNodeController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.plugins.repositoryapp.ui.SessionClientSideElement
Associated javascript class:
Ametys.repository.controller.SessionController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.SaveSession" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.plugins.repositoryapp.ui.SessionClientSideElement">
<class name="Ametys.repository.controller.SessionController">
<action>Ametys.workspace.repository.actions.SaveSession.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SAVE_SESSION_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SAVE_SESSION_DESC</description>
<icon-glyph>ametysicon-save31</icon-glyph>
<icon-small file="true">img/jcr/save_32.png</icon-small>
<icon-medium file="true">img/jcr/save_32.png</icon-medium>
<icon-large file="true">img/jcr/save_32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SessionController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.plugins.repositoryapp.ui.SessionClientSideElement
Associated javascript class:
Ametys.repository.controller.SessionController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.RollbackSession" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.plugins.repositoryapp.ui.SessionClientSideElement">
<class name="Ametys.repository.controller.SessionController">
<action>Ametys.workspace.repository.actions.RollbackSession.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ROLLBACK_SESSION_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_ROLLBACK_SESSION_DESC</description>
<icon-glyph>ametysicon-curve4</icon-glyph>
<icon-small file="true">img/jcr/rollback_16.png</icon-small>
<icon-medium file="true">img/jcr/rollback_32.png</icon-medium>
<icon-large file="true">img/jcr/rollback_32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SessionController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.SmartNodeController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.NodeLock" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.SmartNodeController">
<action>Ametys.workspace.repository.actions.UnlockNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<disabled>true</disabled>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_LOCK_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_LOCK_DESC</description>
<icon-glyph>ametysicon-padlock79</icon-glyph>
<icon-glyph-locked>ametysicon-lock81</icon-glyph-locked>
<enable-on-lock-only>true</enable-on-lock-only>
<description-locked i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_LOCK_LOCKED_DESC</description-locked>
<description-unlocked i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_LOCK_UNLOCKED_DESC</description-unlocked>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SmartNodeController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.SmartNodeController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.NodeCheckout" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.SmartNodeController">
<action>Ametys.workspace.repository.actions.CheckoutNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<disabled>true</disabled>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_CHECKOUT_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_CHECKED_IN_DESC</description>
<icon-glyph>ametysicon-document112</icon-glyph>
<icon-decorator>decorator-ametysicon-check34</icon-decorator>
<icon-decorator-type>state-ok</icon-decorator-type>
<icon-glyph-checkout>ametysicon-document112</icon-glyph-checkout>
<icon-decorator-checkout>decorator-ametysicon-check34</icon-decorator-checkout>
<icon-glyph-checkin>ametysicon-document112</icon-glyph-checkin>
<icon-decorator-checkin>decorator-ametysicon-check34</icon-decorator-checkin>
<enable-on-checkin-only>true</enable-on-checkin-only>
<description-checkout i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_CHECKED_OUT_DESC</description-checkout>
<description-checkedin i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_NODE_CHECKED_IN_DESC</description-checkedin>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/SmartNodeController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.NodeSortController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.SortDocument" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.NodeSortController">
<action>Ametys.workspace.repository.actions.SortNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<toggle-enabled>true</toggle-enabled>
<order>document</order>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_DOCUMENT_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_DOCUMENT_DESC</description>
<icon-glyph>ametysicon-sort48</icon-glyph>
<icon-small file="true">img/jcr/sort-document-16.png</icon-small>
<icon-medium file="true">img/jcr/sort-document-32.png</icon-medium>
<icon-large file="true">img/jcr/sort-document-32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/NodeSortController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.NodeSortController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.SortAlpha" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.NodeSortController">
<action>Ametys.workspace.repository.actions.SortNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<toggle-enabled>true</toggle-enabled>
<order>alpha</order>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_ALPHA_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_ALPHA_DESC</description>
<icon-glyph>ametysicon-alphabetical2</icon-glyph>
<icon-small file="true">img/jcr/sort-alpha-16.png</icon-small>
<icon-medium file="true">img/jcr/sort-alpha-32.png</icon-medium>
<icon-large file="true">img/jcr/sort-alpha-32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/NodeSortController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.NodeSortController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.SortReverseAlpha" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.NodeSortController">
<action>Ametys.workspace.repository.actions.SortNode.act</action>
<selection-target-id>^repository-node$</selection-target-id>
<toggle-enabled>true</toggle-enabled>
<order>reverseAlpha</order>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_REVERSEALPHA_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_REVERSEALPHA_DESC</description>
<icon-glyph>ametysicon-sort51</icon-glyph>
<icon-small file="true">img/jcr/sort-alpha-reverse-16.png</icon-small>
<icon-medium file="true">img/jcr/sort-alpha-reverse-32.png</icon-medium>
<icon-large file="true">img/jcr/sort-alpha-reverse-32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/controller/NodeSortController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.MessageTargetFactoriesManager>repository-node</org.ametys.core.ui.MessageTargetFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.SimpleMenu
Associated javascript class:
Ametys.repository.controller.NodeSortMenuController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.SortMenu" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.SimpleMenu">
<class name="Ametys.repository.controller.NodeSortMenuController">
<selection-target-id>^repository-node$</selection-target-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_SORT_DESC</description>
<icon-glyph>ametysicon-sort48</icon-glyph>
<icon-small file="true">img/jcr/sort-document-16.png</icon-small>
<icon-medium file="true">img/jcr/sort-document-32.png</icon-medium>
<icon-large file="true">img/jcr/sort-document-32.png</icon-large>
</class>
<menu-items>
<item ref="org.ametys.repository.ui.SortDocument"/>
<item ref="org.ametys.repository.ui.SortAlpha"/>
<item ref="org.ametys.repository.ui.SortReverseAlpha"/>
</menu-items>
<scripts>
<file>js/Ametys/repository/controller/NodeSortMenuController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.RepositoryButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.ExecuteQuery" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.RepositoryButtonController">
<action>Ametys.workspace.repository.actions.ExecuteQuery.act</action>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_QUERY_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_QUERY_DESC</description>
<icon-glyph>ametysicon-magnifier41</icon-glyph>
<icon-small file="true">img/jcr/search_query_32.png</icon-small>
<icon-medium file="true">img/jcr/search_query_32.png</icon-medium>
<icon-large file="true">img/jcr/search_query_32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-jcr</org.ametys.core.ui.UIToolsFactoriesManager>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.RepositoryButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.ResolveIdentifier" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.RepositoryButtonController">
<action>Ametys.workspace.repository.actions.ResolveIdentifier.act</action>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_RESOLVE_IDENTIFIER_LABEL</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_RESOLVE_IDENTIFIER_DESC</description>
<icon-glyph>ametysicon-search16</icon-glyph>
<icon-small file="true">img/jcr/search_identifier_32.png</icon-small>
<icon-medium file="true">img/jcr/search_identifier_32.png</icon-medium>
<icon-large file="true">img/jcr/search_identifier_32.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/RepositoryButtonController.js</file>
<file>js/Ametys/repository/RepositoryActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>Ametys.repository.RepositoryApp</org.ametys.core.ui.StaticFileImportsManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.repository.controller.OpenToolRepositoryButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.ui.RepositoryDescriptors" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.repository.controller.OpenToolRepositoryButtonController">
<opentool-id>uitool-repository-descriptors</opentool-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_DESCRIPTORS_TITLE</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_DESCRIPTORS_DESCRIPTION</description>
<help>org.ametys.repository.descriptors</help>
<icon-glyph>ametysicon-list6</icon-glyph>
<icon-small file="true">img/descriptors/descriptors-16.png</icon-small>
<icon-medium file="true">img/descriptors/descriptors-32.png</icon-medium>
<icon-large file="true">img/descriptors/descriptors-48.png</icon-large>
</class>
<scripts>
<file>js/Ametys/repository/controller/OpenToolRepositoryButtonController.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-descriptors</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.tool.factory.UniqueToolFactory
Extension point extended:
org.ametys.core.ui.UIToolsFactoriesManager
Configuration:
<extension id="uitool-repository-descriptors" point="org.ametys.core.ui.UIToolsFactoriesManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.tool.factory.UniqueToolFactory">
<toolClass>Ametys.repository.tool.RepositoryDescriptorsTool</toolClass>
<title i18n="true">PLUGINS_REPOSITORYAPP_DESCRIPTORS_TITLE</title>
<description i18n="true">PLUGINS_REPOSITORYAPP_DESCRIPTORS_DESCRIPTION</description>
<help>org.ametys.repository.descriptors</help>
<icon-glyph>ametysicon-list6</icon-glyph>
<icon-small file="true">img/descriptors/descriptors-16.png</icon-small>
<icon-medium file="true">img/descriptors/descriptors-32.png</icon-medium>
<icon-large file="true">img/descriptors/descriptors-48.png</icon-large>
<default-location/>
</class>
<scripts>
<file>js/Ametys/repository/tool/RepositoryTool.js</file>
<file>js/Ametys/repository/tool/RepositoryDescriptorsTool.js</file>
</scripts>
<depends>
<org.ametys.core.ui.StaticFileImportsManager>org.ametys.runtime.plugins.repository.Misc</org.ametys.core.ui.StaticFileImportsManager>
</depends>
</extension>
Components:
Associated java class:
org.ametys.workspaces.repository.maintenance.MaintenanceTaskManager
Configuration:
<component role="org.ametys.workspaces.repository.maintenance.MaintenanceTaskManager" id="org.ametys.workspaces.repository.maintenance.MaintenanceTaskManager" class="org.ametys.workspaces.repository.maintenance.MaintenanceTaskManager"/>
Components:
Associated java class:
org.ametys.workspaces.repository.maintenance.MaintenanceTaskComponent
Configuration:
<component role="org.ametys.workspaces.repository.maintenance.MaintenanceTaskComponent" id="org.ametys.workspaces.repository.maintenance.MaintenanceTaskComponent" class="org.ametys.workspaces.repository.maintenance.MaintenanceTaskComponent"/>
Extensions:
Associated java class:
org.ametys.core.ui.StaticFileImportsClientSideElement
Extension point extended:
org.ametys.core.ui.StaticFileImportsManager
Configuration:
<extension id="org.ametys.repository.maintenance.static" point="org.ametys.core.ui.StaticFileImportsManager" class="org.ametys.core.ui.StaticFileImportsClientSideElement">
<scripts>
<file plugin="admin">js/Ametys/plugins/admin/restart/RestartActions.js</file>
<file>js/Ametys/repository/maintenance/MaintenanceRibbonMessages.js</file>
</scripts>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.ribbon.element.ui.button.OpenToolButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.maintenance.Report" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.ribbon.element.ui.button.OpenToolButtonController">
<opentool-id>uitool-repository-maintenancetask</opentool-id>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_REPORT</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_REPORT_DESC</description>
<icon-glyph>ametysicon-document209</icon-glyph>
</class>
<scripts>
<file>js/Ametys/repository/controller/OpenToolRepositoryButtonController.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-maintenancetask</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.core.ui.StaticClientSideElement
Associated javascript class:
Ametys.tool.factory.UniqueToolFactory
Extension point extended:
org.ametys.core.ui.UIToolsFactoriesManager
Configuration:
<extension id="uitool-repository-maintenancetask" point="org.ametys.core.ui.UIToolsFactoriesManager" class="org.ametys.core.ui.StaticClientSideElement">
<class name="Ametys.tool.factory.UniqueToolFactory">
<toolClass>Ametys.repository.maintenance.MaintenanceTaskTool</toolClass>
<title i18n="true">PLUGINS_REPOSITORYAPP_MAINTENANCE_TOOL_TITLE</title>
<description i18n="true">PLUGINS_REPOSITORYAPP_MAINTENANCE_TOOL_DESC</description>
<icon-level-info file="true" plugin="core-ui">img/uitool-consolelog/level_info_16.png</icon-level-info>
<icon-level-warn file="true" plugin="core-ui">img/uitool-consolelog/level_warn_16.png</icon-level-warn>
<icon-level-error file="true" plugin="core-ui">img/uitool-consolelog/level_error_16.png</icon-level-error>
<icon-glyph>ametysicon-cogwheels12</icon-glyph>
<default-location/>
</class>
<scripts>
<file plugin="core-ui">js/Ametys/plugins/coreui/log/AbstractLogTool.js</file>
<file plugin="core-ui">js/Ametys/plugins/coreui/log/ServerLogTool.js</file>
<file plugin="core-ui">js/Ametys/plugins/coreui/log/ServerLogTool/ServerLogEntry.js</file>
<file>js/Ametys/repository/maintenance/MaintenanceTaskTool.js</file>
</scripts>
</extension>
Extensions:
Associated java class:
org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement
Associated javascript class:
Ametys.repository.maintenance.MaintenanceTaskButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.maintenance.GarbageCollector" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement">
<class name="Ametys.repository.maintenance.MaintenanceTaskButtonController">
<action>Ametys.repository.maintenance.MaintenanceActions.startGarbageCollector</action>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_STARTGARBAGECOLLECTOR</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_STARTGARBAGECOLLECTOR_DESC</description>
<icon-glyph>ametysicon-cogwheels12</icon-glyph>
</class>
<scripts>
<file>js/Ametys/repository/maintenance/MaintenanceTaskButtonController.js</file>
<file>js/Ametys/repository/maintenance/MaintenanceActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-maintenancetask</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement
Associated javascript class:
Ametys.repository.maintenance.MaintenanceTaskButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.maintenance.Reindexing" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement">
<class name="Ametys.repository.maintenance.MaintenanceTaskButtonController">
<action>Ametys.repository.maintenance.MaintenanceActions.reindexing</action>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_REINDEXING</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_REINDEXING_DESC</description>
<icon-glyph>ametysicon-cogwheels12</icon-glyph>
</class>
<scripts>
<file>js/Ametys/repository/maintenance/MaintenanceTaskButtonController.js</file>
<file>js/Ametys/repository/maintenance/MaintenanceActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-maintenancetask</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Associated java class:
org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement
Associated javascript class:
Ametys.repository.maintenance.MaintenanceTaskButtonController
Extension point extended:
org.ametys.core.ui.RibbonControlsManager
Configuration:
<extension id="org.ametys.repository.maintenance.ConsistencyCheck" point="org.ametys.core.ui.RibbonControlsManager" class="org.ametys.workspaces.repository.maintenance.ui.MaintenanceTaskClientSideElement">
<class name="Ametys.repository.maintenance.MaintenanceTaskButtonController">
<action>Ametys.repository.maintenance.MaintenanceActions.consistencyCheck</action>
<label i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_CONSISTENCYCHECK</label>
<description i18n="true">PLUGINS_REPOSITORYAPP_BUTTON_MAINTENANCE_CONSISTENCYCHECK_DESC</description>
<icon-glyph>ametysicon-cogwheels12</icon-glyph>
</class>
<scripts>
<file>js/Ametys/repository/maintenance/MaintenanceTaskButtonController.js</file>
<file>js/Ametys/repository/maintenance/MaintenanceActions.js</file>
</scripts>
<depends>
<org.ametys.core.ui.UIToolsFactoriesManager>uitool-repository-maintenancetask</org.ametys.core.ui.UIToolsFactoriesManager>
</depends>
<right context-prefix="/repository">REPOSITORY_Rights_Access</right>
</extension>
Extensions:
Associated java class:
org.ametys.core.ui.StaticRibbonImportManager
Extension point extended:
org.ametys.core.ui.RibbonImportManager
Configuration:
<extension id="org.ametys.repositoryapp.ribbon.Imports" point="org.ametys.core.ui.RibbonImportManager" class="org.ametys.core.ui.StaticRibbonImportManager">
<workspace match="repository">
<file>ribbon/repositoryapp-ribbon.xml</file>
<file plugin="core-ui">ribbon/optional-safe-script-ribbon.xml</file>
</workspace>
</extension>