web scripts, surf and cmis [a developer's intro to alfresco, part 3. by jeff potts]
DESCRIPTION
\Web Scripts, Surf, & CMIS What is the Web Scripts framework? Alfresco’s REST API can be thought of in three chunks Alfresco URLs used by Explorer and Share (tagging, comments, blogs, discussions, etc.) CMIS URLs used for generic node operations, queries, and repository traversal Custom URLs Web Script Framework used to declare a URL, bind it to logic, provide views Model-View-Controller pattern Controller implemented in JavaScript or Java Views implemented in FreeMarker Deployed to the repository or the classpath What is CMIS? Draft OASIS specification, not a ratified standard yet Alfresco, IBM, Microsoft, Oracle, FileNet support Alfresco rolled out an early implementation of the draft spec as well as a unit test suite Two parts Interoperability through standard SOAP and RESTful bindings SQL-based query language for rich content repositories RESTful responses returned as extended ATOM Think of it as a language-independent, repository-independent API for content management CRUD functions for nodes Check-in/check-out Associations Policies Queries Repository traversal What is SURf? Web application development framework built on web scripts Essentially web scripts++ Page definition Declarative handshakes to HTTP end points Page, page type, and object dispatching Includes built-in hooks for talking to Alfresco and loading objects from the repository Surf's two-tier architecture: - presentation tier... model objects, spring, freemarker, etc.) - repository tier (web scripts, repository, CMIS, Social UI, content graph, etc.) Demo Much more to explore: Alfresco Explorer Client Customization Behaviors Metadata Extractors Transformers Advanced Workflow (JBoss jBPM) Permissions Authentication against LDAP Web Services API AMPs Import/Export Web Content Management Sandboxes Web Forms Deployment More information and resources: Alfresco Developer Guide http://www.packtpub.com/alfresco-developer-guide/book Alfresco Content Community http://share.alfresco.com Alfresco Forums http://forums.alfresco.com Alfresco Wiki http://wiki.alfresco.com Alfresco Blogroll http://blogs.alfresco.com/planet/ ECM Architect http://ecmarchitect.com Optaros Home Page http://www.optaros.comTRANSCRIPT
A Developer’s Introduction to the Alfresco Platform
Part One: Learning Your Way Around
Part Two: The Content Model, Rules & Actions
Part Three: Web Scripts, Surf, & CMIS
Jeff Potts
Content Management Practice Lead
2© Optaros 2008. All rights reserved.
Recap
In Part Two we looked at some very basic building blocks within the Alfresco platform
• Custom content model• Rules• Actions
In Part One we looked at apattern for custom content-centric apps
3© Optaros 2008. All rights reserved.
What is the Web Script Framework?
Alfresco’s REST API can be thought of in three chunks• Alfresco URLs used by Explorer and Share (tagging, comments,
blogs, discussions, etc.)• CMIS URLs used for generic node operations, queries, and
repository traversal• Custom URLs
Web Script Framework used to declare a URL, bind it to logic, provide views
• Model-View-Controller pattern• Controller implemented in JavaScript or Java• Views implemented in FreeMarker
Deployed to the repository or the classpath
4© Optaros 2008. All rights reserved.
What is CMIS?
Draft OASIS specification, not a ratified standard yet• Alfresco, IBM, Microsoft, Oracle, FileNet support• Alfresco rolled out an early implementation of the draft spec as well
as a unit test suite
Two parts• Interoperability through standard SOAP and RESTful bindings• SQL-based query language for rich content repositories
RESTful responses returned as extended ATOM
Think of it as a language-independent, repository-independent API for content management
• CRUD functions for nodes• Check-in/check-out• Associations• Policies• Queries• Repository traversal
5© Optaros 2008. All rights reserved.
What is Surf?
Web application development framework built on web scripts
Essentially web scripts++• Page definition• Declarative handshakes to HTTP end points• Page, page type, and object dispatching
Includes built-in hooks for talking to Alfresco and loading objects from the repository
6© Optaros 2008. All rights reserved.
Surf’s Two-Tier Architecture
Presentation Tier
Repository Tier
Spring
Connectors
REST
Web Scripts
FreeMarker
Dis
pa
tch
er
Surf
Model Objects
PagesTemplates
ComponentsThemes
Associations
JSON
Web Scripts
RepositoryCMIS
SocialUI
JSON
Content Graph
DocumentsFoldersAssociationsAspects
7© Optaros 2008. All rights reserved.
Demo
Hello World Web Script
CMIS URL
Alfresco Developer Guide Rating Example
Status & Bookmark Share Dashlets
Green Energy Site
8© Optaros 2008. All rights reserved.
Much More to Explore on Your Own
Alfresco Explorer Client Customization
Behaviors
Metadata Extractors
Transformers
Advanced Workflow (JBoss jBPM)
Permissions
Authentication against LDAP
Web Services API
AMPs
Import/Export
Web Content Management• Sandboxes• Web Forms• Deployment
9© Optaros 2008. All rights reserved.
For More Information…
Alfresco Developer Guide• http://www.packtpub.com/alfresco-developer-guide/book
Alfresco Content Community• http://hosted4.alfresco.com/alfresco
Alfresco Forums• http://forums.alfresco.com
Alfresco Wiki• http://wiki.alfresco.com
Alfresco Blogroll• http://blogs.alfresco.com/planet/
ECM Architect• http://ecmarchitect.com
Optaros Home Page• http://www.optaros.com