Alfresco

From Wildsong
Jump to navigationJump to search

Alfresco is an Enterprise Content Management system.

It is open source.

You can get a commercially supported version, or you can use the community-supported open source version.

This is an amazing opportunity for small enterprises and non-profits to get a document management system that costs tens of thousands for free. THANKS

The community supported version is available as a binary, but I am building it from scratch because (1) I want to learn more about what goes into it and (2) I want a 64 bit version.

As of today the official release is at version 3.2 and the server I am using is Debian 5.0.3. I will be building the community supported version right from the head of the source tree in Subversion.

Overview

Alfresco is a document management system. It creates a repository for documents. It does all the things you expect to support collaboration on documents, including check-in, check-out, version control

Adding documents to the repository:

IMAP (email clients) FTP email WebDAV (web clients like Dreamweaver) CIFS (Windows file shares)

DoCASU

http://docasu.sourceforge.net/productInfo.html

User interface for Alfresco

Web integration

Open Atrium

http://openatrium.com/

Collaboration solution based on Drupal.

Drupal

You can create a friendly front end to Alfresco using Drupal. http://drupal.org/

I am not at this stage yet... see http://acquia.com/community/resources/acquia-tv/revitalizing-your-enterprise-intranet-drupal-alfresco-ecm-and-acquia

Search - Apache Lucene for full text search capabilities, also Endeca? Aquia?

Authentication - LDAP, NTLM Good role based access

Some things that might be good in a non-profit via Drupal for community building

  • Wiki
  • Forums
  • Blogging and microblogging
  • Rich user profiles
  • RSS feeds
  • Outreach (public content, mailing list management)
  • Comments
  • Polls
  • Events and calendars

There are several options for integrating Drupal with Alfresco. I think this is the one to look at http://drupal.org/project/cmis_alfresco

Other stuff

  • Download/Upload binary content into Alfresco
  • CMIS queries

Building an Alfresco server

I want the finished product to be 64 bit so I am building from source. Official page is here: http://wiki.alfresco.com/wiki/Alfresco_SVN_Development_Environment

Step 1 -- Install Debian

Download the netinst image for AMD64 from debian.org (select a mirror near you)

Burn image to a disk, boot from it and start installer.

Suggested partitions; select LVM

/boot 250M / 4GB SWAP 4GB

Select the installer options for file server and web server

Boot system into Debian

Install a few extra packages

apt-get install openssh-server sudo postfix emacs22-nox ntp

Configure ntp to point to your ntp server (I run one on my network, if you don't then the default settings are probably fine.)

Step 2 Install Alfresco prerequisites

Install additional packages required to build and run Alfresco; this installs a big lot of dependencies including the Java jdk.

sudo apt-get install ant tomcat5.5 tomcat5.5-admin tomcat5.5-webapps 
sudo apt-get install mysql-server subversion
sudo apt-get install imagemagick

Add the environment settings for Java and Tomcat to /etc/profile

sudo cat >> /etc/profile <<EOF
# Added to support Alfresco
export JAVA_HOME="/usr/lib/jvm/java-gcj"
export TOMCAT_HOME="/usr/share/tomcat5.5"
export APP_TOMCAT_HOME="/usr/share/tomcat5.5-webapps"
EOF

swftools

Build swftools from source; there is no 64-bit binary for this package either. First install more packages need to build swftools

sudo apt-get install libjpeg-progs libfreetype6-dev libjpeg62-dev libungif4-dev

Download, unpack build and install swftools. This will install into /usr/local by default, which is where I want it.

wget http://www.swftools.org/swftools-0.9.0.tar.gz
tar xzvf swftools-0.9.0.tar.gz
cd swftools-0.9.0
./configure
make
sudo make install

Step 3 Build Alfresco

At this point following the build instructions on the official page should be straightforward.

http://wiki.alfresco.com/wiki/Alfresco_SVN_Development_Environment

This is a BIG project, the subversion check out takes a long time. Source tree (before build) is over 900 MB. Here is my first attempt. It failed.

svn co svn://svn.alfresco.com/alfresco/HEAD
cd HEAD/root
ant build-tomcat

Backing off to the released version. Damn. Baby steps.

Installing the 32-bit version from the installer simply copies all the files into the destination you give it, by default /opt/Alfresco. I put it at /usr/local/Alfresco instead.

Then you still have to configure it to get it to run.

Step 4 Configure Alfresco

Edit /usr/local/Alfresco/alfresco.sh; change @@ALF_HOME@@ to "/usr/local/Alfresco" and comment out the JAVA_HOME line (it's in /etc/profile from above)