Platform Explorer / Nuxeo Platform LTS 2015 7.10

Component org.nuxeo.ecm.diff.service.DiffDisplayService

Implementation

Javadoc: org.nuxeo.ecm.diff.service.impl.DiffDisplayServiceImpl

Services

Extension points

Contributions

XML source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.diff.service.DiffDisplayService">

  <documentation>
    This service provides an extension point to manage
    document diff display.

    @author
    Antoine Taillefer
  </documentation>

  <implementation class="org.nuxeo.ecm.diff.service.impl.DiffDisplayServiceImpl" />

  <service>
    <provide interface="org.nuxeo.ecm.diff.service.DiffDisplayService" />
  </service>

  <extension-point name="diffDefaultDisplay">

    <documentation>
      <pre>
        The diffDefaultDisplay extension point allows you to
        contribute a diffExcludedFields contribution to define a
        set of
        fields from a given schema that will be
        excluded from the default
        diff display in the document diff view
        (the default diff display
        takes into account every different field of every common schema
        between the compared
        documents, in an undefined order).

        If no
        fields are specified, the whole schema is excluded.
      </pre>
      <code>
        <diffExcludedFields schema="common" />
        <diffExcludedFields schema="dublincore">
          <fields>
            <field name="subjects" />
            <field name="modified" />
          </fields>
        </diffExcludedFields>
      </code>
    </documentation>
    <object class="org.nuxeo.ecm.diff.service.impl.DiffExcludedFieldsDescriptor" />

    <documentation>
      <pre>
        The diffDefaultDisplay extension point also allows you to
        contribute a diffComplexField contribution to define
        a set of
        items from a given complex property that will be
        included or
        excluded from the default
        diff display in the
        document diff view.
        Order matters for included items.
      </pre>
      <code>
        <diffComplexField schema="complextypes" name="complex">
          <includedItems>
            <item name="dateItem" />
            <item name="stringItem" />
          </includedItems>
        </diffComplexField>

        <diffComplexField schema="complextypes" name="complexList">
          <excludedItems>
            <item name="stringItem" />
            <item name="dateItem" />
          </excludedItems>
        </diffComplexField>
      </code>
    </documentation>
    <object class="org.nuxeo.ecm.diff.service.impl.DiffComplexFieldDescriptor" />

  </extension-point>


  <extension-point name="diffDisplay">
    <documentation>

      <pre>
        A diffDisplay contribution defines which diffBlocks will be
        displayed in the document diff view for a given
        document type.
        The order matters.

        If the 2 diffed documents have the same type,
        the diffDisplay matching this type
        is used, otherwise or if such
        a diffDisplay does not exist, the default diff display is used.
        The default diff
        display
        takes into account every different field
        of every common schema between the
        compared documents, in an
        undefined order.
      </pre>

      <code>
        <diffDisplay type="File">
          <diffBlocks>
            <diffBlock name="dublincore" />
            <diffBlock name="files" />
          </diffBlocks>
        </diffDisplay>
        <diffDisplay type="Note" enabled="false" />
      </code>

    </documentation>
    <object class="org.nuxeo.ecm.diff.service.impl.DiffDisplayDescriptor" />
  </extension-point>

  <extension-point name="diffBlock">
    <documentation>

      <pre>
        A diffBlock contribution defines which fields will be
        displayed in the diff display block.
        The order matters.

        For
        complex types, items can be
        defined to specifiy which sub-fields
        must be displayed and in which order.
      </pre>

      <code>
        <diffBlock name="dublincore" label="label.diffBlock.dublincore">
          <fields>
            <field schema="dublincore" name="description" />
            <field schema="dublincore" name="coverage" />
            <field schema="dublincore" name="created" />
            <field schema="dublincore" name="modified" />
          </fields>
        </diffBlock>
        <diffBlock name="files" label="label.diffBlock.files">
          <fields>
            <field schema="file" name="content" displayContentDiffLinks="true" />
            <field schema="files" name="files">
              <items>
                <!-- Display the file only, not the filename which is managed by the file widget type -->
                <item name="file" displayContentDiffLinks="true" />
              </items>
            </field>
          </fields>
        </diffBlock>
      </code>

    </documentation>
    <object class="org.nuxeo.ecm.diff.service.impl.DiffBlockDescriptor" />
  </extension-point>

</component>

Documentation

This service provides an extension point to manage document diff display.

Antoine Taillefer