{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-directory-web",
      "artifactVersion": "10.10-HF33",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.directory",
          "org.nuxeo.ecm.directory.api",
          "org.nuxeo.ecm.directory.ldap",
          "org.nuxeo.ecm.directory.multi",
          "org.nuxeo.ecm.directory.sql",
          "org.nuxeo.ecm.directory.types.contrib",
          "org.nuxeo.ecm.directory.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory",
        "id": "grp:org.nuxeo.ecm.directory",
        "name": "org.nuxeo.ecm.directory",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "10.10"
      },
      "bundleId": "org.nuxeo.ecm.directory.web",
      "components": [
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.directory.ui.DirectoryUIManagerImpl",
          "documentationHtml": "",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.directory.ui.DirectoryUIManager",
              "descriptors": [
                "org.nuxeo.ecm.directory.api.ui.DirectoryUIDescriptor"
              ],
              "documentation": "\n      This extension point can be used to register directory ui information.\n      <p/>\n\n      Example:\n      <code>\n    <directory layout=\"vocabulary\" name=\"continent\" sortField=\"label\">\n        <deleteConstraint class=\"org.nuxeo.ecm.directory.api.ui.HierarchicalDirectoryUIDeleteConstraint\">\n            <property name=\"targetDirectory\">country</property>\n            <property name=\"targetDirectoryField\">parent</property>\n        </deleteConstraint>\n    </directory>\n    <directory layout=\"country_vocabulary\" name=\"country\" sortField=\"parent\"/>\n</code>\n<p/>\n\n      The following fields can be used on a directory UI declaration :\n      <ul>\n    <li>\n          name: name of the directory to display, as used in the directory\n          declaration\n        </li>\n    <li>\n          layout: name of the layout to use for display. This layout must know\n          how to render elements in a table, so it uses a specific template.\n        </li>\n    <li>\n          sortField: name of the field to sort on when presenting directory\n          items in a table. Defaults to the directory id field if not set.\n        </li>\n    <li>\n          view: name of the JSF view to use to present the directory. Defaults\n          to \"view_directory\" if not set.\n        </li>\n    <li>\n          enabled: boolean stating if the declaration is enabled. This is\n          useful to disable some preceding declaration, as long as the same\n          directory name is used. Defaults to \"false\" if not set.\n        </li>\n</ul>\n<p/>\n\n      Here the layouts \"vocabulary\" and \"country_vocabulary\" have to be\n      registered as layouts. The delete constraint uses a standard class that\n      checks if no child entry references a parent entry before granting\n      deletion of the parent entry. The following parameters can be used on this\n      class:\n      <ul>\n    <li>\n          targetDirectory: the directory holding the constraint (the child\n          directory).\n        </li>\n    <li>\n          targetDirectoryField: the field specifying the parent id in the\n          child directory.\n        </li>\n</ul>\n\n      Any other delete constraint can be set, taking other specific parameters,\n      provided it follows the\n      <em>org.nuxeo.ecm.directory.api.ui.DirectoryUIDeleteConstraint\n      </em>\n\n      interface.\n    \n",
              "documentationHtml": "<p>\nThis extension point can be used to register directory ui information.\n</p><p>\nExample:\n</p><p></p><pre><code>    &lt;directory layout&#61;&#34;vocabulary&#34; name&#61;&#34;continent&#34; sortField&#61;&#34;label&#34;&gt;\n        &lt;deleteConstraint class&#61;&#34;org.nuxeo.ecm.directory.api.ui.HierarchicalDirectoryUIDeleteConstraint&#34;&gt;\n            &lt;property name&#61;&#34;targetDirectory&#34;&gt;country&lt;/property&gt;\n            &lt;property name&#61;&#34;targetDirectoryField&#34;&gt;parent&lt;/property&gt;\n        &lt;/deleteConstraint&gt;\n    &lt;/directory&gt;\n    &lt;directory layout&#61;&#34;country_vocabulary&#34; name&#61;&#34;country&#34; sortField&#61;&#34;parent&#34;/&gt;\n</code></pre><p>\nThe following fields can be used on a directory UI declaration :\n</p><ul><li>\nname: name of the directory to display, as used in the directory\ndeclaration\n</li><li>\nlayout: name of the layout to use for display. This layout must know\nhow to render elements in a table, so it uses a specific template.\n</li><li>\nsortField: name of the field to sort on when presenting directory\nitems in a table. Defaults to the directory id field if not set.\n</li><li>\nview: name of the JSF view to use to present the directory. Defaults\nto &#34;view_directory&#34; if not set.\n</li><li>\nenabled: boolean stating if the declaration is enabled. This is\nuseful to disable some preceding declaration, as long as the same\ndirectory name is used. Defaults to &#34;false&#34; if not set.\n</li></ul>\n<p>\nHere the layouts &#34;vocabulary&#34; and &#34;country_vocabulary&#34; have to be\nregistered as layouts. The delete constraint uses a standard class that\nchecks if no child entry references a parent entry before granting\ndeletion of the parent entry. The following parameters can be used on this\nclass:\n</p><ul><li>\ntargetDirectory: the directory holding the constraint (the child\ndirectory).\n</li><li>\ntargetDirectoryField: the field specifying the parent id in the\nchild directory.\n</li></ul>\n<p>\nAny other delete constraint can be set, taking other specific parameters,\nprovided it follows the\n<em>org.nuxeo.ecm.directory.api.ui.DirectoryUIDeleteConstraint\n</em>\n</p><p>\ninterface.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.ui.DirectoryUIManager/ExtensionPoints/org.nuxeo.ecm.directory.ui.DirectoryUIManager--directories",
              "id": "org.nuxeo.ecm.directory.ui.DirectoryUIManager--directories",
              "label": "directories (org.nuxeo.ecm.directory.ui.DirectoryUIManager)",
              "name": "directories",
              "version": "10.10-HF33"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.ui.DirectoryUIManager",
          "name": "org.nuxeo.ecm.directory.ui.DirectoryUIManager",
          "requirements": [],
          "resolutionOrder": 363,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.directory.ui.DirectoryUIManager",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.ui.DirectoryUIManager/Services/org.nuxeo.ecm.directory.api.ui.DirectoryUIManager",
              "id": "org.nuxeo.ecm.directory.api.ui.DirectoryUIManager",
              "overriden": false,
              "version": "10.10-HF33"
            }
          ],
          "startOrder": 878,
          "version": "10.10-HF33",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.directory.ui.DirectoryUIManager\">\n\n  <implementation class=\"org.nuxeo.ecm.directory.ui.DirectoryUIManagerImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.directory.api.ui.DirectoryUIManager\" />\n  </service>\n\n  <extension-point name=\"directories\">\n    <documentation>\n      This extension point can be used to register directory ui information.\n      <p />\n      Example:\n      <code>\n        <directory name=\"continent\" layout=\"vocabulary\" sortField=\"label\">\n          <deleteConstraint\n            class=\"org.nuxeo.ecm.directory.api.ui.HierarchicalDirectoryUIDeleteConstraint\">\n            <property name=\"targetDirectory\">country</property>\n            <property name=\"targetDirectoryField\">parent</property>\n          </deleteConstraint>\n        </directory>\n        <directory name=\"country\" layout=\"country_vocabulary\"\n          sortField=\"parent\" />\n      </code>\n      <p />\n      The following fields can be used on a directory UI declaration :\n      <ul>\n        <li>\n          name: name of the directory to display, as used in the directory\n          declaration\n        </li>\n        <li>\n          layout: name of the layout to use for display. This layout must know\n          how to render elements in a table, so it uses a specific template.\n        </li>\n        <li>\n          sortField: name of the field to sort on when presenting directory\n          items in a table. Defaults to the directory id field if not set.\n        </li>\n        <li>\n          view: name of the JSF view to use to present the directory. Defaults\n          to \"view_directory\" if not set.\n        </li>\n        <li>\n          enabled: boolean stating if the declaration is enabled. This is\n          useful to disable some preceding declaration, as long as the same\n          directory name is used. Defaults to \"false\" if not set.\n        </li>\n      </ul>\n      <p />\n      Here the layouts \"vocabulary\" and \"country_vocabulary\" have to be\n      registered as layouts. The delete constraint uses a standard class that\n      checks if no child entry references a parent entry before granting\n      deletion of the parent entry. The following parameters can be used on this\n      class:\n      <ul>\n        <li>\n          targetDirectory: the directory holding the constraint (the child\n          directory).\n        </li>\n        <li>\n          targetDirectoryField: the field specifying the parent id in the\n          child directory.\n        </li>\n      </ul>\n      Any other delete constraint can be set, taking other specific parameters,\n      provided it follows the\n      <em>org.nuxeo.ecm.directory.api.ui.DirectoryUIDeleteConstraint\n      </em>\n      interface.\n    </documentation>\n\n    <object class=\"org.nuxeo.ecm.directory.api.ui.DirectoryUIDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/directory-ui-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@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.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.actions/Contributions/org.nuxeo.ecm.directory.actions--actions",
              "id": "org.nuxeo.ecm.directory.actions--actions",
              "registrationOrder": 21,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "10.10-HF33",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"DirectoriesManager\" label=\"title.vocabularies\" link=\"/directory/view_directories.xhtml\" order=\"50\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>directoriesManagementAccess</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.actions/Contributions/org.nuxeo.ecm.directory.actions--filters",
              "id": "org.nuxeo.ecm.directory.actions--filters",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "10.10-HF33",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <!--  This filter is designed to be evaluated via\n          #{directoryUIActions.checkContextualDirectoryFilter('readOnlyDirectory')}\n          the filter context contains the name of the current directory being displayed\n\n          You can override this filter to implement a custom logic\n     -->\n    <filter id=\"readOnlyDirectory\">\n      <rule grant=\"true\">\n        <condition>#{directoryUIActions.isReadOnly(directoryName)}</condition>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web/org.nuxeo.ecm.directory.actions",
          "name": "org.nuxeo.ecm.directory.actions",
          "requirements": [],
          "resolutionOrder": 364,
          "services": [],
          "startOrder": 181,
          "version": "10.10-HF33",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.directory.actions\">\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"DirectoriesManager\" link=\"/directory/view_directories.xhtml\" label=\"title.vocabularies\"\n      type=\"admin_rest_document_link\"\n      order=\"50\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>directoriesManagementAccess</filter-id>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <!--  This filter is designed to be evaluated via\n          #{directoryUIActions.checkContextualDirectoryFilter('readOnlyDirectory')}\n          the filter context contains the name of the current directory being displayed\n\n          You can override this filter to implement a custom logic\n     -->\n    <filter id=\"readOnlyDirectory\">\n      <rule grant=\"true\">\n        <condition>#{directoryUIActions.isReadOnly(directoryName)}</condition>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/actions-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-directory-web-10.10-HF33.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.directory/org.nuxeo.ecm.directory.web",
      "id": "org.nuxeo.ecm.directory.web",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_265\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 5.3.2.SNAPSHOT\r\nExport-Package: org.nuxeo.ecm.directory.api.ui;version=\"5.3.2.SNAPSHOT\r\n \",org.nuxeo.ecm.directory.ui;version=\"5.3.2.SNAPSHOT\",org.nuxeo.ecm.d\r\n irectory.ui.ejb;version=\"5.3.2.SNAPSHOT\"\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: stateless\r\nTool: Bnd-0.0.394\r\nBundle-Name: Nuxeo Directory Web\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nBundle-Vendor: Nuxeo\r\nBnd-LastModified: 1277886815322\r\nNuxeo-Component: OSGI-INF/directory-ui-framework.xml,OSGI-INF/actions-\r\n contrib.xml\r\nBundle-SymbolicName: org.nuxeo.ecm.directory.web;singleton:=true\r\nImport-Package: javax.annotation;version=\"1.0\",javax.ejb,org.apache.co\r\n mmons.logging,org.nuxeo.common.xmap.annotation,org.nuxeo.ecm.core;api\r\n =split,org.nuxeo.ecm.core.api;api=split,org.nuxeo.ecm.directory;api=s\r\n plit,org.nuxeo.ecm.directory.api,org.nuxeo.osgi,org.nuxeo.runtime.api\r\n ,org.nuxeo.runtime.model\r\nOriginally-Created-By: 1.6.0_20 (Sun Microsystems Inc.)\r\n\r\n",
      "maxResolutionOrder": 364,
      "minResolutionOrder": 363,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [],
      "version": "10.10-HF33"
    }
  ],
  "creationDate": 1664793571025,
  "key": "Nuxeo Platform LTS 2019-10.10",
  "name": "Nuxeo Platform LTS 2019",
  "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.logs.viewer",
        "org.nuxeo.ecm.actions.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.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.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-10.10.0-HF33",
      "id": "nuxeo-jsf-ui-10.10.0-HF33",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "10.10.0-HF33"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1547942400000,
  "version": "10.10"
}