Use cases for Liferay integration with Amazon S3
We have been exploring capabilities of integrating Liferay with Amazon’s S3 storage service set for documents library repository. In one of our previous article we have introduced the purpose of integrating Liferay with Amazon S3 and provided basic information on how to setup those 2 systems to talk to each other. Liferay’s introduction on document management discusses some of the common business use cases and I thought I could elaborate on those in more details with regards to Liferay’s use of Amazon S3 services. In below article I’ll try to describe use cases and features that you might come across when you start considering and using Liferay.
I’ll list use cases where Liferay setup with Amazon S3 comes to a picture with regards to standard document management, features that Liferay offers as well as use cases for system setup when you consider setting up or moving your storage of document management to Amazon S3.
Basic document management use cases
Basic document management use cases cover range of activities you can perform with files you want to access from Liferay and store in Amazon S3:
- Upload/download files of various types such as documents, pictures, videos
- upload and download of 1 file or multiple files upload/download in parallel
- upload of small and large files (max size is by default 3 MB)
- Creating documents and folders
- Moving documents and folders within repository
- Preview of files
- Version control of the uploaded files
- Files permissions and access by multiple readers/editors
In Amazon S3 following features are provided in order to support above Liferay’s document management features:
- Create and destroy buckets
- Write/upload, delete and update objects (Folders, files) within buckets
- Copy objects from bucket to bucket
- Set versioning to preserve, retrieve, and restore every object stored in the bucket.
- Set and manage access control lists
Liferay features that leverage storage repository
From functional point of view there are following applications or features in Liferay that leverage storage repository and thus use Amazon S3:
- Documents and Media portlet – main portlet used for document management and serving as a repository where user uploads and manages his files.
- Media Gallery portlet – used only to display selected content from the Documents and Media library. It can display image, audio and video files.
- Liferay Sync – Once Liferay is set to use Amazon S3 user is able to utilize the Amazon storage with Liferay Sync such as:
- Automatic synchronization of files – Users using Liferay Sync can synchronize files from their desktop, mobile or laptop to Liferay’s storage and files are automatically uploaded to Amazon S3 and made available to other users.
- Offline use of documents – Users can use documents offline on their local device, once made online, Liferay Sync will automatically upload new or edited files to Amazon S3 storage.
- WEB-DAV – User can use WEB-DAV to mount file system to Liferay and upon creating or copying files to this mounted folder files will be automatically uploaded via Liferay to Amazon S3.
- Wiki – User can upload attachments to their Liferay wiki sites. Attachments will be automatically stored on Amazon S3 (should work in upcoming Liferay 6.2 version).
- Documents conversion – capability such as converting texts documents, spread sheets or presentations to those like PDF, txt etc.
- Workflows – Folders within Document and Media library that are stored in Amazon S3 can be set for Workflows to manage approval process of stored documents.
- Third-party portlets – example is WizTools.org Video View portlet – The Video streaming from video stored in an Amazon S3 bucket.
- Search – You may search in Document Library for uploaded files
- Export/Import facility – Export/Import document library for Sites
- Site Administration – uploading for example Company Logo directly from Document’s library. Not yet available.
Use cases for setting up of the Repository with Amazon S3
Below set of use cases describe ways how users can approach setup of the document management system in Liferay with regards to the existence of their documents and media.
- Setup initial Liferay’s document management with an Amazon S3 as a repository – default scenario when you are setting up your first document management from scratch as provided in Blog: Introducing Liferay and Amazon S3.
- Access existing Amazon S3 content from Liferay – In case you have your documents and files in Amazon storage already and you want to access it from Liferay, you can setup Liferay to use existing Amazon S3 structure.
- Migrate existing content from current Liferay documents library repository to Amazon S3 – from all other supported repositories such as:
- File System Store – read Blog: Setup Amazon S3 to Liferay with data migration
- CMIS Store (Content Management Interoperability Services)
- DBStore (Database Storage)
- Advanced File System Store and
- JCRStore (Java Content Repository) to Amazon S3
I have tried to summarize above how I see that Amazon S3 can come to play when you use Liferay. Following architecture drawing depicts that in high level:
To complete the picture, Enterprise Customers willing to use Amazon S3 need to consider also whole aspect of Enterprise level features and need to try to answer questions such as :
- High Availability – What if the internet connection is down?
- Security – Can I store files with sensitive information (e.g. personal data on Amazon S3) or I have to maintain a hybrid environment (sensitive data on local storage and non-sensitive data on S3)?
- Integration – Installation, configuration in single-node, multi-node and multi-instance environments.
- Maintenance – Upgrade, backup, DRP, patching, serviceability, monitoring (e.g. How to run admin tasks without an impact on users?)
- Usability – Does S3 support effectively all the features as local repository? So people, who are used to work with files in the local repo are not disappointed, when switching to S3.
- Compatibility – Would Liferay continue working with new versions of S3? Does Amazon care about maintaining backward compatibility? What file types Liferay supports, while S3 not?
Should you as a reader have more ideas to features and potential use of Liferay document system with Amazon S3, please feel free to contribute in form of comments to this article.
- Liferay User Guide
- Amazon Simple Storage Services (Amazon S3)
- Blog: Introducing Liferay and Amazon S3
- Blog: Setup Amazon S3 to Liferay with data migration