Platform Explorer / Nuxeo Platform 5.6

Component org.nuxeo.platform.admin.layoutContrib

Services

Extension points

Contributions

XML source

<?xml version="1.0"?>
<component name="org.nuxeo.platform.admin.layoutContrib">

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

    <layout name="fullauditsearch">
      <templates>
        <template mode="any">
          /layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>startDate</widget>
          <widget>endDate</widget>
        </row>
        <row>
          <widget>eventId</widget>
          <widget>eventCategory</widget>
        </row>
        <row>
          <widget>userId</widget>
        </row>
      </rows>
      <widget name="startDate" type="datetime">
        <labels>
          <label mode="any">label.audit.startDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:startDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="endDate" type="datetime">
        <labels>
          <label mode="any">label.audit.endDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:endDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="eventId" type="selectManyDirectory">
        <labels>
          <label mode="any">label.performedAction</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:eventIds</field>
        </fields>
        <properties mode="any">
          <property name="directoryName">eventTypes</property>
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventCategory" type="selectOneDirectory">
        <labels>
          <label mode="any">label.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:eventCategory</field>
        </fields>
        <properties mode="any">
          <property name="directoryName">eventCategories</property>
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="userId" type="singleUserSuggestion">
        <labels>
          <label mode="any">label.username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:principalName</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
        <properties mode="any">
          <property name="userSuggestionSearchType">USER_TYPE</property>
        </properties>
      </widget>
    </layout>

    <!-- TODO: define global widgets to be shared with event logs displayed in document
      tabs -->
    <layout name="event_listing">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml
        </template>
        <template mode="csv">/layouts/layout_listing_csv_template.xhtml
        </template>
        <template mode="pdf">/layouts/layout_listing_pdf_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="showListingHeader">true</property>
        <property name="showRowEvenOddClass">true</property>
      </properties>
      <columns>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">eventId</property>
          </properties>
          <widget>eventId</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.eventDate</property>
          </properties>
          <widget>eventDate</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.principalName</property>
          </properties>
          <widget>username</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.category</property>
          </properties>
          <widget>eventCategory</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventDoc</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventComment</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventLC</widget>
        </column>
      </columns>
      <widget name="eventId" type="text">
        <labels>
          <label mode="any">label.performedAction</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventId</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventDate" type="datetime">
        <labels>
          <label mode="any">label.date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventDate</field>
        </fields>
        <properties widgetMode="any">
          <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
          <property name="timezone">#{timeZone}</property>
        </properties>
        <properties mode="csv">
          <property name="csv_formatMask">#{nxu:basicDateFormater()}</property>
          <property name="csv_forceType">date</property>
        </properties>
      </widget>
      <widget name="username" type="text">
        <labels>
          <label mode="any">label.username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.principalName</field>
        </fields>
      </widget>
      <widget name="eventCategory" type="text">
        <labels>
          <label mode="any">label.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data:category</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventDoc" type="template">
        <labels>
          <label mode="any">label.document</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /widgets/auditdoc_widget_template.xhtml
          </property>
        </properties>
      </widget>
      <widget name="eventComment" type="text">
        <labels>
          <label mode="any">label.comment</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.comment</field>
        </fields>
      </widget>
      <widget name="eventLC" type="text">
        <labels>
          <label mode="any">label.lifecycle</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.docLifeCycle</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
    </layout>

    <!-- TODO: debug/dev mode -->
    <layout name="admin_setup_main">
      <templates>
        <template mode="any">
          /incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.mainSetup</property>
      </properties>
      <rows>
        <row>
          <widget>url</widget>
        </row>
        <row>
          <widget>product.name</widget>
        </row>
        <row>
          <widget>product.version</widget>
        </row>
        <row>
          <widget>bind.address</widget>
        </row>
        <row>
          <widget>nuxeo.conf</widget>
        </row>
        <row>
          <widget>data.dir</widget>
        </row>
        <row>
          <widget>log.dir</widget>
        </row>
        <row>
          <widget>org.nuxeo.dev</widget>
        </row>
        <row>
          <widget>dbtemplate</widget>
        </row>
        <row>
          <widget>database_ajax_decorator</widget>
        </row>
      </rows>
      <widget name="url" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.url</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.url']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="product.name" type="text">
        <labels>
          <label mode="any">label.setup.org.nuxeo.ecm.product.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.ecm.product.name']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="product.version" type="text">
        <labels>
          <label mode="any">label.setup.org.nuxeo.ecm.product.version</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.ecm.product.version']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="bind.address" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.bind.address</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.bind.address']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="nuxeo.conf" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.conf</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.conf']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="data.dir" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.data.dir</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.data.dir']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="log.dir" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.log.dir</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.log.dir']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="org.nuxeo.dev" type="template">
        <labels>
          <label mode="any">label.setup.nuxeo.org.nuxeo.dev</label>
        </labels>
        <helpLabels>
          <label mode="any">label.setup.nuxeo.org.nuxeo.dev.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.dev']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/dev_mode_widget_template.xhtml
          </property>
        </properties>
      </widget>
      <widget name="dbtemplate" type="template">
        <labels>
          <label mode="any">label.setup.database.templates</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.dbtemplate']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_chooser_widget_template.xhtml
          </property>
          <property name="reRender">database_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="database_ajax_decorator" type="template">
        <handlingLabels>true</handlingLabels>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_ajax_panel.xhtml
          </property>
          <property name="ajaxPanelId">database_ajaxPanel</property>
          <!-- use a 'rendered' property instead of playing with the
            subwidget mode otherwise proxy selection misbehaves after
            first non-default database
            selection -->
          <property name="rendered">
            #{value['nuxeo.dbtemplate']!='default'}
          </property>
        </properties>
        <subWidgets>
          <widget name="database" type="layout">
            <properties mode="any">
              <property name="name">admin_setup_database</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>

    </layout>

    <layout name="admin_setup_database">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.dataBase</property>
      </properties>
      <rows>
        <row>
          <widget>dbName</widget>
        </row>
        <row>
          <widget>dbUser</widget>
        </row>
        <row>
          <widget>dbPwd</widget>
        </row>
        <row>
          <widget>dbHost</widget>
        </row>
        <row>
          <widget>dbPort</widget>
        </row>
        <row>
          <widget>dbMinPoolSize</widget>
        </row>
        <row>
          <widget>dbMaxPoolSize</widget>
        </row>
        <row>
          <widget>vcsMinPoolSize</widget>
        </row>
        <row>
          <widget>vcsMaxPoolSize</widget>
        </row>
        <row>
          <widget>checkDatabaseParameters</widget>
        </row>
      </rows>
      <widget name="dbName" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.name']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbUser" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.user']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbPwd" type="secret">
        <labels>
          <label mode="any">label.setup.nuxeo.db.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.password']</field>
        </fields>
      </widget>
      <widget name="dbHost" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.host']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbPort" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
        </properties>
      </widget>
      <widget name="dbMinPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.min-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.min-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="dbMaxPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.max-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.max-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="vcsMinPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.vcs.min-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.vcs.min-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="vcsMaxPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.vcs.max-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.vcs.max-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="checkDatabaseParameters" type="template">
        <labels>
          <label mode="any"></label>
        </labels>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_check_parameters_template.xhtml
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="admin_choose_proxy">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.httpProxy</property>
        <property name="ajaxPanelId">admin_choose_proxy_ajaxPanel</property>
      </properties>
      <rows>
        <row>
          <widget>chooseProxy</widget>
        </row>
        <row>
          <widget>proxy.host</widget>
        </row>
        <row>
          <widget>proxy.port</widget>
        </row>
        <row>
          <widget>proxy.login</widget>
        </row>
        <row>
          <widget>proxy.password</widget>
        </row>
      </rows>
      <widget name="chooseProxy" type="template">
        <labels>
          <label mode="any">label.setup.httpProxy.type</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>#{setupWizardAction.proxyType}</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/proxy_chooser_widget_template.xhtml
          </property>
          <property name="reRender">admin_choose_proxy_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="proxy.host" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.host']</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <!-- use a 'rendered' property instead of playing with the
            subwidget mode otherwise smtp auth misbehaves after
            first non-default proxy type selection -->
          <property name="rendered">
            #{setupWizardAction.proxyType != 'none'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.port" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType != 'none'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.login" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.login</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.login']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType ==
            'authenticated'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.password" type="secret">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.password']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType ==
            'authenticated'}
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="admin_setup_mail">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.email</property>
        <property name="ajaxPanelId">admin_setup_mail_ajaxPanel</property>
      </properties>
      <rows>
        <row>
          <widget>eMailSubjectPrefix</widget>
        </row>
        <row>
          <widget>mailservice.user</widget>
        </row>
        <row>
          <widget>mailservice.password</widget>
        </row>
        <row>
          <widget>mail.store.protocol</widget>
        </row>
        <row>
          <widget>mail.transport.protocol</widget>
        </row>
        <row>
          <widget>mail.store.host</widget>
        </row>
        <row>
          <widget>mail.store.port</widget>
        </row>
        <row>
          <widget>mail.store.user</widget>
        </row>
        <row>
          <widget>mail.store.password</widget>
        </row>
        <row>
          <widget>mail.debug</widget>
        </row>
        <row>
          <widget>mail.transport.host</widget>
        </row>
        <row>
          <widget>mail.transport.port</widget>
        </row>
        <row>
          <widget>mail.transport.auth</widget>
        </row>
        <row>
          <widget>mail.transport.user</widget>
        </row>
        <row>
          <widget>mail.transport.password</widget>
        </row>
        <row>
          <widget>mail.from</widget>
        </row>
        <row>
          <widget>mail.transport.usetls</widget>
        </row>
        <row>
          <widget>mail.user</widget>
        </row>
      </rows>
      <widget name="eMailSubjectPrefix" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.notification.eMailSubjectPrefix
          </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.notification.eMailSubjectPrefix']</field>
        </fields>
      </widget>
      <widget name="mailservice.user" type="text">
        <labels>
          <label mode="any">label.setup.mailservice.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mailservice.user']</field>
        </fields>
      </widget>
      <widget name="mailservice.password" type="secret">
        <labels>
          <label mode="any">label.setup.mailservice.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mailservice.password']</field>
        </fields>
      </widget>
      <widget name="mail.store.protocol" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.protocol</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.protocol']</field>
        </fields>
      </widget>
      <widget name="mail.transport.protocol" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.protocol</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.protocol']</field>
        </fields>
      </widget>
      <widget name="mail.store.host" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.host']</field>
        </fields>
      </widget>
      <widget name="mail.store.port" type="int">
        <labels>
          <label mode="any">label.setup.mail.store.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.store.user" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.user']</field>
        </fields>
        <properties mode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.store.password" type="secret">
        <labels>
          <label mode="any">label.setup.mail.store.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.password']</field>
        </fields>
        <properties mode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.debug" type="checkbox">
        <labels>
          <label mode="any">label.setup.mail.debug</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.debug']</field>
        </fields>
      </widget>
      <widget name="mail.transport.host" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.host']</field>
        </fields>
        <properties mode="edit">
        </properties>
      </widget>
      <widget name="mail.transport.port" type="int">
        <labels>
          <label mode="any">label.setup.mail.transport.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
        </properties>
      </widget>
      <widget name="mail.transport.auth" type="template">
        <labels>
          <label mode="any">label.setup.mail.transport.auth</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.auth']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml
          </property>
          <property name="reRender">admin_setup_mail_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="mail.transport.user" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.user']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{value['mail.transport.auth'] == true}
          </property>
        </properties>
      </widget>
      <widget name="mail.transport.password" type="secret">
        <labels>
          <label mode="any">label.setup.mail.transport.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.password']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{value['mail.transport.auth'] == true}
          </property>
        </properties>
      </widget>
      <widget name="mail.from" type="text">
        <labels>
          <label mode="any">label.setup.mail.from</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.from']</field>
        </fields>
      </widget>
      <widget name="mail.transport.usetls" type="checkbox">
        <labels>
          <label mode="any">label.setup.mail.transport.usetls</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.usetls']</field>
        </fields>
      </widget>
      <widget name="mail.user" type="text">
        <labels>
          <label mode="any">label.setup.mail.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.user']</field>
        </fields>
      </widget>
    </layout>

    <!-- placeholder layout for custom properties -->
    <layout name="admin_setup_custom_properties">
      <templates>
        <template mode="any">
          /incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.custom</property>
      </properties>
    </layout>
  </extension>

</component>

Documentation