{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-forms-layout-client",
      "artifactVersion": "2023.9.10",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.platform.forms.layout.api",
          "org.nuxeo.ecm.platform.forms.layout.client",
          "org.nuxeo.ecm.platform.forms.layout.core",
          "org.nuxeo.ecm.platform.forms.layout.export",
          "org.nuxeo.ecm.platform.forms.layout.io",
          "org.nuxeo.ecm.platform.forms.layout.io.plugins"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout",
        "id": "grp:org.nuxeo.ecm.platform.forms.layout",
        "name": "org.nuxeo.ecm.platform.forms.layout",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2023.9"
      },
      "bundleId": "org.nuxeo.ecm.platform.forms.layout.client",
      "components": [
        {
          "@type": "NXComponent",
          "documentation": "\n    Component that provides layouts/widgets contributions used when\n    rendering layouts/widgets dev screens\n\n    @author Anahide Tchertchian\n    (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nComponent that provides layouts/widgets contributions used when\nrendering layouts/widgets dev screens\n</p><p>\n(at&#64;nuxeo.com)\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouttypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.dev/Contributions/org.nuxeo.ecm.platform.forms.layout.dev--layouttypes",
              "id": "org.nuxeo.ecm.platform.forms.layout.dev--layouttypes",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"layouttypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layoutType name=\"devLayout\">\n      <templates>\n        <template mode=\"any\">\n          /widgets/dev/layouts/dev_layout_template.xhtml\n        </template>\n      </templates>\n    </layoutType>\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.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.dev/Contributions/org.nuxeo.ecm.platform.forms.layout.dev--layouts",
              "id": "org.nuxeo.ecm.platform.forms.layout.dev--layouts",
              "registrationOrder": 7,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"widget_dev_layout\" type=\"devLayout\">\n      <rows>\n        <row>\n          <widget>type</widget>\n        </row>\n        <row>\n          <widget>typeCategory</widget>\n        </row>\n        <row>\n          <widget>mode</widget>\n        </row>\n        <row>\n          <widget>dynamic</widget>\n        </row>\n        <row>\n          <widget>properties</widget>\n        </row>\n        <row>\n          <widget>controls</widget>\n        </row>\n      </rows>\n      <widget name=\"type\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type</label>\n        </labels>\n        <fields>\n          <field>type</field>\n        </fields>\n      </widget>\n      <widget name=\"typeCategory\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type Category</label>\n        </labels>\n        <fields>\n          <field>typeCategory</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.typeCategory or\n            layoutValue.typeCategory == 'jsf', 'hidden', mode)}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"mode\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Mode</label>\n        </labels>\n        <fields>\n          <field>mode</field>\n        </fields>\n      </widget>\n      <widget name=\"dynamic\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Dynamic</label>\n        </labels>\n        <fields>\n          <field>dynamic</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(layoutValue.dynamic, mode, 'hidden')}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"properties\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Properties</label>\n        </labels>\n        <fields>\n          <field>properties</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.properties, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"controls\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Controls</label>\n        </labels>\n        <fields>\n          <field>controls</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.controls, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"layout_dev_layout\" type=\"devLayout\">\n      <rows>\n        <row>\n          <widget>type</widget>\n        </row>\n        <row>\n          <widget>mode</widget>\n        </row>\n        <row>\n          <widget>dynamic</widget>\n        </row>\n        <row>\n          <widget>properties</widget>\n        </row>\n      </rows>\n      <widget name=\"type\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type</label>\n        </labels>\n        <fields>\n          <field>type</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.type, 'hidden', mode)}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"mode\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Mode</label>\n        </labels>\n        <fields>\n          <field>mode</field>\n        </fields>\n      </widget>\n      <widget name=\"dynamic\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Dynamic</label>\n        </labels>\n        <fields>\n          <field>dynamic</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(layoutValue.dynamic, mode, 'hidden')}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"properties\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Properties</label>\n        </labels>\n        <fields>\n          <field>properties</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.properties, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.dev",
          "name": "org.nuxeo.ecm.platform.forms.layout.dev",
          "requirements": [],
          "resolutionOrder": 368,
          "services": [],
          "startOrder": 326,
          "version": "2023.9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layout.dev\">\n\n  <documentation>\n    Component that provides layouts/widgets contributions used when\n    rendering layouts/widgets dev screens\n\n    @author Anahide Tchertchian\n    (at@nuxeo.com)\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouttypes\">\n\n    <layoutType name=\"devLayout\">\n      <templates>\n        <template mode=\"any\">\n          /widgets/dev/layouts/dev_layout_template.xhtml\n        </template>\n      </templates>\n    </layoutType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"widget_dev_layout\" type=\"devLayout\">\n      <rows>\n        <row>\n          <widget>type</widget>\n        </row>\n        <row>\n          <widget>typeCategory</widget>\n        </row>\n        <row>\n          <widget>mode</widget>\n        </row>\n        <row>\n          <widget>dynamic</widget>\n        </row>\n        <row>\n          <widget>properties</widget>\n        </row>\n        <row>\n          <widget>controls</widget>\n        </row>\n      </rows>\n      <widget name=\"type\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type</label>\n        </labels>\n        <fields>\n          <field>type</field>\n        </fields>\n      </widget>\n      <widget name=\"typeCategory\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type Category</label>\n        </labels>\n        <fields>\n          <field>typeCategory</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.typeCategory or\n            layoutValue.typeCategory == 'jsf', 'hidden', mode)}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"mode\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Mode</label>\n        </labels>\n        <fields>\n          <field>mode</field>\n        </fields>\n      </widget>\n      <widget name=\"dynamic\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Dynamic</label>\n        </labels>\n        <fields>\n          <field>dynamic</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(layoutValue.dynamic, mode, 'hidden')}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"properties\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Properties</label>\n        </labels>\n        <fields>\n          <field>properties</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.properties, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"controls\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Controls</label>\n        </labels>\n        <fields>\n          <field>controls</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.controls, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"layout_dev_layout\" type=\"devLayout\">\n      <rows>\n        <row>\n          <widget>type</widget>\n        </row>\n        <row>\n          <widget>mode</widget>\n        </row>\n        <row>\n          <widget>dynamic</widget>\n        </row>\n        <row>\n          <widget>properties</widget>\n        </row>\n      </rows>\n      <widget name=\"type\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Type</label>\n        </labels>\n        <fields>\n          <field>type</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.type, 'hidden', mode)}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"mode\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Mode</label>\n        </labels>\n        <fields>\n          <field>mode</field>\n        </fields>\n      </widget>\n      <widget name=\"dynamic\" type=\"text\">\n        <labels>\n          <label mode=\"any\">Dynamic</label>\n        </labels>\n        <fields>\n          <field>dynamic</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(layoutValue.dynamic, mode, 'hidden')}\n          </mode>\n        </widgetModes>\n      </widget>\n      <widget name=\"properties\" type=\"template\">\n        <labels>\n          <label mode=\"any\">Properties</label>\n        </labels>\n        <fields>\n          <field>properties</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"any\">\n            #{nxu:test(empty layoutValue.properties, 'hidden',\n            mode)}\n          </mode>\n        </widgetModes>\n        <properties mode=\"any\">\n          <property name=\"template\">\n            /widgets/dev/properties_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-dev-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Component that provides main contributions to the web layout\n    manager widget\n    types.\n\n    @version 1.0 @author Anahide Tchertchian (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nComponent that provides main contributions to the web layout\nmanager widget\ntypes.\n</p><p>\n&#64;version 1.0 &#64;author Anahide Tchertchian (at&#64;nuxeo.com)\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.LayoutStore--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.MainContribution/Contributions/org.nuxeo.ecm.platform.forms.layout.MainContribution--widgets",
              "id": "org.nuxeo.ecm.platform.forms.layout.MainContribution--widgets",
              "registrationOrder": 3,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "name": "org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\">\n\n    <widget name=\"escape\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Escape</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to false, the held value will not be escaped.\n          For instance if it contains HTML tags, they will be\n          rendered as part of\n          the rendered HTML page instead of being rendered as text content.\n          Defaults to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>escape</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Yes (default value)\" itemValue=\"true\"/>\n        <option itemLabel=\"No\" itemValue=\"false\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"style\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>style</field>\n      </fields>\n    </widget>\n\n    <widget name=\"styleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>styleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"subStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub style class</label>\n      </labels>\n      <fields>\n        <field>subStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"subItemStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub item style class</label>\n      </labels>\n      <fields>\n        <field>subItemStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"title\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Title</label>\n      </labels>\n      <fields>\n        <field>title</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"text_localize\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Localize</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to true, the held value will be translated.\n          This property cannot be an EL expression, it will only resolve literal\n          values 'true' or 'false'. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>localize</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"accesskey\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Access key</label>\n      </labels>\n      <fields>\n        <field>accesskey</field>\n      </fields>\n    </widget>\n\n    <widget name=\"alt\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Alt</label>\n      </labels>\n      <fields>\n        <field>alt</field>\n      </fields>\n    </widget>\n\n    <widget name=\"dir\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Direction</label>\n      </labels>\n      <fields>\n        <field>dir</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"\" itemValue=\"\"/>\n        <option itemLabel=\"Left to right\" itemValue=\"LTR\"/>\n        <option itemLabel=\"Right to left\" itemValue=\"RTL\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"placeholder\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Placeholder</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String representing a short hint (a word or short\n          phrase)\n          intended to aid the user with data entry.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>placeholder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"disabled\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Disabled</label>\n      </labels>\n      <fields>\n        <field>disabled</field>\n      </fields>\n    </widget>\n\n    <widget name=\"immediate\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Immediate</label>\n      </labels>\n      <fields>\n        <field>immediate</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"lang\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Lang</label>\n      </labels>\n      <fields>\n        <field>lang</field>\n      </fields>\n    </widget>\n\n    <widget name=\"maxlength\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Max length</label>\n      </labels>\n      <fields>\n        <field>maxlength</field>\n      </fields>\n    </widget>\n\n    <widget name=\"required\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Required</label>\n      </labels>\n      <fields>\n        <field>required</field>\n      </fields>\n    </widget>\n\n    <widget name=\"size\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Size</label>\n      </labels>\n      <fields>\n        <field>size</field>\n      </fields>\n      <controls mode=\"any\">\n        <control name=\"deprecatedVersion\">6.0</control>\n        <control name=\"deprecatedDescription\">Size must now be set in css, not with the size attribute</control>\n      </controls>\n    </widget>\n\n    <widget name=\"validator\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Validator</label>\n      </labels>\n      <fields>\n        <field>validator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"valueChangeListener\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Value change listener</label>\n      </labels>\n      <fields>\n        <field>valueChangeListener</field>\n      </fields>\n    </widget>\n\n    <widget name=\"redisplay\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Redisplay</label>\n      </labels>\n      <fields>\n        <field>redisplay</field>\n      </fields>\n    </widget>\n\n    <widget name=\"textarea_cols\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of columns</label>\n      </labels>\n      <fields>\n        <field>cols</field>\n      </fields>\n    </widget>\n\n    <widget name=\"textarea_rows\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of rows</label>\n      </labels>\n      <fields>\n        <field>rows</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_pattern\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Pattern</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String pattern for the date and time, as described by\n          the java.text.SimpleDateFormat class, and as used in the standard\n          DateTimeConverter. Default value is \"MMM d, yyyy\". Sample value:\n          \"#{nxu:basicDateFormatter()}\" or \"#{nxu:basicDateAndTimeFormatter()}\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pattern</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_timeZone\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Time zone</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String timeZone ID. The server time zone is\n          used if not\n          set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>timeZone</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_format\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Format</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String format for the date and time, as described by\n          the java.text.SimpleDateFormat class, and as used in the standard\n          DateTimeConverter. Default value is \"MMM d, yyyy\". Sample value:\n          \"#{nxu:basicDateFormatter()}\" or \"#{nxu:basicDateAndTimeFormatter()}\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>format</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_locale\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Locale</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String representing the locale to use for\n          the calendar.\n          Current locale is used if not set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>locale</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"\" itemValue=\"\"/>\n        <option itemLabel=\"Catalan\" itemValue=\"ca\"/>\n        <option itemLabel=\"Chinese\" itemValue=\"cn\"/>\n        <option itemLabel=\"Czech\" itemValue=\"cz\"/>\n        <option itemLabel=\"Deutsch\" itemValue=\"de\"/>\n        <option itemLabel=\"English\" itemValue=\"en\"/>\n        <option itemLabel=\"Spanish\" itemValue=\"es\"/>\n        <option itemLabel=\"French\" itemValue=\"fr\"/>\n        <option itemLabel=\"Italiano\" itemValue=\"it\"/>\n        <option itemLabel=\"Japanese\" itemValue=\"jp\"/>\n        <option itemLabel=\"Nederlands\" itemValue=\"nl\"/>\n        <option itemLabel=\"Polish\" itemValue=\"pl\"/>\n        <option itemLabel=\"Portuguese\" itemValue=\"pt\"/>\n        <option itemLabel=\"Romanian\" itemValue=\"ro\"/>\n        <option itemLabel=\"Russian\" itemValue=\"ru\"/>\n        <option itemLabel=\"svenska\" itemValue=\"sv\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"datetime_timeZone\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Time zone</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String timeZone ID. The server time zone is used if\n          not set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>timeZone</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerImg\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger image</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Image path to use for the trigger. Available since\n          5.4.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerImg</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Label to display on the trigger image. Defaults to\n          \"...\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger style class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Style class to set on the trigger button tag, defaults\n          to 'calendarTrigger'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"file_downloadLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Download label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Value binding that will be used as the download link\n          value, and will attempt to be translated.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>downloadLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"file_iconRendered\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Icon rendered</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean flag indicating whether or not the file icon\n          should be rendered. Defaults to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>iconRendered</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Yes (default value)\" itemValue=\"true\"/>\n        <option itemLabel=\"No\" itemValue=\"false\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"htmltext_disableHtmlInit\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Disable HTML init</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to true, the default display will be\n          the text\n          display\n          (not html editor). Available since 5.3.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>disableHtmlInit</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"htmltext_width\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Width</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The textarea width. Defaults to \"640\".\n          Give the exact\n          size in pixels or percentage.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>width</field>\n      </fields>\n    </widget>\n\n    <widget name=\"htmltext_height\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Height</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The textarea height. Defaults to \"400\".\n          Give the exact\n          size in pixels or percentage.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>height</field>\n      </fields>\n    </widget>\n\n    <widget name=\"htmltext_editorSelector\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Editor selector</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The class to use to identify text areas to turn into\n          html editors. Defaults to \"mceEditor\". See the editor_selector option\n          in TinyMCE\n          (http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).\n        </label>\n      </helpLabels>\n      <fields>\n        <field>editorSelector</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"htmltext_configuration\" type=\"textarea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">JSON configuration</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          JSON configuration map for TinyMCE initialization, that will be merged\n          with default configuration. Available since 8.1.\n          Example: {\"toolbar4\": \"paste\"}\n        </label>\n      </helpLabels>\n      <fields>\n        <field>configuration</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directoryName\" type=\"selectOneResource\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Vocabulary</label>\n      </labels>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <properties mode=\"any\">\n        <property name=\"resourceName\">vocabularies</property>\n      </properties>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"directoryNameDemoPreview\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Vocabulary</label>\n      </labels>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"directory_localize\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Localize</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate localization of vocabulary labels. Labels are\n          translated as usual picking values in messages*.properties files.\n          Database localization should also be activated if localized labels\n          are provided by the vocabulary itself.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>localize</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"directory_dbl10n\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Activate database localization</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate retrieval of localized labels in the\n          vocabulary database, when translations are held by the directory\n          itself, in fields with a label_[lang] pattern, and defaulting to\n          label_en. Available since 6.0.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dbl10n</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"directory_displayIdAndLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display id and label</label>\n      </labels>\n      <fields>\n        <field>displayIdAndLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_style\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>style</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_cssStyle\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>cssStyle</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_cssStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>cssStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_styleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>styleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_displayObsoleteEntries\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display obsolete entries</label>\n      </labels>\n      <fields>\n        <field>displayObsoleteEntries</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_notDisplayDefaultOption\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Do not display the default option</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          True if there should not be displayed a \"Please select\n          a value\" option\n        </label>\n      </helpLabels>\n      <fields>\n        <field>notDisplayDefaultOption</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sort criterion</label>\n      </labels>\n      <fields>\n        <field>ordering</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Label (default)\" itemValue=\"label\"/>\n        <option itemLabel=\"Ordering\" itemValue=\"ordering\"/>\n        <option itemLabel=\"Id\" itemValue=\"id\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"complex_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <!-- block-like renderings available since 5.6 -->\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\"/>\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\"/>\n        <option itemLabel=\"Table\" itemValue=\"table\"/>\n        <option itemLabel=\"In line\" itemValue=\"inline\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"list_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\"/>\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\"/>\n        <option itemLabel=\"Table\" itemValue=\"table\"/>\n        <option itemLabel=\"In line\" itemValue=\"inline\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"subwidgets_hideSubLabels\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide subwidgets labels</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the rendering of subwidgets\n          labels. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSubLabels</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_diff\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Diff</label>\n      </labels>\n      <fields>\n        <field>diff</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_orderable\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Orderable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to order the\n          items. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>orderable</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_hideDeleteButton\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide delete button</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to remove the\n          'delete' button for each list item. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideDeleteButton</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_hideAddButton\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide add button</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to remove the\n          'add' button to add an item to the list. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideAddButton</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_listTemplateItem\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">List template item</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute enables to control the template for\n          each item that needs to be added to the list. In most common cases,\n          this value is deduced from the field definition, using the expression:\n          #{nxd:propertyDefaultValue(widget.fieldDefinitions[0].propertyName)}.\n          This needs to be adapted for subwidgets (when handling lists of lists\n          for instance) or when using this widget on another object that a\n          DocumentModel property. For instance, for a subwidget, you can use:\n          #{nxd:propertyDefaultValue('mySchema:listOfLists/stringListItem')}.\n          Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>listTemplateItem</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_removeEmpty\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Remove empty item(s)</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This boolean attribute allows to remove null items from the list on edit.\n          Items are only removed when there are changes to the list items.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>removeEmpty</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_number\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of open item(s)</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This integer attribute allows to set the number of new items that should\n          be opened when displaying the list widget.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>number</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_addLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">'Add' action label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This string attribute allows to configure the label used for\n          the 'add' action on the list widget. It is translated if the widget\n          is marked as translated.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>addLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"container_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\"/>\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\"/>\n        <option itemLabel=\"Table\" itemValue=\"table\"/>\n        <option itemLabel=\"In line\" itemValue=\"inline\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"container_subwidgets_hideSubLabels\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide subwidgets labels</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the rendering of subwidgets\n          labels.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSubLabels</field>\n      </fields>\n    </widget>\n\n    <widget name=\"widgetsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Widgets Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          widgets.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>widgetsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Label on the left (default)\" itemValue=\"label_left\"/>\n        <option itemLabel=\"Label on top\" itemValue=\"label_top\"/>\n        <option itemLabel=\"No Label\" itemValue=\"no_label\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_layout\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Layout</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select layout binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>layout</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Line direction (default)\" itemValue=\"\"/>\n        <option itemLabel=\"Page direction\" itemValue=\"pageDirection\"/>\n        <option itemLabel=\"Line direction\" itemValue=\"lineDirection\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_layout_page_default\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Layout</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select layout binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>layout</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Page direction (default)\" itemValue=\"\"/>\n        <option itemLabel=\"Page direction\" itemValue=\"pageDirection\"/>\n        <option itemLabel=\"Line direction\" itemValue=\"lineDirection\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_selectOptions\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select Options</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select options binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>selectOptions</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"select_var\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Variable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The variable name for select options expressions\n          resolution. Usually defaults to 'item'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>var</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select_itemLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Item label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Expression referencing the variable name to display\n          the option label.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>itemLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select_itemValue\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Item label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Expression referencing the variable name to display\n          the option id.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>itemValue</field>\n      </fields>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.MainContribution/Contributions/org.nuxeo.ecm.platform.forms.layout.MainContribution--widgettypes",
              "id": "org.nuxeo.ecm.platform.forms.layout.MainContribution--widgettypes",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"text\">\n      <configuration>\n        <title>Text</title>\n        <description>\n          <p>\n            The text widget displays an input text in create or edit mode, with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"textWidget\" previewEnabled=\"true\"/>\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>string</type>\n            <type>path</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>string</type>\n          </defaultTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"text_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">escape</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">text_localize</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"text_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"int\">\n      <configuration>\n        <title>Integer</title>\n        <description>\n          <p>\n            The int widget displays an input text in create or edit mode, with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode. It uses a number converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"intWidget\" previewEnabled=\"true\"/>\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>integer</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>integer</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"int_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"int_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.IntWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"double\">\n      <configuration>\n        <title>Floating point</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <description>\n          <p>\n            The floating point (aka \"double\") widget displays an input text in\n            create or edit mode, with additional message tag for errors, and a\n            regular text output in any other mode. It uses a JSF double\n            converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <!--<demo id=\"doubleWidget\" /> -->\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>double</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>double</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"double_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"double_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DoubleWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"secret\">********<configuration>\n        <title>Secret</title>\n        <description>\n          <p>\n            The secret widget displays an input secret text in create or edit\n            mode, with additional message tag for errors, and nothing in any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputSecret /&gt; tag in create or edit mode.\n          </p>\n        </description>\n        <demo id=\"secretWidget\" previewEnabled=\"true\"/>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"secret_widget_type_properties_edit\">********<rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">redisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SecretWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"textarea\">\n      <configuration>\n        <title>Textarea</title>\n        <description>\n          <p>\n            The textarea widget displays a textarea in create or edit mode,\n            with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputTextarea /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"textareaWidget\" previewEnabled=\"true\"/>\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"textarea_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">escape</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"textarea_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">textarea_cols</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">textarea_rows</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextareaWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"datetime\">\n      <configuration>\n        <title>Datetime</title>\n        <description>\n          <p>\n            The datetime widget displays a javascript calendar in create or\n            edit\n            mode, with additional message tag for errors, and a regular text\n            output in any other mode. It uses a date time converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:inputDatetime /&gt; tag in create or edit mode, and\n            properties accepted on a &lt;h:outputText /&gt; tag in other\n            modes.\n            The converter will also be given these properties.\n          </p>\n        </description>\n        <demo id=\"datetimeWidget\" previewEnabled=\"true\"/>\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>date</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>date</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"datetime_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"datetime_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_format</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_locale</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerImg</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DateTimeWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"template\">\n      <configuration>\n        <title>Template</title>\n        <description>\n          <p>\n            The template widget displays a template content whatever the mode.\n          </p>\n          <p>\n            Widgets using this type must provide the path to this template ;\n            this template can check the mode to adapt the rendering.\n          </p>\n          <p>\n            Note that the same handler class can be used to define a new widget\n            type using a designated template, by registering it as is:\n          </p>\n          <p>\n            &lt;widgetType name=\"template\"&gt; &lt;handler-class&gt;\n            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n            &lt;/handler-class&gt; &lt;property name=\"template\"&gt;\n            /widgets/my_custom_widget_template.xhtml &lt;/property&gt;\n            &lt;/widgetType&gt; </p>\n        </description>\n        <demo id=\"templateWidget\" previewEnabled=\"false\"/>\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>true</complex>\n          <supportedTypes>\n            <type>*</type>\n          </supportedTypes>\n        </fields>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"template_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">widget_templates</property>\n                </properties>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"file\">\n      <configuration>\n        <title>File</title>\n        <description>\n          <p>\n            The file widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors, and a link to the file\n            in other modes.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:inputFile /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;nxu:outputFile /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"fileWidget\" previewEnabled=\"true\"/>\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          <defaultTypes>\n            <type>blob</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"file_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_downloadLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_iconRendered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"file_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_downloadLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_iconRendered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.FileWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"htmltext\">\n      <configuration>\n        <title>HTML text</title>\n        <description>\n          <p>\n            The htmltext widget displays an html text editor in create or edit\n            mode, with additional message tag for errors, and a regular text\n            output in other modes (without escaping the text).\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:editor /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;nxu:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"htmltextWidget\" previewEnabled=\"true\"/>\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"htmltext_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"htmltext_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_height</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_disableHtmlInit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_editorSelector</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_configuration</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HtmlTextWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneListbox\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Select One Listbox</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneListbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneListboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyListbox\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Listbox</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyListbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyListboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneMenu\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Select One Menu</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneMenu_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneMenuWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyMenu\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Menu</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyMenu_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyMenuWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneRadio\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Select One Radio</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneRadio_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneRadioWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyCheckbox\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Checkbox</title>\n        <description/>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyCheckbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyCheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneDirectory\">\n      <configuration>\n        <title>Single vocabulary</title>\n        <description>\n          <p>\n            The selectOneDirectory widget displays a selection of vocabulary\n            entries in create or edit mode, with additional message tag for\n            errors, and the directory entry label in other modes.\n          </p>\n        </description>\n        <demo id=\"selectOneDirectoryWidget\" previewEnabled=\"true\"/>\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectOneDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectOneDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneRadioDirectory\">\n      <configuration>\n        <title>Single vocabulary radio</title>\n        <description>\n          <p>\n            This widget displays radio buttons in edit mode for given category.\n          </p>\n        </description>\n        <demo id=\"selectOneRadioDirectoryWidget\" previewEnabled=\"true\"/>\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneRadioWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyDirectory\">\n      <configuration>\n        <title>Multiple vocabulary</title>\n        <description>\n          <p>\n            The selectManyDirectory widget displays a multi selection of\n            vocabulary entries in create or edit mode, with additional message\n            tag for errors, and the directory entries labels in other modes.\n          </p>\n        </description>\n        <demo id=\"selectManyDirectoryWidget\" previewEnabled=\"true\"/>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectManyDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectManyDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyCheckboxDirectory\">\n      <configuration>\n        <title>Multiple vocabulary checkbox</title>\n        <description>\n          <p>\n            The selectManyCheckboxDirectory widget displays a multi selection\n            of\n            vocabulary entries in create or edit mode, with additional message\n            tag for errors, and the directory entries labels in other modes.\n          </p>\n        </description>\n        <demo id=\"selectManyCheckboxDirectoryWidget\" previewEnabled=\"true\"/>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyCheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"list\">\n      <configuration>\n        <title>List</title>\n        <description>\n          <p>\n            The list widget displays an editable list of items in create or\n            edit mode, with additional message tag for errors, and the same list\n            of items in other modes. It is not usable within a list widget (see\n            sublist widget for this feature).\n          </p>\n          <p>Items are defined using sub wigdets configuration.</p>\n          <p>\n            This is actually a template widget type whose template uses a\n            &lt;nxu:inputList /&gt; tag in edit or create mode, and a table\n            iterating over items in other modes.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <demo id=\"listWidget\" previewEnabled=\"false\"/>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n            <type>date</type>\n            <type>blob</type>\n            <type>integer</type>\n            <type>double</type>\n            <type>boolean</type>\n            <type>complex</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>string</type>\n            <type>path</type>\n            <type>date</type>\n            <type>integer</type>\n            <type>double</type>\n            <type>boolean</type>\n            <type>complex</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"list_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">subwidgets_hideSubLabels</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"list_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_diff</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_hideDeleteButton</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_hideAddButton</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_listTemplateItem</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_removeEmpty</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_number</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_addLabel</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.ListWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/js_list_widget_template.xhtml</property>\n      <property name=\"compatTemplate\">/widgets/list_widget_template.xhtml</property>\n    </widgetType>\n\n    <widgetType name=\"complex\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Complex</title>\n        <description>\n          <p>\n            The complex widget displays its sub widgets, and is controlling of\n            a map-like. Each of the map items rendering is done through sub\n            widgets configuration.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <demo id=\"complexWidget\" previewEnabled=\"false\"/>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <fields>\n          <list>false</list>\n          <complex>true</complex>\n          <supportedTypes>\n            <type>complex</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>complex</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"complex_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">complex_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">subwidgets_hideSubLabels</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/complex_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"container\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Container</title>\n        <description>\n          <p>\n            The container widget displays its subwidgets with display options\n            to control the rendering of global div container as well as each\n            container of sub items, using the widget label as header.\n          </p>\n          <p>\n            If the widget is marked as handling labels (marker available on all\n            widgets since 5.6), the header will be displayed. Otherwise it will\n            never be displayed.\n          </p>\n          <p>\n            On version 5.6 (only this version), this widget also accepts custom\n            properties to add forms around some of its subwidgets. If the\n            property with name \"nxw_addForm_#{widgetIndex}\" is present and\n            resolves to true, then a form will be added around the subwidgets at\n            index #{widgetIndex}. For instance, adding a property\n            \"nxw_addForm_0\" with value true, the first subwidget will be\n            surrounded with a form.\n          </p>\n          <p>\n            From version 5.7, subwidgets hold this information directly, by\n            declaring a control with key \"addForm\" and value \"true\".\n          </p>\n          <p>\n            It will apply to the current value (e.g. the layout or parent\n            widget value) if no field definition is given.\n          </p>\n        </description>\n        <categories>\n          <category>decoration</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <handlingLabels>true</handlingLabels>\n        <supportedControls>\n          <control>requireSurroundingForm</control>\n          <control>useAjaxForm</control>\n          <control>handlingLabels</control>\n        </supportedControls>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"container_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">container_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">container_subwidgets_hideSubLabels\n                  </widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>headerStyleClass</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>subLabelStyleClass</widget>\n                </row>\n                <row>\n                  <widget>subStyleClass</widget>\n                </row>\n                <row>\n                  <widget>showIfEmpty</widget>\n                </row>\n                <row>\n                  <widget>tip</widget>\n                </row>\n              </rows>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the widget label will be\n                    displayed in a header of a box, containing the sub widgets\n                    rendering. This box is foldable in javascript. Ignored if\n                    the widget is not marked as handling labels as the header\n                    will not be displayed in this case. If label is empty, a\n                    default label will be shown. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, and property \"foldable\" is\n                    also set to true,\n                    the box will be folded by default. Defaults\n                    to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n              </widget>\n              <widget name=\"showIfEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the widget label will be\n                    displayed even if there are no subwidgets. Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showIfEmpty</field>\n                </fields>\n              </widget>\n              <widget name=\"tip\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Tip</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Label to display on top of the container\n                    widget content, that will be translated if the widget is\n                    translated. Available since 5.7.3.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>tip</field>\n                </fields>\n              </widget>\n              <widget name=\"headerStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Header style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the header, displaying this\n                    widget label.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>headerStyleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the global container div.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"subLabelStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub Label style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the sub widget label.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subLabelStyleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"subStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the container of each sub\n                    widget.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subStyleClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/container_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"checkbox\">\n      <configuration>\n        <title>Checkbox</title>\n        <description>\n          <p>\n            The checkbox widget displays a checkbox in create, edit and any\n            other mode, with additional message tag for errors.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:selectBooleanCheckbox /&gt; tag in create, edit mode, and\n            other modes.\n          </p>\n        </description>\n        <demo id=\"checkboxWidget\" previewEnabled=\"true\"/>\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>boolean</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>boolean</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"checkbox_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"checkbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.CheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"hidden\">\n      <configuration>\n        <title>Hidden</title>\n        <description>\n          <p>\n            The hidden widget is for a hidden field in create, edit and any\n            other mode, with additional message tag for errors.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputHidden /&gt; tag in create, edit mode, and other modes.\n          </p>\n        </description>\n        <!-- demo does not present it (yet?) -->\n        <!--\n          <demo id=\"hiddenWidget\" previewEnabled=\"false\"/>\n        -->\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"hidden_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"hidden_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HiddenWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"layout\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Layout</title>\n        <description>\n          <p>The layout widget renders a layout.</p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxl:layout /&gt; tag in all modes.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"layout_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>name</widget>\n                </row>\n                <row>\n                  <widget>nameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"name\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout name. Since 5.6, this attribute\n                    accepts a list of multiple layout names, separated by\n                    commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>name</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"nameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout name. Since 5.6, this attribute\n                    accepts a list of multiple layout names, separated by\n                    commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>name</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"mode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If not set, the mode is resolved from the\n                    usual widget mode. Otherwise it's taken instead when not\n                    empty. WARNING: Before 5.5, mode was not resolved from the\n                    widget mode, so this value was required.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>mode</field>\n                </fields>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.LayoutWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"richtext_with_mimetype\">\n      <configuration>\n        <sinceVersion>5.3.1</sinceVersion>\n        <title>Richtext</title>\n        <description>\n          <p>\n            This widget displays an html text editor or a textarea in create or\n            edit mode, depending on the mimetype defined.\n          </p>\n          <p>\n            It accepts two fields bindings:\n            <ul>\n              <li>first field holds the text content</li>\n              <li>second field holds the text mimetype (text/plain,\n                text/html...)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <categories>\n          <!-- do not export with documents -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"richtext_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>cssClass</widget>\n                </row>\n              </rows>\n              <widget name=\"cssClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <fields>\n                  <field>cssClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"richtext_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>height</widget>\n                </row>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>cols</widget>\n                </row>\n                <row>\n                  <widget>rows</widget>\n                </row>\n                <row>\n                  <widget>editorSelector</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The textarea width. Defaults to \"700\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The textarea height. Defaults to \"400\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n              <widget name=\"cols\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Number of columns</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The cols attribute sets the number of\n                    columns to display.\n                    Available since 5.3.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cols</field>\n                </fields>\n              </widget>\n              <widget name=\"rows\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Number of rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The rows attribute sets the number of rows\n                    to display.\n                    Available since 5.3.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>rows</field>\n                </fields>\n              </widget>\n              <widget name=\"editorSelector\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Editor selector</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The class to use to identify text areas to\n                    turn into html\n                    editors. Defaults to \"mceEditor\". See the\n                    editor_selector\n                    option in tiny_mce\n                    (http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>editorSelector</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/richtext_with_mimetype_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"duration\">\n      <configuration>\n        <sinceVersion>5.3.2</sinceVersion>\n        <title>Duration</title>\n        <description>\n          This widget displays a i18n formatted duration of a field\n          holding a\n          value measured in seconds (can be Long, Double or String\n          valued). NB:\n          only view mode is supported right now.\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>int</type>\n            <type>double</type>\n          </supportedTypes>\n        </fields>\n        <!-- no props -->\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/duration_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"setVariable\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Set variable</title>\n        <description>\n          <p>\n            This widget exposes a variable to the context for\n            rendering,\n            allowing its sub widgets to reference it.\n          </p>\n          <p>\n            This is mostly useful to simplify resolution of a variable in sub\n            contexts, and benefit from caching on the variable resolution.\n          </p>\n        </description>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"set_variable_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>var</widget>\n                </row>\n                <row>\n                  <widget>value</widget>\n                </row>\n                <row>\n                  <widget>cache</widget>\n                </row>\n                <row>\n                  <widget>resolveTwice</widget>\n                </row>\n              </rows>\n              <widget name=\"var\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Variable name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The variable under which name the value will\n                    be exposed, making it available to sub widgets.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>var</field>\n                </fields>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"value\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Value</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The value to resolve for the variable name.\n                    The variable under which name the value will\n                    be exposed,\n                    making it available to sub widgets.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>value</field>\n                </fields>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"cache\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Cache</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean expressing if exposed value should\n                    be cached in the page.\n                    If set to true, the variable will be\n                    resolved only once per page rendering (or re-rendering in\n                    case of ajax requests). Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cache</field>\n                </fields>\n              </widget>\n              <widget name=\"resolveTwice\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Resolve twice</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean expressing if expression should be\n                    resolved twice: sometimes the expression uses a\n                    configuration element, and the first resolution of the\n                    expression will resolve to another expression, that may need\n                    to be itself evaluated again. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>resolveTwice</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/set_variable_widget_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Configuration of properties disabled by default for reference\n      in EL expressions.\n    \n",
              "documentationHtml": "<p>\nConfiguration of properties disabled by default for reference\nin EL expressions.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--disabledPropertyRefs",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.MainContribution/Contributions/org.nuxeo.ecm.platform.forms.layout.MainContribution--disabledPropertyRefs",
              "id": "org.nuxeo.ecm.platform.forms.layout.MainContribution--disabledPropertyRefs",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"disabledPropertyRefs\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n    <documentation>\n      Configuration of properties disabled by default for reference\n      in EL expressions.\n    </documentation>\n\n    <disabledPropertyRef name=\"converter\" widgetTypeCategory=\"jsf\"/>\n    <disabledPropertyRef name=\"validator\" widgetTypeCategory=\"jsf\"/>\n\n    <!-- avoid bad interactions with JBoss-el size EL resolver... -->\n    <disabledPropertyRef name=\"size\" widgetTypeCategory=\"jsf\"/>\n\n    <!-- rich:calendar does not resolve some attributes as EL expressions -->\n    <disabledPropertyRef name=\"showApplyButton\" widgetType=\"datetime\" widgetTypeCategory=\"jsf\"/>\n    <disabledPropertyRef name=\"defaultTime\" widgetType=\"datetime\" widgetTypeCategory=\"jsf\"/>\n    <disabledPropertyRef name=\"pattern\" widgetType=\"datetime\" widgetTypeCategory=\"jsf\"/>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.MainContribution",
          "name": "org.nuxeo.ecm.platform.forms.layout.MainContribution",
          "requirements": [],
          "resolutionOrder": 369,
          "services": [],
          "startOrder": 325,
          "version": "2023.9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layout.MainContribution\">\n  <documentation>\n    Component that provides main contributions to the web layout\n    manager widget\n    types.\n\n    @version 1.0 @author Anahide Tchertchian (at@nuxeo.com)\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\"\n    point=\"widgets\">\n\n    <widget name=\"escape\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Escape</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to false, the held value will not be escaped.\n          For instance if it contains HTML tags, they will be\n          rendered as part of\n          the rendered HTML page instead of being rendered as text content.\n          Defaults to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>escape</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Yes (default value)\" itemValue=\"true\" />\n        <option itemLabel=\"No\" itemValue=\"false\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"style\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>style</field>\n      </fields>\n    </widget>\n\n    <widget name=\"styleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>styleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"subStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub style class</label>\n      </labels>\n      <fields>\n        <field>subStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"subItemStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub item style class</label>\n      </labels>\n      <fields>\n        <field>subItemStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"title\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Title</label>\n      </labels>\n      <fields>\n        <field>title</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"text_localize\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Localize</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to true, the held value will be translated.\n          This property cannot be an EL expression, it will only resolve literal\n          values 'true' or 'false'. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>localize</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"accesskey\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Access key</label>\n      </labels>\n      <fields>\n        <field>accesskey</field>\n      </fields>\n    </widget>\n\n    <widget name=\"alt\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Alt</label>\n      </labels>\n      <fields>\n        <field>alt</field>\n      </fields>\n    </widget>\n\n    <widget name=\"dir\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Direction</label>\n      </labels>\n      <fields>\n        <field>dir</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"\" itemValue=\"\" />\n        <option itemLabel=\"Left to right\" itemValue=\"LTR\" />\n        <option itemLabel=\"Right to left\" itemValue=\"RTL\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"placeholder\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Placeholder</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String representing a short hint (a word or short\n          phrase)\n          intended to aid the user with data entry.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>placeholder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"disabled\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Disabled</label>\n      </labels>\n      <fields>\n        <field>disabled</field>\n      </fields>\n    </widget>\n\n    <widget name=\"immediate\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Immediate</label>\n      </labels>\n      <fields>\n        <field>immediate</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"lang\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Lang</label>\n      </labels>\n      <fields>\n        <field>lang</field>\n      </fields>\n    </widget>\n\n    <widget name=\"maxlength\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Max length</label>\n      </labels>\n      <fields>\n        <field>maxlength</field>\n      </fields>\n    </widget>\n\n    <widget name=\"required\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Required</label>\n      </labels>\n      <fields>\n        <field>required</field>\n      </fields>\n    </widget>\n\n    <widget name=\"size\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Size</label>\n      </labels>\n      <fields>\n        <field>size</field>\n      </fields>\n      <controls mode=\"any\">\n        <control name=\"deprecatedVersion\">6.0</control>\n        <control name=\"deprecatedDescription\">Size must now be set in css, not with the size attribute</control>\n      </controls>\n    </widget>\n\n    <widget name=\"validator\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Validator</label>\n      </labels>\n      <fields>\n        <field>validator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"valueChangeListener\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Value change listener</label>\n      </labels>\n      <fields>\n        <field>valueChangeListener</field>\n      </fields>\n    </widget>\n\n    <widget name=\"redisplay\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Redisplay</label>\n      </labels>\n      <fields>\n        <field>redisplay</field>\n      </fields>\n    </widget>\n\n    <widget name=\"textarea_cols\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of columns</label>\n      </labels>\n      <fields>\n        <field>cols</field>\n      </fields>\n    </widget>\n\n    <widget name=\"textarea_rows\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of rows</label>\n      </labels>\n      <fields>\n        <field>rows</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_pattern\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Pattern</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String pattern for the date and time, as described by\n          the java.text.SimpleDateFormat class, and as used in the standard\n          DateTimeConverter. Default value is \"MMM d, yyyy\". Sample value:\n          \"#{nxu:basicDateFormatter()}\" or \"#{nxu:basicDateAndTimeFormatter()}\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pattern</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_timeZone\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Time zone</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String timeZone ID. The server time zone is\n          used if not\n          set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>timeZone</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_format\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Format</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String format for the date and time, as described by\n          the java.text.SimpleDateFormat class, and as used in the standard\n          DateTimeConverter. Default value is \"MMM d, yyyy\". Sample value:\n          \"#{nxu:basicDateFormatter()}\" or \"#{nxu:basicDateAndTimeFormatter()}\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>format</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_locale\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Locale</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String representing the locale to use for\n          the calendar.\n          Current locale is used if not set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>locale</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"\" itemValue=\"\" />\n        <option itemLabel=\"Catalan\" itemValue=\"ca\" />\n        <option itemLabel=\"Chinese\" itemValue=\"cn\" />\n        <option itemLabel=\"Czech\" itemValue=\"cz\" />\n        <option itemLabel=\"Deutsch\" itemValue=\"de\" />\n        <option itemLabel=\"English\" itemValue=\"en\" />\n        <option itemLabel=\"Spanish\" itemValue=\"es\" />\n        <option itemLabel=\"French\" itemValue=\"fr\" />\n        <option itemLabel=\"Italiano\" itemValue=\"it\" />\n        <option itemLabel=\"Japanese\" itemValue=\"jp\" />\n        <option itemLabel=\"Nederlands\" itemValue=\"nl\" />\n        <option itemLabel=\"Polish\" itemValue=\"pl\" />\n        <option itemLabel=\"Portuguese\" itemValue=\"pt\" />\n        <option itemLabel=\"Romanian\" itemValue=\"ro\" />\n        <option itemLabel=\"Russian\" itemValue=\"ru\" />\n        <option itemLabel=\"svenska\" itemValue=\"sv\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"datetime_timeZone\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Time zone</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          String timeZone ID. The server time zone is used if\n          not set.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>timeZone</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerImg\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger image</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Image path to use for the trigger. Available since\n          5.4.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerImg</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Label to display on the trigger image. Defaults to\n          \"...\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"datetime_triggerStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Trigger style class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Style class to set on the trigger button tag, defaults\n          to 'calendarTrigger'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>triggerStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"file_downloadLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Download label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Value binding that will be used as the download link\n          value, and will attempt to be translated.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>downloadLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"file_iconRendered\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Icon rendered</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean flag indicating whether or not the file icon\n          should be rendered. Defaults to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>iconRendered</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Yes (default value)\" itemValue=\"true\" />\n        <option itemLabel=\"No\" itemValue=\"false\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"htmltext_disableHtmlInit\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Disable HTML init</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to true, the default display will be\n          the text\n          display\n          (not html editor). Available since 5.3.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>disableHtmlInit</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"htmltext_width\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Width</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The textarea width. Defaults to \"640\".\n          Give the exact\n          size in pixels or percentage.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>width</field>\n      </fields>\n    </widget>\n\n    <widget name=\"htmltext_height\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Height</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The textarea height. Defaults to \"400\".\n          Give the exact\n          size in pixels or percentage.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>height</field>\n      </fields>\n    </widget>\n\n    <widget name=\"htmltext_editorSelector\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Editor selector</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The class to use to identify text areas to turn into\n          html editors. Defaults to \"mceEditor\". See the editor_selector option\n          in TinyMCE\n          (http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).\n        </label>\n      </helpLabels>\n      <fields>\n        <field>editorSelector</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"htmltext_configuration\" type=\"textarea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">JSON configuration</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          JSON configuration map for TinyMCE initialization, that will be merged\n          with default configuration. Available since 8.1.\n          Example: {\"toolbar4\": \"paste\"}\n        </label>\n      </helpLabels>\n      <fields>\n        <field>configuration</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directoryName\" type=\"selectOneResource\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Vocabulary</label>\n      </labels>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <properties mode=\"any\">\n        <property name=\"resourceName\">vocabularies</property>\n      </properties>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"directoryNameDemoPreview\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Vocabulary</label>\n      </labels>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"directory_localize\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Localize</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate localization of vocabulary labels. Labels are\n          translated as usual picking values in messages*.properties files.\n          Database localization should also be activated if localized labels\n          are provided by the vocabulary itself.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>localize</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"directory_dbl10n\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Activate database localization</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate retrieval of localized labels in the\n          vocabulary database, when translations are held by the directory\n          itself, in fields with a label_[lang] pattern, and defaulting to\n          label_en. Available since 6.0.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dbl10n</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"directory_displayIdAndLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display id and label</label>\n      </labels>\n      <fields>\n        <field>displayIdAndLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_style\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>style</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_cssStyle\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style</label>\n      </labels>\n      <fields>\n        <field>cssStyle</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_cssStyleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>cssStyleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_styleClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Style class</label>\n      </labels>\n      <fields>\n        <field>styleClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_displayObsoleteEntries\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display obsolete entries</label>\n      </labels>\n      <fields>\n        <field>displayObsoleteEntries</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_notDisplayDefaultOption\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Do not display the default option</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          True if there should not be displayed a \"Please select\n          a value\" option\n        </label>\n      </helpLabels>\n      <fields>\n        <field>notDisplayDefaultOption</field>\n      </fields>\n    </widget>\n\n    <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sort criterion</label>\n      </labels>\n      <fields>\n        <field>ordering</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Label (default)\" itemValue=\"label\" />\n        <option itemLabel=\"Ordering\" itemValue=\"ordering\" />\n        <option itemLabel=\"Id\" itemValue=\"id\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"complex_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <!-- block-like renderings available since 5.6 -->\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\" />\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\" />\n        <option itemLabel=\"Table\" itemValue=\"table\" />\n        <option itemLabel=\"In line\" itemValue=\"inline\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"list_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\" />\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\" />\n        <option itemLabel=\"Table\" itemValue=\"table\" />\n        <option itemLabel=\"In line\" itemValue=\"inline\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"subwidgets_hideSubLabels\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide subwidgets labels</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the rendering of subwidgets\n          labels. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSubLabels</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_diff\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Diff</label>\n      </labels>\n      <fields>\n        <field>diff</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_orderable\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Orderable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to order the\n          items. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>orderable</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_hideDeleteButton\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide delete button</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to remove the\n          'delete' button for each list item. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideDeleteButton</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_hideAddButton\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide add button</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to remove the\n          'add' button to add an item to the list. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideAddButton</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_listTemplateItem\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">List template item</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute enables to control the template for\n          each item that needs to be added to the list. In most common cases,\n          this value is deduced from the field definition, using the expression:\n          #{nxd:propertyDefaultValue(widget.fieldDefinitions[0].propertyName)}.\n          This needs to be adapted for subwidgets (when handling lists of lists\n          for instance) or when using this widget on another object that a\n          DocumentModel property. For instance, for a subwidget, you can use:\n          #{nxd:propertyDefaultValue('mySchema:listOfLists/stringListItem')}.\n          Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>listTemplateItem</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_removeEmpty\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Remove empty item(s)</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This boolean attribute allows to remove null items from the list on edit.\n          Items are only removed when there are changes to the list items.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>removeEmpty</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_number\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Number of open item(s)</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This integer attribute allows to set the number of new items that should\n          be opened when displaying the list widget.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>number</field>\n      </fields>\n    </widget>\n\n    <widget name=\"list_addLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">'Add' action label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This string attribute allows to configure the label used for\n          the 'add' action on the list widget. It is translated if the widget\n          is marked as translated.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>addLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"container_subwidgets_display\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          subwidgets.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>display</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Block (label on the left, default)\" itemValue=\"block_left\" />\n        <option itemLabel=\"Block (label on top)\" itemValue=\"block_top\" />\n        <option itemLabel=\"Table\" itemValue=\"table\" />\n        <option itemLabel=\"In line\" itemValue=\"inline\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"container_subwidgets_hideSubLabels\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide subwidgets labels</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the rendering of subwidgets\n          labels.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSubLabels</field>\n      </fields>\n    </widget>\n\n    <widget name=\"widgetsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Widgets Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display attribute controls the rendering of\n          widgets.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>widgetsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Label on the left (default)\" itemValue=\"label_left\" />\n        <option itemLabel=\"Label on top\" itemValue=\"label_top\" />\n        <option itemLabel=\"No Label\" itemValue=\"no_label\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_layout\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Layout</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select layout binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>layout</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Line direction (default)\" itemValue=\"\" />\n        <option itemLabel=\"Page direction\" itemValue=\"pageDirection\" />\n        <option itemLabel=\"Line direction\" itemValue=\"lineDirection\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_layout_page_default\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Layout</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select layout binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>layout</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Page direction (default)\" itemValue=\"\" />\n        <option itemLabel=\"Page direction\" itemValue=\"pageDirection\" />\n        <option itemLabel=\"Line direction\" itemValue=\"lineDirection\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select_selectOptions\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select Options</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The select options binding.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>selectOptions</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"select_var\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Variable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The variable name for select options expressions\n          resolution. Usually defaults to 'item'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>var</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select_itemLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Item label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Expression referencing the variable name to display\n          the option label.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>itemLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select_itemValue\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Item label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Expression referencing the variable name to display\n          the option id.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>itemValue</field>\n      </fields>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"text\">\n      <configuration>\n        <title>Text</title>\n        <description>\n          <p>\n            The text widget displays an input text in create or edit mode, with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"textWidget\" previewEnabled=\"true\" />\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>string</type>\n            <type>path</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>string</type>\n          </defaultTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"text_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">escape</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">text_localize</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"text_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"int\">\n      <configuration>\n        <title>Integer</title>\n        <description>\n          <p>\n            The int widget displays an input text in create or edit mode, with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode. It uses a number converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"intWidget\" previewEnabled=\"true\" />\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>integer</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>integer</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"int_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"int_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.IntWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"double\">\n      <configuration>\n        <title>Floating point</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <description>\n          <p>\n            The floating point (aka \"double\") widget displays an input text in\n            create or edit mode, with additional message tag for errors, and a\n            regular text output in any other mode. It uses a JSF double\n            converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputText /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <!--<demo id=\"doubleWidget\" /> -->\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>double</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>double</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"double_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"double_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DoubleWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"secret\">********<configuration>\n        <title>Secret</title>\n        <description>\n          <p>\n            The secret widget displays an input secret text in create or edit\n            mode, with additional message tag for errors, and nothing in any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputSecret /&gt; tag in create or edit mode.\n          </p>\n        </description>\n        <demo id=\"secretWidget\" previewEnabled=\"true\" />\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"secret_widget_type_properties_edit\">********<rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">maxlength</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">size</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">alt</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">redisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SecretWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"textarea\">\n      <configuration>\n        <title>Textarea</title>\n        <description>\n          <p>\n            The textarea widget displays a textarea in create or edit mode,\n            with\n            additional message tag for errors, and a regular text output in\n            any\n            other mode.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputTextarea /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;h:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"textareaWidget\" previewEnabled=\"true\" />\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"textarea_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">escape</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"textarea_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">textarea_cols</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">textarea_rows</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextareaWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"datetime\">\n      <configuration>\n        <title>Datetime</title>\n        <description>\n          <p>\n            The datetime widget displays a javascript calendar in create or\n            edit\n            mode, with additional message tag for errors, and a regular text\n            output in any other mode. It uses a date time converter.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:inputDatetime /&gt; tag in create or edit mode, and\n            properties accepted on a &lt;h:outputText /&gt; tag in other\n            modes.\n            The converter will also be given these properties.\n          </p>\n        </description>\n        <demo id=\"datetimeWidget\" previewEnabled=\"true\" />\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>date</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>date</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"datetime_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"datetime_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_format</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_locale</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerImg</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DateTimeWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"template\">\n      <configuration>\n        <title>Template</title>\n        <description>\n          <p>\n            The template widget displays a template content whatever the mode.\n          </p>\n          <p>\n            Widgets using this type must provide the path to this template ;\n            this template can check the mode to adapt the rendering.\n          </p>\n          <p>\n            Note that the same handler class can be used to define a new widget\n            type using a designated template, by registering it as is:\n          </p>\n          <p>\n            &lt;widgetType name=\"template\"&gt; &lt;handler-class&gt;\n            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n            &lt;/handler-class&gt; &lt;property name=\"template\"&gt;\n            /widgets/my_custom_widget_template.xhtml &lt;/property&gt;\n            &lt;/widgetType&gt; </p>\n        </description>\n        <demo id=\"templateWidget\" previewEnabled=\"false\" />\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>true</complex>\n          <supportedTypes>\n            <type>*</type>\n          </supportedTypes>\n        </fields>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"template_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">widget_templates</property>\n                </properties>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"file\">\n      <configuration>\n        <title>File</title>\n        <description>\n          <p>\n            The file widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors, and a link to the file\n            in other modes.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:inputFile /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;nxu:outputFile /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"fileWidget\" previewEnabled=\"true\" />\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          <defaultTypes>\n            <type>blob</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"file_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_downloadLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_iconRendered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"file_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_downloadLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">file_iconRendered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.FileWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"htmltext\">\n      <configuration>\n        <title>HTML text</title>\n        <description>\n          <p>\n            The htmltext widget displays an html text editor in create or edit\n            mode, with additional message tag for errors, and a regular text\n            output in other modes (without escaping the text).\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxu:editor /&gt; tag in create or edit mode, and properties\n            accepted on a &lt;nxu:outputText /&gt; tag in other modes.\n          </p>\n        </description>\n        <demo id=\"htmltextWidget\" previewEnabled=\"true\" />\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"htmltext_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"htmltext_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_height</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_disableHtmlInit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_editorSelector</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">htmltext_configuration</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HtmlTextWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneListbox\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Select One Listbox</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneListbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneListboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyListbox\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Listbox</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyListbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyListboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneMenu\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Select One Menu</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneMenu_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneMenuWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyMenu\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Menu</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyMenu_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyMenuWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneRadio\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Select One Radio</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneRadio_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectOneRadioWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyCheckbox\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Select Many Checkbox</title>\n        <description></description>\n        <categories>\n          <!-- don't export it yet -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <!-- TODO\n            <mode>view</mode>\n          -->\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyCheckbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_selectOptions</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_var</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_itemValue</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.SelectManyCheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneDirectory\">\n      <configuration>\n        <title>Single vocabulary</title>\n        <description>\n          <p>\n            The selectOneDirectory widget displays a selection of vocabulary\n            entries in create or edit mode, with additional message tag for\n            errors, and the directory entry label in other modes.\n          </p>\n        </description>\n        <demo id=\"selectOneDirectoryWidget\" previewEnabled=\"true\" />\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectOneDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectOneDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectOneRadioDirectory\">\n      <configuration>\n        <title>Single vocabulary radio</title>\n        <description>\n          <p>\n            This widget displays radio buttons in edit mode for given category.\n          </p>\n        </description>\n        <demo id=\"selectOneRadioDirectoryWidget\" previewEnabled=\"true\" />\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectOneRadioDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectOneRadioWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyDirectory\">\n      <configuration>\n        <title>Multiple vocabulary</title>\n        <description>\n          <p>\n            The selectManyDirectory widget displays a multi selection of\n            vocabulary entries in create or edit mode, with additional message\n            tag for errors, and the directory entries labels in other modes.\n          </p>\n        </description>\n        <demo id=\"selectManyDirectoryWidget\" previewEnabled=\"true\" />\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectManyDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectManyDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"selectManyCheckboxDirectory\">\n      <configuration>\n        <title>Multiple vocabulary checkbox</title>\n        <description>\n          <p>\n            The selectManyCheckboxDirectory widget displays a multi selection\n            of\n            vocabulary entries in create or edit mode, with additional message\n            tag for errors, and the directory entries labels in other modes.\n          </p>\n        </description>\n        <demo id=\"selectManyCheckboxDirectoryWidget\" previewEnabled=\"true\" />\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"var\">item</property>\n            <property name=\"itemValue\">#{item.id}</property>\n            <property name=\"ordering\">label</property>\n            <property name=\"notDisplayDefaultOption\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryName</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directoryNameDemoPreview</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"view\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"selectManyCheckboxDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select_layout</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayIdAndLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_displayObsoleteEntries\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_notDisplayDefaultOption\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_ordering</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyle</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_cssStyleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.DirectorySelectManyCheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"list\">\n      <configuration>\n        <title>List</title>\n        <description>\n          <p>\n            The list widget displays an editable list of items in create or\n            edit mode, with additional message tag for errors, and the same list\n            of items in other modes. It is not usable within a list widget (see\n            sublist widget for this feature).\n          </p>\n          <p>Items are defined using sub wigdets configuration.</p>\n          <p>\n            This is actually a template widget type whose template uses a\n            &lt;nxu:inputList /&gt; tag in edit or create mode, and a table\n            iterating over items in other modes.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <demo id=\"listWidget\" previewEnabled=\"false\" />\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n            <type>date</type>\n            <type>blob</type>\n            <type>integer</type>\n            <type>double</type>\n            <type>boolean</type>\n            <type>complex</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>string</type>\n            <type>path</type>\n            <type>date</type>\n            <type>integer</type>\n            <type>double</type>\n            <type>boolean</type>\n            <type>complex</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"list_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">subwidgets_hideSubLabels</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"list_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_diff</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_hideDeleteButton</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_hideAddButton</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_listTemplateItem</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_removeEmpty</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_number</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">list_addLabel</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.ListWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/js_list_widget_template.xhtml</property>\n      <property name=\"compatTemplate\">/widgets/list_widget_template.xhtml</property>\n    </widgetType>\n\n    <widgetType name=\"complex\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Complex</title>\n        <description>\n          <p>\n            The complex widget displays its sub widgets, and is controlling of\n            a map-like. Each of the map items rendering is done through sub\n            widgets configuration.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <demo id=\"complexWidget\" previewEnabled=\"false\" />\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <fields>\n          <list>false</list>\n          <complex>true</complex>\n          <supportedTypes>\n            <type>complex</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>complex</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"complex_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">complex_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">subwidgets_hideSubLabels</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/complex_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"container\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Container</title>\n        <description>\n          <p>\n            The container widget displays its subwidgets with display options\n            to control the rendering of global div container as well as each\n            container of sub items, using the widget label as header.\n          </p>\n          <p>\n            If the widget is marked as handling labels (marker available on all\n            widgets since 5.6), the header will be displayed. Otherwise it will\n            never be displayed.\n          </p>\n          <p>\n            On version 5.6 (only this version), this widget also accepts custom\n            properties to add forms around some of its subwidgets. If the\n            property with name \"nxw_addForm_#{widgetIndex}\" is present and\n            resolves to true, then a form will be added around the subwidgets at\n            index #{widgetIndex}. For instance, adding a property\n            \"nxw_addForm_0\" with value true, the first subwidget will be\n            surrounded with a form.\n          </p>\n          <p>\n            From version 5.7, subwidgets hold this information directly, by\n            declaring a control with key \"addForm\" and value \"true\".\n          </p>\n          <p>\n            It will apply to the current value (e.g. the layout or parent\n            widget value) if no field definition is given.\n          </p>\n        </description>\n        <categories>\n          <category>decoration</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <handlingLabels>true</handlingLabels>\n        <supportedControls>\n          <control>requireSurroundingForm</control>\n          <control>useAjaxForm</control>\n          <control>handlingLabels</control>\n        </supportedControls>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"container_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">container_subwidgets_display</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">container_subwidgets_hideSubLabels\n                  </widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>headerStyleClass</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>subLabelStyleClass</widget>\n                </row>\n                <row>\n                  <widget>subStyleClass</widget>\n                </row>\n                <row>\n                  <widget>showIfEmpty</widget>\n                </row>\n                <row>\n                  <widget>tip</widget>\n                </row>\n              </rows>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the widget label will be\n                    displayed in a header of a box, containing the sub widgets\n                    rendering. This box is foldable in javascript. Ignored if\n                    the widget is not marked as handling labels as the header\n                    will not be displayed in this case. If label is empty, a\n                    default label will be shown. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, and property \"foldable\" is\n                    also set to true,\n                    the box will be folded by default. Defaults\n                    to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n              </widget>\n              <widget name=\"showIfEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the widget label will be\n                    displayed even if there are no subwidgets. Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showIfEmpty</field>\n                </fields>\n              </widget>\n              <widget name=\"tip\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Tip</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Label to display on top of the container\n                    widget content, that will be translated if the widget is\n                    translated. Available since 5.7.3.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>tip</field>\n                </fields>\n              </widget>\n              <widget name=\"headerStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Header style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the header, displaying this\n                    widget label.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>headerStyleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the global container div.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"subLabelStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub Label style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the sub widget label.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subLabelStyleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"subStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Style class for the container of each sub\n                    widget.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subStyleClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/container_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"checkbox\">\n      <configuration>\n        <title>Checkbox</title>\n        <description>\n          <p>\n            The checkbox widget displays a checkbox in create, edit and any\n            other mode, with additional message tag for errors.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:selectBooleanCheckbox /&gt; tag in create, edit mode, and\n            other modes.\n          </p>\n        </description>\n        <demo id=\"checkboxWidget\" previewEnabled=\"true\" />\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>boolean</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>boolean</type>\n          </defaultTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"checkbox_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"checkbox_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">accesskey</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">dir</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">disabled</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">lang</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.CheckboxWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"hidden\">\n      <configuration>\n        <title>Hidden</title>\n        <description>\n          <p>\n            The hidden widget is for a hidden field in create, edit and any\n            other mode, with additional message tag for errors.\n          </p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;h:inputHidden /&gt; tag in create, edit mode, and other modes.\n          </p>\n        </description>\n        <!-- demo does not present it (yet?) -->\n        <!--\n          <demo id=\"hiddenWidget\" previewEnabled=\"false\"/>\n        -->\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"hidden_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">style</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">title</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"hidden_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">immediate</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">validator</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">valueChangeListener</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.HiddenWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"layout\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Layout</title>\n        <description>\n          <p>The layout widget renders a layout.</p>\n          <p>\n            Widgets using this type can provide properties accepted on a\n            &lt;nxl:layout /&gt; tag in all modes.\n          </p>\n          <p>\n            Since 5.6, it will apply to the current value (e.g. the layout or\n            parent widget value) if no field definition is given.\n          </p>\n        </description>\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"layout_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>name</widget>\n                </row>\n                <row>\n                  <widget>nameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"name\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout name. Since 5.6, this attribute\n                    accepts a list of multiple layout names, separated by\n                    commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>name</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"nameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout name. Since 5.6, this attribute\n                    accepts a list of multiple layout names, separated by\n                    commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>name</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"mode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If not set, the mode is resolved from the\n                    usual widget mode. Otherwise it's taken instead when not\n                    empty. WARNING: Before 5.5, mode was not resolved from the\n                    widget mode, so this value was required.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>mode</field>\n                </fields>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.LayoutWidgetTypeHandler\n      </handler-class>\n    </widgetType>\n\n    <widgetType name=\"richtext_with_mimetype\">\n      <configuration>\n        <sinceVersion>5.3.1</sinceVersion>\n        <title>Richtext</title>\n        <description>\n          <p>\n            This widget displays an html text editor or a textarea in create or\n            edit mode, depending on the mimetype defined.\n          </p>\n          <p>\n            It accepts two fields bindings:\n            <ul>\n              <li>first field holds the text content</li>\n              <li>second field holds the text mimetype (text/plain,\n                text/html...)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <categories>\n          <!-- do not export with documents -->\n          <category>configuration_not_ready</category>\n          <!--\n            <category>document</category>\n          -->\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>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"richtext_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>cssClass</widget>\n                </row>\n              </rows>\n              <widget name=\"cssClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <fields>\n                  <field>cssClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"richtext_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>height</widget>\n                </row>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>cols</widget>\n                </row>\n                <row>\n                  <widget>rows</widget>\n                </row>\n                <row>\n                  <widget>editorSelector</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The textarea width. Defaults to \"700\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The textarea height. Defaults to \"400\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n              <widget name=\"cols\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Number of columns</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The cols attribute sets the number of\n                    columns to display.\n                    Available since 5.3.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cols</field>\n                </fields>\n              </widget>\n              <widget name=\"rows\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Number of rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The rows attribute sets the number of rows\n                    to display.\n                    Available since 5.3.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>rows</field>\n                </fields>\n              </widget>\n              <widget name=\"editorSelector\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Editor selector</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The class to use to identify text areas to\n                    turn into html\n                    editors. Defaults to \"mceEditor\". See the\n                    editor_selector\n                    option in tiny_mce\n                    (http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/editor_selector).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>editorSelector</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/richtext_with_mimetype_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"duration\">\n      <configuration>\n        <sinceVersion>5.3.2</sinceVersion>\n        <title>Duration</title>\n        <description>\n          This widget displays a i18n formatted duration of a field\n          holding a\n          value measured in seconds (can be Long, Double or String\n          valued). NB:\n          only view mode is supported right now.\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>int</type>\n            <type>double</type>\n          </supportedTypes>\n        </fields>\n        <!-- no props -->\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/duration_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"setVariable\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Set variable</title>\n        <description>\n          <p>\n            This widget exposes a variable to the context for\n            rendering,\n            allowing its sub widgets to reference it.\n          </p>\n          <p>\n            This is mostly useful to simplify resolution of a variable in sub\n            contexts, and benefit from caching on the variable resolution.\n          </p>\n        </description>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"set_variable_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>var</widget>\n                </row>\n                <row>\n                  <widget>value</widget>\n                </row>\n                <row>\n                  <widget>cache</widget>\n                </row>\n                <row>\n                  <widget>resolveTwice</widget>\n                </row>\n              </rows>\n              <widget name=\"var\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Variable name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The variable under which name the value will\n                    be exposed, making it available to sub widgets.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>var</field>\n                </fields>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"value\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Value</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The value to resolve for the variable name.\n                    The variable under which name the value will\n                    be exposed,\n                    making it available to sub widgets.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>value</field>\n                </fields>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"cache\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Cache</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean expressing if exposed value should\n                    be cached in the page.\n                    If set to true, the variable will be\n                    resolved only once per page rendering (or re-rendering in\n                    case of ajax requests). Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cache</field>\n                </fields>\n              </widget>\n              <widget name=\"resolveTwice\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Resolve twice</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean expressing if expression should be\n                    resolved twice: sometimes the expression uses a\n                    configuration element, and the first resolution of the\n                    expression will resolve to another expression, that may need\n                    to be itself evaluated again. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>resolveTwice</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>dev</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/set_variable_widget_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"disabledPropertyRefs\">\n    <documentation>\n      Configuration of properties disabled by default for reference\n      in EL expressions.\n    </documentation>\n\n    <disabledPropertyRef name=\"converter\"\n      widgetTypeCategory=\"jsf\" />\n    <disabledPropertyRef name=\"validator\"\n      widgetTypeCategory=\"jsf\" />\n\n    <!-- avoid bad interactions with JBoss-el size EL resolver... -->\n    <disabledPropertyRef name=\"size\" widgetTypeCategory=\"jsf\" />\n\n    <!-- rich:calendar does not resolve some attributes as EL expressions -->\n    <disabledPropertyRef name=\"showApplyButton\" widgetType=\"datetime\"\n      widgetTypeCategory=\"jsf\" />\n    <disabledPropertyRef name=\"defaultTime\" widgetType=\"datetime\"\n      widgetTypeCategory=\"jsf\" />\n    <disabledPropertyRef name=\"pattern\" widgetType=\"datetime\"\n      widgetTypeCategory=\"jsf\" />\n\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.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.properties/Contributions/org.nuxeo.ecm.platform.forms.layout.properties--configuration",
              "id": "org.nuxeo.ecm.platform.forms.layout.properties--configuration",
              "registrationOrder": 34,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <property name=\"nuxeo.jsf.listWidget.compatEnabled\">false</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Configuration property controlling enablement of layout tags\n      variables management, available mainly for backport on maintenance\n      branches, in case optimization broke some behaviors.\n\n      @since 8.2\n    \n",
              "documentationHtml": "<p>\nConfiguration property controlling enablement of layout tags\nvariables management, available mainly for backport on maintenance\nbranches, in case optimization broke some behaviors.\n</p><p>\n&#64;since 8.2\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.properties/Contributions/org.nuxeo.ecm.platform.forms.layout.properties--configuration1",
              "id": "org.nuxeo.ecm.platform.forms.layout.properties--configuration1",
              "registrationOrder": 35,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2023.9.10",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Configuration property controlling enablement of layout tags\n      variables management, available mainly for backport on maintenance\n      branches, in case optimization broke some behaviors.\n\n      @since 8.2\n    </documentation>\n    <property name=\"nuxeo.jsf.layout.removeAliasOptims\">false</property>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.properties",
          "name": "org.nuxeo.ecm.platform.forms.layout.properties",
          "requirements": [],
          "resolutionOrder": 370,
          "services": [],
          "startOrder": 328,
          "version": "2023.9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layout.properties\">\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <property name=\"nuxeo.jsf.listWidget.compatEnabled\">false</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Configuration property controlling enablement of layout tags\n      variables management, available mainly for backport on maintenance\n      branches, in case optimization broke some behaviors.\n\n      @since 8.2\n    </documentation>\n    <property name=\"nuxeo.jsf.layout.removeAliasOptims\">false</property>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-properties.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManagerImpl",
          "documentation": "\n    The web layout manager provides extension points for pluggable widget types\n    and layouts.\n\n    Layouts are groups of widgets controlling the rendering of (for instance) a\n    document fields display on a page. The layouts and widgets can be displayed\n    in a given mode (create, edit, view, etc...).\n\n    @version 1.0\n    @author Anahide Tchertchian (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe web layout manager provides extension points for pluggable widget types\nand layouts.\n</p><p>\nLayouts are groups of widgets controlling the rendering of (for instance) a\ndocument fields display on a page. The layouts and widgets can be displayed\nin a given mode (create, edit, view, etc...).\n</p><p>\n&#64;version 1.0\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "descriptors": [
                "org.nuxeo.ecm.platform.forms.layout.descriptors.WidgetTypeDescriptor"
              ],
              "documentation": "\n      A widget type defines how a widget will be displayed in a given mode.\n\n      For instance, the text widget type will display a regular text in view\n      mode, and a text input on create or edit modes, with additional message on\n      errors.\n\n      Widget types use facelets features to provide this behaviour. Extensions\n      are defined using a class that must follow the {@see\n      org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTypeHandler} interface.\n\n      Additional properties can be added to the type registration so that the\n      same class can be reused with a different behaviour given the property\n      value.\n\n      Example of a widget type registration:\n\n      <code>\n    <widgetType name=\"text\">\n        <handler-class>\n            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler\n          </handler-class>\n        <property name=\"foo\">bar</property>\n    </widgetType>\n</code>\n",
              "documentationHtml": "<p>\nA widget type defines how a widget will be displayed in a given mode.\n</p><p>\nFor instance, the text widget type will display a regular text in view\nmode, and a text input on create or edit modes, with additional message on\nerrors.\n</p><p>\nWidget types use facelets features to provide this behaviour. Extensions\nare defined using a class that must follow the {&#64;see\norg.nuxeo.ecm.platform.forms.layout.facelets.WidgetTypeHandler} interface.\n</p><p>\nAdditional properties can be added to the type registration so that the\nsame class can be reused with a different behaviour given the property\nvalue.\n</p><p>\nExample of a widget type registration:\n</p><p>\n</p><pre><code>    &lt;widgetType name&#61;&#34;text&#34;&gt;\n        &lt;handler-class&gt;\n            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler\n          &lt;/handler-class&gt;\n        &lt;property name&#61;&#34;foo&#34;&gt;bar&lt;/property&gt;\n    &lt;/widgetType&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/ExtensionPoints/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "id": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "label": "widgettypes (org.nuxeo.ecm.platform.forms.layout.WebLayoutManager)",
              "name": "widgettypes",
              "version": "2023.9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "descriptors": [
                "org.nuxeo.ecm.platform.forms.layout.descriptors.LayoutTypeDescriptor"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/ExtensionPoints/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouttypes",
              "id": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouttypes",
              "label": "layouttypes (org.nuxeo.ecm.platform.forms.layout.WebLayoutManager)",
              "name": "layouttypes",
              "version": "2023.9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "descriptors": [
                "org.nuxeo.ecm.platform.forms.layout.descriptors.LayoutDescriptor"
              ],
              "documentation": "\n      A layout is a group of widgets that defines the rendering of a document in\n      a given mode.\n\n      Default mode values are:\n\n      - view: the view mode;\n\n      - edit: the edit mode;\n\n      - create: the create mode;\n\n      - any: any mode; this is the default value in case no value is given for a\n      specific mode. When applying to lists of values, values given for this\n      mode will be merged with values given for the specific mode.\n\n      A specific mode is also accepted when specifying a widget mode: \"hidden\".\n      It is used to avoid rendering the widget at all.\n\n      Layout properties :\n\n      - name: the layout name; this is an identifier for this layout to the\n      layout service and it can be used in a document type definition.\n\n      - templates: a template can be provided to control the layout rendering.\n      Different layouts can be used given the mode. The test for the layout mode\n      can also be done in the template itself.\n\n      - properties: map of properties that will apply to the layout in a given\n      mode.\n\n      - rows/row: rows describe the organization of widgets within the layout.\n      Several widgets can be placed in the same row. When using the default\n      layout template, a table is used to display each row in a table row, and\n      widgets at the same row will be displayed on different columns in this\n      row.\n\n      - columns/column: aliases for rows/row, which is more intuitive when\n      defining layouts representing a table line.\n\n      - widgets: widgets with names used in the layout rows configuration. They\n      can hold specific properties given the widget type.\n\n      Widget generic properties:\n\n      - name: this is the widget identifier within this layout; it can be used\n      to reference this widget in the layout rows.\n\n      - type: the widget type defines how the widget will be displayed in a\n      given mode.\n\n      - labels: labels to use for the widget in a given mode.\n\n      - helpLabels: help labels to use for the widget in a given mode.\n\n      - widgetModes: mode to use for this widget given the layout/parent widget\n      (used to override the parent mode) ; can be useful, for instance, to state\n      that a field will only be displayed as \"read-only\" whatever the layout\n      mode.\n\n      - translated: true or false, defines if the widget labels and help labels\n      have to be translated (in case these labels should match jsf messages).\n\n      - fields: fields that will be taken into account when displaying/editing a\n      document field.\n\n      - properties: map of properties that will apply to the jsf component built\n      in a given mode by the widget type. For instance, in a text widget, all\n      properties defined in the view mode will be dealt as attributes on a\n      &lt;h:outputText /&gt; tag, and properties defined in the edit mode will\n      be dealt as attributes on a &lt;h:inputText /&gt; tag.\n\n      - subWidgets: list of sub widgets to use provided the widget type knows\n      how to handle them. each sub widget definition is like a widget\n      definition.\n\n      Example of layout using default widget types:\n\n      <code>\n    <layout name=\"heading\">\n        <templates>\n            <template mode=\"any\">\n              /layouts/layout_default_template.xhtml\n            </template>\n        </templates>\n        <properties mode=\"any\">\n            <property name=\"foo\">bar</property>\n        </properties>\n        <rows>\n            <row>\n                <widget>title</widget>\n            </row>\n            <row>\n                <widget>description</widget>\n            </row>\n        </rows>\n        <widget name=\"title\" type=\"text\">\n            <labels>\n                <label mode=\"any\">title</label>\n            </labels>\n            <translated>true</translated>\n            <fields>\n                <field>dc:title</field>\n            </fields>\n            <properties mode=\"edit\">\n                <property name=\"required\">true</property>\n            </properties>\n            <properties mode=\"create\">\n                <property name=\"required\">true</property>\n            </properties>\n        </widget>\n        <widget name=\"description\" type=\"textarea\">\n            <labels>\n                <label mode=\"any\">description</label>\n            </labels>\n            <translated>true</translated>\n            <fields>\n                <field>dc:description</field>\n            </fields>\n        </widget>\n    </layout>\n</code>\n",
              "documentationHtml": "<p>\nA layout is a group of widgets that defines the rendering of a document in\na given mode.\n</p><p>\nDefault mode values are:\n</p><p>\n- view: the view mode;\n</p><p>\n- edit: the edit mode;\n</p><p>\n- create: the create mode;\n</p><p>\n- any: any mode; this is the default value in case no value is given for a\nspecific mode. When applying to lists of values, values given for this\nmode will be merged with values given for the specific mode.\n</p><p>\nA specific mode is also accepted when specifying a widget mode: &#34;hidden&#34;.\nIt is used to avoid rendering the widget at all.\n</p><p>\nLayout properties :\n</p><p>\n- name: the layout name; this is an identifier for this layout to the\nlayout service and it can be used in a document type definition.\n</p><p>\n- templates: a template can be provided to control the layout rendering.\nDifferent layouts can be used given the mode. The test for the layout mode\ncan also be done in the template itself.\n</p><p>\n- properties: map of properties that will apply to the layout in a given\nmode.\n</p><p>\n- rows/row: rows describe the organization of widgets within the layout.\nSeveral widgets can be placed in the same row. When using the default\nlayout template, a table is used to display each row in a table row, and\nwidgets at the same row will be displayed on different columns in this\nrow.\n</p><p>\n- columns/column: aliases for rows/row, which is more intuitive when\ndefining layouts representing a table line.\n</p><p>\n- widgets: widgets with names used in the layout rows configuration. They\ncan hold specific properties given the widget type.\n</p><p>\nWidget generic properties:\n</p><p>\n- name: this is the widget identifier within this layout; it can be used\nto reference this widget in the layout rows.\n</p><p>\n- type: the widget type defines how the widget will be displayed in a\ngiven mode.\n</p><p>\n- labels: labels to use for the widget in a given mode.\n</p><p>\n- helpLabels: help labels to use for the widget in a given mode.\n</p><p>\n- widgetModes: mode to use for this widget given the layout/parent widget\n(used to override the parent mode) ; can be useful, for instance, to state\nthat a field will only be displayed as &#34;read-only&#34; whatever the layout\nmode.\n</p><p>\n- translated: true or false, defines if the widget labels and help labels\nhave to be translated (in case these labels should match jsf messages).\n</p><p>\n- fields: fields that will be taken into account when displaying/editing a\ndocument field.\n</p><p>\n- properties: map of properties that will apply to the jsf component built\nin a given mode by the widget type. For instance, in a text widget, all\nproperties defined in the view mode will be dealt as attributes on a\n&lt;h:outputText /&gt; tag, and properties defined in the edit mode will\nbe dealt as attributes on a &lt;h:inputText /&gt; tag.\n</p><p>\n- subWidgets: list of sub widgets to use provided the widget type knows\nhow to handle them. each sub widget definition is like a widget\ndefinition.\n</p><p>\nExample of layout using default widget types:\n</p><p>\n</p><pre><code>    &lt;layout name&#61;&#34;heading&#34;&gt;\n        &lt;templates&gt;\n            &lt;template mode&#61;&#34;any&#34;&gt;\n              /layouts/layout_default_template.xhtml\n            &lt;/template&gt;\n        &lt;/templates&gt;\n        &lt;properties mode&#61;&#34;any&#34;&gt;\n            &lt;property name&#61;&#34;foo&#34;&gt;bar&lt;/property&gt;\n        &lt;/properties&gt;\n        &lt;rows&gt;\n            &lt;row&gt;\n                &lt;widget&gt;title&lt;/widget&gt;\n            &lt;/row&gt;\n            &lt;row&gt;\n                &lt;widget&gt;description&lt;/widget&gt;\n            &lt;/row&gt;\n        &lt;/rows&gt;\n        &lt;widget name&#61;&#34;title&#34; type&#61;&#34;text&#34;&gt;\n            &lt;labels&gt;\n                &lt;label mode&#61;&#34;any&#34;&gt;title&lt;/label&gt;\n            &lt;/labels&gt;\n            &lt;translated&gt;true&lt;/translated&gt;\n            &lt;fields&gt;\n                &lt;field&gt;dc:title&lt;/field&gt;\n            &lt;/fields&gt;\n            &lt;properties mode&#61;&#34;edit&#34;&gt;\n                &lt;property name&#61;&#34;required&#34;&gt;true&lt;/property&gt;\n            &lt;/properties&gt;\n            &lt;properties mode&#61;&#34;create&#34;&gt;\n                &lt;property name&#61;&#34;required&#34;&gt;true&lt;/property&gt;\n            &lt;/properties&gt;\n        &lt;/widget&gt;\n        &lt;widget name&#61;&#34;description&#34; type&#61;&#34;textarea&#34;&gt;\n            &lt;labels&gt;\n                &lt;label mode&#61;&#34;any&#34;&gt;description&lt;/label&gt;\n            &lt;/labels&gt;\n            &lt;translated&gt;true&lt;/translated&gt;\n            &lt;fields&gt;\n                &lt;field&gt;dc:description&lt;/field&gt;\n            &lt;/fields&gt;\n        &lt;/widget&gt;\n    &lt;/layout&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/ExtensionPoints/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "id": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "label": "layouts (org.nuxeo.ecm.platform.forms.layout.WebLayoutManager)",
              "name": "layouts",
              "version": "2023.9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "descriptors": [
                "org.nuxeo.ecm.platform.forms.layout.descriptors.WidgetDescriptor"
              ],
              "documentation": "\n      Since 5.1.7 and 5.2.0, a widget can be defined globally in the\n      application.\n\n      Layouts can reference global widgets in their row definition without\n      having to redefine them in their widgets definitions. The widget with\n      given name will be searched in this global registry only if it is not\n      found in the layout definition.\n    \n",
              "documentationHtml": "<p>\nSince 5.1.7 and 5.2.0, a widget can be defined globally in the\napplication.\n</p><p>\nLayouts can reference global widgets in their row definition without\nhaving to redefine them in their widgets definitions. The widget with\ngiven name will be searched in this global registry only if it is not\nfound in the layout definition.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/ExtensionPoints/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "id": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "label": "widgets (org.nuxeo.ecm.platform.forms.layout.WebLayoutManager)",
              "name": "widgets",
              "version": "2023.9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "descriptors": [
                "org.nuxeo.ecm.platform.forms.layout.service.DisabledPropertyRefDescriptor"
              ],
              "documentation": "\n      Since 5.6, makes it possible to define what properties should\n      not be referenced using EL expressions.\n    \n",
              "documentationHtml": "<p>\nSince 5.6, makes it possible to define what properties should\nnot be referenced using EL expressions.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/ExtensionPoints/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--disabledPropertyRefs",
              "id": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--disabledPropertyRefs",
              "label": "disabledPropertyRefs (org.nuxeo.ecm.platform.forms.layout.WebLayoutManager)",
              "name": "disabledPropertyRefs",
              "version": "2023.9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
          "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
          "requirements": [
            "org.nuxeo.ecm.platform.forms.layout.LayoutStore"
          ],
          "resolutionOrder": 372,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client/org.nuxeo.ecm.platform.forms.layout.WebLayoutManager/Services/org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManager",
              "id": "org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManager",
              "overriden": false,
              "version": "2023.9.10"
            }
          ],
          "startOrder": 849,
          "version": "2023.9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n  <documentation>\n    The web layout manager provides extension points for pluggable widget types\n    and layouts.\n\n    Layouts are groups of widgets controlling the rendering of (for instance) a\n    document fields display on a page. The layouts and widgets can be displayed\n    in a given mode (create, edit, view, etc...).\n\n    @version 1.0\n    @author Anahide Tchertchian (at@nuxeo.com)\n  </documentation>\n\n  <require>org.nuxeo.ecm.platform.forms.layout.LayoutStore</require>\n\n  <implementation\n    class=\"org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManagerImpl\" />\n\n  <service>\n    <provide\n      interface=\"org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManager\" />\n  </service>\n\n  <extension-point name=\"widgettypes\">\n    <documentation>\n      A widget type defines how a widget will be displayed in a given mode.\n\n      For instance, the text widget type will display a regular text in view\n      mode, and a text input on create or edit modes, with additional message on\n      errors.\n\n      Widget types use facelets features to provide this behaviour. Extensions\n      are defined using a class that must follow the {@see\n      org.nuxeo.ecm.platform.forms.layout.facelets.WidgetTypeHandler} interface.\n\n      Additional properties can be added to the type registration so that the\n      same class can be reused with a different behaviour given the property\n      value.\n\n      Example of a widget type registration:\n\n      <code>\n        <widgetType name=\"text\">\n          <handler-class>\n            org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TextWidgetTypeHandler\n          </handler-class>\n          <property name=\"foo\">bar</property>\n        </widgetType>\n      </code>\n\n    </documentation>\n    <object\n      class=\"org.nuxeo.ecm.platform.forms.layout.descriptors.WidgetTypeDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"layouttypes\">\n    <object\n      class=\"org.nuxeo.ecm.platform.forms.layout.descriptors.LayoutTypeDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"layouts\">\n    <documentation>\n      A layout is a group of widgets that defines the rendering of a document in\n      a given mode.\n\n      Default mode values are:\n\n      - view: the view mode;\n\n      - edit: the edit mode;\n\n      - create: the create mode;\n\n      - any: any mode; this is the default value in case no value is given for a\n      specific mode. When applying to lists of values, values given for this\n      mode will be merged with values given for the specific mode.\n\n      A specific mode is also accepted when specifying a widget mode: \"hidden\".\n      It is used to avoid rendering the widget at all.\n\n      Layout properties :\n\n      - name: the layout name; this is an identifier for this layout to the\n      layout service and it can be used in a document type definition.\n\n      - templates: a template can be provided to control the layout rendering.\n      Different layouts can be used given the mode. The test for the layout mode\n      can also be done in the template itself.\n\n      - properties: map of properties that will apply to the layout in a given\n      mode.\n\n      - rows/row: rows describe the organization of widgets within the layout.\n      Several widgets can be placed in the same row. When using the default\n      layout template, a table is used to display each row in a table row, and\n      widgets at the same row will be displayed on different columns in this\n      row.\n\n      - columns/column: aliases for rows/row, which is more intuitive when\n      defining layouts representing a table line.\n\n      - widgets: widgets with names used in the layout rows configuration. They\n      can hold specific properties given the widget type.\n\n      Widget generic properties:\n\n      - name: this is the widget identifier within this layout; it can be used\n      to reference this widget in the layout rows.\n\n      - type: the widget type defines how the widget will be displayed in a\n      given mode.\n\n      - labels: labels to use for the widget in a given mode.\n\n      - helpLabels: help labels to use for the widget in a given mode.\n\n      - widgetModes: mode to use for this widget given the layout/parent widget\n      (used to override the parent mode) ; can be useful, for instance, to state\n      that a field will only be displayed as \"read-only\" whatever the layout\n      mode.\n\n      - translated: true or false, defines if the widget labels and help labels\n      have to be translated (in case these labels should match jsf messages).\n\n      - fields: fields that will be taken into account when displaying/editing a\n      document field.\n\n      - properties: map of properties that will apply to the jsf component built\n      in a given mode by the widget type. For instance, in a text widget, all\n      properties defined in the view mode will be dealt as attributes on a\n      &lt;h:outputText /&gt; tag, and properties defined in the edit mode will\n      be dealt as attributes on a &lt;h:inputText /&gt; tag.\n\n      - subWidgets: list of sub widgets to use provided the widget type knows\n      how to handle them. each sub widget definition is like a widget\n      definition.\n\n      Example of layout using default widget types:\n\n      <code>\n        <layout name=\"heading\">\n          <templates>\n            <template mode=\"any\">\n              /layouts/layout_default_template.xhtml\n            </template>\n          </templates>\n          <properties mode=\"any\">\n            <property name=\"foo\">bar</property>\n          </properties>\n          <rows>\n            <row>\n              <widget>title</widget>\n            </row>\n            <row>\n              <widget>description</widget>\n            </row>\n          </rows>\n          <widget name=\"title\" type=\"text\">\n            <labels>\n              <label mode=\"any\">title</label>\n            </labels>\n            <translated>true</translated>\n            <fields>\n              <field>dc:title</field>\n            </fields>\n            <properties mode=\"edit\">\n              <property name=\"required\">true</property>\n            </properties>\n            <properties mode=\"create\">\n              <property name=\"required\">true</property>\n            </properties>\n          </widget>\n          <widget name=\"description\" type=\"textarea\">\n            <labels>\n              <label mode=\"any\">description</label>\n            </labels>\n            <translated>true</translated>\n            <fields>\n              <field>dc:description</field>\n            </fields>\n          </widget>\n        </layout>\n      </code>\n\n    </documentation>\n    <object\n      class=\"org.nuxeo.ecm.platform.forms.layout.descriptors.LayoutDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"widgets\">\n\n    <documentation>\n      Since 5.1.7 and 5.2.0, a widget can be defined globally in the\n      application.\n\n      Layouts can reference global widgets in their row definition without\n      having to redefine them in their widgets definitions. The widget with\n      given name will be searched in this global registry only if it is not\n      found in the layout definition.\n    </documentation>\n\n    <object\n      class=\"org.nuxeo.ecm.platform.forms.layout.descriptors.WidgetDescriptor\" />\n  </extension-point>\n\n  <extension-point name=\"disabledPropertyRefs\">\n\n    <documentation>\n      Since 5.6, makes it possible to define what properties should\n      not be referenced using EL expressions.\n    </documentation>\n\n    <object\n      class=\"org.nuxeo.ecm.platform.forms.layout.service.DisabledPropertyRefDescriptor\" />\n\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-framework.xml",
          "xmlPureComponent": false
        }
      ],
      "fileName": "nuxeo-platform-forms-layout-client-2023.9.10.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.platform.forms.layout/org.nuxeo.ecm.platform.forms.layout.client",
      "id": "org.nuxeo.ecm.platform.forms.layout.client",
      "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.10\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 2023.9.10-t20240318-112110\r\nBundle-Name: Nuxeo ECM Layout Client Fragment\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.forms.layout.client;singleto\r\n n:=true\r\nBundle-Vendor: Nuxeo\r\nBundle-Category: stateless\r\nRequire-Bundle: org.nuxeo.ecm.platform.forms.layout.api,org.nuxeo.ecm.co\r\n re.api\r\nNuxeo-Component: OSGI-INF/layouts-framework.xml,OSGI-INF/layouts-dev-con\r\n trib.xml,OSGI-INF/layouts-contrib.xml,OSGI-INF/layouts-properties.xml\r\n\r\n",
      "maxResolutionOrder": 372,
      "minResolutionOrder": 368,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [
        "org.nuxeo.ecm.platform.forms.layout.api",
        "org.nuxeo.ecm.core.api"
      ],
      "version": "2023.9.10"
    }
  ],
  "creationDate": 1710762362683,
  "key": "Nuxeo Platform-2023.9",
  "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.9.10",
      "id": "nuxeo-jsf-ui-2023.9.10",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2023.9.10"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1710762362683,
  "version": "2023.9"
}