Liferay Social Office is an enterprise social collaboration solution for document sharing and team collaboration that streamlines communication, saves time, builds group cohesion and raises productivity. It offers team calendaring, blogs, forums, task management, and more. It can be integrated with Microsoft Office, and runs on a combination of MySQL and Tomcat.
Liferay positions the software as a budget alternative to Microsoft’s Sharepoint. Social Office supports SharePoint’s protocols, so that documents can be opened, saved, locked and edited in MS Office.
The various features offered by Liferay Social Office are outlined below:
Document Library: Liferay Social Office acts as a web-based shared drive. It is being used to centralize and organize all the files. Time-saving features are built in, including multiple file uploads and familiar desktop folders. File’s format can also be changed at the time of upload (i.e., .doc to .pdf).
Work from the Desktop: Liferay Social Office allows the user to work from desktop. It features integration with Microsoft Office, which means that when files and documents are uploaded from the local drive, they can be automatically uploaded to the Social Office online.
Team Calendar:This feature allows creating, managing, and searching for group events using the community-based calendar with task lists. Events can be shared across different departments, and event reminders can be set up to alert users of upcoming events by email, IM, or SMS.
Profile: Each user can fill out their own online resume-style profile that can help members discover expertise in the organization. Support project profiles, profile tagging, and personal information.
Wikis: Beyond document sharing, Social Office provides full-featured Wikis to facilitate communal information capture and gathering. Team members can easily start new wiki entries to build up a team’s personal online encyclopedia.
Blogs: This feature facilitates conveying information and conversations around blogs directly. Liferay’s Blogs provide the best features of modern blogging tools and allow keeping up with everyone’s thoughts and activities via dynamic RSS feeds to your email or a “Recent Blogs” display.
Activity Tracking: Activity tracking keeps tabs on personal and team activity and displays this information in various “Recent Activity” viewers for each specific tool, for all items tagged with a certain key word and on a Facebook-style Activity Wall.
Instant Messaging (Chat): Built-in Instant Messaging gives the access to all logged-in team mates. Chat boxes stay at the bottom of the screen as you navigate through Social Office and conversations remain secure behind the firewall.
Sites: Users can create sites which are separate and secured areas in Social Office that can be used for the various departments or teams within your organization. Each Site has its own set of collaboration tools (message boards, blogs), RSS feeds, shared document librarym, and a shared calendar showing the events for the day.
Contacts: This allows users to keep track of people both inside and outside the organization and automatically adds colleagues that share Site membership. Users can email an entire group of Site members all at once.
Related Content: Sites in Social Office automatically display related documents, forum threads, blogs, wiki entries, and users based on the tags found on the content currently being browsed.
Alfresco, a major player in the open source enterprise content management market has introduced Alfresco Migration Services to simplify content migration from costly legacy and proprietary solutions to Alfresco ECM.
This solution will enable organizations to decrease their ECM costs in an increasingly commoditized market.
Alfresco Migration Services will be made available for a variety of legacy and proprietary ECM solutions. The services will initially be offered for organizations seeking to migrate from EMC Documentum and Microsoft SharePoint to Alfresco Enterprise.
The migration process is designed to handle all the content transfers, ensuring all content and critical metadata are transferred safely, including:
Reasons for Migration: -
Migration Challenges:-
Migration Strategy:-
Alfresco the open platform for social content management launches the Alfresco Community 4, the most significant release of the platform to date. Alfresco open source 4 highlights, a wealth of new user features and UI enhancements that enable faster user adoption, along with improved tools to allow developers to create social and cloud-scale, content-rich applications. They also separated their content indexing processes from content management and replaced this functionality with their own indexing solution. Alfresco Community 4 significantly increases overall system performance.
Alfresco 4 also includes functions to publish content and status updates to social sites, such as YouTube, Facebook, LinkedIn, Twitter, Flickr and SlideShare which will be a welcome addition to users as the use of public social media rises. Other new features for cloud-scale performance, open platform for social channel publishing and user experience include:
High-performance Indexing: The New Alfresco Index Server that is based on Apache Solr extensively improves the performance by separating indexing from content processes.
Integrated workflow: It includes the automation of content-focused business processes with Activiti, which is the leading open source Java-based BPMN 2.0 business process server.
Enhanced clustering: This feature is being introduced to increase the reliability and scalability, including added support for clustered CIFS.
Simpler Process: Social content publishing, part of an enterprise content workflow, simplifies to much an extent the problem of multi-channel publishing. It also control publishing with existing review and approve workflows along with built-in content security.
Fewer Tools leads to lesser errors: This feature offers embedded social publishing into an organization’s core content and collaboration tool, which eliminates the need for social-specific tools and error-prone “copy-and-paste” to external tools.
Drag and Drop Simplicity: Drag and drop streamlines the movement of files around on HTML5 enabled browsers.
Additional support for audio, video, Adobe Creative Suite & Apple iWork documents: The support delivers inline preview and metadata extraction for more file types.
Social Features: The new added social features on Alfresco 4 enables to ‘Follow’ influential content creators as well as ‘liking’ the favorite content.
Cloud Collaboration: This includes Google Docs integration to collaborate in real time.
Mobile Support: The mobile support offers new, free iOS apps available from iTunes, along with continued support for WebDAV and CMIS standards for new mobile use cases.
Extensibility: For developers and partners, Alfresco web interface is now much easier to extend and customize.
Alfresco Community edition 4 is available for download from Alfresco’s website.
1. Open file [LIFRAY_SDK]/themes/{theme-name}/docroot/_diffs/templates/portal_normal.vm
2. Add $theme.search() at your desired location.
3. Build and deploy the theme.
4. A search text box will appear where the code was placed
In case you need to customize the search functionality to search only specific content types, follow the steps below.
1. Open file [LIFERAY_HOME]/tomcat-6.0.26/webapps/ROOT/WEB-INF/classes/portal-ext.properties
2. Add following lines:
com.liferay.portlet.blogs.util.BlogsOpenSearchImpl=true
com.liferay.portlet.bookmarks.util.BookmarksOpenSearchImpl=true
com.liferay.portlet.calendar.util.CalendarOpenSearchImpl=true
com.liferay.portlet.directory.util.DirectoryOpenSearchImpl=true
com.liferay.portlet.documentlibrary.util.DLOpenSearchImpl=true
com.liferay.portlet.imagegallery.util.IGOpenSearchImpl=true
com.liferay.portlet.journal.util.JournalOpenSearchImpl=true
com.liferay.portlet.messageboards.util.MBOpenSearchImpl=true
com.liferay.portlet.wiki.util.WikiOpenSearchImpl=true
3. Change values to “false” for those you do not want to include in search result.
For example, to search only “Web Content”, leave “com.liferay.portlet.journal.util.JournalOpenSearchImpl” to “true” and make other values to false.
Enjoy the customized search in Liferay ![]()
When you want to include custom JavaScript and CSS file in pages (Velocity Templates) specific to your custom plug-in module, please follow these steps:
1. Place the js/css file into desired directory (let it - includes/effects/js/ )
2. Place the following entry into atlassian-plugin.xml
<web-resource key=”resources” name=”resources” >
<resource type=”download” name=”report.js” location=”includes/effects/js/report.js” />
<resource type=”download” name=”report.css” location=”includes/effects/css/report.css” />
————
<context>custum-resources</context>
</web-resource>
3. Add the following line in template file where you want to include above JS/CSS (Velocity template)
$webResourceManager.requireResourcesForContext(”custum-resources”)
While working on Alfresco, we have been asked several times by our customers about different User Roles in Alfresco and their permissions. The table below will describe each actions available for different User Roles:
| For File | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For Folder | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Steps to follow to display custom properties on edit properties page:
1. To display custom properties on edit properties page web-client-config-properties file required to be modified which is located at –
ALFRESCO_TOMCAT_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config-properties.
2. New condition evaluator is required to be defined in this file. For example look at the following code snippets :
<config evaluator=“aspect-name” condition=“algocustompayment”>
<property-sheet>
<show-property name=“algopayment” />
</property-sheet>
</config>
3. The config tag has two attribute evaluator and condition. In this example evaluator attribute tells the alfresco system to display custom properties when name of the aspect is equal is to value defined in condition attribute.
4. Each config tag has <property-sheet> child tag which adds the properties declared in the <show-property> tag to list of properties displayed in edit properties screen.
Note: Only those properties will be displayed as fields in the edit properties screen which are declared in <show-property> tags. It is also mandatory to set a rule on a folder to apply the “algocustompayment” aspect on each document to be uploaded in that folder.
5.For each new aspect defined in defaultCustomModel.xml , a <config> condition evaluator is mandatory to be defined in web-client-config-properties.xml whenever properties associated with the aspect are required to be displayed on edit properties screen.
How to install & Configure MySQL server on CentOS 5 x64 -
1. Login as root user to server.
2. Execute following commands from shell:
# yum install mysql mysql-server mysql-devel
This command will check system configuration and calculates the dependencies required to run MySQL. It will display the list of packages need to be installed and in the end:
……
Total download size: 35 M
Is this ok [y/N]: y
Press ‘y’ like above. This will install mysql server and mysql client on you machine.
3. Now mysql is installed on your server. Now if you execute the following command to connect to mysql (like me)
# mysql
And error message like this below is printed :
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
Then it means mysql is not running. You need to start the the mysql service first. So execute following command:
# /etc/init.d/mysqld start
It will print the following message:
Starting MySQL: [ OK ]
It means everything is fine. MySQL is up and running and ready to connect on default port 3306.
4. Now you can connect to mysql from shell prompt. Execute following command:
# mysql
You might get this error message:
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO)
Now you might think that you have not provided password that is why above error message. So you try again using -p option like this
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO)
Oops error message again. The MySQL is installed with blank password, so you must be wondering what went wrong. But you need to check with which user name mysql has been installed. (In my case MySQL is installed with default user ‘mysql’).
You need to check ‘/etc/my.cnf’ file and check following ‘user’ property in ‘mysqld’ section:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
So like above ‘mysql’ is default user with blank password. Now you can connect as follow (As password is blank so hit enter when asked to enter password.):
# mysql -u mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
5. OK. Good going till now. When you try to execute “use mysql;” command and if you get error message like this -
ERROR 1045 (28000): Access denied for user ”@’localhost’ (using password: NO)
Then you must be wondering what the hell happened. I mean even If not root then atleast mysql user should have been able to execute all the SQL statements like - create database, alter database, or even a simple use or select statement, but it is not happening. Somehow it seems that mysql user has no priviledges. Now follow below points.
6. Stop mysql server by executing following command:
# /etc/init.d/mysqld stop.
Once you get the success message go to step 7.
7. Start MySQL in safe with skipping grant tables that stores the password. Execute following command:
# mysqld_safe –skip-grant-tables
8. Now connect to mysql server as root user :
# mysql –user=root
9. Now change the password by executing following commands and then exit:
# mysql > update user set Password=PASSWORD(’new-password’) where user=’root’;
# mysql > flush privileges;
# mysql > exit;
Here new-password should have value which you want to have for root user while connecting to MySQL server.
10. Now Reconnect to mysql-server using ‘new-password’ you set in step 9:
# mysql -u mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Now you can do what you want to do. Bingo! That completes the MySQL installation and Configuration.
Installing and Configuring Apache Maven(These instructions are for Apache Maven 2.2.1) on CentOS x64. (Assumptions you are connected via SSH to your CentOS server.)
1. Find the download URL from Apache maven download page.
http://maven.apache.org/download.html
2. Now if you don’t want to download to your windows machine then Upload via FTP to CentOS server then you can download directly to your CentOS server using ‘wget’ command. When you click on apache-maven-2.2.1-bin.tar.gz file name it will redirect you to new page with closest mirror available. Just copy the link and execute following command:
# wget http://www.alliedquotes.com/mirrors/apache//maven/binaries/apache-maven-2.2.1-bin.tar.gz
it will download the apache-maven-2.2.1-bin.tar.gz file in correct directory.
3. Now change permission to 700 (yes only you should be able to do it):
# chmod 700 apache-maven-2.2.1-bin.tar.gz
4. Now extract the files from above archive. Below command will create a apache-maven-2.2.1 directory in your current directory.
# tar xzf apache-maven-2.2.1-bin.tar.gz
5. Now move the above directory /usr/local directory by command:
# mv ../apache-maven-2.2.1 /usr/local
6. Create Symbolic link for maven by :
# ln -s apache-maven-2.2.1 maven
7. Now you need to add maven your system path, so that you call it from anywhere. Open .bashrc file :
# vi ~./.bashrc
8. Add following to the end of file
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}
Save the changes by pressing escape key and then :wq!.
9 Now execute bash command to refresh system path.
# bash
10 Now check maven version by:
# mvn –version
Apache Maven 2.2.1 (r801777; 2009-08-06 23:16:01+0400)
Java version: 1.6.0_24
Java home: /opt/jdk1.6.0_24/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “linux” version: “2.6.18-194.26.1.el5.028stab070.14″ arch: “amd64″ Family: “unix”
Now you are ready to compile and build your maven projects.
Softwares Used:
openLDAP (Windows edition)
LDAP Browsers(Jxplorer, LDAPsoft admin tools, Softerra LDAP admin etc)
Download Softwares:
1. You can download openLDAP windows edition from the following location:
http://www.userbooster.de/en/download/openldap-for-windows.aspx
2. you can download browsers from the locations given below:
Softerra LDAP admin: http://www.ldapadministrator.com/download.htm
LDAPsoft admin tool: http://ldapadmin.sourceforge.net/download/ldapadmin.html
JXPLORER: http://jxplorer.org/
Installing openLDAP:
1. Follow the instructions and choose your host as “localhost” or an “IP address”
2. Choose the port and SSL-port as you may want to use or can let it by default to 389 and 636 respectively.
3. Select a database for directory you want to use: BDB or LDAP (we have used BDB i.e berkely’s DB)
4. NEXT -> choose a password for your root directory, by default it would be “secret”
5. NEXT-> install-> Finish.
Using an LDAP Browser:
Note: Any of the Browsers except JXPLORER because it causes problem on updating everytime. We are not able to fix it at our end, may be you are lucky
For this blog, we have used “LDAPsoft LDAP admin”
1. Start the server using command: “slapd –d 1″ from the directory where OpenLDAP is installed
2. Install LDAPsoft LDAP admin
3. Open “LDAPsoft LDAP admin” and create new connection to LDAP.
4. Specify the connection name - it could be any friendly name you may want to use
5. Specify the Hostname as “localhost” or “IP Address” as set at the time of installing OpenLDAP
6. Specify the port you are using for LDAP
7. Choose the version of LDAP (in Protocol drop-down) you are using as “LDAP v3″
8. Specify the Base DN as “dc=maxcrc,dc=com” or you may choose to click on “Fetch Base DNs” button to automatically fetch the Base DNs
9. You may want to test the connection by clicking on “Test Connection” button
10. Got to NEXT and select “Simple Authentication” method. For this, you will be needed to provide Bind DN and Password which would be “cn=Manager, dc=maxcrc, dc=com” and “secret” respectively. The Bind DN can also be populated by clicking on the button, which is on the right hand side of the Bind DN text field.
12. NEXT->Finish.
Now you have a complete connection with openLDAP and you can create your own OUs and CNs .