Book Image

Learning Alfresco Web Scripts

By : Ramesh Chauhan
Book Image

Learning Alfresco Web Scripts

By: Ramesh Chauhan

Overview of this book

Table of Contents (18 chapters)
Learning Alfresco Web Scripts
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • <args> element / <args>
  • <authentication> element
    • none value / none
    • guest value / guest
    • user value / user
    • admin value / admin
    • required / required
  • AbstractWebScript
    • versus DeclarativeWebScript / DeclarativeWebScript versus AbstractWebScript
  • Alfresco
    • web scripts, creating / Creating your first web script in Alfresco
    • JavaScript API / Understanding what you can do with the JavaScript API
  • Alfresco explorer Authenticator
    • about / Alfresco explorer authenticator
  • Alfresco Maven repository
    • about / Exploring the Alfresco Maven repository
    • URL / Exploring the Alfresco Maven repository
  • Alfresco Maven SDK
    • environment, setting up / Setting up your environment
    • Alfresco Maven repository / Exploring the Alfresco Maven repository
  • Alfresco Maven SDK, prerequisites
    • JDK 1.7 / Setting up your environment
    • Apache Maven 3.0.3 / Setting up your environment
  • Alfresco Share
    • web script, invoking from / Invoking a web script from Alfresco Share, Invoking a web script from client-side JavaScript, Calling a web script from the command line
  • Alfresco support team
    • URL / Applying AMP to the Alfresco WAR for testing
  • Alfresco WAR
    • testing, with AMP / Applying AMP to the Alfresco WAR for testing
  • AMP
    • default project structure, creating / Creating the default project structure for AMP
    • generating, from default project structure / Generating AMP from the default project
    • applying, to Alfresco WAR for testing / Applying AMP to the Alfresco WAR for testing
  • AMP archetype
    • about / Creating the default project structure for AMP
  • Apache HTTP components / Apache HTTP components
  • Apache Maven 3.0.3
    • URL, for downloading / Setting up your environment
  • arguments
    • adding, to web scripts / Adding arguments to a web script
    • specifying, for web scripts / Web script arguments
    • selecting, for web scripts / Understanding which one to choose

C

  • <cache> element
    • about / <cache>
    • never value / never
    • public value / public
    • mustrevalidate value / mustrevalidate
  • Chrome webstore link
    • URL / Advanced REST client for Chrome
  • client-side JavaScript
    • web script, invoking from / Invoking a web script from client-side JavaScript
  • client limitations
    • dealing with / Dealing with client limitations
  • CMIS
    • versus web scripts / Reasons to use web scripts
  • code examples, JavaScript controller
    • about / Code examples
    • folder, creating / Creating a folder
    • explicit arguments, retrieving / Retrieving explicit arguments
    • folder, creating under company home / Folder creation under company home
    • node, searching / Finding a node
    • user permission, checking on node / Checking user permissions on a node
    • node path, obtaining / Getting the path of a node
    • node properties, checking / Checking the properties of a node
    • property value, logging / Logging the property value
    • node property, modifying / Modifying property of a node
    • username, obtaining / Getting the current username and e-mail
    • e-mail, obtaining / Getting the current username and e-mail
    • guest home node, returning / Returning the guest home node
  • command line
    • web script, calling from / Calling a web script from the command line
  • components, web script
    • description document / The description document – it's a must!
    • controller implementation / Controller implementation – not mandatory!
    • I18N / I18N for a web script – it's optional
    • configuration document / Configuration document – it's optional
    • naming conventions / Naming conventions – the most important thing
  • components, web script framework
    • Web Script Runtime / Components of the web script framework, Web Script Runtime
    • Web Script Authenticator / Components of the web script framework, Web Script Authenticator
    • Web Script Container / Components of the web script framework, Web Script Container
    • wiring / Understanding the wiring of web script framework components
  • components support, Web Script Container
    • configuration service / Configuration service
    • web script registry / Web Script registry
    • format registry / Format registry
    • script processor registry / Script processor registry
    • template processor registry / Template processor registry
    • search path / Search path
  • configuration document
    • about / Configuration document – it's optional
    • accessing, in controller / Accessing configuration in a controller
    • accessing, in template / Accessing configuration in a template
  • configuration service
    • using / Configuration service
  • controller
    • adding, to web scripts / Extending the first web script to use the controller
    • configuration, accessing / Accessing configuration in a controller
    • using, smartly / Using controllers smartly
  • Controller
    • about / Understanding how web scripts work
  • controller implementation
    • about / Controller implementation – not mandatory!
    • JavaScript-backed controller / The JavaScript-backed controller
    • Java-backed controller / The Java-backed controller
  • cURL
    • URL / Calling a web script from the command line
  • custom authenticator implementation
    • about / Custom authenticator implementation, Custom script processor implementation
  • custom JavaScript extension
    • creating / Custom JavaScript extension
  • custom root object
    • creating / Creating your own root object
    • custom JavaScript extension, creating / Custom JavaScript extension
  • custom template processor implementation
    • about / Custom template processor implementation
  • custom web script runtime
    • creating / Custom implementation of the web script runtime

D

  • data web script / Data web script
  • debugging, web scripts
    • about / Debugging web scripts
    • logging, enabling / Enable logging
    • remote debugging, on server / Remote debugging on the server
    • other techniques / Other debugging techniques
  • DeclarativeWebScript
    • versus AbstractWebScript / DeclarativeWebScript versus AbstractWebScript
  • default project structure
    • creating, for AMP / Creating the default project structure for AMP
    • AMP, generating from / Generating AMP from the default project
    • importing, to Eclipse / Setting up a development environment with Eclipse
    • about / Understanding the default project structure
    • pom.xml file / Understanding the default project structure
    • src/main/java directory / Understanding the default project structure
    • src/main/amp directory / Understanding the default project structure
    • src/test directory / Understanding the default project structure
    • extending, for creating web scripts / Extending your default project to create web scripts
  • DELETE requests
    • about / HTTP methods supported by a web script
  • deployment architecture, web script framework
    • about / Deployment architecture
  • deployment locations
    • about / Understanding deployment locations
  • deployment options, web scripts
    • repository option / Deployment options, The repository option
    • filesystem option / Deployment options, The filesystem option
    • deployment locations / Understanding deployment locations
    • selecting / Choosing the deployment option
  • description document
    • about / The description document – it's a must!
    • mandatory declarations / Mandatory declarations
    • optional declarations / Optional declarations
  • description document, Java-backed web script
    • creating / Creating a description document
  • development environment
    • setting up, with Eclipse / Setting up a development environment with Eclipse

E

  • Eclipse
    • development environment, setting up / Setting up a development environment with Eclipse
    • default project structure, importing to / Setting up a development environment with Eclipse
  • execution flow, web scripts
    • about / Execution flow of web scripts
    • overall execution flow / Overall flow for a web script
    • technical details / Behind the scenes implementation
  • explicit arguments
    • specifying, for web scripts / Explicit arguments

F

  • <family> element / <family>
  • <format> element
    • about / <format>
    • argument value / argument
    • extension value / extension
    • any value / any
  • <formdata> element / <formdata>
  • Facebook Authenticator
    • about / Facebook Authenticator
  • Facebook Runtime
    • about / Facebook Runtime
    • implementation / Facebook Runtime
  • filesystem option
    • using / Deployment options, The filesystem option
    • about / The filesystem option
  • Firefox add-ons link
    • URL / Poster – Firefox add-on
  • format registry
    • about / Format registry
  • formats
    • customizing / Customizing formats

G

  • GET requests
    • about / HTTP methods supported by a web script

H

  • hello world web script
    • resource bundle, adding / Adding a resource bundle for the hello world web script
  • HTTP basic Authenticator
    • about / HTTP basic authenticator
  • HttpClient
    • about / HttpClient
    • used, for invoking web script / Understanding how to invoke a web script using HttpClient
    • URLConnection / URLConnection
    • Apache HTTP components / Apache HTTP components
    • RestTemplate / RestTemplate
  • HTTP methods
    • used, for developing web scripts / HTTP methods supported by a web script
    • GET requests / HTTP methods supported by a web script
    • POST requests / HTTP methods supported by a web script
    • PUT requests / HTTP methods supported by a web script
    • DELETE requests / HTTP methods supported by a web script
    • considerations / HTTP methods supported by a web script

I

  • I18N, web script
    • about / I18N for a web script – it's optional
    • resource bundle, adding for hello world web script / Adding a resource bundle for the hello world web script
    • response template, modifying for labels usage / Modifying the response template to use labels
  • implicit arguments
    • specifying, for web scripts / Implicit arguments

J

  • Java-backed controller
    • about / The Java-backed controller
    • using, considerations / Understanding when to use a Java-backed controller
  • Java-backed web script
    • use case scenario / Use case scenario
    • functionality / Web script functionality at a high level
    • components, identifying / Getting ready
    • building blocks / Getting ready
    • description document, creating / Creating a description document
    • response template, creating / Creating a response template
    • deploying / Deploying the web script
    • registering / Registering the web script
    • testing / Testing the web script
    • debugging / Enable logging
    • disabling / Disabling Java-backed web scripts
  • Java-based controller / Making web scripts work
  • java.net.URLConnection
    • URL / URLConnection
  • Java controller
    • creating / Creating a Java controller
    • implementation logic / Controller logic at a high level
    • coding / Let's code it!
    • configuring, for web script / Configuring the controller for the web script
  • Java Development Kit (JDK)
    • about / Setting up your environment
  • JavaScript-backed controller
    • about / The JavaScript-backed controller
    • using, considerations / Understanding when to use the JavaScript controller
  • JavaScript-backed web scripts
    • debugging / Enable logging
  • JavaScript-based controller / Making web scripts work
  • JavaScript API, Alfresco
    • about / Understanding what you can do with the JavaScript API
    • using / JavaScript APIs in Alfresco
    • identifying / Identifying JavaScript APIs
    • accessing, with root objects / Root objects to access JavaScript APIs
  • JD-GUI
    • about / Behind the scenes implementation
    • URL, downloading / Behind the scenes implementation
  • JDK 1.7
    • URL, for downloading / Setting up your environment
  • JSF page
    • web script, calling from / Calling a web script from the JSF page
  • JSF Runtime
    • about / JSF Runtime
    • implementation / JSF Runtime
  • JSR-168 Authenticator
    • about / JSR-168 Authenticator
    • with Alfresco Explorer support / JSR-168 Authenticator with Alfresco Explorer support
  • JSR-168 portals
    • web script, calling from / Calling a web script from JSR-168 portals and the JSF page, Calling a web script from JSR-168 portals

L

  • <lifecycle> element
    • about / <lifecycle>
    • none value / none
    • sample value / sample
    • draft value / draft
    • public_api value / public_api
    • draft_public_api value / draft_public_api
    • deprecated value / deprecated
    • internal value / internal
  • logging
    • enabling / Enable logging

M

  • mandatory declarations, description document
    • <webscript> tag / The <webscript> tag
    • <shortname> tag / The <shortname> tag
    • <url> tag / The <url> tag
  • Model object / Understanding how web scripts work
  • MVC, web scripts / MVC in web scripts
  • mvn -version command
    • about / Setting up your environment

N

  • <negotiate> element / <negotiate>
  • naming conventions
    • for web script documents / Naming conventions – the most important thing

O

  • optional declarations, description document
    • <format> element / <format>
    • <authentication> element / <authentication>
    • <transaction> element / <transaction>
    • <family> element / <family>
    • <cache> element / <cache>
    • <negotiate> element / <negotiate>
    • <lifecycle> element / <lifecycle>
    • <formdata> element / <formdata>
    • <args> element / <args>
    • <requests> element / <requests>
    • <responses> element / <responses>
    • kind attribute / kind
  • out-of-the-box web scripts / Presentation web script

P

  • pom.xml file
    • about / Understanding the default project structure
  • Portlet Runtime
    • about / Portlet Runtime
    • implementation / Portlet Runtime
  • POST requests
    • about / HTTP methods supported by a web script
  • Presentation Container
    • about / Presentation Container
  • presentation web script / Presentation web script
  • presentation web script JavaScript controller
    • web script, calling from / Calling a web script from the presentation web script JavaScript controller
  • production server
    • web scripts, executing on / Web scripts on a production server
    • web scripts, executing in background / Running web scripts in the background
    • web script logs, logging / Logging web script logs separately
    • Java-backed web script, disabling / Disabling Java-backed web scripts
  • Project Object Model (POM)
    • about / Setting up your environment
  • PUT requests
    • about / HTTP methods supported by a web script

R

  • <requests> element / <requests>
  • <responses> element / <responses>
  • remote debugging
    • on server / Remote debugging on the server
  • Repository Container
    • about / Repository Container
  • repository option
    • using / The repository option
    • about / The repository option
  • resource bundle
    • adding, for hello world web script / Adding a resource bundle for the hello world web script
  • response formats
    • about / Response formats for a web script
    • mime type / Response formats supported by the web script framework
    • specifying, for web scripts / Specifying the response format
    • specifying, via URL as extension / Specifying the response format via URL – extension on web script ID
    • specifying, via URL as explicit format argument / Specifying the response format via URL – explicit format argument
    • specifying, as default format / The default format
    • considerations / The default format
  • response template
    • about / Response templates – yes, they are required!
    • modifying, for label usage / Modifying the response template to use labels
  • response template, Java-backed web script
    • creating / Creating a response template
  • REST
    • about / Understanding web scripts
  • RESTful web service / Understanding web scripts
  • RestTemplate
    • using / RestTemplate
  • root objects
    • using / Root objects to access JavaScript APIs
    • logger / Root objects to access JavaScript APIs
    • utils / Root objects to access JavaScript APIs
    • test / Root objects to access JavaScript APIs
    • actions / Root objects to access JavaScript APIs
    • imap / Root objects to access JavaScript APIs
    • search / Root objects to access JavaScript APIs
    • classification / Root objects to access JavaScript APIs
    • people / Root objects to access JavaScript APIs
    • session / Root objects to access JavaScript APIs
    • avm / Root objects to access JavaScript APIs
    • crossRepoCopy / Root objects to access JavaScript APIs
    • workflow / Root objects to access JavaScript APIs
    • presence / Root objects to access JavaScript APIs
    • activities / Root objects to access JavaScript APIs
    • appUtils / Root objects to access JavaScript APIs
  • root objects, AbstractRuntimeContainer
    • server / Other available root objects
    • atom / Other available root objects
    • jsonUtils / Other available root objects
    • stringUtils / Other available root objects
  • root objects, AbstractWebScript
    • webscript / Other available root objects
    • format / Other available root objects
    • args / Other available root objects
    • argM / Other available root objects
    • headers / Other available root objects
    • headersM / Other available root objects
    • guest / Other available root objects
    • url / Other available root objects
    • msg / Other available root objects
    • config / Other available root objects
    • formdata / Other available root objects
    • requestbody / Other available root objects
    • json / Other available root objects
  • root objects, DeclarativeWebScript
    • model / Other available root objects
    • status / Other available root objects
    • cache / Other available root objects
  • root objects, RepositoryContainer
    • roothome / Other available root objects
    • companyhome / Other available root objects
    • person / Other available root objects
    • userhome / Other available root objects
  • root objects, TenantRepositoryContainer
    • cmis / Other available root objects
    • paging / Other available root objects

S

  • <shortname> tag / The <shortname> tag
  • ScriptNode API
    • about / A must-know ScriptNode API
  • script processor registry
    • about / Script processor registry
  • search path
    • about / Search path
  • Servlet Runtime
    • about / Servlet Runtime
    • implementation / Servlet Runtime
  • SOAP-based web services
    • limitations / Reasons to use web scripts
  • spring based services
    • web script, calling from / Calling web scripts from Spring-based services
  • src/main/amp directory
    • about / Understanding the default project structure
  • src/main/java directory
    • about / Understanding the default project structure
  • src/test directory
    • about / Understanding the default project structure
  • standalone Java program
    • web script, executing from / Executing a web script from standalone Java program
  • SURF Runtime
    • about / SURF Runtime
    • implementation / SURF Runtime

T

  • <transaction> element
    • about / <transaction>
    • none value / none
    • required value / required
    • requiresnew value / requiresnew
  • template
    • configuration, accessing / Accessing configuration in a template
  • template processor registry
    • about / Template processor registry
  • test case, Java-backed web script
    • mandatory check / Test case 1 – mandatory check
    • invalid argument value / Test case 2 – invalid argument value
    • invalid access / Test case 3 – invalid access
    • valid data / Test case 4 – test with valid data
  • troubleshooting pointers, web scripts
    • valid SecureContext error / A valid SecureContext error
    • Web Script format ** is not registered / Web Script format '' is not registered
    • Cannot locate template processor for template / Cannot locate template processor for template
    • Script URL does not support the method / Script URL does not support the method

U

  • <url> tag / The <url> tag
  • Uniform Resource Identifier (URI)
    • about / Understanding web scripts

V

  • View / Understanding how web scripts work
    • about / Overall flow for a web script

W

  • <webscript> tag / The <webscript> tag
  • web browser
    • web script, invoking from / Invoking a web script from a web browser
  • web browser plugins
    • used, for web script execution / Executing a web script using web browser plugins
  • web script
    • invoking, from web browser / Invoking a web script from a web browser
    • executing, with web browser plugins / Executing a web script using web browser plugins
    • executing, from standalone Java program / Executing a web script from standalone Java program
    • invoking, with HttpClient / Understanding how to invoke a web script using HttpClient
    • calling, from spring based services / Calling web scripts from Spring-based services
    • invoking, from Alfresco Share / Invoking a web script from Alfresco Share, Invoking a web script from client-side JavaScript, Calling a web script from the command line
    • calling, from web script JavaScript controller / Calling a web script from the presentation web script JavaScript controller
    • invoking, from client-side JavaScript / Invoking a web script from client-side JavaScript
    • calling, from command line / Calling a web script from the command line
    • calling, from JSF page / Calling a web script from JSR-168 portals and the JSF page, Calling a web script from the JSF page
    • calling, from JSR-168 portals / Calling a web script from JSR-168 portals and the JSF page, Calling a web script from JSR-168 portals
  • Web Script Authenticator
    • about / Components of the web script framework, Web Script Authenticator
    • HTTP basic Authenticator / HTTP basic authenticator
    • Alfresco explorer Authenticator / Alfresco explorer authenticator
    • JSR-168 Authenticator / JSR-168 Authenticator
    • JSR-168 Authenticator, with Alfresco Explorer support / JSR-168 Authenticator with Alfresco Explorer support
    • Facebook Authenticator / Facebook Authenticator
  • web script container
    • about / The custom implementation of a web script container
    • implementation / The custom implementation of a web script container
    • creating / The custom implementation of a web script container
  • Web Script Container
    • about / Web Script Container
    • Repository Container / Web Script Container
    • Presentation Container / Web Script Container, Presentation Container
  • web script execution, from standalone Java program
    • about / Executing a web script from standalone Java program
    • HttpClient / HttpClient
  • web script execution, web browser plugins used
    • about / Executing a web script using web browser plugins
    • add-on, for Firefox / Poster – Firefox add-on
    • advanced REST client, for Chrome / Advanced REST client for Chrome
  • web script framework
    • components / Components of the web script framework
    • deployment architecture / Deployment architecture
  • web script logs
    • logging / Logging web script logs separately
  • web script registry
    • using / Web Script registry
    • about / Web Script registry
  • web script runtime
    • about / Custom implementation of the web script runtime
    • implementation / Custom implementation of the web script runtime
  • Web Script Runtime
    • about / Components of the web script framework, Web Script Runtime
    • Servlet Runtime / Servlet Runtime
    • Portlet Runtime / Portlet Runtime
    • JSF Runtime / JSF Runtime
    • Facebook Runtime / Facebook Runtime
    • SURF Runtime / SURF Runtime
  • web scripts
    • about / Understanding web scripts
    • properties, from developer's point-of-view / Understanding web scripts
    • properties, from business user's point-of-view / Understanding web scripts
    • reasons, for using / Reasons to use web scripts
    • versus CMIS / Reasons to use web scripts
    • properties / Reasons to use web scripts
    • in developer's opinion / Reasons to use web scripts
    • using, in development projects / Understanding when to use a web script
    • using, in support projects / Understanding when to use a web script
    • applications / Understanding when to use a web script
    • using, in different environments / Understanding where web scripts can be used
    • working / Understanding how web scripts work
    • implementing / Making web scripts work
    • creating, in Alfresco / Creating your first web script in Alfresco
    • arguments, adding / Adding arguments to a web script
    • controller, adding / Extending the first web script to use the controller
    • executing, without controller / A web script without a controller
    • executing, with controller / A web script with a controller
    • developing, with appropriate HTTP methods / HTTP methods supported by a web script
    • developing, with arguments / Web script arguments
    • explicit arguments, specifying / Explicit arguments
    • implicit arguments, specifying / Implicit arguments
    • developing, with response formats / Response formats for a web script
    • executing, on production server / Web scripts on a production server
    • executing in background, on production server / Running web scripts in the background
    • creating, with default project structure / Extending your default project to create web scripts
  • web scripts, types
    • about / Types of web scripts
    • data web script / Data web script
    • presentation web script / Presentation web script
  • web script URI
    • about / Understanding the web script URI
    • http[s] / Understanding the web script URI
    • host / Understanding the web script URI
    • port / Understanding the web script URI
    • contextPath / Understanding the web script URI
    • servicePath / Understanding the web script URI
    • scriptPath / Understanding the web script URI
    • scriptArgs / Understanding the web script URI