Embedding Alfresco in a SaaS Application Juan M. Jiménez Line-of-Sight System Architects
Our Pet Project
That Became Something More
A Platform to Manage Highly Structured, Multi-Authored, and Repeatable Documents
What’s so Special?
Highly-Structured Documents Header/Footer Content Section Content Outline
Custom Content Model and Structure
Alfresco Module Content Repository Package in AMP … and embed in Alfresco
RESTful API Following HATEOAS Content Repository RESTful APIs
Endpoint Strategy GET /outlined/repo/{type}/{id} GET /outlined/repo/{parentType}/{parentId}/{type} GET /outlined/repo/{type}/{id}/content{?rendition} DELETE /outlined/repo/{type}/{id} POST /outlined/repo/{parentType}/{parentId}/{type} PUT /outlined/repo/{parentType}/{parentId}/{type}/{id}
GET a Repository Resource GET /outlined/repo/{type}/{id}
Space State Machine
JSON Representation { " ":" ",... "links": [ { "rel":" ", "href":" /s/outlined/ " }, {... }
Link to Self { "title": "Sample Space", "description": "This is just a sample space.", "links": [ { "rel":"self", "href":" }
Link to Create Resource { "rel":”create.{type}", "href":" e}" } { "rel":”create.outline", "href":" 80cd-89bdc89b0ead/outline" } Create Link Template Example
SaaS Environment Account Management Transaction Management Content Repository
SaaS Environment Account Management Transaction Management Content Repository RESTful APIs
SaaS Account Repositor y User
User Account Provisioning
Transaction Aware Account registration Activating a plan Managing content sharing options Others
Still Writing the Story Account Management Transaction Management Content Repository
References Corporate Website Blog Outline Web Site