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

Contenu connexe

Tendances

Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3Jeff Potts
 
Intro To Alfresco Part 2
Intro To Alfresco Part 2Intro To Alfresco Part 2
Intro To Alfresco Part 2Jeff Potts
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...Alfresco Software
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public APIJeff Potts
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Symphony Software Foundation
 
Alfresco Day Platform Update
Alfresco Day Platform UpdateAlfresco Day Platform Update
Alfresco Day Platform Updateohej
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Toni de la Fuente
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Software
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworksVijay Prasad Gupta
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesAlfresco Software
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionAcquia
 
Os Geisingerupdated
Os GeisingerupdatedOs Geisingerupdated
Os Geisingerupdatedoscon2007
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST APIJ V
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Manuel Garcia
 

Tendances (20)

Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3
 
Alfresco 5.0 features
Alfresco 5.0 featuresAlfresco 5.0 features
Alfresco 5.0 features
 
Intro To Alfresco Part 2
Intro To Alfresco Part 2Intro To Alfresco Part 2
Intro To Alfresco Part 2
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public API
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
 
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to...
 
Alfresco Day Platform Update
Alfresco Day Platform UpdateAlfresco Day Platform Update
Alfresco Day Platform Update
 
Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014Alfresco One (Enterprise) vs Alfresco Community 2014
Alfresco One (Enterprise) vs Alfresco Community 2014
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworks
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best Practices
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution
 
Os Geisingerupdated
Os GeisingerupdatedOs Geisingerupdated
Os Geisingerupdated
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 

Similaire à Developer's Intro to the Alfresco Content Management Platform

Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]Alfresco Software
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfJeff Smith
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02ECNU
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duoSymphony Software Foundation
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco Software
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingAngel Borroy López
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsJeff Potts
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resourceskeith_sutton100
 
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Software
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformAlfresco Software
 
Really Simple Web Content Management
Really Simple Web Content ManagementReally Simple Web Content Management
Really Simple Web Content ManagementAlfresco Software
 

Similaire à Developer's Intro to the Alfresco Content Management Platform (20)

Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02
 
Cfalfresco
CfalfrescoCfalfresco
Cfalfresco
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installing
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric Apps
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resources
 
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and Beyond
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Really Simple Web Content Management
Really Simple Web Content ManagementReally Simple Web Content Management
Really Simple Web Content Management
 

Plus de Jeff Potts

No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesJeff Potts
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesJeff Potts
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
 
Could Alfresco Survive a Zombie Attack?
Could Alfresco Survive a Zombie Attack?Could Alfresco Survive a Zombie Attack?
Could Alfresco Survive a Zombie Attack?Jeff Potts
 
Connecting Content Management Apps with CMIS
Connecting Content Management Apps with CMISConnecting Content Management Apps with CMIS
Connecting Content Management Apps with CMISJeff Potts
 
The Challenges of Keeping Bees
The Challenges of Keeping BeesThe Challenges of Keeping Bees
The Challenges of Keeping BeesJeff Potts
 
Getting Started With CMIS
Getting Started With CMISGetting Started With CMIS
Getting Started With CMISJeff Potts
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentJeff Potts
 
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...Jeff Potts
 
Join the Alfresco community
Join the Alfresco communityJoin the Alfresco community
Join the Alfresco communityJeff Potts
 
Apache Chemistry in Action
Apache Chemistry in ActionApache Chemistry in Action
Apache Chemistry in ActionJeff Potts
 
Alfresco Community Survey 2012 Results
Alfresco Community Survey 2012 ResultsAlfresco Community Survey 2012 Results
Alfresco Community Survey 2012 ResultsJeff Potts
 
Alfresco SAUG: State of ECM
Alfresco SAUG: State of ECMAlfresco SAUG: State of ECM
Alfresco SAUG: State of ECMJeff Potts
 
Alfresco SAUG: CMIS & Integrations
Alfresco SAUG: CMIS & IntegrationsAlfresco SAUG: CMIS & Integrations
Alfresco SAUG: CMIS & IntegrationsJeff Potts
 
Should You Attend Alfresco Devcon 2011
Should You Attend Alfresco Devcon 2011Should You Attend Alfresco Devcon 2011
Should You Attend Alfresco Devcon 2011Jeff Potts
 
2011 Alfresco Community Survey Results
2011 Alfresco Community Survey Results2011 Alfresco Community Survey Results
2011 Alfresco Community Survey ResultsJeff Potts
 
Good Chemistry: Alfresco, JBoss and CMIS
Good Chemistry: Alfresco, JBoss and CMISGood Chemistry: Alfresco, JBoss and CMIS
Good Chemistry: Alfresco, JBoss and CMISJeff Potts
 
Co-Editing Complex Documents from Alfresco Share
Co-Editing Complex Documents from Alfresco ShareCo-Editing Complex Documents from Alfresco Share
Co-Editing Complex Documents from Alfresco ShareJeff Potts
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspectiveJeff Potts
 

Plus de Jeff Potts (20)

No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to Microservices
 
Flexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL Templates
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Could Alfresco Survive a Zombie Attack?
Could Alfresco Survive a Zombie Attack?Could Alfresco Survive a Zombie Attack?
Could Alfresco Survive a Zombie Attack?
 
Connecting Content Management Apps with CMIS
Connecting Content Management Apps with CMISConnecting Content Management Apps with CMIS
Connecting Content Management Apps with CMIS
 
The Challenges of Keeping Bees
The Challenges of Keeping BeesThe Challenges of Keeping Bees
The Challenges of Keeping Bees
 
Getting Started With CMIS
Getting Started With CMISGetting Started With CMIS
Getting Started With CMIS
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing Content
 
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...
 
Join the Alfresco community
Join the Alfresco communityJoin the Alfresco community
Join the Alfresco community
 
Apache Chemistry in Action
Apache Chemistry in ActionApache Chemistry in Action
Apache Chemistry in Action
 
Alfresco Community Survey 2012 Results
Alfresco Community Survey 2012 ResultsAlfresco Community Survey 2012 Results
Alfresco Community Survey 2012 Results
 
Alfresco SAUG: State of ECM
Alfresco SAUG: State of ECMAlfresco SAUG: State of ECM
Alfresco SAUG: State of ECM
 
Alfresco SAUG: CMIS & Integrations
Alfresco SAUG: CMIS & IntegrationsAlfresco SAUG: CMIS & Integrations
Alfresco SAUG: CMIS & Integrations
 
Should You Attend Alfresco Devcon 2011
Should You Attend Alfresco Devcon 2011Should You Attend Alfresco Devcon 2011
Should You Attend Alfresco Devcon 2011
 
2011 Alfresco Community Survey Results
2011 Alfresco Community Survey Results2011 Alfresco Community Survey Results
2011 Alfresco Community Survey Results
 
Good Chemistry: Alfresco, JBoss and CMIS
Good Chemistry: Alfresco, JBoss and CMISGood Chemistry: Alfresco, JBoss and CMIS
Good Chemistry: Alfresco, JBoss and CMIS
 
Co-Editing Complex Documents from Alfresco Share
Co-Editing Complex Documents from Alfresco ShareCo-Editing Complex Documents from Alfresco Share
Co-Editing Complex Documents from Alfresco Share
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspective
 

Dernier

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Dernier (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

Developer's Intro to the Alfresco Content Management Platform

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