{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-video-jsf",
      "artifactVersion": "2021.63.8",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.platform.video",
          "org.nuxeo.ecm.platform.video.jsf",
          "org.nuxeo.ecm.platform.video.rest"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video",
        "id": "grp:org.nuxeo.ecm.platform.video",
        "name": "org.nuxeo.ecm.platform.video",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.63"
      },
      "bundleId": "org.nuxeo.ecm.platform.video.jsf",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--bundles",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.theme/Contributions/org.nuxeo.ecm.platform.video.theme--bundles",
              "id": "org.nuxeo.ecm.platform.video.theme--bundles",
              "registrationOrder": 7,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"bundles\" target=\"org.nuxeo.ecm.platform.WebResources\">\n    <bundle name=\"nuxeo_includes\">\n      <resources append=\"true\">\n        <resource>video-js.css</resource>\n        <resource>video-js.nx.css</resource>\n        <resource>videojs.thumbnails.css</resource>\n        <resource>video-js.js</resource>\n        <resource>video-player-util.js</resource>\n        <resource>videojs.thumbnails.js</resource>\n        <resource>platform_video.css</resource>\n      </resources>\n    </bundle>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--resources",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.theme/Contributions/org.nuxeo.ecm.platform.video.theme--resources",
              "id": "org.nuxeo.ecm.platform.video.theme--resources",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"resources\" target=\"org.nuxeo.ecm.platform.WebResources\">\n    <resource name=\"popup-utils.js\">\n      <uri>/scripts/popup-utils.js</uri>\n    </resource>\n    <resource name=\"video-js.css\">\n      <uri>/css/video-js.css</uri>\n    </resource>\n    <resource name=\"video-js.nx.css\">\n      <uri>/css/video-js.nx.css</uri>\n      <require>video-js.css</require>\n    </resource>\n    <resource name=\"videojs.thumbnails.css\">\n      <uri>/css/videojs.thumbnails.css</uri>\n    </resource>\n\n    <resource name=\"video-js.js\">\n      <uri>/scripts/video.js</uri>\n    </resource>\n    <resource name=\"video-player-util.js\">\n      <uri>/scripts/video-player-util.js</uri>\n      <require>video-js.js</require>\n    </resource>\n    <resource name=\"videojs.thumbnails.js\">\n      <uri>/scripts/videojs.thumbnails.js</uri>\n      <require>video-js.js</require>\n    </resource>\n\n    <resource name=\"platform_video.css\">\n      <path>themes/css/platform_video.css</path>\n    </resource>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.theme",
          "name": "org.nuxeo.ecm.platform.video.theme",
          "requirements": [
            "org.nuxeo.theme.nuxeo.webapp"
          ],
          "resolutionOrder": 663,
          "services": [],
          "startOrder": 585,
          "version": "2021.63.8",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.video.theme\">\n\n  <require>org.nuxeo.theme.nuxeo.webapp</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"bundles\">\n    <bundle name=\"nuxeo_includes\">\n      <resources append=\"true\">\n        <resource>video-js.css</resource>\n        <resource>video-js.nx.css</resource>\n        <resource>videojs.thumbnails.css</resource>\n        <resource>video-js.js</resource>\n        <resource>video-player-util.js</resource>\n        <resource>videojs.thumbnails.js</resource>\n        <resource>platform_video.css</resource>\n      </resources>\n    </bundle>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"resources\">\n    <resource name=\"popup-utils.js\">\n      <uri>/scripts/popup-utils.js</uri>\n    </resource>\n    <resource name=\"video-js.css\">\n      <uri>/css/video-js.css</uri>\n    </resource>\n    <resource name=\"video-js.nx.css\">\n      <uri>/css/video-js.nx.css</uri>\n      <require>video-js.css</require>\n    </resource>\n    <resource name=\"videojs.thumbnails.css\">\n      <uri>/css/videojs.thumbnails.css</uri>\n    </resource>\n\n    <resource name=\"video-js.js\">\n      <uri>/scripts/video.js</uri>\n    </resource>\n    <resource name=\"video-player-util.js\">\n      <uri>/scripts/video-player-util.js</uri>\n      <require>video-js.js</require>\n    </resource>\n    <resource name=\"videojs.thumbnails.js\">\n      <uri>/scripts/videojs.thumbnails.js</uri>\n      <require>video-js.js</require>\n    </resource>\n\n    <resource name=\"platform_video.css\">\n      <path>themes/css/platform_video.css</path>\n    </resource>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/theme-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.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts/Contributions/org.nuxeo.ecm.platform.video.layouts--widgettypes",
              "id": "org.nuxeo.ecm.platform.video.layouts--widgettypes",
              "registrationOrder": 19,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"video_player\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video player</title>\n        <description>\n          <p>\n            This widget displays a HTML5 video player for browsers\n            supporting\n            it, and fallback on a Flash player for others.\n            It uses the WebM or\n            MP4 conversion (in 480p) of\n            a document having the facet 'Video'.\n          </p>\n          <p>\n            It requires the following fields configuration: first field maps\n            the document model.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"video_player_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>height</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The width attribute of the Video player, eg. 100%, 550px or 450.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The height attribute of the Video player, eg. 550px, 450.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_player_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_storyboard\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video storyboard</title>\n        <description>\n          <p>\n            This widget displays the story board of\n            a document having the facet\n            'Video'.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_storyboard_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_conversions\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video conversions</title>\n        <description>\n          <p>\n            This widget displays the list of available\n            video conversions for the\n            given Video document.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_conversions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_info\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video info</title>\n        <description>\n          <p>\n            This widget displays the information of the main video of\n            a document\n            having the facet 'Video'.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_info_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_file\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video File</title>\n        <description>\n          <p>\n            The video widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors.\n          </p>\n        </description>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"video_file_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget>acceptedExtensions</widget>\n                </row>\n              </rows>\n              <widget name=\"acceptedExtensions\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Accepted extensions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    A comma separated list of supported file\n                    extensions. Default value: '.mpg, .mpe, .mpeg, .wmv, .swf,\n                    .ogg, .ogv, .mkv, .mov, .qt, .avi, .mp4, .m4v, .flv, .fla'.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>acceptedExtensions</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>blob</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/video_file_widget_template.xhtml</property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts/Contributions/org.nuxeo.ecm.platform.video.layouts--widgets",
              "id": "org.nuxeo.ecm.platform.video.layouts--widgets",
              "registrationOrder": 22,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"summary_video_player\" type=\"video_player\">\n      <properties widgetMode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"height\">380</property>\n      </properties>\n    </widget>\n\n    <widget name=\"summary_video_storyboard\" type=\"video_storyboard\">\n      <labels>\n        <label mode=\"any\">heading.storyboard</label>\n      </labels>\n      <translated>true</translated>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n      <widgetModes>\n        <mode value=\"any\">#{not empty currentDocumentAsBlobHolder.blob ? 'view' : 'hidden'}</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"summary_video_conversions\" type=\"video_conversions\">\n      <labels>\n        <label mode=\"any\">heading.videoConversions</label>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"requireSurroundingForm\">true</control>\n        <control name=\"handleLabels\">true</control>\n      </controls>\n      <widgetModes>\n        <mode value=\"any\">#{not empty  currentDocumentAsBlobHolder.blob ? 'view' : 'hidden'}</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"summary_video_info\" type=\"video_info\">\n      <labels>\n        <label mode=\"any\">heading.video.info</label>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n    </widget>\n\n    <widget name=\"video_info_duration\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.duration</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/duration</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_width\" type=\"int\">\n      <labels>\n        <label mode=\"any\">label.widget.video.width</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/width</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_height\" type=\"int\">\n      <labels>\n        <label mode=\"any\">label.widget.video.height</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/height</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/format</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_frameRate\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.frameRate</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/frameRate</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_streams\" type=\"list\">\n      <labels>\n        <label mode=\"any\">label.widget.video.streams</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/streams</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"listItem\" type=\"text\">\n          <fields>\n            <field>streamInfo</field>\n          </fields>\n          <labels>\n            <label mode=\"any\"/>\n          </labels>\n          <widgetModes>\n            <mode value=\"any\">view</mode>\n          </widgetModes>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"videoFile\" type=\"video_file\">\n      <labels>\n        <label mode=\"any\">label.file.content</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>file:content</field>\n        <field>file:content/name</field>\n      </fields>\n    </widget>\n\n    <widget name=\"infoViewVideoPlayer\" type=\"container\">\n      <handlingLabels>false</handlingLabels>\n      <properties widgetMode=\"any\">\n        <property name=\"hideSubLabels\">true</property>\n        <property name=\"styleClass\">infoViewDocContainer</property>\n        <property name=\"display\">block_top</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"videoPlayer\" type=\"video_player\">\n          <properties widgetMode=\"any\">\n            <property name=\"width\">100%</property>\n            <property name=\"height\">600</property>\n          </properties>\n        </widget>\n      </subWidgets>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts/Contributions/org.nuxeo.ecm.platform.video.layouts--actions",
              "id": "org.nuxeo.ecm.platform.video.layouts--actions",
              "registrationOrder": 36,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"summary_video_player\" order=\"50\" type=\"widget\">\n      <category>SUMMARY_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_player</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_current_document_view\">\n      <filter-id>notHasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_conversions\" order=\"300\" type=\"widget\">\n      <category>SUMMARY_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_conversions</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_storyboard\" order=\"340\" type=\"widget\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_storyboard</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_info\" order=\"350\" type=\"widget\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_info</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"infoViewVideoPlayer\" order=\"100\" type=\"widget\">\n      <category>INFO_VIEW_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">infoViewVideoPlayer</property>\n      </properties>\n      <filter-id>hasVideo</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.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts/Contributions/org.nuxeo.ecm.platform.video.layouts--filters",
              "id": "org.nuxeo.ecm.platform.video.layouts--filters",
              "registrationOrder": 27,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"notHasVideo\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n    <filter append=\"true\" id=\"denyInfoViewPreview\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\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.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts/Contributions/org.nuxeo.ecm.platform.video.layouts--layouts",
              "id": "org.nuxeo.ecm.platform.video.layouts--layouts",
              "registrationOrder": 20,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"video_file\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>videoFile</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <!-- deprecated since 5.6, here for compat -->\n    <layout name=\"video_summary_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_summary_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>summary_video_player</widget>\n          <widget>summary_current_document_files</widget>\n          <widget>summary_video_conversions</widget>\n          <widget>summary_current_document_comments</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_description</widget>\n          <widget>summary_current_document_states</widget>\n          <widget>summary_current_document_contributors</widget>\n          <widget>summary_video_storyboard</widget>\n          <widget>summary_video_info</widget>\n          <widget>summary_current_document_tagging</widget>\n          <widget>summary_current_document_relations</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_publications</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_single_tasks</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"video_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>video_info_format</widget>\n        </row>\n        <row>\n          <widget>video_info_duration</widget>\n        </row>\n        <row>\n          <widget>video_info_width</widget>\n        </row>\n        <row>\n          <widget>video_info_height</widget>\n        </row>\n        <row>\n          <widget>video_info_frameRate</widget>\n        </row>\n      </rows>\n    </layout>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.layouts",
          "name": "org.nuxeo.ecm.platform.video.layouts",
          "requirements": [
            "org.nuxeo.ecm.platform.forms.layouts.webapp.summary"
          ],
          "resolutionOrder": 685,
          "services": [],
          "startOrder": 583,
          "version": "2021.63.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.video.layouts\">\n\n  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.summary</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"video_player\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video player</title>\n        <description>\n          <p>\n            This widget displays a HTML5 video player for browsers\n            supporting\n            it, and fallback on a Flash player for others.\n            It uses the WebM or\n            MP4 conversion (in 480p) of\n            a document having the facet 'Video'.\n          </p>\n          <p>\n            It requires the following fields configuration: first field maps\n            the document model.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"video_player_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>height</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The width attribute of the Video player, eg. 100%, 550px or 450.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The height attribute of the Video player, eg. 550px, 450.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_player_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_storyboard\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video storyboard</title>\n        <description>\n          <p>\n            This widget displays the story board of\n            a document having the facet\n            'Video'.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_storyboard_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_conversions\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video conversions</title>\n        <description>\n          <p>\n            This widget displays the list of available\n            video conversions for the\n            given Video document.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_conversions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_info\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video info</title>\n        <description>\n          <p>\n            This widget displays the information of the main video of\n            a document\n            having the facet 'Video'.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/video_info_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"video_file\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Video File</title>\n        <description>\n          <p>\n            The video widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors.\n          </p>\n        </description>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"video_file_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget>acceptedExtensions</widget>\n                </row>\n              </rows>\n              <widget name=\"acceptedExtensions\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Accepted extensions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    A comma separated list of supported file\n                    extensions. Default value: '.mpg, .mpe, .mpeg, .wmv, .swf,\n                    .ogg, .ogv, .mkv, .mov, .qt, .avi, .mp4, .m4v, .flv, .fla'.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>acceptedExtensions</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>blob</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/video_file_widget_template.xhtml</property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"summary_video_player\" type=\"video_player\">\n      <properties widgetMode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"height\">380</property>\n      </properties>\n    </widget>\n\n    <widget name=\"summary_video_storyboard\" type=\"video_storyboard\">\n      <labels>\n        <label mode=\"any\">heading.storyboard</label>\n      </labels>\n      <translated>true</translated>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n      <widgetModes>\n        <mode value=\"any\">#{not empty currentDocumentAsBlobHolder.blob ? 'view' : 'hidden'}</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"summary_video_conversions\" type=\"video_conversions\">\n      <labels>\n        <label mode=\"any\">heading.videoConversions</label>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"requireSurroundingForm\">true</control>\n        <control name=\"handleLabels\">true</control>\n      </controls>\n      <widgetModes>\n        <mode value=\"any\">#{not empty  currentDocumentAsBlobHolder.blob ? 'view' : 'hidden'}</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"summary_video_info\" type=\"video_info\">\n      <labels>\n        <label mode=\"any\">heading.video.info</label>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n    </widget>\n\n    <widget name=\"video_info_duration\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.duration</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/duration</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_width\" type=\"int\">\n      <labels>\n        <label mode=\"any\">label.widget.video.width</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/width</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_height\" type=\"int\">\n      <labels>\n        <label mode=\"any\">label.widget.video.height</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/height</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/format</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_frameRate\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.widget.video.frameRate</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/frameRate</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"video_info_streams\" type=\"list\">\n      <labels>\n        <label mode=\"any\">label.widget.video.streams</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>vid:info/streams</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"listItem\" type=\"text\">\n          <fields>\n            <field>streamInfo</field>\n          </fields>\n          <labels>\n            <label mode=\"any\"></label>\n          </labels>\n          <widgetModes>\n            <mode value=\"any\">view</mode>\n          </widgetModes>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"videoFile\" type=\"video_file\">\n      <labels>\n        <label mode=\"any\">label.file.content</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>file:content</field>\n        <field>file:content/name</field>\n      </fields>\n    </widget>\n\n    <widget name=\"infoViewVideoPlayer\" type=\"container\">\n      <handlingLabels>false</handlingLabels>\n      <properties widgetMode=\"any\">\n        <property name=\"hideSubLabels\">true</property>\n        <property name=\"styleClass\">infoViewDocContainer</property>\n        <property name=\"display\">block_top</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"videoPlayer\" type=\"video_player\">\n          <properties widgetMode=\"any\">\n            <property name=\"width\">100%</property>\n            <property name=\"height\">600</property>\n          </properties>\n        </widget>\n      </subWidgets>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"summary_video_player\" type=\"widget\" order=\"50\">\n      <category>SUMMARY_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_player</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_current_document_view\">\n      <filter-id>notHasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_conversions\" type=\"widget\" order=\"300\">\n      <category>SUMMARY_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_conversions</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_storyboard\" type=\"widget\" order=\"340\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_storyboard</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"summary_video_info\" type=\"widget\" order=\"350\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_video_info</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n    <action id=\"infoViewVideoPlayer\" type=\"widget\" order=\"100\">\n      <category>INFO_VIEW_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">infoViewVideoPlayer</property>\n      </properties>\n      <filter-id>hasVideo</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"notHasVideo\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"denyInfoViewPreview\" append=\"true\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"video_file\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>videoFile</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <!-- deprecated since 5.6, here for compat -->\n    <layout name=\"video_summary_layout\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_summary_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>summary_video_player</widget>\n          <widget>summary_current_document_files</widget>\n          <widget>summary_video_conversions</widget>\n          <widget>summary_current_document_comments</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_description</widget>\n          <widget>summary_current_document_states</widget>\n          <widget>summary_current_document_contributors</widget>\n          <widget>summary_video_storyboard</widget>\n          <widget>summary_video_info</widget>\n          <widget>summary_current_document_tagging</widget>\n          <widget>summary_current_document_relations</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_publications</widget>\n        </row>\n        <row>\n          <widget>summary_current_document_single_tasks</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"video_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>video_info_format</widget>\n        </row>\n        <row>\n          <widget>video_info_duration</widget>\n        </row>\n        <row>\n          <widget>video_info_width</widget>\n        </row>\n        <row>\n          <widget>video_info_height</widget>\n        </row>\n        <row>\n          <widget>video_info_frameRate</widget>\n        </row>\n      </rows>\n    </layout>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.preview.adapter.PreviewAdapterManagerComponent--MimeTypePreviewer",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.platform.video.core.previewer/Contributions/org.nuxeo.platform.video.core.previewer--MimeTypePreviewer",
              "id": "org.nuxeo.platform.video.core.previewer--MimeTypePreviewer",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.preview.adapter.PreviewAdapterManagerComponent",
                "name": "org.nuxeo.ecm.platform.preview.adapter.PreviewAdapterManagerComponent",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"MimeTypePreviewer\" target=\"org.nuxeo.ecm.platform.preview.adapter.PreviewAdapterManagerComponent\">\n    <previewer class=\"org.nuxeo.ecm.platform.video.VideoDocumentPreviewer\">\n      <pattern>video.*</pattern>\n    </previewer>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.platform.video.core.previewer",
          "name": "org.nuxeo.platform.video.core.previewer",
          "requirements": [
            "org.nuxeo.ecm.platform.preview.adapter.contrib"
          ],
          "resolutionOrder": 698,
          "services": [],
          "startOrder": 721,
          "version": "2021.63.8",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.platform.video.core.previewer\">\n  <require>org.nuxeo.ecm.platform.preview.adapter.contrib</require>\n  <extension target=\"org.nuxeo.ecm.platform.preview.adapter.PreviewAdapterManagerComponent\"\n             point=\"MimeTypePreviewer\">\n    <previewer class=\"org.nuxeo.ecm.platform.video.VideoDocumentPreviewer\">\n      <pattern>video.*</pattern>\n    </previewer>\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/preview-adapter-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.jsf.actions/Contributions/org.nuxeo.ecm.platform.video.jsf.actions--filters",
              "id": "org.nuxeo.ecm.platform.video.jsf.actions--filters",
              "registrationOrder": 30,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.63.8",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter append=\"true\" id=\"view_preview\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n    <filter append=\"true\" id=\"popup_view_preview\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf/org.nuxeo.ecm.platform.video.jsf.actions",
          "name": "org.nuxeo.ecm.platform.video.jsf.actions",
          "requirements": [
            "org.nuxeo.ecm.platform.preview.actions"
          ],
          "resolutionOrder": 707,
          "services": [],
          "startOrder": 581,
          "version": "2021.63.8",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.platform.video.jsf.actions\">\n\n  <require>org.nuxeo.ecm.platform.preview.actions</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"view_preview\" append=\"true\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"popup_view_preview\" append=\"true\">\n      <rule grant=\"false\">\n        <facet>Video</facet>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/actions-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-video-jsf-2021.63.8.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.video/org.nuxeo.ecm.platform.video.jsf",
      "id": "org.nuxeo.ecm.platform.video.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.24\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nRequire-Bundle: org.nuxeo.ecm.platform.video.core\r\nBundle-Vendor: Nuxeo\r\nEclipse-LazyStart: true\r\nBundle-Category: web,stateless\r\nBundle-Name: Nuxeo Picture Video JSF\r\nNuxeo-Component: OSGI-INF/layouts-contrib.xml,OSGI-INF/actions-contrib\r\n .xml,OSGI-INF/theme-contrib.xml,OSGI-INF/preview-adapter-contrib.xml\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.video.jsf;singleton:=true\r\nNuxeo-Require: org.nuxeo.ecm.platform.video.core\r\n\r\n",
      "maxResolutionOrder": 707,
      "minResolutionOrder": 663,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [
        "org.nuxeo.ecm.platform.video.core"
      ],
      "version": "2021.63.8"
    }
  ],
  "creationDate": 1732721792848,
  "key": "Nuxeo Platform-2021.63",
  "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.63.8",
      "id": "nuxeo-jsf-ui-2021.63.8",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2021.63.8"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1732721792848,
  "version": "2021.63"
}