113
Copyright © 2009

Spring Surf Documentation

  • Upload
    tanbe

  • View
    130

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Spring Surf Documentation

Copyright © 2009

Page 2: Spring Surf Documentation

ii

I. Welcome to Spring Surf Project .... 1

II. Appendices .... 2

A. RESTful API Reference .... 3

A.1. Package Webscript Global .... 3

A.1.1. Resource Webscript Message .... 3

A.1.2. Resource Others .... 4

A.2. Package Spring Surf Core .... 5

A.2.1. Resource Web Framework .... 5

A.2.2. Resource Surf Object .... 7

A.3. Package Spring Surf Client .... 12

A.3.1. Resource Client .... 12

A.4. Package Spring Surf Format .... 13

A.4.1. Resource Format .... 13

A.5. Package Spring Surf Model Content .... 14

A.5.1. Resource Content Association .... 14

A.5.2. Resource Others .... 16

A.6. Package Spring Surf Model Page .... 18

A.6.1. Resource Page Template .... 18

A.7. Package Spring Surf Model Site .... 21

A.7.1. Resource Site Configuration .... 21

A.8. Package Webscript Core .... 23

A.8.1. Resource Index .... 23

A.8.2. Resource Javascript Debugger .... 31

A.8.3. Resource Tools .... 33

A.8.4. Resource Others .... 37

B. JavaScript Root Object Reference .... 39

B.1. atom .... 39

B.2. jsonUtils .... 43

B.3. logger .... 46

B.4. remote .... 47

B.5. server .... 50

B.6. stringUtils .... 50

C. JavaScript API Reference .... 55

C.1. org.springframework.extensions.webscripts.ScriptLogger .... 55

C.2. org.springframework.extensions.webscripts.ScriptRemote .... 56

C.3. org.springframework.extensions.webscripts.ScriptRemoteConnector .... 59

C.4. org.springframework.extensions.webscripts.ScriptRenderContext .... 63

C.5. org.springframework.extensions.webscripts.ScriptSurf .... 66

C.6. org.springframework.extensions.webscripts.ScriptableUtils .... 67

C.7. org.springframework.extensions.webscripts.atom.AtomService .... 70

C.8. org.springframework.extensions.webscripts.json.JSONUtils .... 75

D. Template Root Object Reference .... 78

D.1. argreplace .... 78

D.2. atom .... 78

D.3. date .... 83

D.4. dateCompare .... 83

D.5. encodeuri .... 84

D.6. jsonUtils .... 84

D.7. server .... 86

Page 3: Spring Surf Documentation

Spring Surf Reference Documentation

iii

D.8. stringUtils .... 87

D.9. xmldate .... 90

E. Template API Reference .... 92

E.1. org.springframework.extensions.webscripts.AbsoluteUrlMethod .... 92

E.2. org.springframework.extensions.webscripts.ArgReplaceMethod .... 92

E.3. org.springframework.extensions.webscripts.ClientUrlFunctionMethod .... 93

E.4. org.springframework.extensions.webscripts.DateCompareMethod .... 93

E.5. org.springframework.extensions.webscripts.FormatWriterMethod .... 94

E.6. org.springframework.extensions.webscripts.FreemarkerI18NMessageMethod

.... 94

E.7. org.springframework.extensions.webscripts.ISO8601DateFormatMethod .... 95

E.8. org.springframework.extensions.webscripts.MessageMethod .... 95

E.9. org.springframework.extensions.webscripts.ScriptRenderContext .... 96

E.10. org.springframework.extensions.webscripts.ScriptSurf .... 99

E.11. org.springframework.extensions.webscripts.ScriptUrlMethod .... 99

E.12. org.springframework.extensions.webscripts.ScriptableUtils .... 100

E.13. org.springframework.extensions.webscripts.UrlEncodeMethod .... 103

E.14. org.springframework.extensions.webscripts.atom.AtomService .... 104

E.15. org.springframework.extensions.webscripts.json.JSONUtils .... 108

Page 4: Spring Surf Documentation

1

Part I. Welcome to Spring Surf ProjectWelcome to Surf Project

Page 5: Spring Surf Documentation

2

Part II. AppendicesThe final part of the reference guide provides appendices and background information that does not neatly belong

within the other parts. The information is intended to be treated as a reference and not read consecutively.

Page 6: Spring Surf Documentation

3

Appendix A. RESTful API ReferenceThis document displays list of available Web Scripts of this project. Web Scripts are grouped in the

heirachy of Package, Resource and Web Script.

Within each package, web Scripts that don't belong to any resource will be placed under the default

'Others' resource.

This project has total 34 web scripts.

A.1. Package Webscript Global

Package /org/springframework/extensions

Global Webscripts.

A.1.1. Resource Webscript Message

Webscripts for managing Spring webscript messages.

A.1.1.1. Web Script Global messages bundle

Web Scripts global messages bundle as a JavaScript response

The Web script description document specifies the following options:

• Id : org/springframework/extensions/messages.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : none

• Buffer Size : 4096

• Transaction Required : none

Page 7: Spring Surf Documentation

RESTful API Reference

4

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/messages.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /messages?locale={locale}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.1.2. Resource Others

This is the resource for all Web Scripts which don't belong to any resouce.

A.1.2.1. Web Script Global messages bundle

Web Scripts global messages bundle as a JavaScript response

The Web script description document specifies the following options:

• Id : org/springframework/extensions/messages.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : none

• Buffer Size : 4096

• Transaction Required : none

Page 8: Spring Surf Documentation

RESTful API Reference

5

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/messages.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /messages?locale={locale}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.2. Package Spring Surf Core

Package /org/springframework/extensions/surf

Spring Surf Core Webscripts.

A.2.1. Resource Web Framework

Webscripts for Spring Surf Web Framework console and maintenance.

A.2.1.1. Web Script Web Framework Console

Web Framework Console

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/console.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : admin

• Cache Public : false

Page 9: Spring Surf Documentation

RESTful API Reference

6

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/console.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /console

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.1.2. Web Script Web Framework Maintenance

Web Framework Maintenance

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/console.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

Page 10: Spring Surf Documentation

RESTful API Reference

7

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/console.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /console?reset={reset?}

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.2. Resource Surf Object

Webscripts for Spring Surf Object CRUD operations.

A.2.2.1. Web Script Surf API - Delete an object

Surf API - Delete an object

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/object.delete

• Kind : undefined

• Method : DELETE

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

Page 11: Spring Surf Documentation

RESTful API Reference

8

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/object.delete.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/object/{type}/{id}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.2.2. Web Script Surf API - Get an object

Surf API - Get an object

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/object.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

Page 12: Spring Surf Documentation

RESTful API Reference

9

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/object.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/object/{type}/{id}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.2.3. Web Script Surf API - Create an object

Surf API - Create an object

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/object.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

Page 13: Spring Surf Documentation

RESTful API Reference

10

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/object.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/object/{type}?id={id?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.2.4. Web Script Surf API - Update an object

Surf API - Update an object

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/object.put

• Kind : undefined

• Method : PUT

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/object.put.desc.xml

Page 14: Spring Surf Documentation

RESTful API Reference

11

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/object/{type}/{id}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.2.2.5. Web Script Surf API - Retrieve list of objects

Surf API - Retrieve list of objects

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/objects.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/objects.get.desc.xml

• Extensions : undefined

• Familys : none

Page 15: Spring Surf Documentation

RESTful API Reference

12

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/objects/{type}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.3. Package Spring Surf Client

Package /org/springframework/extensions/surf/client

Spring Surf Client Webscripts.

A.3.1. Resource Client

Spring Surf Client Webscripts.

A.3.1.1. Web Script Surf - Client JS API

Surf - Client JS API

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/client/client.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf/client

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

Page 16: Spring Surf Documentation

RESTful API Reference

13

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/client/client.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : html

• URLs

• /surf/js

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.4. Package Spring Surf Format

Package /org/springframework/extensions/surf/format

Spring Surf Format Webscripts.

A.4.1. Resource Format

Spring Surf Format Webscripts.

A.4.1.1. Web Script Surf API - list of configured formats

Surf API - list of configured formats

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/format/formats.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf/format

• Store Path : classpath:surf/webscripts

• Authentication : none

Page 17: Spring Surf Documentation

RESTful API Reference

14

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/format/formats.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : html

• URLs

• /api/surf/formats

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.5. Package Spring Surf Model Content

Package /org/springframework/extensions/surf/model/content

Spring Surf Model Content related Webscripts.

A.5.1. Resource Content Association

Webscripts for managing Spring Surf content association.

A.5.1.1. Web Script Surf API - removes a content association

Surf API - removes a content association

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/content/association.delete

• Kind : undefined

Page 18: Spring Surf Documentation

RESTful API Reference

15

• Method : DELETE

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/content

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/surf/model/content/association.delete.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/content/type/{type}/association?dest={dest}&assocType={assocType?}&f={format?}

• /api/surf/content/instance/{id}/association?dest={dest}&assocType={assocType?}&f={format?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.5.1.2. Web Script Surf API - Adds a content association

Surf API - Adds a content association

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/content/association.post

• Kind : undefined

Page 19: Spring Surf Documentation

RESTful API Reference

16

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/content

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/surf/model/content/association.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/content/type/{type}/association?dest={dest}&assocType={assocType?}&f={format?}

• /api/surf/content/instance/{id}/association?dest={dest}&assocType={assocType?}&f={format?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.5.2. Resource Others

This is the resource for all Web Scripts which don't belong to any resouce.

A.5.2.1. Web Script Surf API - Retrieves Content Associations

Surf API - Retrieves Content Associations

The Web script description document specifies the following options:

Page 20: Spring Surf Documentation

RESTful API Reference

17

• Id : org/springframework/extensions/surf/model/content/associations.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/content

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/surf/model/content/associations.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/content/associations?dest={dest?}&assocType={assocType?}&f={format?}

• /api/surf/content/type/associations?dest={dest?}&assocType={assocType?}&f={format?}

• /api/surf/content/type/{type}/associations?dest={dest?}&assocType={assocType?}&f={format?}

• /api/surf/content/instance/associations?dest={dest?}&assocType={assocType?}&f={format?}

• /api/surf/content/instance/{id}/associations?dest={dest?}&assocType={assocType?}&f={format?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

Page 21: Spring Surf Documentation

RESTful API Reference

18

A.6. Package Spring Surf Model Page

Package /org/springframework/extensions/surf/model/page

Spring Surf Model Page related Webscripts.

A.6.1. Resource Page Template

Webscripts for managing Spring Surf page templates.

A.6.1.1. Web Script Surf API - Removes a page's template association

Surf API - Removes a page's template association

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/page/template.delete

• Kind : undefined

• Method : DELETE

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/page

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/model/page/template.delete.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

Page 22: Spring Surf Documentation

RESTful API Reference

19

• URLs

• /api/surf/page/{id}/template?format={formatId?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.6.1.2. Web Script Surf API - Adds a page to template association

Surf API - Adds a page to template association

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/page/template.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/page

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/model/page/template.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

• URLs

• /api/surf/page/{id}/template/{templateId}?f={formatId?}

Page 23: Spring Surf Documentation

RESTful API Reference

20

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.6.1.3. Web Script Surf API - Retrieves Page Templates

Surf API - Retrieves Page Templates

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/page/templates.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/page

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/surf/model/page/templates.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : html

• URLs

• /api/surf/page/{id}/templates

• Life Cycle : none

• Multipart Processing : true

Page 24: Spring Surf Documentation

RESTful API Reference

21

• Negotiated Formats : undefined

A.7. Package Spring Surf Model Site

Package /org/springframework/extensions/surf/model/site

Spring Surf Model Site related Webscripts.

A.7.1. Resource Site Configuration

Webscripts for managing Spring Surf site configuration.

A.7.1.1. Web Script Surf API - Retrieves Site Configuration

Surf API - Retrieves Site Configuration

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/site/configuration.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/site

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/surf/model/site/configuration.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

Page 25: Spring Surf Documentation

RESTful API Reference

22

• Default Format : json

• URLs

• /api/surf/site/config

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.7.1.2. Web Script Surf API - Updates Site Configuration

Surf API - Updates Site Configuration

The Web script description document specifies the following options:

• Id : org/springframework/extensions/surf/model/site/configuration.put

• Kind : undefined

• Method : PUT

• Run As : undefined

• Script Path : org/springframework/extensions/surf/model/site

• Store Path : classpath:surf/webscripts

• Authentication : none

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/surf/model/site/configuration.put.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : json

Page 26: Spring Surf Documentation

RESTful API Reference

23

• URLs

• /api/surf/site/config

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8. Package Webscript Core

Package /org/springframework/extensions/webscripts

Core webscripts for index page, js debugger, installation etc.

A.8.1. Resource Index

Index related webscripts.

A.8.1.1. Web Script Web Scripts Home

Web Scripts Home

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/index.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

Page 27: Spring Surf Documentation

RESTful API Reference

24

• Web Script Descriptor : org/springframework/extensions/webscripts/index.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /

• /index

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.2. Web Script Web Script Maintenance

Maintain index of Web Scripts

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/index.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/index.post.desc.xml

Page 28: Spring Surf Documentation

RESTful API Reference

25

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /index?reset={reset?}

• /?reset={reset?}

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.3. Web Script All Web Scripts Index

Retrieve an index of all Web Scripts

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexall.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/indexall.get.desc.xml

• Extensions : undefined

Page 29: Spring Surf Documentation

RESTful API Reference

26

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /index/all?package={package?}&url={url?}&family={family?}

• /index/all.mediawiki?package={package?}&url={url?}&family={family?}

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.4. Web Script Failed Web Scripts Index

Retrieve an index of all failed Web Scripts

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexfailures.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/indexfailures.get.desc.xml

• Extensions : undefined

• Familys : none

Page 30: Spring Surf Documentation

RESTful API Reference

27

• Format Style : any

• Default Format : html

• URLs

• /index/failures

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.5. Web Script Web Script Family Index

Provide an index of Web Scripts for the specified family

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexfamily.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/indexfamily.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

Page 31: Spring Surf Documentation

RESTful API Reference

28

• URLs

• /index/family/{family}

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.6. Web Script Web Script Lifecycle Index

Provide an index of Web Scripts in the various lifecycle states

none : This web script is not part of a lifecycle.

sample : This web script is a sample and is not intended for production use.

draft : This method may be incomplete, experimental or still subject to change.

public_api : This method is part of the Alfresco public api and should be stable and well tested.

draft_public_api : This method is intended to eventually become part of the public api but is

incomplete or still subject to change.

deprecated : This method should be avoided. It may be removed in future versions of Alfresco.

internal : This script is for Alfresco use only. This script should not be relied upon between

versions.It is likely to change.

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexlifecycle.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

Page 32: Spring Surf Documentation

RESTful API Reference

29

• Web Script Descriptor : org/springframework/extensions/webscripts/indexlifecycle.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /index/lifecycle/{lifecycle}

• Life Cycle : internal

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.7. Web Script Web Script Package Index

Provide an index of Web Scripts for the specified Web Script package

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexpackage.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/indexpackage.get.desc.xml

• Extensions : undefined

Page 33: Spring Surf Documentation

RESTful API Reference

30

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /index/package/{package}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.1.8. Web Script Web Script URI Index

Provide an index of Web Scripts for the specified Web Script URI

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexuri.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/indexuri.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

Page 34: Spring Surf Documentation

RESTful API Reference

31

• Default Format : html

• URLs

• /index/uri/{uri}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.2. Resource Javascript Debugger

Webscripts for managing Javascript Debugger.

A.8.2.1. Web Script Javascript Debugger

Javascript Debugger

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/jsdebugger.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/jsdebugger.get.desc.xml

• Extensions : undefined

• Familys : none

Page 35: Spring Surf Documentation

RESTful API Reference

32

• Format Style : any

• Default Format : html

• URLs

• /api/javascript/debugger

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.2.2. Web Script Javascript Debugger Maintenance

Javascript Debugger Maintenance

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/jsdebugger.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/jsdebugger.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

Page 36: Spring Surf Documentation

RESTful API Reference

33

• URLs

• /api/javascript/debugger?active={active?}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.3. Resource Tools

Tools for Webscript inspection, display, installation etc.

A.8.3.1. Web Script Web Script Description

Retrieve description document for identified Web Script

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/scriptdescription.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/scriptdescription.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

Page 37: Spring Surf Documentation

RESTful API Reference

34

• Default Format : html

• URLs

• /description/{serviceId}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.3.2. Web Script Display Web Script

Full inspection of Web Script implementation - useful for diagnostics and download/upload

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/scriptdump.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/scriptdump.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : argument

• Default Format : html

• URLs

Page 38: Spring Surf Documentation

RESTful API Reference

35

• /script/{serviceId}

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.3.3. Web Script Web Script Installer Form

Web Script Installer Form

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/scriptinstall.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/scriptinstall.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /installer

Page 39: Spring Surf Documentation

RESTful API Reference

36

• Life Cycle : none

• Multipart Processing : true

• Negotiated Formats : undefined

A.8.3.4. Web Script Install Web Script

Install Web Script

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/scriptinstall.post

• Kind : undefined

• Method : POST

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor : org/springframework/extensions/webscripts/scriptinstall.post.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /installer

• Life Cycle : none

• Multipart Processing : true

Page 40: Spring Surf Documentation

RESTful API Reference

37

• Negotiated Formats : undefined

A.8.4. Resource Others

This is the resource for all Web Scripts which don't belong to any resouce.

A.8.4.1. Web Script Web Script Package Documentation

Provides reference documentation for the specified Web Script package

The Web script description document specifies the following options:

• Id : org/springframework/extensions/webscripts/indexpackagedoc.get

• Kind : undefined

• Method : GET

• Run As : undefined

• Script Path : org/springframework/extensions/webscripts

• Store Path : classpath:webscripts

• Authentication : admin

• Cache Public : false

• Cache Must Validate : true

• Never Cache : true

• Transaction : required

• Buffer Size : 4096

• Transaction Required : required

• Transaction Capability : readwrite

• Web Script Descriptor :

org/springframework/extensions/webscripts/indexpackagedoc.get.desc.xml

• Extensions : undefined

• Familys : none

• Format Style : any

• Default Format : html

• URLs

• /index/package/{package}/doc

• Life Cycle : none

Page 41: Spring Surf Documentation

RESTful API Reference

38

• Multipart Processing : true

• Negotiated Formats : undefined

Page 42: Spring Surf Documentation

39

Appendix B. JavaScript Root ObjectReference

This document displays list of available JavaScript root objects that can be used in JavaScript templates.

Root objects are listed in alphabetic order according to their names.

Each JavaScript root object in the following list is backed by a server-side java class respectively.

Public methods of the java class are exposed as APIs for corresponding JavaScript root object.

For example

var myObj = {'name':'Test Object','size':100};

var myObjAsString = jsonUtils.toJSONString(myObj);

This project has total 6 JavaScript root objects.

B.1. atom

• 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 :

Page 43: Spring Surf Documentation

JavaScript Root Object Reference

40

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

Page 44: Spring Surf Documentation

JavaScript Root Object Reference

41

• 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

Page 45: Spring Surf Documentation

JavaScript Root Object Reference

42

• 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

Page 46: Spring Surf Documentation

JavaScript Root Object Reference

43

• 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

B.2. jsonUtils

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

• Module Artifact Id : spring-webscripts

Page 47: Spring Surf Documentation

JavaScript Root Object Reference

44

• 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

Page 48: Spring Surf Documentation

JavaScript Root Object Reference

45

• 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

Page 49: Spring Surf Documentation

JavaScript Root Object Reference

46

• Java Class : java.lang.Object

• Help :

Value to encode

B.3. logger

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

• 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 :

Provides functions to aid debugging of scripts.

• Sample Code :

logger.log("Command Processor: isEmailed=" + isEmailed);

• Methods

• Method : log

• Help :

Logs a message

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Message to log

• Method : warn

• Help :

Logs a warning message

• Parameters

Page 50: Spring Surf Documentation

JavaScript Root Object Reference

47

• Parameter : var0

• Java Class : java.lang.String

• Help :

Message to log

• Method : isLoggingEnabled

• Help :

Returns true if logging is enabled.

• Sample Code :

var loggerStatus = logger.isLogginEnabled();

• Return : true if logging is enabled

• Method : isWarnLoggingEnabled

• Help :

Returns true if warn logging is enabled.

• Sample Code :

var loggerStatus = logger.isWarnLogginEnabled();

• Return : true if warn logging is enabled

B.4. remote

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

• 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 :

Provides useful functions for working with endpoints, connectors and credentials.

• Sample Code :

// get a connector to the Alfresco repository endpoint

var connector = remote.connect("alfresco");

Page 51: Spring Surf Documentation

JavaScript Root Object Reference

48

// retrieve the web script index page

var indexHtml = connector.get("/index");

• Methods

• Method : connect

• Help :

Constructs a remote connector to a default endpoint (if configured).

If a default endpoint is not configured, null will be returned.

• Return : The remote client

• Method : connect

• Help :

Constructs a remote connector to a specific endpoint (if configured).

If a default endpoint is not configured, null will be returned.

• Return : The remote client

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : call

• Help :

Invoke a specific URI on the default endpoint

• Return : The reponse

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : getEndpointIds

Page 52: Spring Surf Documentation

JavaScript Root Object Reference

49

• Help :

Returns a list of the application endpoint ids

• Return : List of the application endpoint ids

• Method : getEndpointName

• Help :

Returns the name of an endpoint

• Return : Endpoint name

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : getEndpointDescription

• Help :

Returns the description of an endpoint

• Return : Endpoint description

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : isEndpointPersistent

• Help :

Checks if an endpoint is persistent or not

• Return : True if the endpoint is persistent

• Parameters

Page 53: Spring Surf Documentation

JavaScript Root Object Reference

50

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : getEndpointURL

• Help :

Returns the configured URL for the given endpoint

• Return : The endpoint url

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

B.5. server

• Java Class :

org.springframework.extensions.webscripts.PresentationContainer$PresentationServerModel

• 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

B.6. stringUtils

• 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

Page 54: Spring Surf Documentation

JavaScript Root Object Reference

51

• 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 :

Page 55: Spring Surf Documentation

JavaScript Root Object Reference

52

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

Page 56: Spring Surf Documentation

JavaScript Root Object Reference

53

• 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

Page 57: Spring Surf Documentation

JavaScript Root Object Reference

54

• 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

Page 58: Spring Surf Documentation

55

Appendix C. JavaScript API ReferenceThis document displays list of available JavaScript APIs that can be used in JavaScript templates.

All JavaScript APIs are backed by server-side java classes. Public methods of the server-side java class

are exposed as APIs for corresponding JavaScript object.

For example

var myObj = {'name':'Test Object','size':100};

var myObjAsString = jsonUtils.toJSONString(myObj);

This project has total 8 JavaScript objects.

C.1. org.springframework.extensions.webscripts.ScriptLogger

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

• 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 :

Provides functions to aid debugging of scripts.

• Sample Code :

logger.log("Command Processor: isEmailed=" + isEmailed);

• Methods

• Method : log

• Help :

Logs a message

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Message to log

• Method : warn

Page 59: Spring Surf Documentation

JavaScript API Reference

56

• Help :

Logs a warning message

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Message to log

• Method : isLoggingEnabled

• Help :

Returns true if logging is enabled.

• Sample Code :

var loggerStatus = logger.isLogginEnabled();

• Return : true if logging is enabled

• Method : isWarnLoggingEnabled

• Help :

Returns true if warn logging is enabled.

• Sample Code :

var loggerStatus = logger.isWarnLogginEnabled();

• Return : true if warn logging is enabled

C.2. org.springframework.extensions.webscripts.ScriptRemote

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

• 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 :

Page 60: Spring Surf Documentation

JavaScript API Reference

57

Provides useful functions for working with endpoints, connectors and credentials.

• Sample Code :

// get a connector to the Alfresco repository endpoint

var connector = remote.connect("alfresco");

// retrieve the web script index page

var indexHtml = connector.get("/index");

• Methods

• Method : connect

• Help :

Constructs a remote connector to a default endpoint (if configured).

If a default endpoint is not configured, null will be returned.

• Return : The remote client

• Method : connect

• Help :

Constructs a remote connector to a specific endpoint (if configured).

If a default endpoint is not configured, null will be returned.

• Return : The remote client

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : call

• Help :

Invoke a specific URI on the default endpoint

• Return : The reponse

• Parameters

• Parameter : var0

• Java Class : java.lang.String

Page 61: Spring Surf Documentation

JavaScript API Reference

58

• Help :

Endpoint Url

• Method : getEndpointIds

• Help :

Returns a list of the application endpoint ids

• Return : List of the application endpoint ids

• Method : getEndpointName

• Help :

Returns the name of an endpoint

• Return : Endpoint name

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : getEndpointDescription

• Help :

Returns the description of an endpoint

• Return : Endpoint description

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : isEndpointPersistent

• Help :

Page 62: Spring Surf Documentation

JavaScript API Reference

59

Checks if an endpoint is persistent or not

• Return : True if the endpoint is persistent

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

• Method : getEndpointURL

• Help :

Returns the configured URL for the given endpoint

• Return : The endpoint url

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint id

C.3. org.springframework.extensions.webscripts.ScriptRemoteConnector

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

• 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 :

Describes a connector to a remote endpoint.

• Sample Code :

// get a connector to the Alfresco repository endpoint

Page 63: Spring Surf Documentation

JavaScript API Reference

60

var connector = remote.connect("alfresco");

// retrieve the web script index page

var indexHtml = connector.get("/index");

• Methods

• Method : get

• Help :

Invokes a GET request URI on the endpoint.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : put

• Help :

Invokes a URI on a remote service, passing the supplied body as a PUT request.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Parameter : var1

• Java Class : java.lang.String

• Help :

Body of the PUT request.

• Method : put

• Help :

Page 64: Spring Surf Documentation

JavaScript API Reference

61

Invokes a URI on a remote service, passing the supplied body as a PUT request.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Parameter : var1

• Java Class : java.lang.String

• Help :

Body of the PUT request.

• Parameter : var2

• Java Class : java.lang.String

• Help :

Content mimetype of the request.

• Method : getDescriptor

• Help :

Returns the endpoint descriptor

• Return : Endpoint descriptor

• Method : post

• Help :

Invokes a URI on a remote service, passing the supplied body as a POST request.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

Page 65: Spring Surf Documentation

JavaScript API Reference

62

• Help :

Endpoint Url

• Parameter : var1

• Java Class : java.lang.String

• Help :

Body of the POST request.

• Method : post

• Help :

Invokes a URI on a remote service, passing the supplied body as a POST request.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Parameter : var1

• Java Class : java.lang.String

• Help :

Body of the POST request.

• Parameter : var2

• Java Class : java.lang.String

• Help :

Content mimetype of the request body

• Method : del

• Help :

Page 66: Spring Surf Documentation

JavaScript API Reference

63

Invokes a URI on a remote service as DELETE request.

NOTE: the name of the method is 'del' not 'delete' so as to not

interfere with JavaScript Object.delete() method.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : call

• Help :

Invokes a URI on the endpoint via a GET request.

• Return : Response object from the call

• Parameters

• Parameter : var0

• Java Class : java.lang.String

• Help :

Endpoint Url

• Method : getEndpoint

• Help :

Returns the endpoint string

• Return : Endpoint

C.4. 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

Page 67: Spring Surf Documentation

JavaScript API Reference

64

• 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.

Page 68: Spring Surf Documentation

JavaScript API Reference

65

• 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 :

Page 69: Spring Surf Documentation

JavaScript API Reference

66

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.

C.5. 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

Page 70: Spring Surf Documentation

JavaScript API Reference

67

• 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

C.6. 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

Page 71: Spring Surf Documentation

JavaScript API Reference

68

• 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

Page 72: Spring Surf Documentation

JavaScript API Reference

69

• 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

Page 73: Spring Surf Documentation

JavaScript API Reference

70

• 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

C.7. org.springframework.extensions.webscripts.atom.AtomService

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

Page 74: Spring Surf Documentation

JavaScript API Reference

71

• 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

Page 75: Spring Surf Documentation

JavaScript API Reference

72

• 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 :

Page 76: Spring Surf Documentation

JavaScript API Reference

73

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

Page 77: Spring Surf Documentation

JavaScript API Reference

74

• 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

Page 78: Spring Surf Documentation

JavaScript API Reference

75

• 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

C.8. 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>

]

Page 79: Spring Surf Documentation

JavaScript API Reference

76

• 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.

Page 80: Spring Surf Documentation

JavaScript API Reference

77

• 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

Page 81: Spring Surf Documentation

78

Appendix D. Template Root ObjectReference

This document displays list of available Template root objects that can be used in view templates. Root

objects are listed in alphabetic order according to their names.

Each template root object in the following list is backed by a server-side java class respectively. Public

methods of the server-side java class are exposed as APIs for corresponding Template root object.

For example

{

"data":

{

"ticket":"${jsonUtils.encodeJSONString(ticket)}"

}

}

This project has total 9 Template root objects.

D.1. argreplace

• 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

D.2. atom

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

Page 82: Spring Surf Documentation

Template Root Object Reference

79

• 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

Page 83: Spring Surf Documentation

Template Root Object Reference

80

• 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 :

Page 84: Spring Surf Documentation

Template Root Object Reference

81

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

Page 85: Spring Surf Documentation

Template Root Object Reference

82

• 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

Page 86: Spring Surf Documentation

Template Root Object Reference

83

• 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

D.3. date

• Java Class : java.util.Date

D.4. dateCompare

• 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.

Page 87: Spring Surf Documentation

Template Root Object Reference

84

• Sample Code :

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

</#if>

• Methods

D.5. encodeuri

• 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

D.6. 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);

Page 88: Spring Surf Documentation

Template Root Object Reference

85

//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

Page 89: Spring Surf Documentation

Template Root Object Reference

86

• 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

D.7. server

• Java Class :

org.springframework.extensions.webscripts.PresentationContainer$PresentationServerModel

• Module Artifact Id : spring-webscripts

• Module Group Id :

Users.mindthegab.Dev.alfresco.workspace.spring-surf-parent.target.checkout.spring-webscripts

Page 90: Spring Surf Documentation

Template Root Object Reference

87

• Module Version : target

• Java Doc : link

D.8. stringUtils

• 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

Page 91: Spring Surf Documentation

Template Root Object Reference

88

• 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 :

Page 92: Spring Surf Documentation

Template Root Object Reference

89

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

Page 93: Spring Surf Documentation

Template Root Object Reference

90

• 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

D.9. xmldate

• 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.

Page 94: Spring Surf Documentation

Template Root Object Reference

91

Usage: xmldate(Date date)

xmldate(String date)

• Sample Code :

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

• Methods

Page 95: Spring Surf Documentation

92

Appendix E. Template API ReferenceThis 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

E.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

E.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 :

Page 96: Spring Surf Documentation

Template API Reference

93

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

E.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

E.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 :

Page 97: Spring Surf Documentation

Template API Reference

94

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

E.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

E.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 :

Page 98: Spring Surf Documentation

Template API Reference

95

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

E.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

E.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.

Page 99: Spring Surf Documentation

Template API Reference

96

Usage: message(String id)

• Sample Code :

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

• Methods

E.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.

Page 100: Spring Surf Documentation

Template API Reference

97

• 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.

Page 101: Spring Surf Documentation

Template API Reference

98

• 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.

Page 102: Spring Surf Documentation

Template API Reference

99

• Method : getExternalAuthentication

• Help :

Returns whether the current user is externally authenticated.

E.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

E.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)

Page 103: Spring Surf Documentation

Template API Reference

100

• Sample Code :

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

• Methods

E.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 :

Page 104: Spring Surf Documentation

Template API Reference

101

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

Page 105: Spring Surf Documentation

Template API Reference

102

• 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

Page 106: Spring Surf Documentation

Template API Reference

103

• 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

E.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.

Page 107: Spring Surf Documentation

Template API Reference

104

Usage: pathencode(String url)

• Sample Code :

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

• Methods

E.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 :

Page 108: Spring Surf Documentation

Template API Reference

105

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 :

Page 109: Spring Surf Documentation

Template API Reference

106

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

Page 110: Spring Surf Documentation

Template API Reference

107

• 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

Page 111: Spring Surf Documentation

Template API Reference

108

• 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

E.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.

Page 112: Spring Surf Documentation

Template API Reference

109

• 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

Page 113: Spring Surf Documentation

Template API Reference

110

• 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