Alfresco is a content management system that comes in two flavours – the open source Alfresco Labs and Alfresco Enterprise Edition.  I only looked at the open source version.  There’s quite a lot to look at, and unfortunately (as is too often the case) the documentation leaves a lot to be desired.  I was soon lost in a sea of versions of the applications and various ways of accessing content.  I was still none too clear how, or if it could be linked in with our existing application without significant work.

The first step was to install Alfresco… but which version?  The easiest thing to do is install the fully featured Alfresco Labs 3 and run that initially to investigate what Alfresco can do.  Eventually I would need to deploy it in JBoss, but first things first… This also gives you the option of cheating later and using some of the programs installed by default when they’re missing in a more customised deployment.

The installation:
Prior to installation I already had a local mysql database installed.  I downloaded Alfresco Labs 3 and ran the setup file.  I chose a custom install.  I deselected the jdk and open office and installed the remainder into C:/Alfresco.  I set my data to be stored in C:/Alfresco/alf_data and part of the installation included setting up the alfresco database using the mysql details I provided.

The configuration:

On the default install, extension files are stored in C:/Alfresco/tomcat/shared/classes/alfresco/extension.   Most of the settings will have been set correctly in the default install.

To configure my open office installation I edited which overrides the default values.
ooo.exe=C:/Program Files/ 3/program/soffice
You start the server by accessing Start -> Programs -> Alfresco Labs -> Start Alfresco Server.  Unfortunately if there are any problems at all the window closes leaving you to search the logs or run the batch scripts manually to see what’s going on.

Exploring the application:

Assuming your server starts up successfully, open up the Alfresco Explorer in the same menu location.  You can log in here as admin/admin.  This is the web client program which you can use to create users, assign spaces and edit content.  There’s also Alfresco Share as an alternative which is more geared towards setting up collaborative sites.  It takes a bit of time to get familiar with the interface, but there’s nothing too difficult to figure out.

You can explore the database schema.  The main tables to note are:
alf_authority which lists the user details
alf_node which gives you the node ids for the documents
avm_modes gives more details about the document nodes

The real fun and games start when you try to deploy a version other than the default install or access the repository or web client remotely.  Details on those to follow later…

Next – Deploying Alfresco Web Client in JBoss