Integrating Google Services in your Intranet

Google Services are widely discussed. A lot of companies use them already and are more than satisfied while others are unsure or even opposed to their use in a business environment. If you consider to use Google Services, this blog shows some of the benefits you can leverage with an integration of Google and FirstSpirit.

e-Spirit’s success story with Google Apps for business

At first I would like to tell you a story about our weekly Project Manager meeting: Every Friday evening all e-Spirit project managers come together and discuss the ongoing projects. A protocol of this meeting used to be taken down in one (MS Word-) document and after that had to be published into our intranet. Now, if you were the author of the document you would have had to send it to all participants individually to request feedback. However, after the evaluation of the information received from the others, you then had to update the document and send it again. After repeating this process three or four times you might have the document ready on time, though by the time the meeting began everyone involved had several different versions and nobody knew which was the most recent one. The solution for our problems was the introduction of Google Apps for business. We now use Google Docs to gather information regarding our project managers' meeting. Every Project Manager has to write a short documentation about their ongoing projects into this document before the meeting starts. Google Docs lets us edit a document with several people from all around the world at the same time without locking anybody out. During the meeting we only have to add additional information if necessary. At the end of the meeting, the document does not require any more editing and is archived. All it takes now to access the protocol is a web browser and an internet connection. Of course the service is also available from mobile devices to give you access to your documents while traveling. The advantages of Google Apps for Business are obvious:

  • Create Content everywhere and with almost any device
  • Use familiar tools
  • Fast and easy collaboration
  • “Invisible IT”

This gives us a smart user experience and saves our time.

Using Google Drive to access the documents

At the beginning, we stored our protocols in Google Drive and published a link to all colleagues. Over time the number of documents in our companys google drive has grown rapidly because everyone started to use the new Google Documents. The order and structure of everyones “Shared Folder” or “My Drive Folder” can get confusing and it is not easy to find the documents you are searching for.Because of that we agreed on the following story:

“Our intranet is the main information platform and we want to place the google documents in our intranet. In each topic zone of our intranet, the reader should find the corresponding google documents.”

The additional goals came by itself:

  • We only want a link to the google documents, so we don't have to worry about updating the document.
  • The creator of the google document does not need to know where to link the document in the intranet. This should be done by the intranet editor.
  • We want an easy solution for the editors to link the google documents.

The intranet editor experience with Google Drive and FirstSpirit

I think now you are very curious of how we reached these goals. Let’s have a look.

The Google Doc Link

We have a section that contains links. The links are stored in a FS_LIST.

To add a new link the editor can choose a linktemplate which now shows up as "googledoc_link".

The form of the googledoc_link is shown below.

To optimize the editor experience we implemented a search for Google Drive on the right hand side using the so called "FirstSpirit ReportPlugins" to display our results. This includes a full-text search as well as filtering options.

The Google Files List

We also have a section that shows all files within a google folder. When the editor clicks the dropzone button, the plugin opens automatically and displays all available Google folders. The editor can drag&drop the google folder to the dropzone and the section will list all files within this folder. If somebody added a new file into this folder the list will automatically be updated and show the new file.

The Google Charts

One of my favorite implementations is the Google Charts section. Just like the other sections this one is also capable of processing data from Google. In this case spreadsheets can be dropped onto the page which will make the section draw the corresponding chart based on the standard formats we set up prior to this action (e.g. chart type/colour).

In addition to that, the editor can simply change the options of the drawing by using the native Google client that has been brought into the ContentCreator.

The Searching

The most useful function is the integrated search.We had the requirement to combine search results from the intranet and search results from google drive while keeping the search results limited according to the user's rights. So we had to find a search engine that is able to index both. We decided to use the google-site-search. To find drive documents and the intranet content we simply pushed the intranet site information as link-objects to google drive.Via the Google Drive Javascript API we can push search requests to Google site search which provides the search results, that includes the drive documents and the intranet sites. Beyond this you get the same results whenever you search within the intranet or your Google Drive.

Search result Google Drive

Search result intranet

The implementation

All Google functions of this sections are client side javascript which has two advantages for the intranet website:

  1. It’s the most simple way to use the native google permissions. Because the client executes the request and the user permissions are checked on request. If User A has no permission to view/edit one of the four documents within a folder, he only sees the three elements he has permission to.
  2. Think back to our chart section. Even the drawing of the chart is a client side javascript implementation which means, that any changes in the spreadsheet document in google drive will be immediately visible at the intranet page. Without any update triggers.