Skip to content
Edit a document inside eXo Platform directly inside Google Docs
Find file
Latest commit 0b803fa Feb 25, 2013 @thomasdelhomenie thomasdelhomenie Merge pull request #1 from rdenarie/patch-1
Correct properties options description
Failed to load latest commit information.
readme-resources Screenshots for README Nov 28, 2012
services v0.2.0 to v0.3.0-SNAPSHOT Dec 7, 2012
webapp v0.2.0 to v0.3.0-SNAPSHOT Dec 7, 2012
.gitignore Update .gitignore Nov 23, 2012 Correct properties options description Feb 25, 2013
pom.xml v0.2.0 to v0.3.0-SNAPSHOT Dec 7, 2012

eXo Google Docs Extension

Edit an eXo Platform document directly inside Google Docs

Prerequisite : eXo users must have a valid Google account email (not necessarily a gmail account)

Getting Started

Step 1 : Build

Note : Instead of building from sources, you can download the last stable version on the Downloads page.

Prerequisite : install Maven 3

Clone the project with

git clone
cd google-docs-extension

Build it with

mvn clean package

Step 2 : Deploy

Prerequisite : install eXo Platform 3.5 Tomcat bundle (EXO_TOMCAT_ROOT_FOLDER will be used to designate the eXo Tomcat root folder).

Copy the extension binaries :

cp config/target/googledocs-extension-config*.jar EXO_TOMCAT_ROOT_FOLDER/lib
cp services/target/googledocs-extension-services*.jar EXO_TOMCAT_ROOT_FOLDER/lib
cp webapp/target/googledocs-extension.war EXO_TOMCAT_ROOT_FOLDER/webapp

Create a file called googledocs-extension.xml in EXO_TOMCAT_ROOT_FOLDER/conf/Catalina/localhost with the following content :

<Context path="/googledocs-extension" docBase="googledocs-extension" debug="0" reloadable="true" crossContext="true"/>

Download the Google Drive Java Client and copy the following libs in EXO_TOMCAT_ROOT_FOLDER/lib :

  • google-api-services-drive-v2-rev5-1.7.2-beta.jar
  • google-api-client-1.10.3-beta.jar
  • google-http-client-1.10.3-beta.jar
  • google-oauth-client-1.10.1-beta.jar
  • gson-2.1.jar
  • guava-11.0.1.jar
  • httpclient-4.0.3.jar
  • jackson-core-asl-1.9.4.jar
  • jsr305-1.3.9.jar
  • protobuf-java-2.2.0.jar

Step 3 : Enable Drive API

Google Drive API

  • In the API Access page, click on the "Create an OAuth 2.0 client ID..." button
  • Fill the form with a product name of your choice, an optionnally a product logo and a home page URL
  • Click Next
  • Select the "Service account" option
  • Click on "Create client ID"
  • Download the private key and save it on your eXoPlatform server's file system

Google Drive API Access

Step 4 : Configure the extension

  • Open the file EXO_TOMCAT_ROOT_FOLDER/gatein/conf/ of your eXoPlatform server

Add the 3 following variables :

The google-docs.serviceEmail parameter is the Email address of the service account (available in your Google console, see previous screenshot).
The google-docs.accountEmail parameter is your Google account.
The google-docs.privateKeyFilePath parameter is the path to your previously downloaded private key.

Step 5 : Run


Step 6 : Add the Google Docs buttons

  • Connect as an administrator
  • Go to the Content Administration
  • Content Presentation > Manage View
  • Edit the view you want to add the buttons in, for example WCM View
  • Click on the tab you want to add the buttons in, for example Publication
  • Select the 2 buttons "Edit in Google Docs" and "Check In from Google Docs"

Add buttons

  • Save

User Guide

  • Go to the Sites Explorer
  • Open a document (with a type supported by Google Docs : docx, xlsx, txt, ...). A button "Edit in Google Docs" appears in the action bar

Edit in Google Docs

  • Click on this button. The document will be uploaded to Google Docs and you will be redirected to this document in Google Docs
  • Make some changes in your document

Doc in Google Docs

  • Come back to the Sites Explorer, a new button "Checkin from Google Docs" is available

Checkin from Google Docs

  • Click on this button. Your content is now up to date in eXoPlatform !

Of course, thanks to Google Docs, several users can edit the content simultaneously !

Supported document types are :

  • docx
  • xlsx
  • pptx
  • odt
  • ods
  • odp
  • rtf
  • html
  • txt
  • csv
Something went wrong with that request. Please try again.