Your SlideShare is downloading. ×
0
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Intro to Alfresco for Developers
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Intro to Alfresco for Developers

8,066

Published on

Extremely high-level overview of some of the major components and sub-systems of the Alfresco platform for content management. Delivered to the Red Hat Summit/JBoss World Campground session on …

Extremely high-level overview of some of the major components and sub-systems of the Alfresco platform for content management. Delivered to the Red Hat Summit/JBoss World Campground session on 5/4/2011.

Published in: Technology, Education
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,066
On Slideshare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
427
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. A Developer’s Intro to the Alfresco Platform<br />JBoss World 2011<br />
  2. Agenda<br />Extremely High-Level Alfresco Overview<br />Alfresco Architecture<br />Alfresco Development Model<br />Alfresco User Interface<br />Alfresco App Examples<br />
  3. Extremely high-level overview<br />source: flyfshrmn98<br />
  4. Alfresco Overview<br />Alfresco is an Enterprise Content Management platform<br />Can manage any kind of file<br />Stores the file and metadata about the file<br />Metadata model is extensible<br />All content and metadata is searchable<br />Files can be secured to specific users and groups<br />
  5. Alfresco Overview (Cont’d)<br />Provides versioning and check-in/check-out<br />Has a built-in workflow engine<br />Can be accessed through a browser or from desktop applications via CIFS, WebDAV, FTP, IMAP, etc.<br />Community Edition (Community supported)<br />Enterprise Edition (Alfresco supported for a paid subscription)<br />
  6. Origins<br />Founded in 2005<br />John Newton<br />Founding developer of Ingres<br />Co-founded Documentum<br />John Powell<br />COO of Business Objects<br />President of Oracle UK<br />Lots of Engineers from Documentum, Interwoven, Vignette<br />Assembled from Open Source components<br />
  7. Core Products<br />Repository<br />Explorer Client<br />Share Client<br />Web Content Management<br />Records Management<br />
  8. Add-ons<br />WCM QuickStart<br />Sharepoint integration<br />Google Docs integration<br />Facebook integration<br />Plus many add-ons and extensions available from the community<br />Alfresco Forge<br />Google Code<br />Github<br />Alfresco Wiki<br />Alfresco Community Committer Program (ACCP)<br />
  9. What can I do with it?<br />Out-of-the-box<br />Document Management<br />Web Content Management<br />Team/Project Collaboration<br />Records Management<br />Imaging/Digital Asset Management<br />Sharepoint Replacement<br />Custom content-centric applications<br />Lots of options here<br />API’s discussed later<br />Source: craigrodway<br />
  10. Obtaining Alfresco<br />Requirements<br />An operating system that can run Java<br />A servletcontainer such as Tomcat or JBoss<br />A Hibernate-compliant database<br />Where to get it<br />Alfresco home page<br />Public SVN for Community source<br />Alfresco Customer/Partner site for Enterprise binaries<br />Private SVN for Enterprisesource<br />
  11. Obtaining Alfresco (cont’d)<br />Distribution<br />Repository (bundled with Tomcat or WAR-only)<br />Includes Alfresco Explorer and Alfresco Share<br />SDK<br />WCM add-on<br />WCM FSR deployment process<br />Source includes all of the above<br />
  12. Installing Alfresco<br />Alfresco deploys as a web application<br />Alfresco-Tomcat bundle<br />Unzip, update the startup script (if needed) and run<br />If no specific database is provided, an embedded database will be used<br />Alfresco WAR file<br />Deploys like any other WAR<br />By default, looks for MySQL db alfresco/alfresco<br />
  13. Alfresco Architecture<br />source: philromans<br />
  14. High-level Architecture<br />Plus:<br /><ul><li>IMAP
  15. SharePoint</li></li></ul><li>High-level Custom Front-End<br />Alfresco<br />Surf<br />Drupal<br />
  16. Spring Surf Framework<br />
  17. Spring Surf’s Two-Tier MVC Architecture<br />Presentation Tier<br />Dispatcher<br />Spring<br />FreeMarker<br />Web Scripts<br />Surf<br />REST<br />Repository Tier<br />Model ObjectsPagesTemplatesComponentsThemesAssociations<br />Connectors<br />JSON<br />JSON<br />Web ScriptsRepositoryCMISSocialUI<br />Content GraphDocumentsFoldersAssociationsAspects<br />
  18. The Beauty of<br />Fast, flexible, modular user interface<br />Presentation Tier<br />REST<br />SOAP<br />Open, scalable repository, metadata, versioning, workflow<br />Content Services Tier<br />?<br />?<br />Enterprise Apps Tier<br />
  19. Major Sub-systems<br />Authentication<br />Workflow<br />JBossjBPM<br />Scheduler<br />Auditing<br />Renditions<br />ImageMagick<br />OpenOffice<br />Email<br />
  20. High-level development model<br />Source: thomas hawk<br />
  21. Data Modeling<br />Repository is a collection of nodes<br />Everything is a node, nodes are typed<br />Content Model is expressed in XML<br />Cold-deploy most common, hot deploy possible<br />Types, aspects, properties, associations, constraints<br />Hierarchical<br />Types inherit from super types<br />
  22. Forms/UI Config<br />Forms are modeled in XML<br />Form Service<br />Processes and persists form data<br />Filters for intercepting form data before and after form submit<br />RESTful API for retrieving form model as JSON<br />
  23. Form Config Example<br /><field id=”sc:itemShortDescription" label-id="label.shortDescription" description-id="description.shortDescription" set="header" mandatory="true”><br /> <control template="controls/textfield.ftl”><br /> <control-param name="maxLength">100</control-param><br /> </control><br /></field> <br /><field id=”sc:itemSku" label-id="label.sku" description-id="description.sku" set="header" /><br /><field id=”sc:solutionSections" label-id="label.solutionSections” description-id="description.solutionSections" set="sections”><br /> <control template="/org/alfresco/components/form/controls/sc-association.ftl”><br /> <control-param name="showTargetLink">true</control-param><br /> <control-param name="allowOtherAssocs">false</control-param><br /> </control><br /></field><br />
  24. Queries<br />Alfresco isn't relational<br />Lucene<br />CMIS queries (SQL-like)<br />Xpath<br />Apache Solr Coming Soon!<br />SQL<br />
  25. Security - Authentication<br />Spring Security Framework (ACEGI) under the covers<br />Alfresco can handle it or pass it off to others<br />ActiveDirectory<br />LDAP<br />Kerberos<br />NTLM<br />SSO<br />Custom<br />Source: rooreynolds<br />
  26. Security - Authorization<br />Users & Groups<br />Access Control Lists<br />Permissions<br />Hierarchical<br />
  27. What is the Web Script Framework?<br />Web Script Framework used to declare a URL, bind it to logic, provide views<br />Model-View-Controller pattern<br />Controller implemented in JavaScript or Java<br />Views implemented in FreeMarker<br />Deployed to the repository or the classpath<br />Part of the Spring Surf Projecthttp://springsurf.org/<br />
  28. What is Spring Surf?<br />Web application development framework built on web scripts<br />Essentially web scripts++<br />Page definition<br />Declarative handshakes to HTTP end points<br />Page, page type, and object dispatching<br />Includes built-in hooks for talking to Alfresco and loading objects from the repository<br />
  29. What is CMIS?<br />OASIS standard<br />Alfresco, IBM, Microsoft, Oracle, FileNet support<br />Alfresco was first to production with CMIS<br />Two parts<br />Interoperability through standard SOAP and Atom Pub bindings<br />SQL-based query language for rich content repositories<br />New JSON binding coming soon<br />
  30. What is CMIS? (Cont’d)<br />Think of it as a language-independent, repository-independent API for content management<br />CRUD functions for nodes<br />Check-in/check-out<br />Associations<br />Permissions (Access Control Lists)<br />Policies<br />Queries<br />Repository traversal<br />
  31. Demo/Code<br />
  32. For More Information…<br />Alfresco Community<br />http://www.alfresco.org<br />Alfresco Forums<br />http://forums.alfresco.com<br />Alfresco Wiki<br />http://wiki.alfresco.com<br />Alfresco Blogroll<br />http://blogs.alfresco.com/planet/<br />ECM Architect<br />http://ecmarchitect.com<br />
  33. Thank you!<br />Tweet me with questions/feedback @jeffpotts01 <br />

×