Enter the following: Windows: echo %JAVA_HOME% Linux: echo $JAVA_HOME Installing MySQL This section describes how to set up a MySQL open source Relational Database Management System RDBM
Trang 1Component Recommendation
OpenOffice.org Alfresco uses OpenOffice for transforming documents
from one format to another, for example, a text file to a PDF file If you do not install OpenOffice, you will not have access to the transformation functionality
Flash Player Version 10.x Alfresco Share requires Flash Player Version 10.x to
upload multiple files and view Flash previews If you
do not install Flash, you see the upload screen for single files
SWFTools Alfresco Share uses the pdf2swf utility for previewing
PDF files If you do not install SWFTools, you will not see PDF previews, but image previews will still
be available
Alfresco runs within an instance of the Tomcat application server The installers and the Tomcat bundles are preconfigured with Tomcat If you wish to install Alfresco within another application server, use the Alfresco WAR file
Installing a JDK
A Java SE Development Kit (JDK) must be installed on your system before you install Alfresco Some Alfresco installation wizards will detect whether you have a JDK on your machine and, if not, install a version for you This task explains how to install JDK manually:
1 Browse to the Sun Microsystems Java download website:
http://java.sun.com
2 Select and download Java Development Kit (JDK) 6 for your platform
3 If prompted, specify a location in which to download
4 Navigate to where you downloaded the JDK
5 Install the JDK on your system
After the JDK is installed on your system, verify that the JAVA_HOME environment variable is set
Trang 2Verifying the JAVA_HOME environment
variable location
The JAVA_HOME environment variable location must be set to where the JDK is
installed This is done as follows:
1 Open the command prompt
2 Enter the following:
Windows: echo %JAVA_HOME%
Linux: echo $JAVA_HOME
Installing MySQL
This section describes how to set up a MySQL open source Relational Database Management System (RDBMS) to use with Alfresco Some of the Alfresco installation wizards install an embedded instance of MySQL that is configured with the correct settings If you prefer to install MySQL database independently, this section
describes the configuration settings that you should use:
1 Browse to the MySQL download site: http://dev.mysql.com/downloads
2 Locate and select the appropriate package for your platform Alfresco
requires MySQL 5.0.67 or higher
3 If prompted, specify a location on your system in which to download and install MySQL
4 Browse to the location where you downloaded MySQL and double-click on the installer file
5 The MySQL Server Setup wizard guides you through the MySQL
installation, followed by the Configuration wizard
Verifying the MySQL installation
Once you have installed MySQL, this task describes how to verify that it was
installed correctly:
1 Open the command prompt
Trang 33 Type the password that you set during the installation and press Enter
Information about the installed MySQL version displays If no errors are reported, MySQL is installed and running
4 In the mysql> prompt, type exit to exit MySQL You have verified that the MySQL installation was successful
Alfresco WCM
Alfresco is built on state-of-the-art open source components such as Spring,
Hibernate, Lucene, and JSF—often the components of choice for website developers today It offers one repository for the whole team This repository is a modern platform for Web Content Management 2.0 with a variety of user and technical benefits as described and discussed through the course of this book
The web development framework comprises:
Java JSF, Struts, Wicket, among others Ruby Ruby on Rails
PHP Zend, CakePHP, Codelgniter Python Django
Alfresco can be used by all of the previously mentioned frameworks Each of them has different capabilities and often requires different implementation strategies Using Alfresco WCM, you can provide a wealth of flexibility and choices when designing scalable web architecture
The following diagram shows a possible physical architecture for a WCM solution:
Trang 4WCM can be recommended to be used when:
• The authors are comfortable using the Alfresco Web Client and web forms
• Minimal time should be spent creating a robust presentation tier
• You need the ability to roll back change sets
Trang 5Installation option that is suitable for you
Alfresco is a 100 percent open source software developed using open standards
It can be operated on various operating systems, relational databases, application servers, web browsers, portals, and supports various languages We shall examine all
of the choices and determine which option is right for you
Enterprise and Community Editions
Alfresco currently provides two types of product download options:
• Alfresco Community Lab Network
• Alfresco Enterprise Network
The latest release of Alfresco has an Enterprise Edition as well as a Labs edition Both the options have the same code base and features, and are 100 percent open source For both the options, you can use Alfresco documentation (wiki), community support (forums), and community-contributed add-on products The Alfresco
Community Lab Network is free The Alfresco Enterprise Network includes a per CPU license fee
The Alfresco Community Labs Network is an unsupported product and is mainly designed for developers and technical enthusiasts It is designed in non-critical environments Alfresco Community Lab releases Early and Often and renders a daily build, offering the latest functionality It doesn't provide scalability and
high-availability certifications I would recommend this to be used as the research vehicle for new features and as the platform for the Alfresco Community And consider it as a test drive before you install
If you are implementing Alfresco for a major corporation, financial, insurance, government, or healthcare organization, I would recommend you go for Alfresco Enterprise Network support The primary benefit is that with the support of Alfresco and its certified partners you will get a stable, reliable, certified, and supported application with warranty and indemnity Your Alfresco version will be certified on all available stacks such as Linux, Windows, MySQL, Oracle, and many more You will benefit from Alfresco support, which includes problem resolution, compatibility advice, migration advice, and upgrade support For mission-critical applications, you will get 24/7 support from Alfresco experts
Trang 6Operating Systems: Windows, Linux, Unix, MacOS
Choosing an operating system to run Alfresco will be based on various factors For some companies it depends on in-house expertise For example, if you have administrators and IT staff who can easily manage business applications running
on a Microsoft Windows platform, then your choice could be to go with a Windows operating system For some companies it is based on the integration requirements with the existing systems
If you do not have any preferences, I would recommend you to go with the Linux operating system for production use Linux source code is freely distributed Tens of thousands of programmers have reviewed the source code to improve performance, eliminate bugs, and strengthen security No other operating system has ever
undergone this level of review The key advantages of Linux are listed below:
• The best technical support available
• No vendor lock-in
• Runs on a wide range of hardware
• Exceptionally stable
• Supports many tools and applications you need
• Interoperates with many other types of computer systems
• Low total cost of ownership
Databases: MySQL, Oracle, MS SQL Server,
PostgreSQL
The data access layer of Alfresco is implemented using an open source software
component and ORM (Object Relational Mapping) tool called Hibernate
Hibernate abstracts the database layer and provides seamless integration between the Alfresco repository and any relational database
If the Microsoft Windows operating system is the OS of choice, then the natural choice for you can be MS SQL Server If you already have an Oracle license, then Oracle database is also an option Alfresco also supports the PostgreSQL database
Trang 7If you do not have any database preference, it is recommended that you go with the MySQL database, which costs nothing if you go with the open source version The MySQL database has become the world's most popular open source database because of its consistency, fast performance, high reliability, and ease of usability It's used in more than 10 million installations ranging from large corporations
to specialized embedded applications MySQL runs on more than 20 platforms, including Linux, Windows, OS/X, HP-UX, AIX, and Netware, giving you the kind of flexibility that puts you in control
Application Servers: Tomcat, JBoss
Alfresco runs on any J2SE 5.0-compliant application server Hence there are no application server-specific dependencies However, it is important to make a choice
of application server before moving into production
Alfresco uses the Spring framework and not the Enterprise Java Beans (EJB)
framework So there is no dependency on JBoss or any other application server,
which provides EJB container Spring is an open source application framework for
Java/JEE The Alfresco repository uses the Spring Framework as the core foundation
of its architecture If you are developing a standalone application, then Tomcat might
be a good option Apache Tomcat powers numerous large-scale and mission-critical web applications across a diverse range of industries and organizations It is the most widely-accepted web application server in the market
On the other hand you must consider using the JBoss application server, which has the highest market capture (> 35 percent) in J2EE-based application servers in the world JBoss internally uses Tomcat and hence you get the benefits of Tomcat servlet engine as well
Alfresco utilizes JBoss cache's ability to distribute and maintain data caches, making
it possible to build large-scale systems that outperform traditional enterprise
content management systems Alfresco also utilizes the clustering, failover, and load balancing facilities of the JBoss application server to increase scalability Alfresco's business process management features are powered by the JBoss jBPM tool
If you have already invested in JBoss, then Alfresco provides complementary
industry-leading enterprise content management technology to the JBoss enterprise middleware system suite
Trang 8Portals (optional): JBoss portal, Liferay
It is optional for you to go with a portal of your choice; if you already have an
enterprise portal, you can integrate Alfresco with it If you do not have a portal
in place and you would like to leverage the portal framework, then you can
consider using either JBoss portal or Liferay portal Both of these are based on J2EE technology; both of them are open source and open standards-based and both of them have Alfresco built-in support
JBoss Portal provides an open source platform for hosting and serving a portal's
web interface, publishing and managing its content, and customizing its experience Although most packaged portal frameworks help enterprises launch portals more quickly, only JBoss Portal delivers the benefits of a zero-cost, open source license combined with a flexible and scalable underlying platform
Liferay is the most downloaded and popular open source portal with 40,000
downloads per month It runs on top of any J2EE servlet such as Tomcat So a full installation of JBoss is not required, but it can run against most full application servers out of the box, including JBoss, JRun, BEA, WebLogic, and Orion It has a full set of web service interfaces to the portal Liferay supports more than 800
portlets (products) and has a wider adoption in the market
Choosing a suitable software for your installation
You need to make the best choice of software to install Alfresco If you do not have any specific requirements, you might consider a complete open source stack for production
usage and go with Alfresco Enterprise Edition on the Linux operating system with a
MySQL database running on a JBoss application server with Liferay Portal
The examples in this book were created and tested with the following choice of Alfresco installation:
• Eclipse
• Alfresco Community Edition
• Operating System: Windows XP
• Database: MySQL 5
• Application server: Tomcat 6
• JDK 5
Trang 9Eclipse installation
As we will be using Eclipse as a development tool for this book, in this section we will talk about the installation of Eclipse Download the Eclipse Europa for Java/ J2EE developers from:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/ downloads/release/europa/winter/eclipse-java-europa-winter-win32.zip
Configuring the project for development
In this section, we will learn to set up the development environment for any Alfresco WCM project We will see how we can configure a project in Eclipse
Open Eclipse by double-clicking on the Eclipse icon It will ask you to select the
workspace Create a new folder called bookworkspace and browse to that folder
when asked for the workspace
Eclipse will now start Now we need to set up a new project for the book in Eclipse
Go to File | New | Project.
1 Select Java | Java Project in the New Project wizard Click on Next.
Trang 102 In the next screen, provide the Project name as wcmbook and choose the Create new project in workspace option Click on Next.
3 Make sure you have wcmbook/bin in the Default Output folder in the next screen and then click on Finish.