Building Liferay Social Office
Summarizing, Liferay Social Office provides a collaborative Liferay site for a company with several functionalities: calendar, documents, forums, blog, wiki, etc.
A new version of Liferay Social Office 2.0.0 will be available soon (the release date was planned for past 29th of June). But if you don’t want to wait, this post will explain how to launch Social Office from Liferay source code.
First of all you need to have installed a JDK and Ant in your system. You can use the next line to install it in a Debian based distro:
~# apt-get install openjdk-6-jdk ant
Let’s create a new folder called liferay where you’re going to download the sources, compile them and so on:
~$ mkdir liferay
~/liferay$ cd liferay
Download the latest sources (it didn’t work for me using Liferay 6.1.0 GA1) from GitHub repository, uncompress and rename them (alternatively you can clone the Git repository, but it’ll be much slower):
~/liferay$ wget -O liferay-portal.zip https://github.com/liferay/liferay-portal/zipball/master
~/liferay$ unzip liferay-portal.zip
~/liferay$ mv liferay-liferay-portal-36e8468 liferay-portal
~/liferay$ wget -O liferay-plugins.zip https://github.com/liferay/liferay-plugins/zipball/master
~/liferay$ unzip liferay-plugins.zip
~/liferay$ mv liferay-liferay-plugins-cfb1925 liferay-plugins
Then you’ll need to create a folder called bundles:
~/liferay$ mkdir bundles
And as root you’ll have to copy one .jar file to Ant libraries folder:
~/liferay# cp liferay-portal/lib/development/ecj.jar /usr/share/ant/lib/
You’re just pending to configure ANT_OPTS, download Tomcat (automatically with Ant) and compile Liferay. Use the following commands:
~/liferay$ cd liferay-portal
~/liferay/liferay-portal$ export ANT_OPTS="-Xmx1024m -XX:MaxPermSize=512m"
~/liferay/liferay-portal$ ant -buildfile build-dist.xml unzip-tomcat
~/liferay/liferay-portal$ ant all
Then you’re ready to launch Liferay:
~/liferay/liferay-portal$ cd ../bundles/tomcat-7.0.27/bin/
Maybe it takes some time (around 1 minute) but you should be able to access Liferay at http://localhost:8080/.
Now, you’re going to compile and deploy the portlets, theme and hook required for Liferay Social Office:
- Portlets: contacts-portlet, events-display-portlet, microblogs-portlet, private-messaging-portlet, so-portlet, tasks-portlet, wysiwyg-portlet
- Themes: so-theme
- Hooks: so-hook
For each of them you have to go to the proper folder inside liferay-plugins and run “ant all” (note that this step is done without stopping Tomcat). An example for contacts-portlet:
~/liferay/liferay-plugins$ cd portlets/contacts-portlet/
~/liferay/liferay-plugins/portlets/contacts-portlet$ ant all
As a side note, in order to get the list of dependencies you can compile and deploy first the so-hook (using the previous commands). Then, you could read the next line in the log file (~/liferay/bundles/tomcat-7.0.23/logs/catalina.out):
18:19:58,351 INFO [HotDeployEvent:109] Plugin so-hook requires contacts-portlet, events-display-portlet, microblogs-portlet, private-messaging-portlet, so-portlet, so-theme, tasks-portlet, wysiwyg-portlet
Then you can go to Control Panel (http://localhost:8080/group/control_panel/) navigate to Portal > Sites and add a new site using the option “Add Default Social Office Site“.
Finally, you can browse your Liferay Social Office site in a URL similar to the next one (it will vary depending on the name you enter for the new site, in the example I used “My Social Office“): http://localhost:8080//web/my-social-office/home.