Intro to Alfresco for Developers
Upcoming SlideShare
Loading in...5
×
 

Intro to Alfresco for Developers

on

  • 7,615 views

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.

Statistics

Views

Total Views
7,615
Views on SlideShare
5,085
Embed Views
2,530

Actions

Likes
7
Downloads
356
Comments
0

24 Embeds 2,530

http://ecmarchitect.com 2219
http://cloud.feedly.com 199
http://www.newsblur.com 35
http://feed.webphp.com.br 19
http://www.feedspot.com 18
http://newsblur.com 8
http://reader.aol.com 6
http://pairmasts2.rssing.com 4
http://translate.googleusercontent.com 3
http://twitter.com 2
http://ecmarchitect.com. 2
http://inoreader.com 2
http://yoleoreader.com 2
http://localhost 1
http://www.kmarchitect.com 1
http://www.linkedin.com 1
https://twitter.com 1
http://us-w1.rockmelt.com 1
http://www.sitespoweredbydrupal.com 1
http://www.goread.io 1
http://trentboeschen.com 1
http://www.onlydoo.com 1
http://kmarchitect.com 1
http://rss.chrisegner.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Intro to Alfresco for Developers Intro to Alfresco for Developers Presentation Transcript

    • 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:
      • IMAP
      • SharePoint
    • High-level Custom Front-End
      Alfresco
      Surf
      Drupal
    • 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