Appendix F. Template API Reference

This document displays list of available custom Template methods that can be used in view templates if they are registered as Template root objects.

Each custom template method is backed by a server-side java class. For custom Freemarker template method, it will need to implement interface freemarker.template.TemplateMethodModelEx.

For example

var myObj = {'name':'Test Object','size':100};
var myObjAsString = jsonUtils.toJSONString(myObj);

This project has total 15 avaialble custom Template methods

F.1. org.springframework.extensions.webscripts.AbsoluteUrlMethod

  • Java Class : org.springframework.extensions.webscripts.AbsoluteUrlMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Render absolute url for the specified url (only if the url isn't already absolute).

    Usage: absurl(String url)

  • Sample Code :

    ${absurl(url.context)}

  • Methods

F.2. org.springframework.extensions.webscripts.ArgReplaceMethod

  • Java Class : org.springframework.extensions.webscripts.ArgReplaceMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Given a URL string and N named/value pairs, replace each URL argument with 
    respective name/value pair (if name matches existing URL argument), or add 
    name/value pair to URL (if name does not match existing URL argument).

    Usage: argreplace(url.args, "skipCount", cursor.nextPage, ...)

  • Sample Code :

    [#if cursor.hasFirstPage]
    <link rel="first" href="${absurl(encodeuri(scripturl(argreplace(url.args, pageNo,
    cursor.firstPage, pageSize, cursor.pageSize))))?xml}" type="${format.type}"/>
    [/#if]

  • Methods

F.3. org.springframework.extensions.webscripts.ClientUrlFunctionMethod

  • Java Class : org.springframework.extensions.webscripts.ClientUrlFunctionMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Render a client side javascript function to build urls to this service.

    Usage: clientUrlFunction(String funcName)

  • Sample Code :

    ${clienturlfunction("encUrl")}

  • Methods

F.4. org.springframework.extensions.webscripts.DateCompareMethod

  • Java Class : org.springframework.extensions.webscripts.DateCompareMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Perform a test to see how two dates compare, optionally offset by a specified number of
    milliseconds.

    Usage: 
      dateCompare(dateA, dateB) - 1 if dateA if greater than dateB
      dateCompare(dateA, dateB, millis) - 1 if dateA is greater than dateB by at least millis, else 0
      dateCompare(dateA, dateB, millis, test) - same as above, but the 'test' variable is one of the
      following strings ">", "<", "==" - greater than, less than or equal - as the test to perform.

  • Sample Code :

    <#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1)>
    </#if>

  • Methods

F.5. org.springframework.extensions.webscripts.FormatWriterMethod

  • Java Class : org.springframework.extensions.webscripts.FormatWriterMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Render object to mimetype of web script template.  If object cannot be serialized to mimetype
    then no output is written.

    Usage: formatwrite(object)

  • Methods

F.6. org.springframework.extensions.webscripts.FreemarkerI18NMessageMethod

  • Java Class : org.springframework.extensions.webscripts.FreemarkerI18NMessageMethod

  • Module Artifact Id : spring-surf

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-surf

  • Module Version : target

  • Java Doc : link

  • Help :

    Returns an I18N message resolved for the current locale and specified message ID.

    Usage: message(String id)

  • Sample Code :

    ${message("templates.doc_info.name")}

  • Methods

F.7. org.springframework.extensions.webscripts.ISO8601DateFormatMethod

  • Java Class : org.springframework.extensions.webscripts.ISO8601DateFormatMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Render Date to ISO8601 format. Or parse ISO6801 format string date to a Date object.

    Usage: xmldate(Date date)
            xmldate(String date)

  • Sample Code :

    <updated>${xmldate(date)}</updated>

  • Methods

F.8. org.springframework.extensions.webscripts.MessageMethod

  • Java Class : org.springframework.extensions.webscripts.MessageMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Returns an I18N message resolved for the current locale and specified message ID.

    Usage: message(String id)

  • Sample Code :

    ${message("templates.doc_info.name")}

  • Methods

F.9. org.springframework.extensions.webscripts.ScriptRenderContext

  • Java Class : org.springframework.extensions.webscripts.ScriptRenderContext

  • Module Artifact Id : spring-surf

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-surf

  • Module Version : target

  • Java Doc : link

  • Help :

    Render context for the current rendering object

  • Methods

    • Method : getResource

      • Help :

        Gets the currently rendering content resource

      • Return : The currently rendering ScriptResource or null if none

    • Method : getId

      • Help :

        Gets the id of the request context

    • Method : getParameters

      • Help :

        A key/value map of parameters in the incoming request.

    • Method : getUser

      • Help :

        Gets the user object.

      • Return : The ScriptUser for the current user or null if a user is not logged in.

    • Method : getTemplate

      • Help :

        Gets the currently rendering template.

      • Return : The ScriptModelObject for the Template or null if a template is not being rendered.

    • Method : getPage

      • Help :

        Gets the currently rendering page.

      • Return : The ScriptModelObject for the Page or null if a page is not being rendered.

    • Method : getFormatId

      • Help :

        Gets the requested format id

    • Method : getThemeId

      • Help :

        Gets the currently rendering theme id.

    • Method : getTheme

      • Help :

        Gets the currently rendering theme.

      • Return : The ScriptModelObject for the Theme or null if a theme is not being rendered.

    • Method : getPageId

      • Help :

        Gets the id of the currently rendering page.
        Returns null if a page is not being rendered.

    • Method : getRootPage

      • Help :

        Gets the root page for the site.

      • Return : The ScriptModelObject for the root page.

    • Method : getSiteConfiguration

      • Help :

        Gets the site configuration.

      • Return : The ScriptModelObject for the site configuration or null if a site configuration is not set up.

    • Method : getLinkBuilder

      • Help :

        Returns the ScriptLinkBuilder instance for the current request.

    • Method : getTemplateId

      • Help :

        Gets the id of the currently rendering template.
        Returns null if a template is not being rendered.

    • Method : getContentId

      • Help :

        Gets the id of the currently rendering content resource

      • Return : The id of the content resource or null if none

    • Method : setThemeId

      • Help :

        Sets the theme for the current user session by providing the theme id.

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

    • Method : getAuthenticated

      • Help :

        Returns whether the current user is authenticated.

    • Method : getExternalAuthentication

      • Help :

        Returns whether the current user is externally authenticated.

F.10. org.springframework.extensions.webscripts.ScriptSurf

  • Java Class : org.springframework.extensions.webscripts.ScriptSurf

  • Module Artifact Id : spring-surf

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-surf

  • Module Version : target

  • Java Doc : link

  • Help :

    Root-scoped Java object that represents the configuration of Spring Surf

  • Methods

    • Method : getLoginEnabled

      • Help :

        Indicates whether Spring Surf has a non-default User Factory configured for it

      • Return : Whether a user factory is configured

F.11. org.springframework.extensions.webscripts.ScriptUrlMethod

  • Java Class : org.springframework.extensions.webscripts.ScriptUrlMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Render script url independent of script hosting environment e.g. render inside / outside

    Usage: scripturl(String url)

  • Sample Code :

    ${scripturl("?nodeRef=" + n.parent.nodeRef + "&n=" + n.nodeRef + "&a=p")}

  • Methods

F.12. org.springframework.extensions.webscripts.ScriptableUtils

  • Java Class : org.springframework.extensions.webscripts.ScriptableUtils

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Collection of script utility methods for working with strings etc.

  • Sample Code :

    //JavaScript Sample Code
    model.biohtml = stringUtils.replaceLineBreaks(bio);
    
    //Freemarker Template Sample Code
    ${stringUtils.stripUnsafeHTML(item.node.content)?substring(0, contentLength)}

  • Methods

    • Method : urlDecode

      • Help :

        Decodes input URL string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : stripEncodeUnsafeHTML

      • Help :

        Strips encode unsafe HTML tags from the input string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : stripUnsafeHTML

      • Help :

        Strips unsafe HTML tags from the input string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : replaceLineBreaks

      • Help :

        Replaces line breaks in the input string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : encodeHTML

      • Help :

        Encodes input HTML string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : encodeJavaScript

      • Help :

        Encodes input JavaScript string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : urlEncode

      • Help :

        Encodes input string using URLEncoder

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : urlEncodeComponent

      • Help :

        Encode input URL string

      • Return : Processed string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input string

    • Method : parseXMLNodeModel

      • Help :

        Converts an xml string to a freemarker node model

      • Return : Freemarker node model

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Input XML string

F.13. org.springframework.extensions.webscripts.UrlEncodeMethod

  • Java Class : org.springframework.extensions.webscripts.UrlEncodeMethod

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Encode a URL Path.

    Usage: pathencode(String url)

  • Sample Code :

    <link rel="self" href="${absurl(encodeuri(url.full))?xml}"/>

  • Methods

F.14. org.springframework.extensions.webscripts.atom.AtomService

  • Java Class : org.springframework.extensions.webscripts.atom.AtomService

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Collection of Atom related methods.

  • Sample Code :

    //JavaScript Sample Code
     var object = entry.getExtension(atom.names.cmis_object);
    //Freemarker Sample Code
    <#assign cmis_object=entry.getExtension(atom.names.cmis_object)>

  • Methods

    • Method : createEntry

      • Help :

        Constructs an empty entry

      • Return : Empty entry

    • Method : getNames

      • Help :

        Gets pre-configured Atom Extensions (QNames)

      • Return : map of QNames by alias

    • Method : createFeed

      • Help :

        Constructs an empty feed

      • Return : Empty feed

    • Method : createQName

      • Help :

        Creates a QName

      • Return : QName

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Uri string

        • Parameter : var1

          • Java Class : java.lang.String

          • Help :

            Local name

    • Method : toMimeType

      • Help :

        Establishs mimetype of atom content

      • Return : mimetype (or null, if it could not be established)

      • Parameters

        • Parameter : var0

          • Java Class : org.apache.abdera.model.Entry

          • Help :

            Entry

    • Method : toAtom

      • Help :

        Parses an Atom element

      • Return : Element

      • Parameters

        • Parameter : var0

          • Java Class : org.springframework.extensions.surf.util.Content

          • Help :

            Atom element

    • Method : toAtom

      • Help :

        Parses an Atom element

      • Return : Element

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Atom element string

    • Method : toService

      • Help :

        Parses an Atom service

      • Return : Atom servce

      • Parameters

        • Parameter : var0

          • Java Class : org.springframework.extensions.surf.util.Content

          • Help :

            Atom entry

    • Method : toService

      • Help :

        Parses an Atom service

      • Return : Atom service

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Atom entry string

    • Method : toEntry

      • Help :

        Parses an Atom Entry

      • Return : Entry

      • Parameters

        • Parameter : var0

          • Java Class : org.springframework.extensions.surf.util.Content

          • Help :

            Atom entry

    • Method : toEntry

      • Help :

        Parses an Atom entry

      • Return : Entry

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Atom entry string

    • Method : toFeed

      • Help :

        Parses an Atom feed

      • Return : Feed

      • Parameters

        • Parameter : var0

          • Java Class : org.springframework.extensions.surf.util.Content

          • Help :

            Atom feed

    • Method : toFeed

      • Help :

        Parses an Atom feed

      • Return : Feed

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            Atom feed string

F.15. org.springframework.extensions.webscripts.json.JSONUtils

  • Java Class : org.springframework.extensions.webscripts.json.JSONUtils

  • Module Artifact Id : spring-webscripts

  • Module Group Id : Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

  • Module Version : target

  • Java Doc : link

  • Help :

    Collection of JSON Utility methods.

  • Sample Code :

    //JavaScript Sample Code
    var myObj = {'name':'Test Object','size':100};
    var myObjAsString = jsonUtils.toJSONString(myObj);
    
    //Freemarker Template Sample Code
    [
        <#list tags as tag>
            ${jsonUtils.encodeJSONString(tag)}<#if tag_has_next>,</#if>
        </#list>
    ]

  • Methods

    • Method : toObject

      • Help :

        Takes a JSON string and converts it to a native java script object

      • Sample Code :

        //JavaScript Sample Code
        model.postCode = jsonUtils.toObject(json).postCode;

      • Return : the created native JS object that represents the JSON object

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.String

          • Help :

            A valid json string

    • Method : toObject

      • Help :

        Takes a JSON object and converts it to a native java script object

      • Sample Code :

        //JavaScript Sample Code
        model.postCode = jsonUtils.toObject(json).postCode;

      • Return : the created native object

      • Parameters

        • Parameter : var0

          • Java Class : org.json.JSONObject

          • Help :

            The json object

    • Method : toJSONString

      • Help :

        Converts a given JavaScript native object and converts it to the relevant JSON string.

      • Sample Code :

        //JavaScript Sample Code
        var myObj = {'name':'Test Object','size':100};
        var myObjAsString = jsonUtils.toJSONString(myObj);

      • Return : JSON string

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.Object

          • Help :

            JavaScript object

    • Method : encodeJSONString

      • Help :

        Encodes a JSON string value

      • Return : Encoded value

      • Parameters

        • Parameter : var0

          • Java Class : java.lang.Object

          • Help :

            Value to encode