Platform Explorer / Nuxeo Platform LTS 2015 7.10

Component org.nuxeo.ecm.platform.forms.layouts.webapp

Services

Extension points

Contributions

XML source

<?xml version="1.0"?>

<component name="org.nuxeo.ecm.platform.forms.layouts.webapp">

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgettypes">

    <widgetType name="info_box">
      <configuration>
        <sinceVersion>6.0</sinceVersion>
        <title>Info box</title>
        <description>
          <p>
            This widget displays common information about the document, like
            creation date, creator, version, state, contributors, ...
          </p>
        </description>
        <categories>
          <category>summary</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <!-- no configurable properties -->
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/info_box_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="extendedFile">
      <configuration>
        <sinceVersion>7.3</sinceVersion>
        <title>Extended File</title>
        <description>
          <p>
            The file widget displays a file uploader/editor in create or edit
            mode, with additional message tag for errors, and a link to the file
            in other modes.
          </p>
          <p>
            Widgets using this type can provide properties accepted on a
            &lt;nxu:inputFile /&gt; tag in create or edit mode, and properties
            accepted on a &lt;nxu:outputFile /&gt; tag in other modes.
          </p>
        </description>
        <categories>
          <category>configuration_not_ready</category>
        </categories>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>blob</type>
          </supportedTypes>
        </fields>
        <properties>
          <layouts mode="view">
            <layout name="file_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">file_downloadLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">file_iconRendered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="file_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">file_downloadLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">file_iconRendered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <property name="template">/widgets/extended_file_widget.xhtml</property>
    </widgetType>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgets">

    <widget name="nature" type="suggestOneDirectory">
      <labels>
        <label mode="any">label.dublincore.nature</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:nature</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.nature?'hidden':'view'}</mode>
      </widgetModes>
      <properties mode="any">
        <property name="width">100%</property>
        <property name="minChars">0</property>
        <property name="hideHelpLabel">true</property>
        <property name="directoryName">nature</property>
        <property name="localize">true</property>
      </properties>
    </widget>

    <widget name="subjects" type="suggestManyDirectory">
      <labels>
        <label mode="any">label.dublincore.subject</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.dublincore.subjects.info</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>dc:subjects</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.subjects?'hidden':'view'}</mode>
      </widgetModes>
      <properties mode="any">
        <property name="width">100%</property>
        <property name="dbl10n">true</property>
        <property name="minChars">0</property>
        <property name="hideHelpLabel">true</property>
        <property name="directoryName">l10nsubjects</property>
      </properties>
    </widget>

    <widget name="rights" type="text">
      <labels>
        <label mode="any">label.dublincore.rights</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:rights</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.rights?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="source" type="text">
      <labels>
        <label mode="any">label.dublincore.source</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:source</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.source?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="coverage" type="suggestOneDirectory">
      <labels>
        <label mode="any">label.dublincore.coverage</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.dublincore.coverage.info</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>dc:coverage</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.coverage?'hidden':'view'}</mode>
      </widgetModes>
      <properties mode="any">
        <property name="width">100%</property>
        <property name="dbl10n">true</property>
        <property name="minChars">0</property>
        <property name="hideHelpLabel">true</property>
        <property name="directoryName">l10ncoverage</property>
      </properties>
    </widget>

    <widget name="created" type="datetime">
      <labels>
        <label mode="any">label.dublincore.created</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:created</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.created?'hidden':'view'}</mode>
        <mode value="any">view</mode>
        <mode value="pdf">pdf</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="pattern">#{nxu:basicDateAndTimeFormatter()}</property>
      </properties>
    </widget>

    <widget name="modified" type="datetime">
      <labels>
        <label mode="any">label.dublincore.modified</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:modified</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.modified?'hidden':'view'}</mode>
        <mode value="any">view</mode>
        <mode value="pdf">pdf</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="pattern">#{nxu:basicDateAndTimeFormatter()}</property>
      </properties>
    </widget>

    <widget name="format" type="text">
      <labels>
        <label mode="any">label.dublincore.format</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:format</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.format?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="language" type="text">
      <labels>
        <label mode="any">label.dublincore.language</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:language</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.language?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="expired" type="datetime">
      <labels>
        <label mode="any">label.dublincore.expired</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:expired</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.expired?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="pattern">#{nxu:basicDateFormatter()}</property>
      </properties>
      <properties widgetMode="edit">
        <property name="format">#{nxu:basicDateFormatter()}</property>
      </properties>
    </widget>

    <widget name="author" type="template">
      <labels>
        <label mode="any">label.dublincore.creator</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.dublincore.author.info</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>dc:creator</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.creator?'hidden':'view'}</mode>
        <mode value="any">view</mode>
        <mode value="pdf">pdf</mode>
      </widgetModes>
      <properties mode="any">
        <property name="template">
          /widgets/single_user_widget_template.xhtml
        </property>
      </properties>
    </widget>

    <widget name="contributors" type="template">
      <labels>
        <label mode="any">label.dublincore.contributors</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.dublincore.contributors.info</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>dc:contributors</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.contributors?'hidden':'view'}
        </mode>
      </widgetModes>
      <properties mode="any">
        <property name="template">/widgets/contributors_widget.xhtml</property>
      </properties>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="lastContributor" type="template">
      <labels>
        <label mode="any">label.dublincore.lastContributor</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.dublincore.lastContributor.info</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>dc:lastContributor</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.lastContributor?'hidden':'view'}
        </mode>
        <mode value="any">view</mode>
        <mode value="pdf">pdf</mode>
      </widgetModes>
      <properties mode="any">
        <property name="template">
          /widgets/single_user_widget_template.xhtml
        </property>
      </properties>
    </widget>

    <widget name="title" type="text">
      <labels>
        <label mode="any">title</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:title</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.title?'hidden':'view'}</mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="required">true</property>
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="description" type="textarea">
      <labels>
        <label mode="any">description</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>dc:description</field>
      </fields>
      <widgetModes>
        <mode value="view_summary">#{empty layoutValue.dc.description?'hidden':'view'}
        </mode>
      </widgetModes>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="file" type="extendedFile">
      <labels>
        <label mode="any">label.file.content</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>file:content</field>
        <field>file:filename</field>
      </fields>
    </widget>

    <widget name="note" type="richtext_with_mimetype">
      <labels>
        <label mode="any">note</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>note:note</field>
        <field>note:mime_type</field>
      </fields>
    </widget>

    <widget name="files" type="template">
      <labels>
        <label mode="any">label.files.files</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field schema="files">files</field>
      </fields>
      <properties mode="any">
        <property name="template">
          /widgets/files_list_widget_template.xhtml
        </property>
      </properties>
      <properties widgetMode="edit">
        <property name="diff">true</property>
      </properties>
      <subWidgets>
        <widget name="file" type="template">
          <labels>
            <label mode="any"></label>
          </labels>
          <fields>
            <field>file</field>
            <field>filename</field>
          </fields>
          <properties mode="any">
            <property name="template">
              /widgets/extended_subfile_widget.xhtml
            </property>
          </properties>
          <properties widgetMode="edit">
            <property name="required">true</property>
          </properties>
        </widget>
      </subWidgets>
    </widget>

    <widget name="header_title_and_permlink" type="title_and_permlink">
      <fields>
        <field></field>
      </fields>
      <labels>
        <label mode="any"></label>
      </labels>
    </widget>

    <widget name="header_description" type="textarea">
      <widgetModes>
        <mode value="any">
          #{currentDocument.folder==false or empty
          currentDocument.dublincore.description ?'hidden':mode}
        </mode>
      </widgetModes>
      <fields>
        <field>dc:description</field>
      </fields>
      <labels>
        <label mode="any"></label>
      </labels>
      <properties mode="any">
        <property name="styleClass">
          currentDocumentDescription quote
        </property>
      </properties>
    </widget>

    <widget name="bulk_collections" type="multipleDocumentsSuggestion">
      <labels>
        <label mode="any">label.collections</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>contextData['request/bulk_collections']</field>
      </fields>
      <properties widgetMode="any">
        <property name="minChars">0</property>
        <property name="hideHelpLabel">true</property>
        <property name="restoreSeamCtx">false</property>
        <property name="placeholder">label.addToCollection.collection.placeHolder</property>
        <property name="operationId">Collection.Suggestion</property>
        <property name="selectionFormatter">formatSelectedCollection</property>
        <property name="suggestionFormatter">formatSuggestedCollection</property>
        <property name="documentSchemas">dublincore,common</property>
      </properties>
    </widget>

    <widget name="bulk_tags" type="select_tags">
      <labels>
        <label mode="any">label.search.tagSearch</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>contextData['request/bulk_tags']</field>
      </fields>
      <properties widgetMode="edit">
        <property name="canSelectNewTag">true</property>
        <property name="placeholder">
          #{messages['label.search.tags.placeholder']}
        </property>
      </properties>
    </widget>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="layouts">

    <layout name="heading">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>title</widget>
        </row>
        <row>
          <widget>description</widget>
        </row>
      </rows>
    </layout>

    <layout name="dublincore">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>nature</widget>
        </row>
        <row>
          <widget>subjects</widget>
        </row>
        <row>
          <widget>rights</widget>
        </row>
        <row>
          <widget>source</widget>
        </row>
        <row>
          <widget>coverage</widget>
        </row>
        <row>
          <widget>created</widget>
        </row>
        <row>
          <widget>modified</widget>
        </row>
        <row>
          <widget>format</widget>
        </row>
        <row>
          <widget>language</widget>
        </row>
        <row>
          <widget>expired</widget>
        </row>
        <row>
          <widget>author</widget>
        </row>
        <row>
          <widget>contributors</widget>
        </row>
        <row>
          <widget>lastContributor</widget>
        </row>
      </rows>

    </layout>

    <layout name="file">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>file</widget>
        </row>
      </rows>
    </layout>

    <layout name="note">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>note</widget>
        </row>
      </rows>
    </layout>

    <layout name="files">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>files</widget>
        </row>
      </rows>
    </layout>

    <layout name="document_header">
      <templates>
        <template mode="any">/layouts/layout_div_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>header_title_and_permlink</widget>
        </row>
        <row>
          <widget>header_description</widget>
        </row>
      </rows>
    </layout>


    <layout name="dndEdit">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>nature</widget>
        </row>
        <row>
          <widget>subjects</widget>
        </row>
        <row>
          <widget>rights</widget>
        </row>
        <row>
          <widget>source</widget>
        </row>
        <row>
          <widget>coverage</widget>
        </row>
        <row>
          <widget>format</widget>
        </row>
        <row>
          <widget>language</widget>
        </row>
        <row>
          <widget>expired</widget>
        </row>
      </rows>

    </layout>

    <layout name="bulkEdit@edit">
      <templates>
        <template mode="any">/layouts/layout_bulkedit_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>bulk_tags</widget>
        </row>
        <row>
          <widget>bulk_collections</widget>
        </row>
        <row>
          <widget>nature</widget>
        </row>
        <row>
          <widget>subjects</widget>
        </row>
        <row>
          <widget>coverage</widget>
        </row>
        <row>
          <widget>expired</widget>
        </row>
        <row>
          <widget>rights</widget>
        </row>
        <row>
          <widget>source</widget>
        </row>
        <row>
          <widget>format</widget>
        </row>
        <row>
          <widget>language</widget>
        </row>
      </rows>
    </layout>

    <layout name="bulkImport@create">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml</template>
      </templates>
      <rows>
        <row>
          <widget>bulk_tags</widget>
        </row>
        <row>
          <widget>bulk_collections</widget>
        </row>
        <row>
          <widget>nature</widget>
        </row>
        <row>
          <widget>subjects</widget>
        </row>
        <row>
          <widget>coverage</widget>
        </row>
      </rows>
    </layout>
  </extension>

</component>

Documentation