Nov 19

Make Repository Link Visible

How to make the repository link visible in the header for non-Admin users:

Googling may produce the advice to change share-config.xml or share-config-custom.xml

However these did not work for me. In the same folder as share-config I found the file share-documentlibrary-config.xml and edited that instead.

Change false to true to show the header link, save, then restart Alfresco:

 service alfresco restart

This puts a Repository link in the header of non-admin users.

I needed to do this as I wanted to grant access to a single folder within a site. Without the ability to see the repo the user could search and find the folder but not be able to add files or other folders.

I also found that if I tag the folder with the user’s name he could see it in the repo tree on the left and so go directly to it.


Nov 11

Spaces, Subspaces, Groups and Inheritance

I’m having great difficulty understanding how OA (and its implementation of OG) creates a structure. There seems to be a number of anomalies which I cannot resolve.

Here is what I am trying to achieve:

The site’s users will be students from a number of schools, so the first requirement is a top-level division into separate, isolated “areas” allocated to a school (trying to avoid the words space, group & section!)

Then schools are divided into classes. So there would be SchoolA-ClassA1/ClassA2/… and School B-ClassB1/ClassB2/… and so on. (There may even be different year groups but let’s leave that for now!)

The members of each class of School A should be allocated to their respective classes, such that they are separated, ie cannot see what another class is doing. Content they produce is probably going to be private also.


So my first question is: How do I use Spaces, Groups and Sections?


The difficulty I have is in allocating users to these different divisions and the subsequent interactions. I am trying to find an arrangement that creates appropriate relationships and displays in the following areas:

  • access control of content – each class should be discreet, even though they are contained in a parent division (the school)
  • menu system – in some setups the menu bar does not display all accessible divisions.


What I have discovered is this:

Options chosen: Outcome:
create separate, unrelated spaces for school and class and then allocate a student to a school and to a class there is then no relationship between the class and the school – menu not as required
I can create a school space and class subspaces with the school as parent members of one class can see the other classes – presumably through membership of the parent space (even though inheritance is turned off)

Another thing I thought of – does it matter who creates a space?

Nov 10

My New Drupal 8 Virtual Box (and a clone!)

I made a new VirtualBox machine from a VB image downloaded from here.

Change settings;

to allow network access (ie so your host browser can access your server from outside your VM)

  • > Settings> Network> Adapter 1> Attached to: = Bridged Adapter

set display memory to 128 MB; set Network to Bridged Adapter; enable Shared Clipboard (bidirectional);

Start the VM

Do the usual update and upgrade operations;

  •  Ctrl+Alt+T    …to open a terminal
  • apt-get update
  • apt-get upgrade

then install a LAMP stack;

  • apt-get install lamp-server^

set your mysql password now

check your versions if you want;

  • php –version
  • apachectl -V
  • mysql –version

Then check your network IP;

  • ifconfig

It should be something like – put this in your host browser and see if you get the Apache default page.

On starting/restarting Apache2 you may get a grumble about a FQDN so you will need to add this line to /etc/apache2/apache2.conf;

  • ServerName localhost

You could spend a lot of time checking Drupal requirements but it’s probably best at this stage to just install it and sort it out after (see this page);

Download and unzip;

  • wget
  • tar -zxvf drupal-8.0.0-beta2.tar.gz

You then need to move the files to a new directory in your html directory. I made a directory called drupal8 in /var/www/html/ then changed permissions so it was writable from the GUI;

  • chmod 777 /var/www/html/drupal8

and used drag’n’drop to move them.

Next go to the Drupal8 folder in your browser – eg


– the browser will pick up the Drupal Install.php file and you can then install.

The next thing will be errors in Verify requirements

PHP extensions

The error message will tell you what extensions it needs. Mine said gd was missing.

I checked the php modules with

  • php -m

gd was not in the list! so install it with;

  • apt-get install php5-gd

on restarting Apache2 you may get a grumble about a FQDN so you will need to add this line to /etc/apache2/apache2.conf;

  • ServerName localhost

(you would use on a live site)

then restart

  • service apache2 restart

Next, copy /var/www/html/sites/default/default.settings.php and rename it settings.php

Change permissions to make it writable.

Do the same thing with

Now sort out your mysql database. When you installed the LAMP stack you created a database so you need to recall the database name, user and password.



Nov 06

Preparing for Maven 1 – Configuring Ubuntu VirtualBox



The VM I used is this one – the latest 14.10 desktop version, actually released today! It’s a vdi image so you need to follow these instructions. It seems to be a complete and stable version, even including Guest Additions.

Normally you would do a software update in Ubuntu but this VM is so fresh it does not need it!

The passwords are given as adminuser/adminuser

and root/adminuser

However, you may need to activate root at the start.

Do this:

sudo passwd root

then enter your password. Hey, you can be root, too, rooty, tooty, toot, toot!

Close the VM if it’s open to change some settings.

Make sure the memory is set to a high-enough number – I use 2048 MB. Set video memory too, 128 MB.

Next, enable bi-directional clipboard – > click Settings> General> Advanced> Shared Clipboard = Bidirectional


Nov 06

Maven – 2

Well, I got Maven to do its thing (this tutorial) though I am not sure what that is yet!

I am using it on my VB Ubuntu machine so at least there can be no probs with my existing Alfresco installation.

What I have found is that Maven creates amps ie Alfresco Module Packages. Apparently, to deploy these you put them in the amps folders (/opt/alfresco/amps and /opt/alfresco/amps_share – there may be 2 amps required) and run them with /opt/alfresco/bin/


Nov 04

Workflow and folder actions

How to initiate a workflow on a folder.

By default workflows can be initiated on files but not on folders, which seems to be a big flaw! Anyway, I am looking at how to set this up. Hopefully I’ll get it to work.
I found the file in this location:/opt/alfresco/tomcat/webapps/share/WEB-INF/classes/alfresco/share-documentlibrary-config.xml
and also found the actionGroup with id=”folder-browse”Looking through the file I find under “document-browse” the line
<action index=”280″ id=”document-assign-workflow” />
and under “document-details” the line
<action index=”270″ id=”document-assign-workflow” />So, I copied these to the folder sections (changing document to folder) like this:
<action index=”400″ id=”folder-assign-workflow” />However, this does not seem to have the required effect.


Oct 28

Maven – first steps

The first command in the tutorial:

mvn archetype:generate \-DarchetypeCatalog=https://artifacts. alfresco. com/nexus/content/groups/public/archetype-catalog. xml \-Dfilter=org. alfresco. maven. archetype:


time for bed…



I was copying commands from this tutorial:

It turns out that the text of the tutorial contains spaces which I copied along with everything else, so naturally it didn’t work. After discovering this it was OK, but occasionally the problem recurs. Another problem is when a command is actually 2 or more commands! See part 2…


Oct 27

Preparing for Maven 2 – Install Java and Maven

So your virtual machine is running…

Then the first thing to do is to install Oracle Java – check this page.

sudo add-apt-repository ppa:webupd8team/java

if there is a command not found response do this first:

apt-get install software-properties-common python-software-properties


sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

then get Maven

sudo apt-get install maven

You know, sometimes stuff works and sometimes it doesn’t. Sometimes the instructions are so complex and then the next website shows you how to do the same shit in a couple of easy steps.

After about 3 hours I discovered the easy way – instant success!

Oct 27

What is Maven?

Well, I’m not going to answer that question here, you can google it like I had to, but I will be writing about how I managed working through some of the tutorials on these topics.

The first tutorial is Getting Started with the Alfresco Maven SDK by Jeff Potts.

So the first thing is to set up an environment with JDK 1.7 and Apache Maven 3. To do this I am going to use a VirtualBox VM ( ubuntu-14.04-server-amd64.ova ) and then add the other required stuff.

More fun with Linux!


Oct 27

Looking down the rabbit hole…

Recently I landed the task of developing a document management system for a company that also wants to work towards ISO9000 certification. They want to be able to manage their documents as well as record, monitor and improve the procedures they use to complete tasks. Documents are created within the company and also uploaded by various external providers. A web-based solution that could somehow integrate the management of their processes seemed called for, though I had no real idea how this could be done.

After searching tinternet for a while I came across BPMN, Alfresco and Activiti. The use-case seemed to fit well with these systems but the challenge was to integrate the document management service with process management to allow control and management of documents through the company. Installing Alfresco Community was relatively straightforward (eventually!) but now I have to work out how to add my own workflows to supplement the built-in ones in Alfresco.

In fact, there is only one workflow that is of any use to my scenario – the ad-hoc task – which can be used to initiate any task, but really everything about it has to be done manually. The intention is to create a system that prompts users at every stage of an extended process that incorporates a number of tasks within the company.

Bearing in mind that I have no real programming skills I seem to have one huge learning curve to surmount! Hopefully I can gain help from the Alfresco community. In return I am going to chart my progress which I hope may help other people in my position.

So here goes…

» Newer posts