Home Web Development Alfresco 3 Cookbook

Alfresco 3 Cookbook

By Snig Bhaumik , Snig Bhaumik , Alfresco.com
books-svg-icon Book
eBook $39.99 $27.98
Print $65.99
Subscription $15.99 $10 p/m for three months
$10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
eBook $39.99 $27.98
Print $65.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
  1. Free Chapter
    Getting Started
About 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.
Publication date:
July 2011
Publisher
Packt
Pages
380
ISBN
9781849511087

 

Chapter 1. Getting Started

In this chapter, we will cover the following:

  • Setting up a database for Alfresco

  • Installing Alfresco on Windows

  • Installing Alfresco on Linux

  • Running Alfresco for the first time

  • Using Alfresco explorer

  • Knowing about Alfresco stores

  • Understanding default space hierarchy

 

Introduction


This chapter will demonstrate how to install Alfresco, introduce Alfresco Explorer—the web client interface for managing the repository, and the applications that are bundled with Alfresco standard distribution.

Towards the end, you will understand how Alfresco stores and organizes the uploaded contents. We will also be acquainted with the default spaces that come with the Alfresco repository.

Today, Alfresco is the leading Open Source alternative to Enterprise Content Management—alternative to Microsoft SharePoint®, Documentum®, Open Text®, and so on. Alfresco is developed using best-of-breed Open Source technologies such as Spring, Hibernate, Lucene, modern standards such as JSR-168, JSR-170, Level 2 Web Services, Java Server Faces, and so on. Alfresco manages almost all types of content within an—enterprise documents, records, web pages, images, XML documents, or any other files.

Some of the most important capabilities and features of Alfresco are:

  • Document management

  • Web content management

  • Record management

  • Image management

  • Workflow

  • Search

  • Multilingual support

  • Multiplatform support

  • Clustered and Federated servers

  • Cloud-eady

  • Web 2.0 collaboration

  • Browser-based UI and desktop integration

  • JSR, SOAP, REST interfaces

  • Content Management Interoperability Services (CMIS)

  • CIFS, SMB, WebDAV, FTP, and IMAP access channels

  • MS Office® Integration using MS SharePoint Protocol®

 

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

 

Setting up a database for Alfresco


Alfresco uses Hibernate as the Object Relational Mapping (ORM) layer. Thus, it is capable of plugging into any of the popular relational databases such as MySQL, PostgreSQL, Oracle, MS SQL Server, and so on.

In this book, we will be demonstrating examples using the MySQL database.

Getting ready

In order to set up your MySQL database for Alfresco, you would need a MySQL database server and an optional MySQL client. A MySQL client could be handy if you are working on Windows.

  1. 1. To install the MySQL Server, download the MySQL Server Community Version from http://dev.mysql.com/downloads/mysql/.

    Note

    The listed setups are available in the form of Microsoft Installers (.MSI files). If you do not require Documentations and Development Components (in our case, for running Alfresco in a Developer Machine, we do not need these), you can download the installers without the essentials. Choose the installer that suits you and download.

    If you are running a 64-bit Operating System environment, you can download the 64-bit version of the server from http://dev.mysql.com/downloads/mirror.php?id=390238#mirrors. Otherwise, go for a 32-bit installation from http://dev.mysql.com/downloads/mirror.php?id=390237#mirrors

  2. 2. Choose one mirror, download, and save the installer in a suitable location on your computer.

  3. 3. Run the installer and choose Typical in installation types.

  4. 4. After completion of the installation, start configuring the server and choose Detailed Configuration.

  5. 5. Select Developer Machine and choose Multifunctional database.

  6. 6. For the next steps in INNODB tablespace settings, Concurrent connections settings, TCP/IP port settings, default character set, windows service configuration, accept the default options and settings provided.

  7. 7. Give the root password as you like, however, it is advisable not to use a blank password.

  8. 8. Click Next>, your MySQL server will be configured.

  9. 9. Clicking Finish will close the setup wizard and MySQL server is installed.

  10. 10. Install MySQL Clients. You can use any of the clients available for MySQL. However, in our example, we will be using the MySQL Workbench.

Note

Note that the MySQL Workbench requires .NET Framework 3.5 to be installed in the machine, in case it is not, there is your machine; you can use MySQL GUI tools or SQLYog. The following are some of the clients available for MySQL:

MySQL Workbench

http://dev.mysql.com/downloads/workbench/

GUI tools for MySQL 5.0

http://dev.mysql.com/downloads/gui-tools/5.0.html

SQLYog

http://www.webyog.com/en/downloads.php

MySQL client applications are not mandatory for Alfresco server setup. However, it is sometimes handy to get a client application of the database server in order to view, create, and configure the database and the database users. In case you do not have any client application installed, you can still use the MySQL server command prompt from your localhost.

How to do it...

After you have installed the server and the client application, let's create a database for Alfresco. By default, Alfresco stack uses the name 'Alfresco' for MySQL database as well as for the username and password. Though you can change these settings, we will go with these default settings for now.

  1. 1. Open MySQL Workbench and connect to the MySQL Server; we are assuming here that the MySQL server is running on your local machine.

  2. 2. We now need to create a database for Alfresco. After establishing the connection, open the connection to invoke the workbench SQL editor.

  3. 3. Create a new schema named alfresco in the localhost server with UTF-8 encoding and UTF-8-default collation

    Note

    Using UTF-8 encoding and collation is recommended by Alfresco.

  4. 4. After creating the database, create a user alfresco with the password alfresco. For that, you need to create a Server Instance for our localhost MySQL server.

  5. 5. In the server administration panel, create a new user named alfresco and with the password alfresco.

With this, we have set up a blank database for our Alfresco server and created a user. We will now give permissions to this user for using the database schema.

Alfresco's Tomcat bundle contains database creation, user creation script, and grant right script on that database under "<<ALFRESCO_INSTALLATION_DIR>>\extras\databases\mysql\db_setup.sql". This allows the creation of a database with a single click only.

How it works...

In the previous steps, we have created a blank database for Alfresco and created a user and granted it permissions to manage the database. Now when Alfresco Tomcat or JBoss bundle runs for the first time, it will create all the database objects (tables, and so on) automatically.

The Alfresco bundle uses MySQL as the database by default, thus you don't have to perform any changes for that.

We have created a database with the name alfresco. We have also created a user with the name alfresco with the same password. This is because the default setting of Alfresco bundle is configured in this way. Thus, you don't have to change any settings in the default bundle.

Default configurations are mentioned under "ALF_HOME>>\tomcat\shared\classes\alfresco-global.properties". If needed, you can change this setting as per the database configuration.

 

Installing Alfresco on Windows


There are two methods to install Alfresco on a Windows platform.

  • Using the Alfresco packaged installer

  • Deploying the Tomcat or JBoss bundle

The first approach will install Alfresco in Windows along with JDK (optionally), create the Alfresco database automatically, and can configure and start Alfresco as a Windows Service. It will inject the relevant shortcuts in your Start Menu just like any other application installed in your machine. You can start/stop the server using the Start Menu option or a Windows Service. This is a fully-automated and smooth approach to install Alfresco.

The second approach is more manual. You will have the downloaded Tomcat or JBoss bundle of Alfresco. Manually configure a few things, and you are ready to go. However, you cannot have Alfresco as a service in Windows very easily, in this case, and won't have the Start Menu shortcuts ready for you. But in this case, as a developer and explorer of Alfresco, you can have a number of Alfresco bundles deployed and running on your machine.

In this book, we will demonstrate the second option, as the first one is very straightforward and you will find lots of documentation around that. We will also use the Tomcat bundle of Alfresco and not the JBoss one.

Getting ready

  1. 1. Download the Alfresco community edition from the Alfresco download site. http://wiki.alfresco.com/wiki/Community_Edition_file_list_3.3

  2. 2. In Individual Components and Custom Installs section, download the Alfresco-community-tomcat-3.3.zip file. Or you can directly use the URL http://process.alfresco.com/ccdl/?file=release/community/build-2765/alfresco-community-tomcat-3.3.zip and use standard download.

  3. 3. You will need the following prerequisite programs already installed on your machine—

    • WinZIP or WinRAR

    • JDK 1.6.x

    • MySQL database server

  4. 4. Once these programs are installed and after downloading the Alfresco Tomcat bundle, we are ready to go.

How to do it...

Carry out the following steps to install the Alfresco Tomcat bundle on your machine.

  1. 1. Download the ZIP archive from the preceding URL.

  2. 2. Unzip the archive in a folder in your system. Say the folder you have unzipped the archive into is c:\Alfresco. These are the root level files in the unzipped folder.

  3. 3. You need to set the JAVA_HOME environment variable to make the Tomcat server understand where your JDK or JRE is installed.

    • Open System Properties by right-clicking on the My Computer icon on your desktop.

    • Open the Advanced tab.

    • Click on Environment Variables.

    • Check whether the JAVA_HOME environment variable is already set or not.

      1. i. If not, create a new System Variable named JAVA_HOME and put the value of the variable to the directory where JDK or JRE is installed.

      2. ii. For example, if your JDK is installed in the c:\Program Files\Java\jdk1.6.0_14 directory, the value of JAVA_HOME should be the same.

        If the JAVA_HOME variable is already defined, validate whether it contains the correct value.

  4. 4. You also need to check whether Java runtimes are properly added in your windows PATH.

    1. a. Open System Properties by right-clicking on the My Computer icon on your desktop.

    2. b. Open the Advanced tab.

    3. c. Click on Environment Variables.

      1. iii. Open the PATH environment variable

      2. iv. Check whether it is having the JDK binary folder value inserted into it. The value inserted should be %JAVA_HOME%\bin

  5. 5. Assuming that you have properly created a database named Alfresco in your local MySQL server, and created a user with the name Alfresco (as in the previous recipe), you can start your Tomcat server now. Run the alf_start.bat file and the Tomcat server should have started.

How it works...

The first time the AlfrescoTomcat server starts, the web application files (.WAR files) are exploded in the tomcat\webapps folder.

Similarly, the deployer also populates the MySQL database, and creates the required database objects (tables, and so on) into it.

Alfresco uses some third-party tools and applications for several purposes. When the Tomcat server starts, Alfresco connects with these applications and performs the necessary actions later on, as required.

  • Open Office is used by Alfresco in order to convert or transform documents into the portable document format (PDF).

  • ImageMagick converter is used to generate thumbnail images of documents.

  • PDF2SWF tool is used to convert PDF documents into flash movies.

ImageMagick and PDF2SWF binaries come with the downloaded Tomcat bundle of Alfresco, thus you do not have to install and configure these separately. However, you may have to install Open Office in your machine separately.

There's more...

Sometimes you may need to configure the JAVA_OPTS variable as well, in case you are facing any memory issues while running the application—memory issues like Java Heap Space, Perm Gen error, and so on.

For setting up JAVA_OPTS, you have to follow the same procedure as in setting up the JAVA_HOME variable in your environment variable list.

There is no fixed value for JAVA_OPTS, it depends on your application load. However, in a standard developer machine, it should be something like

-Xms256m -Xmx1024m -XX:MaxPermSize=512m

in a machine having 2 to 4 GB of physical memory.

 

Installing Alfresco on Linux


You can install Alfresco in the Linux platform with these two methods:

  • Using the Alfresco packaged installer

  • Deploying the Tomcat or JBoss bundle

The first approach will install Alfresco in Linux along with JDK (optionally). It will create the Alfresco database automatically and is often capable of configuring and starting Alfresco as a Linux init script.

The second approach is more manual. You will have the downloaded Tomcat or JBoss bundle of Alfresco. Manually configure a few things and you are ready to go.

As in the case of windows, in this book, we will demonstrate the second option. And, we will also use the Tomcat bundle of Alfresco, not the JBoss one.

Getting ready

  1. 1. Download the Alfresco community edition from the Alfresco download site. http://wiki.alfresco.com/wiki/Community_Edition_file_list_3.3.

  2. 2. In Individual Components and Custom Installs section, download the Alfresco-community-tomcat-3.3.tar.gz file. Or you can directly use this URL http://process.alfresco.com/ccdl/?file=release/community/build-2765/alfresco-community-tomcat-3.3.tar.gz and use standard download.

  3. 3. You will need the following prerequisite programs already installed in your machine:

    • JDK 1.6.x

    • MySQL database server

  4. 4. Once these programs are installed and after downloading the Alfresco Tomcat bundle, we are ready to go.

How to do it...

Carry out the following steps to install the Alfresco Tomcat bundle on your machine.

  1. 1. Download the compressed archive from the above URL.

  2. 2. Untar the bundle and move it to a suitable location, say /usr/local/Alfresco

    # tar -zxf Alfresco-xxx.tar.gz
    # mv Alfresco-xxx /user/local/
    
  3. 3. You need to give proper permission to the moved folder.

    # chmod -R 755 /usr/local/Alfresco-xxx
    
  4. 4. You need to set the JAVA_HOME environment variable to make the Tomcat server understand where your JDK or JRE is installed.

  5. 5. Check whether the JAVA_HOME environment variable is already set or not.

    # echo $JAVA_HOME
    
  6. 6. If the JAVA_HOME variable is already defined, validate whether it is containing the correct value.

  7. 7. If not, create a new file named java.sh under the /etc/profile.d directory and set the JAVA_HOME variable with the value to the directory where JDK or JRE is installed.

    # touch /etc/profile.d/java.sh
    # chmod 755 /etc/profile.d/java.sh
    # echo "JAVA_HOME=/usr/local/jdk1.6.x" >> /etc/profile.d/ java.sh
    # source /etc/profile.d/java.sh
    
  8. 8. You also need to check whether Java runtimes are properly added in your PATH variable.

    # echo $PATH
    
  9. 9. If not, set the PATH variable to the value of the bin directory of the desired JDK package.

    # echo "PATH=$PATH:/usr/local/jdk1.6.x/bin" >> /etc/profile.d/ java.sh
    # source /etc/profile.d/java.sh
    
  10. 10. Assuming that you have properly created a database named Alfresco in your local MySQL server, and created a user with the name Alfresco (as in previous recipe), you can start your Tomcat server now. Run the startup.sh file and the Tomcat server should have started.

    # cd /usr/local/Alfresco/tomcat-6.0.18/bin
    # ./startup.sh
    
  11. 11. You can check out the log file for any unexpected error.

    # tail -f /usr/local/Alfresco/tomcat-6.0.18/logs/catalina.out
    

How it works...

The first time the Alfresco Tomcat server starts, the web application files (.WAR files) are exploded in the tomcat\webapps folder.

Similarly, the deployer also populates the MySQL database and creates the required database objects (tables, and so on ) into it.

Alfresco uses some third-party tools and applications for several purposes. When the Tomcat server starts, Alfresco connects with these applications and performs the necessary actions later on as required.

  • Open Office is used by Alfresco in order to convert or transform documents into the portable document format (PDF).

  • ImageMagick converter is used to generate thumbnail images of documents.

  • PDF2SWF tool is used to convert PDF documents into flash movies.

There's more...

Sometimes you may need to configure the JAVA_OPTS variable as well, in case you are facing any memory issues while running the application—memory issues like Java Heap Space, Perm Gen error, and so on.

For setting up JAVA_OPTS, you have to follow the same procedure as in setting up the JAVA_HOME variable in your environment variable list.

There is no ideal and fixed value for JAVA_OPTS; it depends on your application load. However, in a standard developer machine, it should be something like

-Xms256m -Xmx1024m -XX:MaxPermSize=512m

in a machine having 2 to 4 GB of physical memory.

 

Running Alfresco for the first time


Alfresco comes with mainly two pre-packaged products (or applications)—the Web Client (or Alfresco Explorer) and Alfresco Share.

Here we will explore how to invoke these applications in your web browser.

Getting ready

Run the Alfresco Server. Go to C:\Alfresco (remember, this is the location we assume our Tomcat stack to be deployed from).

Wait until you see the server start-up confirmation message appears.

How to do it...

  1. 1. Open your favorite web browser.

  2. 2. To open Alfresco Explorer, type the URL http://localhost:8080/alfresco. The login screen will appear. By default, an administrator user comes with the Alfresco bundle with the username admin and the password admin.

  3. 3. After login, clicking on Company Home at top-left corner invokes the Alfresco Explorer screen, showing all available spaces in your repository.

  4. 4. To open Alfresco Share, type the URL http://localhost:8080/share. The login screen will appear. By default, an administrator user comes with the Alfresco bundle with the username admin and the password admin.

  5. 5. After login, the user dashboard will appear.

There's more

Let's go under the hood to understand the components of Alfresco Explorer.

Once you log in, you will be presented with your Dashboard in the explorer. The explorer web application window has mainly seven sections.

After logging in, click on Company Home to navigate to the root folder of the repository.

Note

  1. 1. Alfresco accumulates all contents, user information, and process information in several preconfigured stores. Thus, the Alfresco Store is the logical storage space of all contents uploaded in the repository.

  2. 2. Some of the important stores in the default configured bundle of Alfresco.

    1. 1. workspace://SpacesStore

      This is the main logical storage space where all contents and files are stored. The Alfresco Explorer application enables users to browse through this store only. In a general sense, when we call the Alfresco repository, we mostly refer to this store's contents only. Thus, in the later chapters, when we will talk about contents and spaces, we would refer to the contents of this store.

    2. 2. user://AlfrescoUserStore

      Stores information about the users registered in the Alfresco stack.

    3. 3. workspace://lightWeightVersionStore

      version2Alfresco, being an ECMS, can handle and manage multiple versions of a document. It enables users to check-in, check-out a document, see different versions of a document, and view the history of versions of a document. The lightWeightVersionStorev2 contains the archived versions of all versioned documents; that means all documents with the cm:versionable aspect. In other words, this store stocks up all versions of the contents of workspace://SpacesStore.

    4. 4. archive://SpacesStore

      This store is the trash can of workspace://SpacesStore. Means the contents that are deleted or removed from any of the repository spaces land up in this store as archive. However, once an item is removed from this store, that one is permanently lost.

    5. 5. system://system

      This store is very small and contains software information.

  3. 3. All contents and files are stored in folders, in Alfresco language, these folders are called spaces. Company Home is itself a space, inside which all other spaces and contents are stored. Under one space, there can be any number of subspaces, subspaces then contain a number of other subspaces and this hierarchy goes on. Each of these spaces can store contents, documents, or other files.

  4. 4. By default, Alfresco workspace://SpacesStore store comes with Company Home and inside Company Home, four spaces are configured.

    • Data Dictionary

    • Guest Home

    • Sites

    • User Homes

Toolbar

The toolbar at the top section of the explorer window provides links to various spaces and functionalities of Alfresco.

  • Company Home: Link to open the repository home space.

  • My Home: Link to open your (current logged in user's) home space.

  • Guest Home: Link to open the home space of non-logged in users.

  • My Alfresco: Link to navigate to your dashboard (current logged in user's dashboard).

  • Admin Console: Link to open the Administrative Console of Alfresco. This link is only available to Alfresco Administrators.

  • User Profile: Link to open the interface for changing your details, password, preferences.

  • Toggle Sidebar: Show / Hide the left navigation sidebar. Hiding the sidebar is often useful when your contents are large in number and you need more space in the screen to view more content at a time.

  • Logout: Link to logout from the Alfresco explorer. In parenthesis, it shows the current username.

  • Search: Simple and advanced search panel. This is the single and centralized search panel where you can hunt for any content available in the repository.

Sidebar

Sidebar is the left side panel for browsing the repository spaces, managing yourself, performing OpenSearch, or browsing contents by categories.

  • Navigator: This panel helps you to navigate through the repository by the available repository spaces.

  • Shelf: Shelf is sort of your mantelpiece where your clipboard is maintained, recent spaces you have navigated are listed, and shortcuts you have created are preserved.

  • OpenSearch: OpenSearch is a collection of technologies that allow publishing of search results in simple formats suitable for content syndication and aggregation. Alfresco can act as an OpenSearch provider and can expose its search engines via OpenSearch.

  • Category Browser: One of most required and sought after features of an Enterprise Content Management system is the ability to classify or categorize content by custom taxonomy. Alfresco repository has a powerful categorization engine by which you can classify any document or space. This panel enables you to browse the contents by categories.

Breadcrumb

Breadcrumb is the routing trail of spaces you have navigated through.

It shows the trace of spaces you have browsed or navigated. Each of these spaces is hyperlinked, enabling you to open any particular space with one click.

Current space information

This panel shows details of the current space you are in or the functionality you are using. For example, if you have opened the InfoAxon space, it will display information about the space InfoAxon. The right side of this panel shows the number of rules configured in this space.

Actions Links

On the right side of the Space information panel, links for actions that can be performed on the current space are provided.

  • Add Content enables you to upload a new file in the current space.

  • Create Options facilitates you to create new content items and create new spaces.

  • More Actions supplies several tasks that can be performed over the current space.

  • View Options offers at most four choices to view the contents of the current space

  • Details View displays contents along with details of each one—much like windows explorer details view.

  • Icon View shows contents with the content icon along with minimal information about the file.

  • Browse View renders only the filename, title, and action icons for the content.

  • Custom View exhibits the freemarker template you have associated with the space.

Sub-spaces panel

Panel shows all subspaces of the current space. You can set the number of items to show in a page. However, this setting will be applicable for the current session only, meaning if your session is expired or you are logged out, this setting will be reset.

There is a pagination control set also provided by which you can navigate through several pages.

Content items panel

This panel renders the content items (documents, files, and so on) created or uploaded in the current space. As seen previously, you can set the number of items to show in a page. However, this setting will be applicable for the current session only, means as before if your session is expired or you are logged out, this setting will be reset.

There is a pagination control set also provided by which you can navigate through several pages.

Footer

The footer section of the explorer page displays copyrights, license, warranty, and other information about Alfresco. This panel stays read-only unless you fiddle with some of Alfresco explorer's JSP pages and JAVA classes.

About the Authors
  • Snig Bhaumik

    Snigdhendu Bikas Bhaumik is the Technical Director of InfoAxon Technologies Ltd, located at New Delhi, India and Bracknell, UK. He also heads the Open Source Evangelist Team of InfoAxon. He is an active member and contributor in various Open Source products such as Alfresco, Liferay and Pentaho. Having more than 12 years of Software Development and Architecture experience in various tools and technologies, his prime interest now lies on Mobile Developments, Social Media Implementations, Digital Governance, Internet of Things etc. along with the traditional practices such as Knowledge Management and Business Intelligence. He has authored a popular cookbook on Alfresco Content Management System named Alfresco 3 Cookbook for Packtpub on 2010 (https://www.packtpub.com/web-development/alfresco-3-cookbook) and also was part of the technical reviewer team of Learning Alfresco Web Scripts (https://www.packtpub.com/web-development/learning-alfresco-web-scripts) on 2014. Acknowledgment: Dedicated to all the kind and benevolent people around me whose love and belief made this book possible.

    Browse publications by this author
  • Snig Bhaumik

    Snigdhendu Bikas Bhaumik is the Technical Director of InfoAxon Technologies Ltd, located at New Delhi, India and Bracknell, UK. He also heads the Open Source Evangelist Team of InfoAxon. He is an active member and contributor in various Open Source products such as Alfresco, Liferay and Pentaho. Having more than 12 years of Software Development and Architecture experience in various tools and technologies, his prime interest now lies on Mobile Developments, Social Media Implementations, Digital Governance, Internet of Things etc. along with the traditional practices such as Knowledge Management and Business Intelligence. He has authored a popular cookbook on Alfresco Content Management System named Alfresco 3 Cookbook for Packtpub on 2010 (https://www.packtpub.com/web-development/alfresco-3-cookbook) and also was part of the technical reviewer team of Learning Alfresco Web Scripts (https://www.packtpub.com/web-development/learning-alfresco-web-scripts) on 2014. Acknowledgment: Dedicated to all the kind and benevolent people around me whose love and belief made this book possible.

    Browse publications by this author
  • Alfresco.com

    Alfresco is a commercial, open source software company that provides simply a better way for people to work, ensuring they have the right information they need, exactly when they need it most. Our software powers the daily work of more than 11 million people at industry-leading organizations in more than 190 countries worldwide. The Alfresco Digital Business Platform is a modern, enterprise-class, cloud-native platform that enables organizations to build digital operations to deliver instant services with exceptional experiences. It provides the fastest path for people to interact with information and for organizations to quickly respond to threats, opportunities and circumstances. Alfresco helps more than 1,300 industry-leading organizations, including Cisco, Pitney Bowes, the Canadian Museum for Human Rights, US Department of the Navy, the Joint Chiefs of Staff, and NASA, be more responsive and competitive. Founded in 2005, Alfresco has its headquarters in Boston, Massachusetts, USA. For more information on Alfresco, please visit http://www.alfresco.com.

    Browse publications by this author
Alfresco 3 Cookbook
Unlock this book and the full library FREE for 7 days
Start now