{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-audit-client",
      "artifactVersion": "2023.8.13",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.platform.audit",
          "org.nuxeo.ecm.platform.audit.api",
          "org.nuxeo.ecm.platform.audit.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit",
        "id": "grp:org.nuxeo.ecm.platform.audit",
        "name": "org.nuxeo.ecm.platform.audit",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2023.8"
      },
      "bundleId": "org.nuxeo.ecm.platform.audit.web",
      "components": [
        {
          "@type": "NXComponent",
          "documentation": "\n    NXAudit action contributions.\n\n    @version 1.0\n    @author Julien\n    Anguenot\n  \n",
          "documentationHtml": "<p>\nNXAudit action contributions.\n</p><p>\n&#64;version 1.0\n</p><p>\nAnguenot\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Contribute a new action related to document history.\n    \n",
              "documentationHtml": "<p>\nContribute a new action related to document history.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.ecm.platform.audit.web/Contributions/org.nuxeo.ecm.platform.audit.web--actions",
              "id": "org.nuxeo.ecm.platform.audit.web--actions",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2023.8.13",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n    <documentation>\n      Contribute a new action related to document history.\n    </documentation>\n\n    <action enabled=\"true\" icon=\"/icons/file.gif\" id=\"TAB_CONTENT_HISTORY\" label=\"action.view.history\" link=\"/incl/tabs/document_history.xhtml\" order=\"100\" type=\"rest_document_link\">\n      <category>VIEW_ACTION_LIST</category>\n      <filter-id>TAB_CONTENT_HISTORY_has_subtabs</filter-id>\n    </action>\n\n    <action enabled=\"true\" icon=\"/icons/file.gif\" id=\"TAB_EVENTS\" label=\"action.view.events\" link=\"/incl/tabs/document_events_cv.xhtml\" order=\"50\" type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>view_content_history</filter-id>\n    </action>\n\n    <action enabled=\"true\" icon=\"/icons/file.gif\" id=\"TAB_EVENTS_PROXY\" label=\"action.view.events\" link=\"/incl/tabs/document_events_cv.xhtml\" order=\"50\" type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>view_proxy_history</filter-id>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action enabled=\"true\" icon=\"/icons/file.gif\" id=\"TAB_VERSIONS\" label=\"action.view.versions\" link=\"/incl/tabs/document_versions.xhtml\" order=\"100\" type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>versionable</filter-id>\n    </action>\n\n    <!-- Version actions -->\n    <action id=\"VIEW_VERSION\" label=\"command.viewArchivedVersion\" link=\"#{versionedActions.viewArchivedVersion}\" order=\"10\">\n      <category>VERSION_LIST_ITEM</category>\n    </action>\n\n    <action id=\"RESTORE_VERSION\" label=\"command.restore\" link=\"#{versionedActions.restoreToVersion}\" order=\"20\">\n      <category>VERSION_LIST_ITEM</category>\n      <filter-id>canRestoreVersion</filter-id>\n      <filter-id>canRestoreMainBlob</filter-id>\n    </action>\n\n    <action confirm=\"if( !confirmDeleteDocuments() ) return false;\" id=\"CURRENT_VERSION_SELECTION_DELETE\" label=\"command.removeSelectedArchivedVersions\" link=\"#{versionedActions.removeSelectedArchivedVersions}\" order=\"10\">\n      <category>CURRENT_VERSION_SELECTION_LIST</category>\n      <filter-id>canDeleteCurrentVersionSelection</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.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.ecm.platform.audit.web/Contributions/org.nuxeo.ecm.platform.audit.web--filters",
              "id": "org.nuxeo.ecm.platform.audit.web--filters",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2023.8.13",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"view_content_history\">\n      <rule grant=\"false\">\n        <type>WorkspaceRoot</type>\n        <type>SectionRoot</type>\n        <type>Server</type>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"view_proxy_history\">\n      <rule grant=\"true\">\n        <condition>document != null &amp;&amp; document.isProxy()</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"TAB_CONTENT_HISTORY_has_subtabs\">\n      <rule grant=\"false\">\n        <condition>\n          #{webActions.getActionsList('TAB_CONTENT_HISTORY_sub_tab').isEmpty()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"versionable\">\n      <rule grant=\"true\">\n        <facet>Versionable</facet>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"canDeleteCurrentVersionSelection\">\n      <rule grant=\"true\">\n        <condition>#{versionedActions.canRemoveSelectedArchivedVersions}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRestoreVersion\">\n      <rule grant=\"true\">\n        <condition>#{versionedActions.canRestore}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRestoreMainBlob\">\n      <rule grant=\"false\">\n        <type>File</type>\n        <condition>#{blobHolderGenerator.getBlobHolder(document).blob.length lt 0}</condition>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.ecm.platform.audit.web",
          "name": "org.nuxeo.ecm.platform.audit.web",
          "requirements": [],
          "resolutionOrder": 282,
          "services": [],
          "startOrder": 277,
          "version": "2023.8.13",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.audit.web\">\n\n  <documentation>\n    NXAudit action contributions.\n\n    @version 1.0\n    @author Julien\n    Anguenot\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n    <documentation>\n      Contribute a new action related to document history.\n    </documentation>\n\n    <action id=\"TAB_CONTENT_HISTORY\" link=\"/incl/tabs/document_history.xhtml\"\n      enabled=\"true\" label=\"action.view.history\" icon=\"/icons/file.gif\" order=\"100\"\n      type=\"rest_document_link\">\n      <category>VIEW_ACTION_LIST</category>\n      <filter-id>TAB_CONTENT_HISTORY_has_subtabs</filter-id>\n    </action>\n\n    <action id=\"TAB_EVENTS\" link=\"/incl/tabs/document_events_cv.xhtml\"\n      enabled=\"true\" label=\"action.view.events\" icon=\"/icons/file.gif\" order=\"50\"\n      type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>view_content_history</filter-id>\n    </action>\n\n    <action id=\"TAB_EVENTS_PROXY\" link=\"/incl/tabs/document_events_cv.xhtml\"\n      enabled=\"true\" label=\"action.view.events\" icon=\"/icons/file.gif\" order=\"50\"\n      type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>view_proxy_history</filter-id>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"TAB_VERSIONS\" link=\"/incl/tabs/document_versions.xhtml\"\n      enabled=\"true\" label=\"action.view.versions\" icon=\"/icons/file.gif\" order=\"100\"\n      type=\"rest_document_link\">\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n      <filter-id>versionable</filter-id>\n    </action>\n\n    <!-- Version actions -->\n    <action id=\"VIEW_VERSION\" link=\"#{versionedActions.viewArchivedVersion}\"\n      label=\"command.viewArchivedVersion\" order=\"10\">\n      <category>VERSION_LIST_ITEM</category>\n    </action>\n\n    <action id=\"RESTORE_VERSION\" link=\"#{versionedActions.restoreToVersion}\"\n      label=\"command.restore\" order=\"20\">\n      <category>VERSION_LIST_ITEM</category>\n      <filter-id>canRestoreVersion</filter-id>\n      <filter-id>canRestoreMainBlob</filter-id>\n    </action>\n\n    <action id=\"CURRENT_VERSION_SELECTION_DELETE\" link=\"#{versionedActions.removeSelectedArchivedVersions}\"\n      label=\"command.removeSelectedArchivedVersions\" confirm=\"if( !confirmDeleteDocuments() ) return false;\"\n      order=\"10\">\n      <category>CURRENT_VERSION_SELECTION_LIST</category>\n      <filter-id>canDeleteCurrentVersionSelection</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"view_content_history\">\n      <rule grant=\"false\">\n        <type>WorkspaceRoot</type>\n        <type>SectionRoot</type>\n        <type>Server</type>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"view_proxy_history\">\n      <rule grant=\"true\">\n        <condition>document != null &amp;&amp; document.isProxy()</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"TAB_CONTENT_HISTORY_has_subtabs\">\n      <rule grant=\"false\">\n        <condition>\n          #{webActions.getActionsList('TAB_CONTENT_HISTORY_sub_tab').isEmpty()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"versionable\">\n      <rule grant=\"true\">\n        <facet>Versionable</facet>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"canDeleteCurrentVersionSelection\">\n      <rule grant=\"true\">\n        <condition>#{versionedActions.canRemoveSelectedArchivedVersions}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRestoreVersion\">\n      <rule grant=\"true\">\n        <condition>#{versionedActions.canRestore}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRestoreMainBlob\">\n      <rule grant=\"false\">\n        <type>File</type>\n        <condition>#{blobHolderGenerator.getBlobHolder(document).blob.length lt 0}</condition>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.platform.audit.layoutContrib/Contributions/org.nuxeo.platform.audit.layoutContrib--widgettypes",
              "id": "org.nuxeo.platform.audit.layoutContrib--widgettypes",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.8.13",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"audit_comments\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Audit comments</title>\n        <description>\n          <p>\n            This widget type displays comments for a log entry, displaying\n            links to documents if they are referenced in it.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.preprocessedComment</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>audit</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/auditcomment_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.platform.audit.layoutContrib/Contributions/org.nuxeo.platform.audit.layoutContrib--layouts",
              "id": "org.nuxeo.platform.audit.layoutContrib--layouts",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.8.13",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"basicauditsearch\">\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      </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        <properties widgetMode=\"view\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n        <properties widgetMode=\"edit\">\n          <property name=\"format\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\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        <properties widgetMode=\"view\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n        <properties widgetMode=\"edit\">\n          <property name=\"format\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"history_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /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\">log.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>taskDirective</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>dueDate</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            <property name=\"sortPropertyName\">log.docLifeCycle</property>\n          </properties>\n          <widget>eventLC</widget>\n        </column>\n      </columns>\n\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\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\">\n            #{nxu:basicDateAndTimeFormatter()}\n          </property>\n          <!-- need to check if this is needed -->\n          <property name=\"timezone\">\n            #{timeZone}\n          </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\n      <widget name=\"username\" type=\"listing_author\">\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\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\n      <widget name=\"taskDirective\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.directive</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.extendedInfos['directive'].serializableValue</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n\n      <widget name=\"dueDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.duedate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.extendedInfos['dueDate'].serializableValue</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">\n            #{nxu:basicDateAndTimeFormatter()}\n          </property>\n          <!-- need to check if this is needed -->\n          <property name=\"timezone\">\n            #{timeZone}\n          </property>\n        </properties>\n      </widget>\n\n      <widget name=\"eventComment\" type=\"audit_comments\">\n        <labels>\n          <label mode=\"any\">label.comment</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.preprocessedComment</field>\n        </fields>\n      </widget>\n\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\n    </layout>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.platform.audit.layoutContrib",
          "name": "org.nuxeo.platform.audit.layoutContrib",
          "requirements": [],
          "resolutionOrder": 283,
          "services": [],
          "startOrder": 702,
          "version": "2023.8.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.platform.audit.layoutContrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"audit_comments\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Audit comments</title>\n        <description>\n          <p>\n            This widget type displays comments for a log entry, displaying\n            links to documents if they are referenced in it.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.preprocessedComment</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>audit</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/auditcomment_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"basicauditsearch\">\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      </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        <properties widgetMode=\"view\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n        <properties widgetMode=\"edit\">\n          <property name=\"format\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\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        <properties widgetMode=\"view\">\n          <property name=\"pattern\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n        <properties widgetMode=\"edit\">\n          <property name=\"format\">#{nxu:basicDateAndTimeFormater()}</property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"history_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /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\">log.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>taskDirective</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>dueDate</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            <property name=\"sortPropertyName\">log.docLifeCycle</property>\n          </properties>\n          <widget>eventLC</widget>\n        </column>\n      </columns>\n\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\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\">\n            #{nxu:basicDateAndTimeFormatter()}\n          </property>\n          <!-- need to check if this is needed -->\n          <property name=\"timezone\">\n            #{timeZone}\n          </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\n      <widget name=\"username\" type=\"listing_author\">\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\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\n      <widget name=\"taskDirective\" type=\"text\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.directive</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.extendedInfos['directive'].serializableValue</field>\n        </fields>\n        <properties mode=\"any\">\n          <property name=\"localize\">true</property>\n        </properties>\n      </widget>\n\n      <widget name=\"dueDate\" type=\"datetime\">\n        <labels>\n          <label mode=\"any\">label.workflow.task.duedate</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.extendedInfos['dueDate'].serializableValue</field>\n        </fields>\n        <properties widgetMode=\"any\">\n          <property name=\"pattern\">\n            #{nxu:basicDateAndTimeFormatter()}\n          </property>\n          <!-- need to check if this is needed -->\n          <property name=\"timezone\">\n            #{timeZone}\n          </property>\n        </properties>\n      </widget>\n\n      <widget name=\"eventComment\" type=\"audit_comments\">\n        <labels>\n          <label mode=\"any\">label.comment</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field>data.preprocessedComment</field>\n        </fields>\n      </widget>\n\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\n    </layout>\n\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.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.platform.audit.contentView.contrib/Contributions/org.nuxeo.platform.audit.contentView.contrib--contentViews",
              "id": "org.nuxeo.platform.audit.contentView.contrib--contentViews",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2023.8.13",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"DOCUMENT_HISTORY\">\n\n      <title>label.contentview.document.history</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n\n      <pageProvider name=\"DOCUMENT_HISTORY_PROVIDER\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"generateUIComments\">true</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"basicauditsearch\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{currentDocument.repositoryName}_#{currentDocument.id}</cacheKey>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"history_listing\" showCSVExport=\"true\" showPDFExport=\"false\" title=\"history_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n    </contentView>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web/org.nuxeo.platform.audit.contentView.contrib",
          "name": "org.nuxeo.platform.audit.contentView.contrib",
          "requirements": [],
          "resolutionOrder": 284,
          "services": [],
          "startOrder": 701,
          "version": "2023.8.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.platform.audit.contentView.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"DOCUMENT_HISTORY\">\n\n      <title>label.contentview.document.history</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>true</showTitle>\n\n      <pageProvider name=\"DOCUMENT_HISTORY_PROVIDER\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"generateUIComments\">true</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout name=\"basicauditsearch\" filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentCreated</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheSize>10</cacheSize>\n      <cacheKey>#{currentDocument.repositoryName}_#{currentDocument.id}</cacheKey>\n\n      <resultLayouts>\n        <layout name=\"history_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  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/content-view-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-audit-client-2023.8.13.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.audit/org.nuxeo.ecm.platform.audit.web",
      "id": "org.nuxeo.ecm.platform.audit.web",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven 3.6.1\r\nBuilt-By: root\r\nBuild-Jdk: 17.0.9\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 2023.8.13-t20240228-133209\r\nBundle-Name: Nuxeo ECM Audit Web Fragment\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.audit.web;singleton:=true\r\nBundle-Category: web,stateless\r\nRequire-Bundle: org.nuxeo.ecm.platform,org.nuxeo.ecm.actions,org.nuxeo.e\r\n cm.platform.audit.api,org.nuxeo.ecm.webapp.core\r\nProvide-Package: org.nuxeo.ecm.platform.audit.web,org.nuxeo.ecm.platform\r\n .audit.web.delegate,org.nuxeo.ecm.platform.audit.web.listener,org.nuxeo\r\n .ecm.platform.audit.web.listener.ejb,org.nuxeo.ecm.platform.audit.web.l\r\n istener.events\r\nNuxeo-Component: OSGI-INF/actions-contrib.xml,OSGI-INF/layout-contrib.xm\r\n l,OSGI-INF/content-view-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 284,
      "minResolutionOrder": 282,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [
        "org.nuxeo.ecm.platform",
        "org.nuxeo.ecm.actions",
        "org.nuxeo.ecm.platform.audit.api",
        "org.nuxeo.ecm.webapp.core"
      ],
      "version": "2023.8.13"
    }
  ],
  "creationDate": 1709128388721,
  "key": "Nuxeo Platform-2023.8",
  "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.search.api",
        "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.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-2023.8.13",
      "id": "nuxeo-jsf-ui-2023.8.13",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2023.8.13"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1709128388721,
  "version": "2023.8"
}