Platform Explorer / CMF 1.8

Component org.nuxeo.ecm.webengine.WebEngineComponent

Documentation

Manage templates

Implementation

Class: org.nuxeo.ecm.webengine.WebEngineComponent

Services

Extension Points

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.webengine.WebEngineComponent">
  <require>org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService</require>
  
  <implementation
          class="org.nuxeo.ecm.webengine.WebEngineComponent" />
  <documentation>
    @author Bogdan Stefanescu (bs@nuxeo.com)
    Manage templates
  </documentation>

  <!-- you can change the default rendering engine by setting this property to the engine class name
  <property name="engine" value="org.nuxeo.ecm.platform.rendering.fm.FreemarkerEngine"/>
  -->

  <service>
    <provide interface="org.nuxeo.ecm.webengine.WebEngine" />
  </service>

  <extension-point name="rendering-extension">
    <documentation>
      @author Bogdan Stefanescu (bs@nuxeo.com)
      Expose the registration of freemarker templates (directives, methods or global shared variables)
      This way custom templates can be registered into the freemarker engine from outside
      <code>
        <rendering-extension name="myExtension" class="org.nuxeo.ecm.platform.my.MyExtension"/>
      </code>
    </documentation>

    <object
      class="org.nuxeo.ecm.webengine.rendering.RenderingExtensionDescriptor" />
  </extension-point>

  <extension-point name="guard">
    <documentation>
      @author Bogdan Stefanescu (bs@nuxeo.com)
      Register global guards. Guards are used to define permissions
      <code>
        <guard id="MyGuard" expression="(GUARD1 OR GUARD2) AND user=bogdan">
        </guard>
      </code>
    </documentation>

    <object
      class="org.nuxeo.ecm.webengine.security.GuardDescriptor" />
  </extension-point>

  <extension-point name="resource">
    <documentation>
      @author Bogdan Stefanescu (bs@nuxeo.com)
      Register a JAX-RS root resource
      <code>
        <resource path="{lang:[a-z]}" singleton="false" class="org.nuxeo.Resource" />
      </code>
    </documentation>

    <object
      class="org.nuxeo.ecm.webengine.ResourceBinding" />
  </extension-point>

  <extension-point name="request-configuration">
    <documentation>
      @author Bogdan Stefanescu (bs@nuxeo.com)
  Configure how a given path is handled by the WebEngine filter.
  
  If <b>autoTx</b> is true (which is the default) then a transaction will be
  started each time a path matching the given path specification is requested.
  (the transaction is started in a filter before the JAX-RS resource is called
  and closed after the response is sent to the output stream). If false then no
  transaction handling is done. The default is to start a transaction for any
  path but: [^/]+/skin/.*
  
  If <b>stateful</b> flag is set (the default is false) then the core session
  which is provided to the JAX-RS resource (through
  {@link UserSession#getCoreSession()}) will be reused for each request in the
  same HTPP session (i.e. the core session is stored in the HTTP Session and
  closed when the session expires). By default the provided core session has a
  REQUEST scope (it is closed automatically when request ends).
  
  The <b>value</b> attribute is required and must be used to specify the path pattern. The path
  pattern is either a prefix or a regular expression. If the <b>regex</b> parameter
  is true (the default is false) then the value will be expected to be a
  regular expression. A prefix denotes a path starting with 'prefix'. Paths are
  relative to the webengine servlet (i.e. they correspond to the servlet path
  info in the JAX-RS servlet) - and always begin with a '/'.
  
      <code>
        <path value="/admin" stateful="false" autoTx="false" />
      </code>
    </documentation>

    <object
      class="org.nuxeo.ecm.webengine.PathDescriptor" />
  </extension-point>

  <extension target="org.nuxeo.ecm.webengine.WebEngineComponent" point="rendering-extension">
    <rendering-extension name="script" class="org.nuxeo.ecm.webengine.rendering.ScriptMethod"/>
    <rendering-extension name="render" class="org.nuxeo.ecm.webengine.rendering.RenderDirective"/>
    <rendering-extension name="wiki" class="org.nuxeo.ecm.platform.rendering.wiki.WikiTransformer"/>
    <rendering-extension name="API" class="org.nuxeo.ecm.webengine.rendering.APIHelper"/>
  </extension>

  <!-- extension target="org.nuxeo.runtime.server" point="webapp">
    <webapp name="nuxeo" path="/">
      <root>web/root.war</root>
    </webapp>
  </extension--> 
   
</component>