Book Image

Alfresco 3 Cookbook

Book Image

Alfresco 3 Cookbook

Overview of this book

Alfresco is the renowned and multiple award winning open source Enterprise content management system which allows you to build, design, and implement your very own ECM solutions.You have read a number of tutorials, blogs, and books on Alfresco. Now you're in the real world, trying to use Alfresco, but you’re running into problems with it. This is the book you want. Packed full of solutions that can be instantly applied, this cookbook with its practical based recipes and minimal explanation meets that demand.This Alfresco 3 cookbook boasts a comprehensive selection of recipes covering everything from the basics to the advanced. The book has recipes for quickly installing Alfresco in Windows and Linux and helping you use custom content model, rules, and search. There is also a collection of recipes focused on creating Scripts, Freemarker templates, Web Scripts, and new workflow definitions. Steps to integrate Alfresco with other systems like MS-Office are also included. You will be able to use Alfresco’s File and Email servers. Finally, step-by-step recipes are presented to create an Alfresco build environment and compile the source code. This Alfresco 3 Cookbook is perfect for developers looking to start working on Alfresco quickly, gain complete understanding, write custom implementations, and achieve expertise very easily.
Table of Contents (21 chapters)
Alfresco 3 Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Alfresco products


Alfresco offers several integrated products and services in the ECM suite.

The core component in the architecture of Alfresco is the Repository. The Alfresco repository is a collection of services and components. These interact with the Alfresco storage that consists of the contents and indexes stored in binary format, the RDBMS to store the transaction data, tasks and business process information, audit statistics, user and group records, and so on.

On top of the Repository, the Content Platform serves as the podium of all content management operations. Alfresco Content Platform is one of the most scalable Java Content Repository (JCR). The Content Repository API for Java (JCR) is a specification for Java application APIs to access the repositories in a standard and unified manner. The REST-based lightweight mash up architecture enables Rapid Application Development and other applications to integrate with the content repository easily.

Note

REST, stands for Representational State Transfer, it is a software architecture which client programs and server services can interact with on any standard protocol such as HTTP.

A RESTful web service or RESTful web API is a collection of resources with three well-defined aspects.

A base URL of the service.

The Internet media type of the data supported and returned by the service, such as JSON, XML, HTML, and so on.

The set of operations supported by the service using HTTP methods such as GET, POST, PUT, DELETE, and so on.

We will explore how Alfresco APIs can be exposed as RESTful services in later chapters.

Using the flexible Content Platform, several products and services have been exposed such as the Web Client (Alfresco Explorer), Collaboration (Share), and Web Content Management system.

Alfresco Explorer

Earlier called Alfresco Web Client, this application is developed using Java Server Faces (JSF). Using Alfresco Explorer, you can explore the full repository of the current installation of Alfresco and perform most of the activities. In future, this application can be phased out in favor of Alfresco Share. However, Explorer has very wide capabilities for managing the repository and can be considered as a system administrator tool.

Note

Java Server Faces (JSF) is an MVC structured web application framework based on Java. It is created to simplify the development of web-based user interfaces.

For more information on JSF, please see http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html.

If you are using Alfresco with Tomcat, you can invoke the web client in your web browser by the URL http://localhost:8080/alfresco, or if you are using Alfresco with JBoss, use the URL http://localhost:8080/portal.

We are here assuming that the Alfresco server is running in your local machine and the web server is running on port 8080—this is the default port where the Tomcat or JBoss servers run, unless you manually change the ports.

A few operations for which you can use the Alfresco Explorer are:

  • Browsing the repository

  • Managing (uploading, creating, updating, deleting) the contents (see Chapter 2)

  • Managing (creating, updating, deleting) the users and groups (see Chapter 3)

  • Managing the users' permissions (see Chapter 3)

  • Setting up rules (see Chapter 4)

  • Running several actions (see Chapter 4)

  • Starting or executing a workflow (see Chapter 11)

  • Performing on a task assigned to you (see Chapter 11)

  • Managing the content categorization (see Chapter 2)

  • Export/Import contents

  • Managing various scripts and templates in the system

We will be discussing how to install and run Alfresco in the next few sections of this chapter.

Alfresco Share

Share is the Web 2.0 collaboration-based platform providing content management capabilities with simple user interfaces. It provides users with tools for searching and browsing the content, displays thumbnails, and onscreen flash previews of standard documents, enables collaboration between a community of users by various Web 2.0 collaboration tools such as Wikis, Blogs, and Discussion Forums.

Share provides highly-collaborative content management-controlled around sites and activities. End users can easily create collaborative sites for projects, departments, locations, or organization branches. They can invite users to collaborate and participate on contents, approve and publish contents using rich content modeling and lifecycle management of the underlying repository.

The Share application is accessible at http://localhost:8080/share.

All users have their private dashboard available in the Share platform. A dashboard is a collection of dashlets—a dashlet is a miniature view of an application or of functionality or some information. For example, the Tasks dashlet shows all the pending tasks of the current users with information and controls to manage each of the tasks.

  • User calendar

  • User's tasks

  • User's workspaces, sites, and site activities

  • User's documents

  • RSS feed

Share enables a collaborative environment in an organization where the participation and involvement of the users happens around sites. A site can be viewed as a community or group of users, a department, a branch, or a location of an organization. The most common usage of site can be project, for example, when you start a new project, you start a site, invite the members into the site, collaborate amongst yourselves, and produce knowledge and content.

Share normally offers four types of sites—Collaboration Site, Meeting Workspace, Document Workspace, and Record Management Site. While Collaborative Site is the default type of site created in Share, Document Workspace is usually created via MS Office®.

Similar to user dashboard, each site also has a dashboard with dashlets such as:

  • Site calendar

  • Site profile and colleagues

  • Recently modified documents

  • Image preview

  • Site wiki

  • Site links

  • RSS feed

Collaboration Site is preconfigured with a set of default pages. Each page offers different collaboration tools around the site.

  • Document library

  • Wiki

  • Blog

  • Calendar

  • Links

  • Discussion forums

  • Members

  • Data lists