{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-admin-center-jsf",
      "artifactVersion": "2021.54.6",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.admin.center",
          "org.nuxeo.admin.center.analytics.dashboards",
          "org.nuxeo.admin.center.jsf",
          "org.nuxeo.admin.center.monitoring",
          "org.nuxeo.admin.center.oauth.opensocial"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin",
        "id": "grp:org.nuxeo.admin",
        "name": "org.nuxeo.admin",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.54"
      },
      "bundleId": "org.nuxeo.admin.center.jsf",
      "components": [
        {
          "@type": "NXComponent",
          "documentation": "\n    @since 6.0, global widgets used to render actions/tabs\n    in Admin Center.\n  \n",
          "documentationHtml": "<p>\n&#64;since 6.0, global widgets used to render actions/tabs\nin Admin Center.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.platform.admin.center.actions.widgets/Contributions/org.nuxeo.ecm.platform.admin.center.actions.widgets--widgets",
              "id": "org.nuxeo.ecm.platform.admin.center.actions.widgets--widgets",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"adminCenterTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <property name=\"useAjaxForm\">#{useAjaxTabs}</property>\n        <property name=\"category\">NUXEO_ADMIN</property>\n        <property name=\"actions\">#{adminViews.availableActions}</property>\n        <property name=\"currentTabAction\">#{adminViews.currentView}</property>\n        <property name=\"overallDisplay\">vertical_block</property>\n        <property name=\"tabContentBeforeInclude\">/incl/appcenter/admin_tab_header.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"adminCenterSubTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <!-- use ajax only if bookmarkable URLs can be preserved -->\n        <property name=\"useAjaxForm\">#{canUseAjaxTabs}</property>\n        <property name=\"actions\">#{adminViews.availableSubActions}</property>\n        <property name=\"currentTabAction\">#{adminViews.currentSubView}</property>\n      </properties>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.LayoutStore--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.platform.admin.center.actions.widgets/Contributions/org.nuxeo.ecm.platform.admin.center.actions.widgets--widgettypes",
              "id": "org.nuxeo.ecm.platform.admin.center.actions.widgets--widgettypes",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "name": "org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\">\n\n    <widgetType name=\"admin_rest_document_link\">\n      <categories>\n        <category>jsfAction</category>\n      </categories>\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Document Admin Rest Link</title>\n        <description>\n          Widget displaying a restful document link for an action\n          (typically a tab link). Useful for Admin Center tabs migration to tabs\n          widget, to apply compatibility changes on existing actions.\n        </description>\n        <categories>\n          <category>action</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"repositoryName\">#{currentServerLocation.name}</property>\n            <property name=\"discardSurroundingForm\">true</property>\n            <property name=\"disableMultiPartForm\">true</property>\n            <property name=\"supportAjax\">#{canUseAjaxTabs}</property>\n            <property name=\"view\">view_admin</property>\n            <property name=\"pattern\">admin</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"rest_document_link_action_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">label</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">icon</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">ajaxSupport</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">onclick</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">target</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirm</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessage</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessageArgs</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">rest_document_link_view</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /incl/action/widgets/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"compat_template\">\n        /incl/action/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"dev_template\">\n        /widgets/actions/dev/action_widget_type_dev_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--typeCompatibility",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.platform.admin.center.actions.widgets/Contributions/org.nuxeo.ecm.platform.admin.center.actions.widgets--typeCompatibility",
              "id": "org.nuxeo.ecm.platform.admin.center.actions.widgets--typeCompatibility",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"typeCompatibility\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <typeCompatibility type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <category>SystemInfo_sub_tab</category>\n      <category>UsersActivity_sub_tab</category>\n      <category>ConnectClient_sub_tab</category>\n      <category>ConnectApps_sub_tab</category>\n      <category>UsersGroupsManager_sub_tab</category>\n      <category>Monitoring_sub_tab</category>\n      <category>DashboardManagement_sub_tab</category>\n      <category>OAuthOpensocial_sub_tab</category>\n      <category>ElasticSearch_sub_tab</category>\n    </typeCompatibility>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.platform.admin.center.actions.widgets",
          "name": "org.nuxeo.ecm.platform.admin.center.actions.widgets",
          "requirements": [],
          "resolutionOrder": 32,
          "services": [],
          "startOrder": 262,
          "version": "2021.54.6",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.platform.admin.center.actions.widgets\">\n\n  <documentation>\n    @since 6.0, global widgets used to render actions/tabs\n    in Admin Center.\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"adminCenterTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <property name=\"useAjaxForm\">#{useAjaxTabs}</property>\n        <property name=\"category\">NUXEO_ADMIN</property>\n        <property name=\"actions\">#{adminViews.availableActions}</property>\n        <property name=\"currentTabAction\">#{adminViews.currentView}</property>\n        <property name=\"overallDisplay\">vertical_block</property>\n        <property name=\"tabContentBeforeInclude\">/incl/appcenter/admin_tab_header.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"adminCenterSubTabs\" type=\"tabs\">\n      <properties mode=\"view\">\n        <property name=\"actionsDisplay\">links</property>\n        <property name=\"addForm\">true</property>\n        <!-- use ajax only if bookmarkable URLs can be preserved -->\n        <property name=\"useAjaxForm\">#{canUseAjaxTabs}</property>\n        <property name=\"actions\">#{adminViews.availableSubActions}</property>\n        <property name=\"currentTabAction\">#{adminViews.currentSubView}</property>\n      </properties>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"admin_rest_document_link\">\n      <categories>\n        <category>jsfAction</category>\n      </categories>\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Document Admin Rest Link</title>\n        <description>\n          Widget displaying a restful document link for an action\n          (typically a tab link). Useful for Admin Center tabs migration to tabs\n          widget, to apply compatibility changes on existing actions.\n        </description>\n        <categories>\n          <category>action</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"repositoryName\">#{currentServerLocation.name}</property>\n            <property name=\"discardSurroundingForm\">true</property>\n            <property name=\"disableMultiPartForm\">true</property>\n            <property name=\"supportAjax\">#{canUseAjaxTabs}</property>\n            <property name=\"view\">view_admin</property>\n            <property name=\"pattern\">admin</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"rest_document_link_action_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">label</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">icon</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">ajaxSupport</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">onclick</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">target</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirm</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessage</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">confirmMessageArgs</widget>\n                </row>\n                <row>\n                  <widget category=\"actionWidgetTypeConf\">rest_document_link_view</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /incl/action/widgets/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"compat_template\">\n        /incl/action/rest_document_link_action_template.xhtml\n      </property>\n      <property name=\"dev_template\">\n        /widgets/actions/dev/action_widget_type_dev_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"typeCompatibility\">\n\n    <typeCompatibility type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <category>SystemInfo_sub_tab</category>\n      <category>UsersActivity_sub_tab</category>\n      <category>ConnectClient_sub_tab</category>\n      <category>ConnectApps_sub_tab</category>\n      <category>UsersGroupsManager_sub_tab</category>\n      <category>Monitoring_sub_tab</category>\n      <category>DashboardManagement_sub_tab</category>\n      <category>OAuthOpensocial_sub_tab</category>\n      <category>ElasticSearch_sub_tab</category>\n    </typeCompatibility>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/action-widgets-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.connect.client.actions/Contributions/org.nuxeo.connect.client.actions--actions",
              "id": "org.nuxeo.connect.client.actions--actions",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"admin\" label=\"label.main.tab.admin.center\" link=\"view_admin\" order=\"100\" type=\"main_tab\">\n      <category>MAIN_TABS</category>\n      <filter-id>adminCenterAccess</filter-id>\n    </action>\n\n    <action id=\"SystemInfo\" label=\"admcommand.systeminfo\" link=\"/view_admin-fragment.xhtml\" order=\"10\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"HostInfo\" label=\"tab.sysinfo.host\" link=\"/incl/sysinfo/hostInfo.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"NuxeoInfo\" label=\"tab.sysinfo.nuxeo\" link=\"/incl/sysinfo/nuxeoInfo.xhtml\" order=\"30\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Setup\" label=\"tab.sysinfo.setup\" link=\"/incl/sysinfo/setup.xhtml\" order=\"40\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Migration\" label=\"tab.sysinfo.migration\" link=\"/incl/sysinfo/migration.xhtml\" order=\"45\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ReposInfo\" label=\"tab.sysinfo.reposInfo\" link=\"/incl/sysinfo/reposInfo.xhtml\" order=\"50\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"BinariesInfo\" label=\"tab.sysinfo.binariesInfo\" link=\"/incl/sysinfo/binariesInfo.xhtml\" order=\"60\" type=\"admin_rest_document_link\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <!--\n      <action id=\"ReposUsage\"\n      link=\"/incl/sysinfo/reposUsage.xhtml\"\n      label=\"tab.sysinfo.reposStats\"\n      type=\"admin_rest_document_link\"\n      order=\"60\">\n      <category>NUXEO_ADMIN_SystemInfo</category>\n      <filter-id>only_for_manager</filter-id>\n      </action>\n    -->\n\n    <action id=\"UsersActivity\" label=\"admcommand.useractivity\" link=\"/view_admin-fragment.xhtml\" order=\"15\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UsersSessions\" label=\"tab.useractivity.usersSessions\" link=\"/incl/usersActivity/usersSessions.xhtml\" order=\"10\" type=\"admin_rest_document_link\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"EventActivity\" label=\"tab.useractivity.usersActivity\" link=\"/incl/usersActivity/usersActivity.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"WorkManagerStatus\" label=\"Background work\" link=\"/incl/usersActivity/workmanager.xhtml\" order=\"30\" type=\"admin_rest_document_link\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClient\" label=\"admcommand.nuxeoconnect\" link=\"/view_updatecenter-fragment.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClientStatus\" label=\"tab.nuxeoconnect.status\" link=\"/incl/connect/connectStatus.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>ConnectClient_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClientTickets\" label=\"tab.nuxeoconnect.tickets\" link=\"/incl/connect/connectTickets.xhtml\" order=\"30\" type=\"admin_rest_document_link\">\n      <category>ConnectClient_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectApps\" label=\"admcommand.appstore\" link=\"/view_updatecenter-fragment.xhtml\" order=\"30\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsUpdates\" label=\"tab.appstore.updates\" link=\"/incl/appcenter/connectUpdates.xhtml\" order=\"30\" type=\"admin_rest_document_link\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsStudio\" label=\"tab.appstore.studio\" link=\"/incl/appcenter/studio.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsPrivate\" label=\"tab.appstore.private\" link=\"/incl/appcenter/connectPrivate.xhtml\" order=\"40\" type=\"admin_rest_document_link\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsRemote\" label=\"tab.appstore.remote\" link=\"/incl/appcenter/connectRemote.xhtml\" order=\"40\" type=\"admin_rest_document_link\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsLocal\" label=\"tab.appstore.local\" link=\"/incl/appcenter/connectLocal.xhtml\" order=\"50\" type=\"admin_rest_document_link\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Permissions\" label=\"admcommand.permissions\" link=\"/view_admin-fragment.xhtml\" order=\"40\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"SearchPermissions\" label=\"tab.permissions.search\" link=\"/incl/permissions/searchPermissions.xhtml\" order=\"10\" type=\"admin_rest_document_link\">\n      <category>Permissions_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"PurgePermissions\" label=\"tab.permissions.purge\" link=\"/incl/permissions/purgePermissions.xhtml\" order=\"50\" type=\"admin_rest_document_link\">\n      <category>Permissions_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <!-- Users and Groups management -->\n    <action id=\"UsersGroupsManager\" label=\"command.manageMembers\" link=\"/view_admin-fragment.xhtml\" order=\"45\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"UsersManager\" label=\"label.userManager.users\" link=\"/users/view_users.xhtml\" order=\"10\" type=\"admin_rest_document_link\">\n      <category>UsersGroupsManager_sub_tab</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"GroupsManager\" label=\"label.groupManager.groups\" link=\"/users/view_groups.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>UsersGroupsManager_sub_tab</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <!-- header actions -->\n\n    <action icon=\"/icons/update.png\" id=\"connectUpdates\" label=\"#{connectUpdateStatusInfo.availableUpdateCount} update(s) available\" order=\"1000\" type=\"template\">\n      <category>USER_SERVICES</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter-id>hasConnectUpdates</filter-id>\n      <properties>\n        <property name=\"containerStyleClass\">updateNotificationArea</property>\n        <property name=\"template\">/connect_upgrade_link.xhtml</property>\n      </properties>\n    </action>\n\n    <!-- end of header actions -->\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.connect.client.actions/Contributions/org.nuxeo.connect.client.actions--filters",
              "id": "org.nuxeo.connect.client.actions--filters",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"adminCenterAccess\">\n      <rule grant=\"true\">\n        <condition>#{currentUser.administrator}</condition>\n        <condition>#{currentUser.isMemberOf('powerusers')}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"usersGroupsManagementAccess\">\n      <rule grant=\"true\">\n        <condition>#{currentUser.administrator}</condition>\n        <condition>#{currentUser.isMemberOf('powerusers')}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"seamHotReloadIsEnabled\">\n      <rule grant=\"true\">\n        <condition>#{seamHotReloadIsEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"user_manager\">\n      <rule grant=\"true\">\n        <condition>#{userServicesContext.userManagerEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isRegisteredOnConnect\">\n      <rule grant=\"true\">\n        <condition>#{connectUpdateStatusInfo.registered}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isNotRegisteredOnConnect\">\n      <rule grant=\"false\">\n        <condition>#{connectUpdateStatusInfo.registered}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasConnectUpdates\">\n      <rule grant=\"true\">\n        <condition>#{connectUpdateStatusInfo.availableUpdateCount &gt; 0}</condition>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.connect.client.actions",
          "name": "org.nuxeo.connect.client.actions",
          "requirements": [],
          "resolutionOrder": 33,
          "services": [],
          "startOrder": 58,
          "version": "2021.54.6",
          "xmlFileContent": "<component name=\"org.nuxeo.connect.client.actions\">\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"admin\" link=\"view_admin\" label=\"label.main.tab.admin.center\"\n      order=\"100\" type=\"main_tab\">\n      <category>MAIN_TABS</category>\n      <filter-id>adminCenterAccess</filter-id>\n    </action>\n\n    <action id=\"SystemInfo\" link=\"/view_admin-fragment.xhtml\" label=\"admcommand.systeminfo\"\n      type=\"admin_rest_document_link\"\n      order=\"10\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"HostInfo\" link=\"/incl/sysinfo/hostInfo.xhtml\" label=\"tab.sysinfo.host\"\n      type=\"admin_rest_document_link\"\n      order=\"20\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"NuxeoInfo\" link=\"/incl/sysinfo/nuxeoInfo.xhtml\" label=\"tab.sysinfo.nuxeo\"\n      type=\"admin_rest_document_link\"\n      order=\"30\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Setup\" link=\"/incl/sysinfo/setup.xhtml\" label=\"tab.sysinfo.setup\"\n      type=\"admin_rest_document_link\"\n      order=\"40\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Migration\" link=\"/incl/sysinfo/migration.xhtml\" label=\"tab.sysinfo.migration\"\n      type=\"admin_rest_document_link\"\n      order=\"45\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ReposInfo\" link=\"/incl/sysinfo/reposInfo.xhtml\" label=\"tab.sysinfo.reposInfo\"\n      type=\"admin_rest_document_link\"\n      order=\"50\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"BinariesInfo\" link=\"/incl/sysinfo/binariesInfo.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.sysinfo.binariesInfo\" order=\"60\">\n      <category>SystemInfo_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <!--\n      <action id=\"ReposUsage\"\n      link=\"/incl/sysinfo/reposUsage.xhtml\"\n      label=\"tab.sysinfo.reposStats\"\n      type=\"admin_rest_document_link\"\n      order=\"60\">\n      <category>NUXEO_ADMIN_SystemInfo</category>\n      <filter-id>only_for_manager</filter-id>\n      </action>\n    -->\n\n    <action id=\"UsersActivity\" link=\"/view_admin-fragment.xhtml\" label=\"admcommand.useractivity\"\n      type=\"admin_rest_document_link\"\n      order=\"15\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UsersSessions\" link=\"/incl/usersActivity/usersSessions.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.useractivity.usersSessions\" order=\"10\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"EventActivity\" link=\"/incl/usersActivity/usersActivity.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.useractivity.usersActivity\" order=\"20\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"WorkManagerStatus\" link=\"/incl/usersActivity/workmanager.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"Background work\" order=\"30\">\n      <category>UsersActivity_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClient\" link=\"/view_updatecenter-fragment.xhtml\"\n      label=\"admcommand.nuxeoconnect\"\n      type=\"admin_rest_document_link\"\n      order=\"20\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClientStatus\" link=\"/incl/connect/connectStatus.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.nuxeoconnect.status\" order=\"20\">\n      <category>ConnectClient_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectClientTickets\" link=\"/incl/connect/connectTickets.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.nuxeoconnect.tickets\" order=\"30\">\n      <category>ConnectClient_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectApps\" link=\"/view_updatecenter-fragment.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"admcommand.appstore\" order=\"30\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsUpdates\" link=\"/incl/appcenter/connectUpdates.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.appstore.updates\" order=\"30\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsStudio\" link=\"/incl/appcenter/studio.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.appstore.studio\" order=\"20\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsPrivate\" link=\"/incl/appcenter/connectPrivate.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.appstore.private\" order=\"40\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsRemote\" link=\"/incl/appcenter/connectRemote.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.appstore.remote\" order=\"40\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"ConnectAppsLocal\" link=\"/incl/appcenter/connectLocal.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.appstore.local\" order=\"50\">\n      <category>ConnectApps_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"Permissions\" link=\"/view_admin-fragment.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"admcommand.permissions\" order=\"40\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"SearchPermissions\" link=\"/incl/permissions/searchPermissions.xhtml\" label=\"tab.permissions.search\"\n      type=\"admin_rest_document_link\"\n      order=\"10\">\n      <category>Permissions_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"PurgePermissions\" link=\"/incl/permissions/purgePermissions.xhtml\" label=\"tab.permissions.purge\"\n      type=\"admin_rest_document_link\"\n      order=\"50\">\n      <category>Permissions_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <!-- Users and Groups management -->\n    <action id=\"UsersGroupsManager\" link=\"/view_admin-fragment.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"command.manageMembers\" order=\"45\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"UsersManager\" link=\"/users/view_users.xhtml\" label=\"label.userManager.users\"\n      type=\"admin_rest_document_link\"\n      order=\"10\">\n      <category>UsersGroupsManager_sub_tab</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"GroupsManager\" link=\"/users/view_groups.xhtml\" label=\"label.groupManager.groups\"\n      type=\"admin_rest_document_link\"\n      order=\"20\">\n      <category>UsersGroupsManager_sub_tab</category>\n      <filter-id>usersGroupsManagementAccess</filter-id>\n      <filter-id>user_manager</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <!-- header actions -->\n\n    <action id=\"connectUpdates\"\n      label=\"#{connectUpdateStatusInfo.availableUpdateCount} update(s) available\"\n      order=\"1000\" type=\"template\" icon=\"/icons/update.png\">\n      <category>USER_SERVICES</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter-id>hasConnectUpdates</filter-id>\n      <properties>\n        <property name=\"containerStyleClass\">updateNotificationArea</property>\n        <property name=\"template\">/connect_upgrade_link.xhtml</property>\n      </properties>\n    </action>\n\n    <!-- end of header actions -->\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"adminCenterAccess\">\n      <rule grant=\"true\">\n        <condition>#{currentUser.administrator}</condition>\n        <condition>#{currentUser.isMemberOf('powerusers')}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"usersGroupsManagementAccess\">\n      <rule grant=\"true\">\n        <condition>#{currentUser.administrator}</condition>\n        <condition>#{currentUser.isMemberOf('powerusers')}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"seamHotReloadIsEnabled\">\n      <rule grant=\"true\">\n        <condition>#{seamHotReloadIsEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"user_manager\">\n      <rule grant=\"true\">\n        <condition>#{userServicesContext.userManagerEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isRegisteredOnConnect\">\n      <rule grant=\"true\">\n        <condition>#{connectUpdateStatusInfo.registered}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isNotRegisteredOnConnect\">\n      <rule grant=\"false\">\n        <condition>#{connectUpdateStatusInfo.registered}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasConnectUpdates\">\n      <rule grant=\"true\">\n        <condition>#{connectUpdateStatusInfo.availableUpdateCount &gt; 0}</condition>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.admin.AdminJSFComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.jsf.component",
          "name": "org.nuxeo.admin.jsf.component",
          "requirements": [],
          "resolutionOrder": 34,
          "services": [],
          "startOrder": 791,
          "version": "2021.54.6",
          "xmlFileContent": "<component name=\"org.nuxeo.admin.jsf.component\">\n  <implementation class=\"org.nuxeo.ecm.admin.AdminJSFComponent\"/>\n</component>\n",
          "xmlFileName": "/OSGI-INF/admin-jsf-component.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--startURL",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.connect.client.auth/Contributions/org.nuxeo.connect.client.auth--startURL",
              "id": "org.nuxeo.connect.client.auth--startURL",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"startURL\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n\n    <startURLPattern>\n      <patterns>\n        <pattern>nxconnectDownload.faces</pattern>\n        <pattern>nxadmin/</pattern>\n      </patterns>\n    </startURLPattern>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.connect.client.auth",
          "name": "org.nuxeo.connect.client.auth",
          "requirements": [],
          "resolutionOrder": 35,
          "services": [],
          "startOrder": 61,
          "version": "2021.54.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.connect.client.auth\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"startURL\">\n\n    <startURLPattern>\n      <patterns>\n        <pattern>nxconnectDownload.faces</pattern>\n        <pattern>nxadmin/</pattern>\n      </patterns>\n    </startURLPattern>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/auth-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.audit.contentView.contrib/Contributions/org.nuxeo.admin.audit.contentView.contrib--contentViews",
              "id": "org.nuxeo.admin.audit.contentView.contrib--contentViews",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"EVENTS_VIEW\">\n\n      <title>label.contentview.document.history</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n\n      <pageProvider name=\"EVENTS_VIEW\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"generateUIComments\">false</property>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"default\" name=\"fullauditsearch\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"event_listing\" showCSVExport=\"true\" showPDFExport=\"false\" title=\"history_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n    </contentView>\n\n    <contentView name=\"PERMISSIONS_SEARCH\">\n\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"PERMISSIONS_SEARCH\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"default\" filterUnfolded=\"true\" name=\"permissions_search_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <waitForExecution>true</waitForExecution>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"permissions_search_listing\" showCSVExport=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n    </contentView>\n\n    <contentView name=\"PERMISSIONS_PURGE\">\n\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"permissions_purge\">\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <property name=\"coreSession\">#{documentManager}</property>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"default\" filterUnfolded=\"true\" name=\"permissions_purge_filter\"/>\n      <showFilterForm>false</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"permissions_search_listing\" showCSVExport=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n    </contentView>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.audit.contentView.contrib",
          "name": "org.nuxeo.admin.audit.contentView.contrib",
          "requirements": [],
          "resolutionOrder": 36,
          "services": [],
          "startOrder": 35,
          "version": "2021.54.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.admin.audit.contentView.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"EVENTS_VIEW\">\n\n      <title>label.contentview.document.history</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n\n      <pageProvider name=\"EVENTS_VIEW\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"generateUIComments\">false</property>\n      </pageProvider>\n\n      <searchLayout name=\"fullauditsearch\" filterDisplayType=\"default\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout name=\"event_listing\" title=\"history_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showPDFExport=\"false\" />\n      </resultLayouts>\n\n    </contentView>\n\n    <contentView name=\"PERMISSIONS_SEARCH\">\n\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"PERMISSIONS_SEARCH\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n      </pageProvider>\n\n      <searchLayout name=\"permissions_search_filter\" filterDisplayType=\"default\" filterUnfolded=\"true\" />\n      <showFilterForm>true</showFilterForm>\n\n      <waitForExecution>true</waitForExecution>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout name=\"permissions_search_listing\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" />\n      </resultLayouts>\n\n    </contentView>\n\n    <contentView name=\"PERMISSIONS_PURGE\">\n\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"permissions_purge\">\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <property name=\"coreSession\">#{documentManager}</property>\n      </pageProvider>\n\n      <searchLayout name=\"permissions_purge_filter\" filterDisplayType=\"default\" filterUnfolded=\"true\" />\n      <showFilterForm>false</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{org.jboss.seam.core.manager.currentConversationId}</cacheKey>\n\n      <resultLayouts>\n        <layout name=\"permissions_search_listing\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" />\n      </resultLayouts>\n\n    </contentView>\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/content-view-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.platform.admin.layoutContrib/Contributions/org.nuxeo.platform.admin.layoutContrib--layouts",
              "id": "org.nuxeo.platform.admin.layoutContrib--layouts",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"fullauditsearch\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>startDate</widget>\n          <widget>endDate</widget>\n        </row>\n        <row>\n          <widget>eventId</widget>\n          <widget>eventCategory</widget>\n        </row>\n        <row>\n          <widget>userId</widget>\n        </row>\n      </rows>\n      <widget name=\"startDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.audit.startDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:startDate</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"endDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.audit.endDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:endDate</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"eventId\" type=\"selectManyDirectory\">\n        <labels>\n          <label mode=\"any\">label.performedAction</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:eventIds</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"directoryName\">eventTypes</property>\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventCategory\" type=\"selectOneDirectory\">\n        <labels>\n          <label mode=\"any\">label.category</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:eventCategory</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"directoryName\">eventCategories</property>\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userId\" type=\"singleUserSuggestion\">\n        <labels>\n          <label mode=\"any\">label.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:principalName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <!-- TODO: define global widgets to be shared with event logs displayed in document\n      tabs -->\n    <layout name=\"event_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">/layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">/layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">eventId</property>\n          </properties>\n          <widget>eventId</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.eventDate</property>\n          </properties>\n          <widget>eventDate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.principalName</property>\n          </properties>\n          <widget>username</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.category</property>\n          </properties>\n          <widget>eventCategory</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventDoc</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventComment</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventLC</widget>\n        </column>\n      </columns>\n      <widget name=\"eventId\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.performedAction</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.eventId</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.date</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.eventDate</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n          <property name=\"timezone\">#{timeZone}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.principalName</field>\n        </fields>\n      </widget>\n      <widget name=\"eventCategory\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.category</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data:category</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventDoc\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.document</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/auditdoc_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"eventComment\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.comment</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.comment</field>\n        </fields>\n      </widget>\n      <widget name=\"eventLC\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.lifecycle</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.docLifeCycle</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <!-- TODO: debug/dev mode -->\n    <layout name=\"admin_setup_main\">\n      <templates>\n        <template mode=\"any\">\n          /incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.mainSetup</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>url</widget>\n        </row>\n        <row>\n          <widget>product.name</widget>\n        </row>\n        <row>\n          <widget>product.version</widget>\n        </row>\n        <row>\n          <widget>bind.address</widget>\n        </row>\n        <row>\n          <widget>nuxeo.conf</widget>\n        </row>\n        <row>\n          <widget>data.dir</widget>\n        </row>\n        <row>\n          <widget>log.dir</widget>\n        </row>\n        <row>\n          <widget>org.nuxeo.dev</widget>\n        </row>\n        <row>\n          <widget>dbtemplate</widget>\n        </row>\n        <row>\n          <widget>database_ajax_decorator</widget>\n        </row>\n        <row>\n          <widget>chooseDirectoryType</widget>\n        </row>\n        <row>\n          <widget>ldap_ajax_decorator</widget>\n        </row>\n      </rows>\n      <widget name=\"url\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.url</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.url']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"product.name\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.org.nuxeo.ecm.product.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.ecm.product.name']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"product.version\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.org.nuxeo.ecm.product.version</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.ecm.product.version']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"bind.address\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.bind.address</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.bind.address']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"nuxeo.conf\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.conf</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.conf']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"data.dir\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.data.dir</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.data.dir']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"log.dir\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.log.dir</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.log.dir']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"org.nuxeo.dev\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.org.nuxeo.dev</label>\n        </labels>\n        <helpLabels>\n          <label mode=\"any\">label.setup.nuxeo.org.nuxeo.dev.help</label>\n        </helpLabels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.dev']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/dev_mode_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"dbtemplate\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.database.templates</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.dbtemplate']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">database_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"database_ajax_decorator\" type=\"template\">\n        <handlingLabels>true</handlingLabels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_ajax_panel.xhtml\n          </property>\n          <property name=\"ajaxPanelId\">database_ajaxPanel</property>\n          <!-- use a 'rendered' property instead of playing with the\n            subwidget mode otherwise proxy selection misbehaves after\n            first non-default database\n            selection -->\n          <property name=\"rendered\">\n            #{value['nuxeo.dbtemplate']!='default' and value['nuxeo.dbtemplate']!='mongodb'}\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"database\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_database</property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"chooseDirectoryType\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.directory.type</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{setupWizardAction.directoryType}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldap_ajax_decorator\" type=\"template\">\n        <handlingLabels>true</handlingLabels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_ajax_panel.xhtml\n          </property>\n          <property name=\"ajaxPanelId\">ldap_ajaxPanel</property>\n          <property name=\"rendered\">\n            #{setupWizardAction.directoryType != 'default'}\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"directories\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories</property>\n            </properties>\n          </widget>\n          <widget name=\"directories_group\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories_group</property>\n            </properties>\n          </widget>\n          <widget name=\"directories_extra\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories_extra</property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n\n    </layout>\n\n    <layout name=\"admin_setup_database\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.dataBase</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>dbName</widget>\n        </row>\n        <row>\n          <widget>dbUser</widget>\n        </row>\n        <row>\n          <widget>dbPwd</widget>\n        </row>\n        <row>\n          <widget>dbHost</widget>\n        </row>\n        <row>\n          <widget>dbPort</widget>\n        </row>\n        <row>\n          <widget>dbMinPoolSize</widget>\n        </row>\n        <row>\n          <widget>dbMaxPoolSize</widget>\n        </row>\n        <row>\n          <widget>vcsMinPoolSize</widget>\n        </row>\n        <row>\n          <widget>vcsMaxPoolSize</widget>\n        </row>\n        <row>\n          <widget>checkDatabaseParameters</widget>\n        </row>\n      </rows>\n      <widget name=\"dbName\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.name']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbUser\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.user']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbPwd\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.db.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.password']</field>\n        </fields>\n      </widget>\n      <widget name=\"dbHost\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.host']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbPort\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n        </properties>\n      </widget>\n      <widget name=\"dbMinPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.min-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.min-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"dbMaxPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.max-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.max-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"vcsMinPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.vcs.min-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.vcs.min-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"vcsMaxPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.vcs.max-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.vcs.max-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"checkDatabaseParameters\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_check_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.directories</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>ldapStorage</widget>\n        </row>\n        <row>\n          <widget>ldapUrl</widget>\n          <!-- <widget>checkNetwork</widget> -->\n        </row>\n        <row>\n          <widget>ldapBindDn</widget>\n        </row>\n        <row>\n          <widget>ldapBindPassword</widget>\n          <widget>checkAuth</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchBaseDn</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchClass</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchFilter</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchScope</widget>\n        </row>\n        <row>\n          <widget>userLdapReadonly</widget>\n        </row>\n        <row>\n          <widget>mappingUserRdn</widget>\n        </row>\n        <row>\n          <widget>mappingUsername</widget>\n        </row>\n        <row>\n          <widget>mappingPassword</widget>\n        </row>\n        <row>\n          <widget>mappingFirstname</widget>\n        </row>\n        <row>\n          <widget>mappingLastname</widget>\n        </row>\n        <row>\n          <widget>mappingEmail</widget>\n        </row>\n        <row>\n          <widget>mappingCompany</widget>\n        </row>\n      </rows>\n      <widget name=\"ldapStorage\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.users.storage</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.group.storage']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ldap_storage_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_group_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"multiStorage\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.users.storage</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.group.storage']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"Multidirectory for users and groups\" itemValue=\"multiUserGroup\"/>\n          <option itemLabel=\"Multidirectory for users and SQL groups\" itemValue=\"multiUserSqlGroup\"/>\n          <option itemLabel=\"LDAP users and multidirectory for groups\" itemValue=\"ldapUserMultiGroup\"/>\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.directoryType == 'multi'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"ldapUrl\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.url</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.url']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapBindDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.binddn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.binddn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapBindPassword\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.bindpassword</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.bindpassword']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"redisplay\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapRetries\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.retries</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.retries']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">2</property>\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchBaseDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchbasedn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchBaseDn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchClass\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchclass</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchClass']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchFilter\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchfilter</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchFilter']</field>\n        </fields>\n      </widget>\n      <widget name=\"userLdapSearchScope\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchscope</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchScope']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"onelevel\" itemValue=\"onelevel\"/>\n          <option itemLabel=\"subtree\" itemValue=\"subtree\"/>\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"size\">1</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapReadonly\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.readonly</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.readonly']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingUserRdn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.rdn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.rdn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingUsername\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.username']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingPassword\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.password']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingFirstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.firstname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.firstname']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingLastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.lastname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.lastname']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingEmail\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.email']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingCompany\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.company']</field>\n        </fields>\n      </widget>\n      <widget name=\"checkNetwork\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <widgetModes>\n          <mode value=\"edit\">#{setupWizardAction.directoryType != 'default' ? 'edit' : 'hidden'}</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_check_network_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"checkAuth\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <widgetModes>\n          <mode value=\"edit\">#{setupWizardAction.directoryType != 'default' ? 'edit' : 'hidden'}</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_check_auth_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories_group\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"ajaxPanelId\">ldap_group_ajaxPanel</property>\n        <property name=\"rendered\">\n          #{setupWizardAction.needGroupConfiguration}\n        </property>\n      </properties>\n      <rows>\n        <row>\n          <widget>groupLdapSearchBaseDn</widget>\n        </row>\n        <row>\n          <widget>groupLdapSearchFilter</widget>\n        </row>\n        <row>\n          <widget>groupLdapSearchScope</widget>\n        </row>\n        <row>\n          <widget>groupLdapReadonly</widget>\n        </row>\n        <row>\n          <widget>mappingGroupRdn</widget>\n        </row>\n        <row>\n          <widget>mappingGroupname</widget>\n        </row>\n        <row>\n          <widget>mappingGrouplabel</widget>\n        </row>\n        <row>\n          <widget>mappingStaticMembers</widget>\n        </row>\n        <row>\n          <widget>mappingDynamicMembers</widget>\n        </row>\n      </rows>\n      <widget name=\"groupLdapSearchBaseDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchbasedn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchBaseDn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapSearchFilter\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchfilter</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchFilter']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapSearchScope\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchscope</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchScope']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"onelevel\" itemValue=\"onelevel\"/>\n          <option itemLabel=\"subtree\" itemValue=\"subtree\"/>\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"size\">1</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapReadonly\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.readonly</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.readonly']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingGroupRdn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.rdn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.rdn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingGroupname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.name']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingGrouplabel\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.label</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.label']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingStaticMembers\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.members.static</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.members.staticAttributeId']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingDynamicMembers\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.members.dynamic</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.members.dynamicAttributeId']</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories_extra\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\"/>\n      </properties>\n      <rows>\n        <row>\n          <widget>defaultAdministrator</widget>\n        </row>\n        <row>\n          <widget>defaultMembersGroup</widget>\n        </row>\n        <row>\n          <widget>anonymousUser</widget>\n        </row>\n        <row>\n          <widget>emergencyUser</widget>\n        </row>\n        <row>\n          <widget>emergencyUsername</widget>\n        </row>\n        <row>\n          <widget>emergencyPassword</widget>\n        </row>\n        <row>\n          <widget>emergencyFirstname</widget>\n        </row>\n        <row>\n          <widget>emergencyLastname</widget>\n        </row>\n      </rows>\n      <widget name=\"defaultAdministrator\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.admin</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.defaultAdministratorId']</field>\n        </fields>\n      </widget>\n      <widget name=\"defaultMembersGroup\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.membersGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.defaultMembersGroup']</field>\n        </fields>\n      </widget>\n      <widget name=\"anonymousUser\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.anonymous.enable</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.anonymous.enable']</field>\n        </fields>\n      </widget>\n      <widget name=\"emergencyUser\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.enable</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.enable']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyUsername\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.username']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyPassword\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.password']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"redisplay\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyFirstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.firstname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.firstname']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyLastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.lastname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.lastname']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_choose_proxy\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.httpProxy</property>\n        <property name=\"ajaxPanelId\">admin_choose_proxy_ajaxPanel</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>chooseProxy</widget>\n        </row>\n        <row>\n          <widget>proxy.host</widget>\n        </row>\n        <row>\n          <widget>proxy.port</widget>\n        </row>\n        <row>\n          <widget>proxy.login</widget>\n        </row>\n        <row>\n          <widget>proxy.password</widget>\n        </row>\n      </rows>\n      <widget name=\"chooseProxy\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.httpProxy.type</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{setupWizardAction.proxyType}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/proxy_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">admin_choose_proxy_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.host']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <!-- use a 'rendered' property instead of playing with the\n            subwidget mode otherwise smtp auth misbehaves after\n            first non-default proxy type selection -->\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType != 'none'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType != 'none'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.login\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.login</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.login']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType ==\n            'authenticated'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.password']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType ==\n            'authenticated'}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_mail\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.email</property>\n        <property name=\"ajaxPanelId\">admin_setup_mail_ajaxPanel</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>eMailSubjectPrefix</widget>\n        </row>\n        <row>\n          <widget>mailservice.user</widget>\n        </row>\n        <row>\n          <widget>mailservice.password</widget>\n        </row>\n        <row>\n          <widget>mail.store.protocol</widget>\n        </row>\n        <row>\n          <widget>mail.transport.protocol</widget>\n        </row>\n        <row>\n          <widget>mail.store.host</widget>\n        </row>\n        <row>\n          <widget>mail.store.port</widget>\n        </row>\n        <row>\n          <widget>mail.store.user</widget>\n        </row>\n        <row>\n          <widget>mail.store.password</widget>\n        </row>\n        <row>\n          <widget>mail.debug</widget>\n        </row>\n        <row>\n          <widget>mail.transport.host</widget>\n        </row>\n        <row>\n          <widget>mail.transport.port</widget>\n        </row>\n        <row>\n          <widget>mail.transport.auth</widget>\n        </row>\n        <row>\n          <widget>mail.transport.user</widget>\n        </row>\n        <row>\n          <widget>mail.transport.password</widget>\n        </row>\n        <row>\n          <widget>mail.from</widget>\n        </row>\n        <row>\n          <widget>mail.transport.usetls</widget>\n        </row>\n        <row>\n          <widget>mail.user</widget>\n        </row>\n      </rows>\n      <widget name=\"eMailSubjectPrefix\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.notification.eMailSubjectPrefix\n          </label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.notification.eMailSubjectPrefix']</field>\n        </fields>\n      </widget>\n      <widget name=\"mailservice.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mailservice.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mailservice.user']</field>\n        </fields>\n      </widget>\n      <widget name=\"mailservice.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mailservice.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mailservice.password']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.protocol\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.protocol</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.protocol']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.protocol\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.protocol</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.protocol']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.host']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.store.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.user']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.store.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mail.store.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.password']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.debug\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.debug</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.debug']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.host']</field>\n        </fields>\n        <properties mode=\"edit\">\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.auth\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.auth</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.auth']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">admin_setup_mail_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.user']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['mail.transport.auth'] == true}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mail.transport.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.password']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['mail.transport.auth'] == true}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"mail.from\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.from</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.from']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.usetls\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.usetls</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.usetls']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.user']</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <!-- placeholder layout for custom properties -->\n    <layout name=\"admin_setup_custom_properties\">\n      <templates>\n        <template mode=\"any\">\n          /incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.custom</property>\n      </properties>\n    </layout>\n\n    <!-- permissions search -->\n    <layout name=\"permissions_search_filter\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>creator</widget>\n        </row>\n        <row>\n          <widget>location</widget>\n        </row>\n        <row>\n          <widget>permission</widget>\n        </row>\n        <row>\n          <widget>date_range</widget>\n        </row>\n        <row>\n          <widget>status</widget>\n        </row>\n        <row>\n          <widget>aclName</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_username</field>\n        </fields>\n      </widget>\n      <widget name=\"creator\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.grantedBy</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_creator</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        </properties>\n      </widget>\n      <widget name=\"location\" type=\"multipleDocumentsSuggestion\">\n        <labels>\n          <label mode=\"any\">label.search.locationSearch</label>\n        </labels>\n        <fields>\n          <field>rs:ecm_ancestorIds</field>\n        </fields>\n        <translated>true</translated>\n        <properties mode=\"any\">\n          <property name=\"documentSuggestion_pageProviderName\">\n            permissions_search_folders\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"permission\" type=\"selectManyListbox\">\n        <labels>\n          <label mode=\"any\">label.permissions.right</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_permission</field>\n        </fields>\n        <selectOptions>\n          <options itemLabel=\"#{item.label}\" itemValue=\"#{item.value}\" value=\"#{securityActions.getUserVisiblePermissionSelectItems('')}\" var=\"item\"/>\n        </selectOptions>\n      </widget>\n      <widget name=\"date_range\" type=\"datetimeRange\">\n        <labels>\n          <label mode=\"any\">label.permissions.timeFrame</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_begin</field>\n          <field>rs:ace_end</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputTextDate</property>\n          <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        </properties>\n      </widget>\n      <widget name=\"status\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.permissions.ace.status</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{adminPermissionsActions.selectedACEStatus}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/ace_status_widget.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"aclName\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.search.aclName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_acl_name</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <layout name=\"permissions_purge_filter\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>location</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_username</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"location\" type=\"multipleDocumentsSuggestion\">\n        <labels>\n          <label mode=\"any\">label.search.locationSearch</label>\n        </labels>\n        <fields>\n          <field>rs:ecm_ancestorIds</field>\n        </fields>\n        <translated>true</translated>\n        <properties mode=\"any\">\n          <property name=\"documentSuggestion_pageProviderName\">\n            permissions_search_folders\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"permissions_search_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">/layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">/layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>document_title</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/principal</property>\n          </properties>\n          <widget>ace_username</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/permission</property>\n          </properties>\n          <widget>ace_permission</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/creator</property>\n          </properties>\n          <widget>ace_creator</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/begin</property>\n          </properties>\n          <widget>ace_begin</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/end</property>\n          </properties>\n          <widget>ace_end</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/status</property>\n          </properties>\n          <widget>ace_status</widget>\n        </column>\n      </columns>\n      <widget name=\"document_title\" type=\"listing_id_title_link\">\n        <labels>\n          <label mode=\"any\">label.dublincore.title</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:uuid\"]</field>\n          <field>#{navigationContext.currentServerLocation.name}</field>\n          <field>data[\"dc:title\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_permission\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.right</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{messages[securityActions.getLabel(layoutValue.data[\"ecm:acl/*1/permission\"])]}</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_username\" type=\"singleUserSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/principal\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_creator\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.grantedBy</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/creator\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_begin\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.permissions.from</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/begin\"].time</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"ace_end\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.permissions.to</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/end\"].time</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"ace_status\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.permissions.ace.status</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/status\"]</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/ace_status_widget.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.platform.admin.layoutContrib",
          "name": "org.nuxeo.platform.admin.layoutContrib",
          "requirements": [],
          "resolutionOrder": 37,
          "services": [],
          "startOrder": 714,
          "version": "2021.54.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.platform.admin.layoutContrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"fullauditsearch\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>startDate</widget>\n          <widget>endDate</widget>\n        </row>\n        <row>\n          <widget>eventId</widget>\n          <widget>eventCategory</widget>\n        </row>\n        <row>\n          <widget>userId</widget>\n        </row>\n      </rows>\n      <widget name=\"startDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.audit.startDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:startDate</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"endDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.audit.endDate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:endDate</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"eventId\" type=\"selectManyDirectory\">\n        <labels>\n          <label mode=\"any\">label.performedAction</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:eventIds</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"directoryName\">eventTypes</property>\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventCategory\" type=\"selectOneDirectory\">\n        <labels>\n          <label mode=\"any\">label.category</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:eventCategory</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"directoryName\">eventCategories</property>\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userId\" type=\"singleUserSuggestion\">\n        <labels>\n          <label mode=\"any\">label.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>bas:principalName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <!-- TODO: define global widgets to be shared with event logs displayed in document\n      tabs -->\n    <layout name=\"event_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">/layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">/layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">eventId</property>\n          </properties>\n          <widget>eventId</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.eventDate</property>\n          </properties>\n          <widget>eventDate</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.principalName</property>\n          </properties>\n          <widget>username</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">log.category</property>\n          </properties>\n          <widget>eventCategory</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventDoc</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventComment</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>eventLC</widget>\n        </column>\n      </columns>\n      <widget name=\"eventId\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.performedAction</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.eventId</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.date</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.eventDate</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n          <property name=\"timezone\">#{timeZone}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.principalName</field>\n        </fields>\n      </widget>\n      <widget name=\"eventCategory\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.category</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data:category</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"eventDoc\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.document</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/auditdoc_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"eventComment\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.comment</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.comment</field>\n        </fields>\n      </widget>\n      <widget name=\"eventLC\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.lifecycle</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.docLifeCycle</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <!-- TODO: debug/dev mode -->\n    <layout name=\"admin_setup_main\">\n      <templates>\n        <template mode=\"any\">\n          /incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.mainSetup</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>url</widget>\n        </row>\n        <row>\n          <widget>product.name</widget>\n        </row>\n        <row>\n          <widget>product.version</widget>\n        </row>\n        <row>\n          <widget>bind.address</widget>\n        </row>\n        <row>\n          <widget>nuxeo.conf</widget>\n        </row>\n        <row>\n          <widget>data.dir</widget>\n        </row>\n        <row>\n          <widget>log.dir</widget>\n        </row>\n        <row>\n          <widget>org.nuxeo.dev</widget>\n        </row>\n        <row>\n          <widget>dbtemplate</widget>\n        </row>\n        <row>\n          <widget>database_ajax_decorator</widget>\n        </row>\n        <row>\n          <widget>chooseDirectoryType</widget>\n        </row>\n        <row>\n          <widget>ldap_ajax_decorator</widget>\n        </row>\n      </rows>\n      <widget name=\"url\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.url</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.url']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"product.name\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.org.nuxeo.ecm.product.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.ecm.product.name']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"product.version\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.org.nuxeo.ecm.product.version</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.ecm.product.version']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"bind.address\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.bind.address</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.bind.address']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"nuxeo.conf\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.conf</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.conf']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"data.dir\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.data.dir</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.data.dir']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"log.dir\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.log.dir</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.log.dir']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"org.nuxeo.dev\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.org.nuxeo.dev</label>\n        </labels>\n        <helpLabels>\n          <label mode=\"any\">label.setup.nuxeo.org.nuxeo.dev.help</label>\n        </helpLabels>\n        <translated>true</translated>\n        <fields>\n          <field>['org.nuxeo.dev']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/dev_mode_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"dbtemplate\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.database.templates</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.dbtemplate']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">database_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"database_ajax_decorator\" type=\"template\">\n        <handlingLabels>true</handlingLabels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_ajax_panel.xhtml\n          </property>\n          <property name=\"ajaxPanelId\">database_ajaxPanel</property>\n          <!-- use a 'rendered' property instead of playing with the\n            subwidget mode otherwise proxy selection misbehaves after\n            first non-default database\n            selection -->\n          <property name=\"rendered\">\n            #{value['nuxeo.dbtemplate']!='default' and value['nuxeo.dbtemplate']!='mongodb'}\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"database\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_database</property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n      <widget name=\"chooseDirectoryType\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.directory.type</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{setupWizardAction.directoryType}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldap_ajax_decorator\" type=\"template\">\n        <handlingLabels>true</handlingLabels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_ajax_panel.xhtml\n          </property>\n          <property name=\"ajaxPanelId\">ldap_ajaxPanel</property>\n          <property name=\"rendered\">\n            #{setupWizardAction.directoryType != 'default'}\n          </property>\n        </properties>\n        <subWidgets>\n          <widget name=\"directories\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories</property>\n            </properties>\n          </widget>\n          <widget name=\"directories_group\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories_group</property>\n            </properties>\n          </widget>\n          <widget name=\"directories_extra\" type=\"layout\">\n            <properties mode=\"any\">\n              <property name=\"name\">admin_setup_directories_extra</property>\n            </properties>\n          </widget>\n        </subWidgets>\n      </widget>\n\n    </layout>\n\n    <layout name=\"admin_setup_database\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.dataBase</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>dbName</widget>\n        </row>\n        <row>\n          <widget>dbUser</widget>\n        </row>\n        <row>\n          <widget>dbPwd</widget>\n        </row>\n        <row>\n          <widget>dbHost</widget>\n        </row>\n        <row>\n          <widget>dbPort</widget>\n        </row>\n        <row>\n          <widget>dbMinPoolSize</widget>\n        </row>\n        <row>\n          <widget>dbMaxPoolSize</widget>\n        </row>\n        <row>\n          <widget>vcsMinPoolSize</widget>\n        </row>\n        <row>\n          <widget>vcsMaxPoolSize</widget>\n        </row>\n        <row>\n          <widget>checkDatabaseParameters</widget>\n        </row>\n      </rows>\n      <widget name=\"dbName\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.name']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbUser\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.user']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbPwd\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.db.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.password']</field>\n        </fields>\n      </widget>\n      <widget name=\"dbHost\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.host']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"dbPort\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n        </properties>\n      </widget>\n      <widget name=\"dbMinPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.min-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.min-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"dbMaxPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.db.max-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.db.max-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"vcsMinPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.vcs.min-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.vcs.min-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"vcsMaxPoolSize\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.vcs.max-pool-size</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.vcs.max-pool-size']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">4</property>\n        </properties>\n      </widget>\n      <widget name=\"checkDatabaseParameters\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/database_check_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.directories</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>ldapStorage</widget>\n        </row>\n        <row>\n          <widget>ldapUrl</widget>\n          <!-- <widget>checkNetwork</widget> -->\n        </row>\n        <row>\n          <widget>ldapBindDn</widget>\n        </row>\n        <row>\n          <widget>ldapBindPassword</widget>\n          <widget>checkAuth</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchBaseDn</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchClass</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchFilter</widget>\n        </row>\n        <row>\n          <widget>userLdapSearchScope</widget>\n        </row>\n        <row>\n          <widget>userLdapReadonly</widget>\n        </row>\n        <row>\n          <widget>mappingUserRdn</widget>\n        </row>\n        <row>\n          <widget>mappingUsername</widget>\n        </row>\n        <row>\n          <widget>mappingPassword</widget>\n        </row>\n        <row>\n          <widget>mappingFirstname</widget>\n        </row>\n        <row>\n          <widget>mappingLastname</widget>\n        </row>\n        <row>\n          <widget>mappingEmail</widget>\n        </row>\n        <row>\n          <widget>mappingCompany</widget>\n        </row>\n      </rows>\n      <widget name=\"ldapStorage\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.users.storage</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.group.storage']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ldap_storage_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_group_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"multiStorage\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.users.storage</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.group.storage']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"Multidirectory for users and groups\" itemValue=\"multiUserGroup\" />\n          <option itemLabel=\"Multidirectory for users and SQL groups\" itemValue=\"multiUserSqlGroup\" />\n          <option itemLabel=\"LDAP users and multidirectory for groups\" itemValue=\"ldapUserMultiGroup\" />\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.directoryType == 'multi'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"ldapUrl\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.url</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.url']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapBindDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.binddn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.binddn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapBindPassword\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.bindpassword</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.bindpassword']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"redisplay\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"ldapRetries\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.retries</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.retries']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">2</property>\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchBaseDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchbasedn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchBaseDn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchClass\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchclass</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchClass']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapSearchFilter\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchfilter</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchFilter']</field>\n        </fields>\n      </widget>\n      <widget name=\"userLdapSearchScope\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.searchscope</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.searchScope']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"onelevel\" itemValue=\"onelevel\" />\n          <option itemLabel=\"subtree\" itemValue=\"subtree\" />\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"size\">1</property>\n        </properties>\n      </widget>\n      <widget name=\"userLdapReadonly\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.user.readonly</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.readonly']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingUserRdn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.rdn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.rdn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingUsername\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.username']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingPassword\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.password']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingFirstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.firstname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.firstname']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingLastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.lastname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.lastname']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingEmail\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.email']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingCompany\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.user.company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.user.mapping.company']</field>\n        </fields>\n      </widget>\n      <widget name=\"checkNetwork\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <widgetModes>\n          <mode value=\"edit\">#{setupWizardAction.directoryType != 'default' ? 'edit' : 'hidden'}</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_check_network_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"checkAuth\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <widgetModes>\n          <mode value=\"edit\">#{setupWizardAction.directoryType != 'default' ? 'edit' : 'hidden'}</mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/directory_check_auth_parameters_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories_group\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"ajaxPanelId\">ldap_group_ajaxPanel</property>\n        <property name=\"rendered\">\n          #{setupWizardAction.needGroupConfiguration}\n        </property>\n      </properties>\n      <rows>\n        <row>\n          <widget>groupLdapSearchBaseDn</widget>\n        </row>\n        <row>\n          <widget>groupLdapSearchFilter</widget>\n        </row>\n        <row>\n          <widget>groupLdapSearchScope</widget>\n        </row>\n        <row>\n          <widget>groupLdapReadonly</widget>\n        </row>\n        <row>\n          <widget>mappingGroupRdn</widget>\n        </row>\n        <row>\n          <widget>mappingGroupname</widget>\n        </row>\n        <row>\n          <widget>mappingGrouplabel</widget>\n        </row>\n        <row>\n          <widget>mappingStaticMembers</widget>\n        </row>\n        <row>\n          <widget>mappingDynamicMembers</widget>\n        </row>\n      </rows>\n      <widget name=\"groupLdapSearchBaseDn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchbasedn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchBaseDn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapSearchFilter\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchfilter</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchFilter']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapSearchScope\" type=\"selectOneListbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.searchscope</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.searchScope']</field>\n        </fields>\n        <selectOptions>\n          <option itemLabel=\"onelevel\" itemValue=\"onelevel\" />\n          <option itemLabel=\"subtree\" itemValue=\"subtree\" />\n        </selectOptions>\n        <properties widgetMode=\"any\">\n          <property name=\"size\">1</property>\n        </properties>\n      </widget>\n      <widget name=\"groupLdapReadonly\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.group.readonly</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.readonly']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingGroupRdn\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.rdn</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.rdn']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingGroupname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.name</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.name']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mappingGrouplabel\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.label</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.label']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingStaticMembers\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.members.static</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.members.staticAttributeId']</field>\n        </fields>\n      </widget>\n      <widget name=\"mappingDynamicMembers\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.mapping.group.members.dynamic</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.group.mapping.members.dynamicAttributeId']</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_directories_extra\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\"></property>\n      </properties>\n      <rows>\n        <row>\n          <widget>defaultAdministrator</widget>\n        </row>\n        <row>\n          <widget>defaultMembersGroup</widget>\n        </row>\n        <row>\n          <widget>anonymousUser</widget>\n        </row>\n        <row>\n          <widget>emergencyUser</widget>\n        </row>\n        <row>\n          <widget>emergencyUsername</widget>\n        </row>\n        <row>\n          <widget>emergencyPassword</widget>\n        </row>\n        <row>\n          <widget>emergencyFirstname</widget>\n        </row>\n        <row>\n          <widget>emergencyLastname</widget>\n        </row>\n      </rows>\n      <widget name=\"defaultAdministrator\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.admin</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.defaultAdministratorId']</field>\n        </fields>\n      </widget>\n      <widget name=\"defaultMembersGroup\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.membersGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.ldap.defaultMembersGroup']</field>\n        </fields>\n      </widget>\n      <widget name=\"anonymousUser\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.anonymous.enable</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.anonymous.enable']</field>\n        </fields>\n      </widget>\n      <widget name=\"emergencyUser\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.enable</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.enable']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">ldap_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyUsername\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.username']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyPassword\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.password']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"redisplay\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyFirstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.firstname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.firstname']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"emergencyLastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.ldap.default.emergency.lastname</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.user.emergency.lastname']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['nuxeo.user.emergency.enable']}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_choose_proxy\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.httpProxy</property>\n        <property name=\"ajaxPanelId\">admin_choose_proxy_ajaxPanel</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>chooseProxy</widget>\n        </row>\n        <row>\n          <widget>proxy.host</widget>\n        </row>\n        <row>\n          <widget>proxy.port</widget>\n        </row>\n        <row>\n          <widget>proxy.login</widget>\n        </row>\n        <row>\n          <widget>proxy.password</widget>\n        </row>\n      </rows>\n      <widget name=\"chooseProxy\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.httpProxy.type</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{setupWizardAction.proxyType}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/proxy_chooser_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">admin_choose_proxy_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.host']</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <!-- use a 'rendered' property instead of playing with the\n            subwidget mode otherwise smtp auth misbehaves after\n            first non-default proxy type selection -->\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType != 'none'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType != 'none'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.login\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.login</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.login']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType ==\n            'authenticated'}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"proxy.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.nuxeo.http.proxy.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.http.proxy.password']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{setupWizardAction.proxyType ==\n            'authenticated'}\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"admin_setup_mail\">\n      <templates>\n        <template mode=\"any\">/incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.email</property>\n        <property name=\"ajaxPanelId\">admin_setup_mail_ajaxPanel</property>\n      </properties>\n      <rows>\n        <row>\n          <widget>eMailSubjectPrefix</widget>\n        </row>\n        <row>\n          <widget>mailservice.user</widget>\n        </row>\n        <row>\n          <widget>mailservice.password</widget>\n        </row>\n        <row>\n          <widget>mail.store.protocol</widget>\n        </row>\n        <row>\n          <widget>mail.transport.protocol</widget>\n        </row>\n        <row>\n          <widget>mail.store.host</widget>\n        </row>\n        <row>\n          <widget>mail.store.port</widget>\n        </row>\n        <row>\n          <widget>mail.store.user</widget>\n        </row>\n        <row>\n          <widget>mail.store.password</widget>\n        </row>\n        <row>\n          <widget>mail.debug</widget>\n        </row>\n        <row>\n          <widget>mail.transport.host</widget>\n        </row>\n        <row>\n          <widget>mail.transport.port</widget>\n        </row>\n        <row>\n          <widget>mail.transport.auth</widget>\n        </row>\n        <row>\n          <widget>mail.transport.user</widget>\n        </row>\n        <row>\n          <widget>mail.transport.password</widget>\n        </row>\n        <row>\n          <widget>mail.from</widget>\n        </row>\n        <row>\n          <widget>mail.transport.usetls</widget>\n        </row>\n        <row>\n          <widget>mail.user</widget>\n        </row>\n      </rows>\n      <widget name=\"eMailSubjectPrefix\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.nuxeo.notification.eMailSubjectPrefix\n          </label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['nuxeo.notification.eMailSubjectPrefix']</field>\n        </fields>\n      </widget>\n      <widget name=\"mailservice.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mailservice.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mailservice.user']</field>\n        </fields>\n      </widget>\n      <widget name=\"mailservice.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mailservice.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mailservice.password']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.protocol\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.protocol</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.protocol']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.protocol\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.protocol</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.protocol']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.host']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.store.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.store.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.store.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.user']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.store.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mail.store.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.store.password']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"required\">false</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.debug\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.debug</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.debug']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.host\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.host</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.host']</field>\n        </fields>\n        <properties mode=\"edit\">\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.port\" type=\"int\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.port</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.port']</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"size\">5</property>\n          <property name=\"maxlength\">5</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.auth\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.auth</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.auth']</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml\n          </property>\n          <property name=\"reRender\">admin_setup_mail_ajaxPanel</property>\n          <property name=\"ajaxSingle\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.user']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['mail.transport.auth'] == true}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"mail.transport.password\" type=\"secret\">********<labels>\n          <label mode=\"any\">label.setup.mail.transport.password</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.password']</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"rendered\">\n            #{value['mail.transport.auth'] == true}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"mail.from\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.from</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.from']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.transport.usetls\" type=\"checkbox\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.transport.usetls</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.transport.usetls']</field>\n        </fields>\n      </widget>\n      <widget name=\"mail.user\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.setup.mail.user</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>['mail.user']</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <!-- placeholder layout for custom properties -->\n    <layout name=\"admin_setup_custom_properties\">\n      <templates>\n        <template mode=\"any\">\n          /incl/sysinfo/setup_layout_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"label\">label.setup.table.title.custom</property>\n      </properties>\n    </layout>\n\n    <!-- permissions search -->\n    <layout name=\"permissions_search_filter\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>creator</widget>\n        </row>\n        <row>\n          <widget>location</widget>\n        </row>\n        <row>\n          <widget>permission</widget>\n        </row>\n        <row>\n          <widget>date_range</widget>\n        </row>\n        <row>\n          <widget>status</widget>\n        </row>\n        <row>\n          <widget>aclName</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_username</field>\n        </fields>\n      </widget>\n      <widget name=\"creator\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.grantedBy</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_creator</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        </properties>\n      </widget>\n      <widget name=\"location\" type=\"multipleDocumentsSuggestion\">\n        <labels>\n          <label mode=\"any\">label.search.locationSearch</label>\n        </labels>\n        <fields>\n          <field>rs:ecm_ancestorIds</field>\n        </fields>\n        <translated>true</translated>\n        <properties mode=\"any\">\n          <property name=\"documentSuggestion_pageProviderName\">\n            permissions_search_folders\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"permission\" type=\"selectManyListbox\">\n        <labels>\n          <label mode=\"any\">label.permissions.right</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_permission</field>\n        </fields>\n        <selectOptions>\n          <options value=\"#{securityActions.getUserVisiblePermissionSelectItems('')}\"\n            var=\"item\" itemValue=\"#{item.value}\" itemLabel=\"#{item.label}\" />\n        </selectOptions>\n      </widget>\n      <widget name=\"date_range\" type=\"datetimeRange\">\n        <labels>\n          <label mode=\"any\">label.permissions.timeFrame</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_begin</field>\n          <field>rs:ace_end</field>\n        </fields>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputTextDate</property>\n          <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        </properties>\n      </widget>\n      <widget name=\"status\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.permissions.ace.status</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{adminPermissionsActions.selectedACEStatus}</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/ace_status_widget.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"aclName\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.search.aclName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_acl_name</field>\n        </fields>\n      </widget>\n    </layout>\n\n    <layout name=\"permissions_purge_filter\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>location</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>rs:ace_username</field>\n        </fields>\n        <properties mode=\"edit\">\n          <property name=\"required\">true</property>\n        </properties>\n      </widget>\n      <widget name=\"location\" type=\"multipleDocumentsSuggestion\">\n        <labels>\n          <label mode=\"any\">label.search.locationSearch</label>\n        </labels>\n        <fields>\n          <field>rs:ecm_ancestorIds</field>\n        </fields>\n        <translated>true</translated>\n        <properties mode=\"any\">\n          <property name=\"documentSuggestion_pageProviderName\">\n            permissions_search_folders\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"permissions_search_listing\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">/layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">/layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>document_title</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/principal</property>\n          </properties>\n          <widget>ace_username</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/permission</property>\n          </properties>\n          <widget>ace_permission</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/creator</property>\n          </properties>\n          <widget>ace_creator</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/begin</property>\n          </properties>\n          <widget>ace_begin</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/end</property>\n          </properties>\n          <widget>ace_end</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">ecm:acl/*1/status</property>\n          </properties>\n          <widget>ace_status</widget>\n        </column>\n      </columns>\n      <widget name=\"document_title\" type=\"listing_id_title_link\">\n        <labels>\n          <label mode=\"any\">label.dublincore.title</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:uuid\"]</field>\n          <field>#{navigationContext.currentServerLocation.name}</field>\n          <field>data[\"dc:title\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_permission\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.right</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>#{messages[securityActions.getLabel(layoutValue.data[\"ecm:acl/*1/permission\"])]}</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_username\" type=\"singleUserSuggestion\">\n        <labels>\n          <label mode=\"any\">label.permissions.userGroup</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/principal\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_creator\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.permissions.grantedBy</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/creator\"]</field>\n        </fields>\n      </widget>\n      <widget name=\"ace_begin\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.permissions.from</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/begin\"].time</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"ace_end\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.permissions.to</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/end\"].time</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n        </properties>\n        <properties mode=\"csv\">\n          <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n          <property name=\"csv_forceType\">date</property>\n        </properties>\n      </widget>\n      <widget name=\"ace_status\" type=\"template\">\n        <labels>\n          <label mode=\"any\">label.permissions.ace.status</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data[\"ecm:acl/*1/status\"]</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/ace_status_widget.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layout-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.theme.styling.service--pages",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.admin.center.theme/Contributions/org.nuxeo.ecm.admin.center.theme--pages",
              "id": "org.nuxeo.ecm.admin.center.theme--pages",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.theme.styling.service",
                "name": "org.nuxeo.theme.styling.service",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"pages\" target=\"org.nuxeo.theme.styling.service\">\n\n    <page charset=\"utf-8\" name=\"admin/default\">\n      <defaultFlavor>default</defaultFlavor>\n      <flavors>\n        <flavor>default</flavor>\n        <flavor>rainbow</flavor>\n      </flavors>\n      <resources>\n        <bundle>nuxeo_includes</bundle>\n        <bundle>nuxeo_base</bundle>\n        <bundle>nuxeo_sassCss</bundle>\n        <resource>nuxeo_admincenter_specific.scss</resource>\n      </resources>\n    </page>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--resources",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.admin.center.theme/Contributions/org.nuxeo.ecm.admin.center.theme--resources",
              "id": "org.nuxeo.ecm.admin.center.theme--resources",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"resources\" target=\"org.nuxeo.ecm.platform.WebResources\">\n\n    <resource name=\"nuxeo_admincenter_specific.scss\" type=\"css\">\n      <path>themes/sass/nuxeo_admincenter_specific.scss</path>\n      <processors>\n        <processor>sassCss</processor>\n      </processors>\n    </resource>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.ecm.admin.center.theme",
          "name": "org.nuxeo.ecm.admin.center.theme",
          "requirements": [],
          "resolutionOrder": 38,
          "services": [],
          "startOrder": 83,
          "version": "2021.54.6",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.admin.center.theme\">\n\n  <extension target=\"org.nuxeo.theme.styling.service\" point=\"pages\">\n\n    <page name=\"admin/default\" charset=\"utf-8\">\n      <defaultFlavor>default</defaultFlavor>\n      <flavors>\n        <flavor>default</flavor>\n        <flavor>rainbow</flavor>\n      </flavors>\n      <resources>\n        <bundle>nuxeo_includes</bundle>\n        <bundle>nuxeo_base</bundle>\n        <bundle>nuxeo_sassCss</bundle>\n        <resource>nuxeo_admincenter_specific.scss</resource>\n      </resources>\n    </page>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"resources\">\n\n    <resource name=\"nuxeo_admincenter_specific.scss\" type=\"css\">\n      <path>themes/sass/nuxeo_admincenter_specific.scss</path>\n      <processors>\n        <processor>sassCss</processor>\n      </processors>\n    </resource>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/theme-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService--codecs",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.urlservice/Contributions/org.nuxeo.admin.urlservice--codecs",
              "id": "org.nuxeo.admin.urlservice--codecs",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "name": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"codecs\" target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\">\n\n    <documentViewCodec class=\"org.nuxeo.ecm.platform.url.codec.DocumentPathCodec\" default=\"false\" enabled=\"true\" name=\"docpathadmin\" prefix=\"nxadmin\"/>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.urlservice/Contributions/org.nuxeo.admin.urlservice--urlpatterns",
              "id": "org.nuxeo.admin.urlservice--urlpatterns",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "type": "service"
              },
              "version": "2021.54.6",
              "xml": "<extension point=\"urlpatterns\" target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\">\n\n    <urlPattern enabled=\"true\" name=\"admin\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpathadmin</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBindingApplies>\n        #{mainTabsActions.isOnMainTab('admin')}\n      </documentViewBindingApplies>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.getNewDocumentView(null)}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding callGetter=\"false\" name=\"tabId\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding callGetter=\"false\" name=\"subTabId\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding callGetter=\"false\" name=\"language\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf/org.nuxeo.admin.urlservice",
          "name": "org.nuxeo.admin.urlservice",
          "requirements": [],
          "resolutionOrder": 39,
          "services": [],
          "startOrder": 39,
          "version": "2021.54.6",
          "xmlFileContent": "<component name=\"org.nuxeo.admin.urlservice\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\"\n    point=\"codecs\">\n\n    <documentViewCodec name=\"docpathadmin\" enabled=\"true\" default=\"false\"\n      prefix=\"nxadmin\"\n      class=\"org.nuxeo.ecm.platform.url.codec.DocumentPathCodec\" />\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\"\n    point=\"urlpatterns\">\n\n    <urlPattern name=\"admin\" enabled=\"true\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpathadmin</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBindingApplies>\n        #{mainTabsActions.isOnMainTab('admin')}\n      </documentViewBindingApplies>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.getNewDocumentView(null)}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding name=\"tabId\" callGetter=\"false\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding name=\"subTabId\" callGetter=\"false\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding name=\"language\" callGetter=\"false\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/urlservice-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-admin-center-jsf-2021.54.6.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.admin/org.nuxeo.admin.center.jsf",
      "id": "org.nuxeo.admin.center.jsf",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.23\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 1.0.0\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Vendor: org.nuxeo.ecm.platform\r\nBundle-Name: Nuxeo Admin Center JSF\r\nBundle-SymbolicName: org.nuxeo.admin.center.jsf;singleton:=true\r\nNuxeo-Component: OSGI-INF/action-widgets-contrib.xml,OSGI-INF/actions-\r\n contrib.xml,OSGI-INF/admin-jsf-component.xml,OSGI-INF/auth-contrib.xm\r\n l,OSGI-INF/content-view-contrib.xml,OSGI-INF/layout-contrib.xml,OSGI-\r\n INF/theme-contrib.xml,OSGI-INF/urlservice-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 39,
      "minResolutionOrder": 32,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [],
      "version": "2021.54.6"
    }
  ],
  "creationDate": 1716281073860,
  "key": "Nuxeo Platform-2021.54",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.admin.center.analytics.dashboards",
        "org.nuxeo.admin.center.jsf",
        "org.nuxeo.admin.center.monitoring",
        "org.nuxeo.admin.center.oauth.opensocial",
        "org.nuxeo.ecm.automation.jsf",
        "org.nuxeo.elasticsearch.web",
        "org.nuxeo.ecm.localconf.web",
        "org.nuxeo.ecm.actions.jsf",
        "org.nuxeo.ecm.platform.audio.jsf",
        "org.nuxeo.ecm.platform.audit.web",
        "org.nuxeo.ecm.platform.comment.web",
        "org.nuxeo.ecm.platform.contentview.jsf",
        "org.nuxeo.ecm.directory.web",
        "org.nuxeo.ecm.platform.forms.layout.client",
        "org.nuxeo.ecm.platform.forms.layout.io",
        "org.nuxeo.ecm.platform.forms.layout.io.plugins",
        "org.nuxeo.ecm.platform.picture.jsf",
        "org.nuxeo.ecm.platform.io.web",
        "org.nuxeo.ecm.platform.login.token.jsf",
        "org.nuxeo.ecm.platform.notification.web",
        "org.nuxeo.ecm.platform.publisher.web",
        "org.nuxeo.ecm.relations.web",
        "org.nuxeo.ecm.platform.rendition.web",
        "org.nuxeo.ecm.platform.suggestbox.jsf",
        "org.nuxeo.ecm.platform.tag.web",
        "org.nuxeo.ecm.platform.task.web",
        "org.nuxeo.ecm.platform.ui.select2",
        "org.nuxeo.ecm.platform.ui",
        "org.nuxeo.ecm.platform.userworkspace.web",
        "org.nuxeo.ecm.platform.video.jsf",
        "org.nuxeo.ecm.webapp.ui",
        "org.nuxeo.ecm.webapp.base",
        "org.nuxeo.ecm.webapp.core",
        "org.nuxeo.ecm.platform.preview.jsf",
        "org.nuxeo.ecm.platform.routing.dashboard",
        "org.nuxeo.ecm.platform.routing.default.jsf",
        "org.nuxeo.ecm.platform.routing.dm",
        "org.nuxeo.ecm.platform.routing.web",
        "org.nuxeo.search.ui",
        "org.nuxeo.theme.migration",
        "org.nuxeo.ecm.user.center",
        "org.nuxeo.ecm.user.center.dashboard",
        "org.nuxeo.ecm.user.center.dashboard.jsf",
        "org.nuxeo.ecm.user.center.notification",
        "org.nuxeo.ecm.user.center.oauth",
        "org.nuxeo.ecm.user.center.profile.jsf",
        "org.nuxeo.web.resources.jsf"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/nuxeo-jsf-ui-2021.54.6",
      "id": "nuxeo-jsf-ui-2021.54.6",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2021.54.6"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1716281073860,
  "version": "2021.54"
}