You are on page 1of 23

Getting started with Alfresco Development

Gethin James - Senior Software Engineer @ Alfresco

#SummitNow

What I'm going to talk about


Alfresco basic overview New for developers in 4.2 The Alfresco One Restful Api Using it Adding to it (Yes, YOU can)

#SummitNow #SummitNow

What I'm not going to talk about


Share widget library Share page creation live

#SummitNow #SummitNow

Alfresco Overview

#SummitNow #SummitNow

http://blogs.alfresco.com/wp/kevinr/2013/08/22/alfresco-community-4-2-d/

New in 4.2 - Share

#SummitNow #SummitNow

http://blogs.alfresco.com/wp/kevinr/2013/09/30/alfresco-repository-admin-console/

New in 4.2 Admin console

#SummitNow #SummitNow

New in 4.2 Database queries


In-transaction metadata query
A subset of CMIS queries may be automatically executed against the database if they do not contain OR, CONTAINS(), SCORE() or IN_TREE(); nor refer to decimal, boolean or URI CMIS data types. ALF-19126

Summit: Querying for Metadata, Andy Hind


Eventually Consistent

#SummitNow #SummitNow

New in 4.2
Hybrid workflow Easy clustering Java @AlfrescoPublicApi Rich media management and transformations api

#SummitNow #SummitNow

Who likes choices?


Webscripts

Server-side JavaScript
IMAP, FTP, SharePoint protocol, CIFS
#SummitNow #SummitNow

Folder, file, content and metadata manipulation and search

Photo Slide

sites, people, comments, tags, favorites, workflow

Image title

#SummitNow #SummitNow

Public Api - Consistency


Structure: Urls, http methods, response format list, pagination, entry Common error handling & responses Querying: Paging, filtering, where, orderBy Cloud and Enterprise 4.2
#SummitNow #SummitNow

CMIS
Getting Started with CMIS, Jeff Potts What's Coming in CMIS 1.1, Greg Book: CMIS & Apache Chemistry in Action by Florian Mller, Jay Brown, and Jeff Potts Apache Chemistry project

#SummitNow #SummitNow

Api Urls
http://localhost:8080/alfresco/api/-default/cmis/versions/1.1/browser

https://localhost:8080/alfresco/api/-default/public/alfresco/versions/1/{entityResource }
#SummitNow #SummitNow

Public Api
https://api.alfresco.com/-default-/public/alfresco/versions/1/sites

https://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/sites
Network Id
mycompany.com

Api Namespace
alfresco or workflow

Entity
people tags networks

#SummitNow #SummitNow

Public Api
https://api.alfresco.com/-default-/public/alfresco/versions/1/sites /public/alfresco/versions/1/sites Scope Version UniqueId UniqueId

public/alfresco/versions/1/site /{siteId}/members/{memberid} s

Api Namespace

Entity

Relationship

#SummitNow #SummitNow

Public Api Using it


/nodes/{entityId}/tags /nodes/{entityId}/ratings /nodes/{entityId}/comments /sites /sites/{entityId} /sites/{entityId}/containers /sites/{entityId}/members /people/{entityId}/favorites /people/{entityId}/networks /people/{entityId}/sites /people/{entityId}/sites/<siteId> /people/{entityId}/preferences /people/{entityId}/activities /people/{entityId}/site-membershiprequests /tags /networks/{entityId}

#SummitNow #SummitNow

Documentation
http://docs.alfresco.com/4.2/index.jsp?topic= %2Fcom.alfresco.enterprise.doc%2Fpra%2 F1%2Ftopics%2Fpra-welcome.html

#SummitNow #SummitNow

Public Api Demo summary


Consistent api across cloud & on-premise Json based RESTful, versioned Easy to use

#SummitNow #SummitNow

Public Api Adding to it


Maven SDK https://github.com/AlfrescoLabs/quickr est

#SummitNow #SummitNow

Public Api Framework



#SummitNow #SummitNow

Built on Webscripts Consistent No XML required No FreeMarker, uses POJOs & Jackson Uses annotations (nouns) and interfaces (verbs) Write the Java, we'll handle the REST

Public Api Source code

#SummitNow #SummitNow

Summary
Choices, choices, choices. Scratched the service, ie. Data models Use CMIS Use the Maven SDK More Summit talks

#SummitNow #SummitNow

#SummitNow

You might also like