alfresco overview edm
TRANSCRIPT
![Page 1: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/1.jpg)
NGUYỄN VĂN SANGSKYPE SANG89VH
MAIL [email protected]
FACEBOOK https://www.facebook.com/sang.nguyen.792197
ĐT 01656054323
WEB 123HOIDAP.VN
Hà Nội, 20/01/2015
![Page 2: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/2.jpg)
Alfresco Overview
INTRODUCTION ARCHITECTURAL OVERVIEW THE ALFRESCO CONTENT APPLICATION SERVER THE CONTENT REPOSITORY MODULARITY THROUGH A SPRING FRAMEWORK CONTENT SERVICES APIS EXTENDING ALFRESCO CONTENT MODELING WEB APPLICATION FRAMEWORK
![Page 3: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/3.jpg)
Introduction
• Alfresco is ECM (Enterprise content management)
• Alfresco built a different kind of system using open source development and incorporating open source components, such as Spring, Lucene, Hibernate,jBPM, FreeMarker, and POI.
![Page 4: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/4.jpg)
Introduction
![Page 5: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/5.jpg)
Introduction
• Alfresco Applications two main applications are Alfresco Share and Alfresco Explorer.
– The Alfresco Web Tier and Surf
– Alfresco Programming Models
![Page 6: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/6.jpg)
Introduction
• CONTENT APPLICATIONS
These applications are content-rich and their business processes tend to focus on the creation, management, delivery, access, and use of content. Aside from the major applications of document, image, records, digital asset, and Web content management, there are a number of specific applications and use cases that add value to the enterprise and reduce both cost and waste
![Page 7: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/7.jpg)
Introduction
• Knowledge Management
Web content management is about managing Web sites, managing the content that goes into Web sites (such as HTML and images), and managing the processes of building, testing, and deploying Web sites and content.
![Page 8: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/8.jpg)
Introduction
• Information Publishing
Information publishing is a specialized form of Web content management.
![Page 9: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/9.jpg)
Introduction
• Records Management
Records management is used to control important information that needs to be retained for extended periods of time.
![Page 10: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/10.jpg)
Introduction
• Collaborative Content Development
Many knowledge-oriented business processes rely on content as the container of information captured
and developed as part of the creative process.
![Page 11: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/11.jpg)
Introduction
• Case Management
Case Management is the handling of information related to a case, such as an insurance claim, an investigation, or personnel processing.
![Page 12: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/12.jpg)
Introduction
![Page 13: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/13.jpg)
Architectural Overview
![Page 14: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/14.jpg)
Architectural Overview
• The Alfresco Content Application Server provides the following categories of services
• built upon the content repository:
• ➤ Content services (for example, transformation, tagging, metadata extraction)
• ➤ Control services (for example, workflow, records management, change sets)
• ➤ Collaboration services (for example, social graph, activities, wiki)
![Page 15: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/15.jpg)
THE ALFRESCO CONTENT APPLICATION SERVER
![Page 16: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/16.jpg)
The Content Repository
• ➤ Definition of content structure (modeling)• ➤ Creation, modification, and deletion of content, associated
metadata, and relationships• ➤ Query of content• ➤ Access control on content (permissions)• ➤ Versioning of content• ➤ Content renditions• ➤ Locking• ➤ Events• ➤ Audits• ➤ Import/Export• ➤ Multilingual• ➤ Rules/Actions
![Page 17: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/17.jpg)
The Content Repository
![Page 18: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/18.jpg)
The Content Repository
• The storage engine also exposes query capabilities provided by a custom query engine built on Apache Lucene that supports the following search constructs:
• ➤ Metadata filtering
• ➤ Path matching
• ➤ Full text search
• ➤ Any combination of the above
![Page 19: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/19.jpg)
The Content Repository
Query EngineThe query engine and storage engines are hooked into the transaction and permission support of the infrastructure, thus offering consistent views and permission access. Several query languages are exposed , including native Lucene, XPath, Alfresco FTS (Full Text Search), and CMIS Query Language (with embedded Alfresco FTS).
![Page 20: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/20.jpg)
Modularity through a Spring Framework
• Alfresco employed the Spring framework for its factory, Dependency Injection, and Aspect-Oriented Programming capabilities.
![Page 21: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/21.jpg)
Content Services
• ➤ Content— Advanced content management capabilities
• ➤ Control— Encapsulation of processes
• ➤ Collaboration— Integration of content into social networks
![Page 22: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/22.jpg)
Content Services
• Lifecycle— Management of content state over time• ➤ Transformation— Conversion of content from one type to
another• ➤ Metadata Extraction— Synchronization of document metadata
with node metadata• ➤ Tagging— Arbitrary user-generated tags versus formally defined
classifications• Control services encapsulate processes through which content
flows and comprise the following:• ➤ Workflow— Structured process that include a sequence of
connected steps, often involving human interactions through allocation of tasks
• ➤ Records— File plans, record types, retention and archival policies, disposition, and reporting, all certified to the DOD 5015.2 standard
![Page 23: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/23.jpg)
Content Services
• ➤ Change Set— Working area for making safe content modifications• ➤ Preview— Viewing of content as it should be before publishing• ➤ Deployment: Publishing of content from one environment to another• Collaboration services integrate the production and publishing of content
into social networks:• ➤ Social Graph— Represents people and their relationship to each other,
either directly or indirectly through groups or teams• ➤ Activities— Continuous personalized feed of activities performed by
others in the social graph or by Alfresco• ➤ Wiki— Easy creation and editing of interlinked Web pages• ➤ Blog— Log of regularly maintained entries of commentary, events, and
other material, such as documents and videos• ➤ Discussions— Threaded conversations
![Page 24: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/24.jpg)
APIs
The Alfresco Content Application Server exposes two flavors of API, each of which has been designedfor a specific type of client:➤ Remote API— Used by clients to remotely communicate with the Alfresco Content Application Server — specifically, to treat it as a black box➤ Embedded API— Used by extensions that are registered and executed within the AlfrescoContent Application Server
![Page 25: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/25.jpg)
The Remote API
• The Remote API is the API primarily used when building ECM solutions against the Alfresco Content Application Server. Actually, two styles of Remote API are exposed :
• ➤ Web services— SOAP-based service-oriented interfaces
• ➤ RESTful— HTTP-based resource-oriented interfaces
![Page 26: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/26.jpg)
The Embedded API
• The Embedded API is the API used when developing extensions to the Alfresco Content Application Server. Extensions, which are deployed into the server, are often dependent on existing services provided by the server. Therefore, developers of extensions use the Embedded API to gain access to those services.
![Page 27: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/27.jpg)
The Embedded API
• The Embedded API comes in several forms, where each form is structured for a particular need or kind of extension
• Alfresco Java Foundation API— The set of public Java interfaces exposed by services built into the Alfresco Content Application Server
• ➤ JCR— Standard (JSR-170) set of Java interfaces for interacting with the content repository
• ➤ JavaScript API— An object-oriented view of the Java Foundation API specifically tailored for use in JavaScript
• ➤ FreeMarker API— An object-oriented view of the Java Foundation API specifically tailored for use in FreeMarker templates
• ➤ Content Definition— An API for creating and editing content models
• ➤ Workflow Definition— An API for defining business processes
![Page 28: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/28.jpg)
The Embedded API
![Page 29: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/29.jpg)
The Embedded API
• ➤Alfresco Java Foundation API—The set of public Java interfaces exposed by services built into the Alfresco Content Application Server
• ➤ JCR— Standard (JSR-170) set of Java interfaces for interacting with the content repository
• ➤ JavaScript API— An object-oriented view of the Java Foundation API specifically tailored for use in JavaScript
• ➤ FreeMarker API— An object-oriented view of the Java Foundation API specifically tailored for use in FreeMarker templates
• ➤ Content Definition—An API for creating and editing content models
• ➤ Workflow Definition—An API for defining business processes
• ➤ Web Script— Definition and implementation of a RESTful API
• ➤Action— Encapsulates a process primarily used with rules
• ➤ Transformer— Converts content from one format to another
• ➤ Policy— Event handler registered against an event
• ➤ Service— Encapsulates a set of related features
• ➤ Content Model— Definition of types, aspects, and their relationships
• ➤ Workflow— A business process
![Page 30: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/30.jpg)
CONTENT MODELING
![Page 31: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/31.jpg)
DEPLOYING A CONTENT MODEL
• A content model is defined in its entirety as a single XML document, which must comply with the content metamodel XSD schema provided by the Alfresco content repository. Each model contains a set of related and coherent definitions, and is deployed as a unit.
• Two approaches to deploying a content model into the content repository:Bootstrap and dynamic.
![Page 32: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/32.jpg)
Bootstrap
• A Dictionary Bootstrap component is defined using the following snippet of Spring framework XML
![Page 33: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/33.jpg)
Metamodel XML Schema
![Page 34: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/34.jpg)
WEB APPLICATION FRAMEWORK
• Alfresco are built on Spring Surf
![Page 35: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/35.jpg)
WEB APPLICATION FRAMEWORK
• ➤ Site Dispatcher— Allows you to easily create pages and link them to the overall navigation of the Web site. It also allows you to build pages in a way that promotes reusability so that components do not need to be built more than once.
• ➤ Templates— Allows you to define a page layout once and then reuse it across a large set of pages. You can develop pages using FreeMarker, JSP, HTML, or Java.
• ➤ UI Library— Reusable UI components that can be bound into regions (or slots) within your
• page or template. They consist of back-end application logic and front-end presentation code.
• ➤ Pages— Allows for pages to be rendered in multiple formats, such as print format, PDF, or mobile device.
• ➤ AJAX support— Integration with YUI Library.• ➤ Forms— Rich Forms engine for rendering and collecting data.
![Page 36: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/36.jpg)
WEB APPLICATION FRAMEWORK
![Page 37: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/37.jpg)
Extending Alfresco
• Extending Alfresco with RESTful Services
• Extending Share
![Page 38: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/38.jpg)
Extending Alfresco with RESTful Services
![Page 39: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/39.jpg)
THE WEB SCRIPT FRAMEWORK
![Page 40: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/40.jpg)
THE WEB SCRIPT FRAMEWORK
• ➤ A description document— This describes the URI and HTTP method that will initiate the
Web script. For example, the Web script is given a short name and description, along with
authentication and transactional needs. URI bindings are described as URI templates.
• ➤ An optional controller script— Written in JavaScript, this will do the actual work. For
example, the script may query the Alfresco content repository to build a set of data items,
known as amodel, to render in the response; or for URIs that intend to modify the repository
(hopefully, PUT, POST, and DELETE method bindings), the script may update the Alfresco
repository. The JavaScript has access to the URI query string, Alfresco Content Application
Services, and content repository data entry points.
• ➤ One or more FreeMarker response templates— Known asviews, these will render output in the correct format for your specific needs (for example, HTML, Atom, XML, RSS, JSON,
CSV, or any combination of these). The HTTP response is rendered via one of the supplied
emplates, where the chosen template is based on the required response content type or status
outcome. The template has access to the URI query string, common repository data entry
points, and any data items built by the optional controller script
![Page 41: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/41.jpg)
Extending Share
![Page 42: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/42.jpg)
Extending Share
![Page 43: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/43.jpg)
Extending Alfresco Content Model
• Configure a custom content model• Define and add custom aspect (set of properties)• Define and use your custom content models• Define associated documents for your custom content types• Define constraints for your custom properties• Preview content using custom presentation templates• Enable dynamic customization of models without requiring a restart of the Alfresco server
![Page 44: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/44.jpg)
Extending Alfresco Content Model
![Page 45: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/45.jpg)
Extending Alfresco Content Model
• https://wiki.alfresco.com/wiki/Data_Dictionary_Guide
![Page 46: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/46.jpg)
Implementing Workflow
• Enable simple workflow on documents• Create e-mail templates and set e-mail notifications• Extend workflow with multiple approval steps• Implement advanced workflow using Activiti• Create custom Activiti workflows• Dynamically deploy workflow via the Activiti Console• Create and deploy the workflow task dialog.• Create and deploy the workflow resource bundle• Start Advance Workflow• Assign documents and properties to the workflow• Assign workflow task to the users
![Page 47: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/47.jpg)
Integrating External Applications with Alfresco
• Alfresco Integration Protocols
• Alfresco Web Script framework which provides RESTful web services for integration
• Various application integration examples including Liferay Portal, Drupal CMS, iPhone, and Facebook
• Alfresco Support for CMIS (Content Management Interoperability Service)
![Page 48: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/48.jpg)
Integrating External Applications with Alfresco
![Page 49: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/49.jpg)
Customizing the User Interface
• Configure space portal views• Add custom icons to spaces• Extend the action menu items• Write custom dashlets• Use webscript as dashlets• Write custom templates to preview content• Write custom templates• Write custom JSPs• Integration with external system
![Page 50: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/50.jpg)
![Page 51: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/51.jpg)
Business Process Management
➤ Introducing workflow in Alfresco
➤ Defining a workflow
➤ Creating a process definition
➤ Creating tasks based on the task model
➤ Customizing the workflow behavior
➤ Configuring the Explorer user interface
![Page 52: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/52.jpg)
WORKFLOW IN ALFRESCO
![Page 53: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/53.jpg)
DEFINING A WORKFLOW IN ALFRESCO
A workflow definition comprises aprocess definition,ataskmodel,andsomeuser interface configuration. All three of these components are necessary to build a workflow.➤ Process definition:Specifies the workflow process, defining what human tasks and automated processes to execute, and flow control.➤ Task model:Provides a description of each task in a workflow by defining the various attributes associated with that task. ➤ UI configuration: Allows for customization of the UI component that is used for presenting workflow-related information to the userand taking inputs from the user.
![Page 54: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/54.jpg)
DEFINING A WORKFLOW IN ALFRESCO
![Page 55: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/55.jpg)
DEFINING A WORKFLOW IN ALFRESCO
• A Section is best thought of as a folder with additional metadata and behaviour. Each section is uniquely named within its parent section. Each website has one root section which is the only section whose parent is not another section
• An asset is any piece of content that is placed in a section. An asset doesn't have very much "special" metadata, but does contain summary information about visitor feedback that has been received for that asset such as the number of comments received and the average rating.
![Page 56: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/56.jpg)
DEFINING A WORKFLOW IN ALFRESCO
• Asset Collection: As the name suggests, an asset collection groups together a number of assets. Each asset collection is associated with a particular section and is uniquely named within that section. There are two general types of asset collection: "dynamic" and "static". A dynamic asset collection is configured with a search query that is run periodically. The assets found by the query are placed in the collection. A static asset collection has no search query defined, and contains assets that are placed in it either manually or through some other automated mechanism.
![Page 57: Alfresco overview EDM](https://reader031.vdocuments.us/reader031/viewer/2022032022/55aab86e1a28abaf3b8b4707/html5/thumbnails/57.jpg)
DEFINING A WORKFLOW IN ALFRESCO
• Visitor Feedback is information that has been passed back through a rendered website into the repository. It may be used for numerous purposes, but in the Quick Start example it is used to record comments about an asset and requests from the "Contact us" page. A piece of visitor feedback has a number of generally useful properties such as the name and email address of the person who submitted it, a text property for the message or comment, and an integer property that can be used for ratings. It is also possible to have different categories of visitor feedback.