40
Optaros Assembles Enterprise 2.0 Solutions Featuring Alfresco Jeff Potts Practice Director, ECM Blog: http://ecmarchitect.com

Assembling Enterprise 2.0 with Alfresco

Embed Size (px)

DESCRIPTION

Jeff Potts' presentation from Open Source ECM Event in Dallas, June 2008 (http://www.optaros.com/)

Citation preview

Page 1: Assembling Enterprise 2.0 with Alfresco

Optaros Assembles Enterprise 2.0 Solutions Featuring Alfresco

Jeff Potts

Practice Director, ECM

Blog: http://ecmarchitect.com

Page 2: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 2

Agenda

Enterprise 2.0 components

Endeca EDeN architecture

Alfresco Web Scripts

Web Scripts + Liferay client examples

What's Next• New open source project: Streamlined, AJAX-based

Alfresco UI• Update on the Book• Alfresco-Ringside integration: Does anyone think this

is cool?

Page 3: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 3

Legacy

Systems w

ithunstru

cture

d co

nte

nt

User Management, LDAP-Integration, etc.

Assembling an agile, lightweight, component-based architecture for Enterprise 2.0

Wiki Blog

RSS/A

TO

M A

ggre

gatio

n

SocialNetworking

Consistent User Interface(with Single-Sign-On)

Leg

acy Sy

stem

s with

unstru

cture

d co

nte

nt

Intern

et

Federate

dSe

arch

Page 4: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 4

Open Source Enterprise 2.0 Components

Content Repository

Blogging

Wiki

Search

Collaborative Filtering

Social Networking

Forums / Real-time

COFI

Page 5: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 5

Client Case Study: Endeca

The Company:

Building a partner community for innovationThe Challenge:

Assembly Highlights:

` 180 users the first day, 360 the first week, more than 1000 the first month

` Site integrates portal, content, and blog servers with a seamless user interface

` Content is personalized to match user preferences

` Content approval rules can be adjusted for each department

` Reusable assembly for internal Endeca community (e.g. blogging, Wiki)

• Endeca Technologies, a next-generation information access company

• Information access platform is used by many leading companies and government agencies

• Headquarters in Cambridge, MA, USA and operations worldwide

• Create an online knowledge-sharing and collaboration community for employees, customers, and partners

• Provide controlled access to thousands of technical documents, best practices, code samples, case studies, and other content

• Address department-specific requirements for metadata and content approval

• Support future initiatives for interaction and participation

• Meet a 13-week deadline

“The solution that Optaros assembled

for us lets us interact with our audiences with

speed, flexibility and differentiation.”

- Colby DyessProduct Manager

Endeca

Page 6: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 6

Client Case Study: EndecaBuilding a partner community for innovation (Cont’d)

Flexibility:Key Components:

` Liferay Portal [JSR-168]

` Forums: Liferay Forums

` Alfresco: Content Presentation [JSR- 170]

` Additional AJAX integration with script.aculo.us, prototype

` DWR (Direct Web Remoting) toolkit for javascript

` Blogs: Apache Roller

Open Source SoftwareWeb Presentation:

` Used to integrate Liferay with Alfresco

Web Services:

` Alfresco content repository

` JBoss Application Server

` Red Hat Directory Server (LDAP) for user and group management

Back-end Components:

Differentiators:

` Enterprise 2.0 open source assembly designed for Endeca’s needs and preferences

` Content approval rules are adjustable for individual departments using Alfresco's embedded JBPM workflow engine

` Enterprise 2.0 stack can be leveraged and reused for Endeca’s internal community site

` Loose assembly architecture allows easy replacement of pluggable modules and the ability to experiment

“By offering our customers and

partners a seamless way to educate themselves and

interact with peers we are creating

loyalty to the site and to Endeca.”

- Colby DyessProduct Manager

Endeca

- Colby DyessProduct

ManagerEndeca

“Endeca customers and partners have been the driving force behind our

initiatives to encourage

relationship building and the open

exchange of ideas and best practices.

EDeN is the culmination of these

efforts…”

Differentiation:

` Vibrant online community builds stronger relationships with customers and partners

` Users can access thousands of technical documents, tools and utilities, code samples, case studies and other content

` Metadata tags identify relevant search content to match user profile

` Social networking and knowledge-sharing for e-business (blogs for executives and technical staff, feedback, forums)

` New participation and collaboration features coming soon

` Endeca Search EngineClient Preferred Component

Page 7: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 7

Endeca EDeN Architecture

Batch Job

SOAP WS

JDBC JDBC

•User Profiles•Preferences

•Presentation Services•RSS Portlet•Forums Portlet•Custom Search Portlets•Custom Alfresco Portlets

•Site­wide Search•Guided Navigation•Content Spotlighting

SOAP WS

LDAP

•Custom Content Model•Advanced Workflow•Custom Actions•Minor Web Client Cust.•All File­based Content

•CTO Blog•Engineer Blogs

Page 8: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 8

Early wireframe

Page 9: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 9

Page 10: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 10

Page 11: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 11

Page 12: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 12

Alfresco Web Scripts(RESTful Services)

Page 13: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 13

What is the Web Script Framework?What is a web script?

A Web Script is a chunk of code mapped to a URL● Business logic can be JavaScript or Java

● Full access to the JavaScript and Foundation API's

● Can return anything you want but is commonly XML, JSON, or markup

● Enables RESTful interactions with the repository

Key enabler of...

● components within the existing web client● the entire 3.0 web client● Facebook/Ringside integration● Adobe Flex integration● integration with your custom application written in any language 

that can issue an HTTP request

Page 14: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 14

Examples

Basic URL—the structure is up to you

● /alfresco/service/expenses/pending

● /alfresco/service/ui/myspaces

Passing arguments—part of the URL or explicit name-value pairs

● /alfresco/service/expenses/pending/unpaid/jpotts

● /alfresco/service/expenses/pending?user=jpotts&unpaid=true

● /alfresco/service/ui/doclist?q=sample

Response format—take the default or ask for the one you want

● /alfresco/service/search/keyword.html?q=sample

● /alfresco/service/search/keyword.rss?q=sample

● /alfresco/service/api/search/keyword?q=sample&format=rss

Page 15: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 15

How Does it Work?

The framework enforces the Model-View-Controller pattern

Controller: JavaScript or Java code that...

● Performs some logic (Optional)

● Stores some data in the model (Optional)

● Forwards the request to the view

View: Freemarker code that...

● Reads data from the model (Optional)

● Formats the response

Model: Essentially a hash of named objects

Descriptor: An XML file that ties all of this together for Alfresco

Page 16: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 16

How Does it Work?

Web Scripts can live...

● On the file system (in the classpath)

● In the repository

Web Scripts Directory helps with deployment, testing, and documentation

● http://localhost:8080/alfresco/service/

Prior to 2.9, Web Scripts have to execute in the same process as Alfresco. Starting with 2.9, this doesn't have to be the case

● Opens the way for embedding the Web Script execution

context in any Java web application

Page 17: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 17

Additional Examples

Page 18: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 18

Slightly customized version of Alfresco's “My Spaces” web

script

Page 19: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 19

Custom web script-backed portlet with AJAX calls to

Alfresco

Page 20: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 20

Screen Shots

Custom Alfresco web script-backed JSR-168 portlets running in Liferay Portal

Page 21: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 21

Custom Alfresco web script executes a full-text and property-based search against the repository

Page 22: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 22

Site communicates the availability of new services to

existing Swisscom Mobile users

Page 23: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 23

Users rate services, and view aggregate ratings from other users. Ajax interface means

no need to refresh entire page

Downloads are made available directly within the site for users to evaluate.

Page 24: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 24

Forums: Users also participate in ongoing discussions and

forums, encouraging not just feedback but discussion

RSS Feeds: User subscription

Page 25: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 25

What's Coming Next

Page 26: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 26

New at Optaros Labs: Streamlined Alfresco Web Client

Strips the web client down to the bare minimum for straight document management

Technologies• Completely web script based• Extensive use of AJAX• Built using the EXTJS toolkit• Works with Alfresco 2.1 and higher

Soon to be freely-available as an open source project under the GPLv3

• Check http://code.optaros.com over the next few weeks or so for availability

Page 27: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 27

Clean UI with reduced number of choices

Page 28: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 28

Selectable rows...

...and a preview pane

Page 29: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 29

Right-click menu with frequently-used items like download file and copy URL

to clipboard

Page 30: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 30

Modal dialogs with critical information

Page 31: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 31

Page 32: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 32

The Book

“Developer's Notebook” style• Example-intensive• If you like the ecmarchitect.com Alfresco Developer Series, you'll like

this book

Packt Publishing

Available for purchase late Summer or early Fall

Contents (Subject to change!)• The Alfresco Platform• Building, Deploying, and Troubleshooting• Working with Content• Handling Content Automatically• Customizing the Web Client User Interface• Web Scripts• Advanced Workflow

• Web Content Management• Security & Integration• Building a custom web

client with web scripts• Appendix

Page 33: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 33

Ringside SAS Integration

Ringside features• Implements the Facebook API• Maintains a social graph• Maps social graphs from disparate social networks like LinkedIn,

Facebook, and others• Runs in your environment (Secure, clear data ownership)• 100% Open Source

Still in beta, still a bit rough, but coming along nicely

Page 34: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 34

Ringside SAS Integration

Persist internal Facebook app data to an ECM repository

Write internal Facebook apps using the Alfresco web script framework (JavaScript, FreeMarker)

Expose Facebook and LinkedIn social graphs to Alfresco

Develop Alfresco-based Facebook apps without requiring a connection to Facebook

Page 35: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 35

What features make sense?

See which Ringside/Facebook/LinkedIn friends are online

Submit a workflow that automatically routes to all of my Ringside friends

Click an action for any document that sends an email with a link to the document to my Ringside friends

Make it so that document creation, updates, and deletes post an activity to my mini feed

Automatically sync users between SAS and the Alfresco user repository

Store the Ringside/Facebook ID as a piece of metadata on the Alfresco user object

Suggest friends based on the documents I've looked at/created

Make the social server pluggable

Create social Alfresco dynamic web site modules

Page 36: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 36

Page 37: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 37

Page 38: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 38

Page 39: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 39

Page 40: Assembling Enterprise 2.0 with Alfresco

06/26/08 © Optaros 2008. All rights reserved. 40

About Optaros

We design, assemble & support next-generation Internet solutions for ecommerce and media & publishing clients

We help our clients become more agile and deliver better user experiences to their customers, employees, and suppliers

We do great work100% reference-able98% on-time/on-budget

We‘re growing$0 $21 million since 2005

Over 200 employees across offices in North America, Bucharest, Geneva, London, Munich, Zurich

We have a rich historyLeadership since 1990 through the client-server, web browser, and “assembly” eras

We’re well capitalized$20 million capitalization