The document discusses Enterprise Content Management (ECM) and the open source ECM system Alfresco. It defines ECM as a formal means of organizing and storing an organization's documents and content throughout the lifecycle. It explains that Alfresco uses a content repository that stores content and associated metadata in a node graph structure rather than a relational database. The presentation also demonstrates concepts in Alfresco like aspects, web scripts, spaces, and rules for executing actions.
2. You may remember me
â—Ź Open Source ECM Specialist at Sourcesence
â—Ź Author and Technical Reviewer at Packt Publishing
â—‹ Alfresco 3 Web Services (2010)
â—‹ GateIn Cookbook (2012)
â—Ź Alfresco Community (nickname OpenPj)
â—‹ Alfresco Wiki Gardener
â—‹ Global Moderator of the italian forum
â—‹ Top 10 supporter (english and italian)
â—Ź PMC Member and Mentor at the Apache Software Foundation
â—‹ Mentor for the Google Summer Of Code 2013
â—Ź JBoss Community
â—‹ Content editor for jboss.org
â—‹ Project Leader and Committer for PortletSwap (JBoss Portal)
3. Overview
â—Ź What is Enterprise Content Management (ECM)?
â—‹ Java Content Repository (JCR)
â—Ź What is Alfresco?
â—‹ Architecture
â—‹ Spaces and Rules
â—‹ RESTful API
â—Ź Demo
â—Ź Resources
4. Enterprise Content Management
Enterprise content management (ECM) is a formalized means of
organizing and storing an organization's documents, and other
content, that relate to the organization's processes. The term
encompasses strategies, methods, and tools used throughout the
lifecycle of the content.
Wikipedia
http://en.wikipedia.org/wiki/Enterprise_content_management
5. What is a repository?
â—Ź contents are kept is an organized way
â—‹ ER model is the old way
â—‹ Node graph is the new way
â– properties (metadata)
â– associations
â– renditions
â—Ź is from Latin repositorium
â—‹ table of service
â—‹ vessel
â—‹ chamber
â—‹ where to keep and find your things!!!
7. What is a repository? - You use it!!!
â—Ź Some simple examples:
â—‹ SMTP servers
â—‹ Google Drive
â—‹ Dropbox
â—Ź Some Open Source repository implementations:
â—‹ exoJCR
â—‹ Apache JackRabbit
â—Ź Some Open Source ECM systems for critical usage:
â—‹ Alfresco
â—‹ Nuxeo
â—‹ Hippo
8. What is a repository? - Decoration
apply
metadata
CMIS
JCR
REST
SOAP
IMAP
EMAIL
FTP
Repository
retrieve content using
metadata
Query Languages:
CMIS
JCR SQL
XPath
Lucene
Full Text (Google style)
Indexes
9. What is a repository? - Architecture
APIs (CMIS, REST, FTP, WebDAV, IMAP)
Model
Storage
Content Store
+
Indexes
Database
10. What is a repository? - Model
â—Ź different point of view of how managing data
â—‹ no more Relational databases (ER)
â—Ź based on the JCR Repository Model (JSR-283)
â—‹ workspaces
â—‹ identifiers
â—‹ users
â—‹ nodes and node types (contents)
â– properties and property types
â– associations (shared nodes)
11. What is a repository? - Model
â—Ź A node is a generic content stored in a repository
â—‹ type
â—‹ properties
â—‹ associations
â—‹ binary streams (optional)
â– renditions
â– text document
â– Video
â– Image
12. What is a repository? - Graph
Properties
(metadata):
Type
Node
- name
- description
- mimetype
- tags
- categories
Renditions
Binary 1
Binary 2
Binary 3
13. What is a repository? - JCR Model
Repository
Workspace
1
Workspace
2
Workspace
3
Root node
A
D
B
E
C
G
14. Why use a repository?
â—Ź you can scale out easily
â—Ź storing very large amounts of data
â—Ź storing simple data structures, such as simple JSON
â—Ź looking up data by keys rather than using queries
â—Ź searching for data based upon relevance
â—Ź evolving schemas and/or data structures
â—Ź caching data in-memory for performance
15. Alfresco
â—Ź Open Source ^__^
â—Ź Community Edition
â—‹ new features
â—‹ wide community support
â—Ź Enterprise Edition
â—‹ supported with SLA
â—‹ complete release test
â—Ź Cloud-ready
â—Ź Collaboration
â—Ź CMIS
18. Alfresco - Concepts
â—Ź Aspects
â—‹ an aspect is a tag that can decorate contents
â– adding new properties
â– adding new behaviors (trigger)
â—Ź WebScripts
â—‹ create your own REST API
â—Ź Collaboration & Security