alfresco overview edm

57
NGUYỄN VĂN SANG SKYPE SANG89VH MAIL [email protected] FACEBOOK https://www.facebook.com/sang.nguyen.792197 ĐT 01656054323 WEB 123HOIDAP.VN Hà Nội, 20/01/2015

Upload: sang-nguyen

Post on 19-Jul-2015

70 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Alfresco overview EDM

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

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

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

Introduction

Page 5: Alfresco overview EDM

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

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

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

Introduction

• Information Publishing

Information publishing is a specialized form of Web content management.

Page 9: Alfresco overview EDM

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

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

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

Introduction

Page 13: Alfresco overview EDM

Architectural Overview

Page 14: Alfresco overview EDM

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

THE ALFRESCO CONTENT APPLICATION SERVER

Page 16: Alfresco overview EDM

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

The Content Repository

Page 18: Alfresco overview EDM

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

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

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

Content Services

• ➤ Content— Advanced content management capabilities

• ➤ Control— Encapsulation of processes

• ➤ Collaboration— Integration of content into social networks

Page 22: Alfresco overview EDM

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

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

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

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

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

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

The Embedded API

Page 29: Alfresco overview EDM

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

CONTENT MODELING

Page 31: Alfresco overview EDM

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

Bootstrap

• A Dictionary Bootstrap component is defined using the following snippet of Spring framework XML

Page 33: Alfresco overview EDM

Metamodel XML Schema

Page 34: Alfresco overview EDM

WEB APPLICATION FRAMEWORK

• Alfresco are built on Spring Surf

Page 35: Alfresco overview EDM

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

WEB APPLICATION FRAMEWORK

Page 37: Alfresco overview EDM

Extending Alfresco

• Extending Alfresco with RESTful Services

• Extending Share

Page 38: Alfresco overview EDM

Extending Alfresco with RESTful Services

Page 39: Alfresco overview EDM

THE WEB SCRIPT FRAMEWORK

Page 40: Alfresco overview EDM

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

Extending Share

Page 42: Alfresco overview EDM

Extending Share

Page 43: Alfresco overview EDM

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

Extending Alfresco Content Model

Page 45: Alfresco overview EDM

Extending Alfresco Content Model

• https://wiki.alfresco.com/wiki/Data_Dictionary_Guide

Page 46: Alfresco overview EDM

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

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

Integrating External Applications with Alfresco

Page 49: Alfresco overview EDM

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
Page 51: Alfresco overview EDM

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

WORKFLOW IN ALFRESCO

Page 53: Alfresco overview EDM

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

DEFINING A WORKFLOW IN ALFRESCO

Page 55: Alfresco overview EDM

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

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

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.