Upload
andrea-di-giorgi
View
54
Download
3
Embed Size (px)
Citation preview
Building an Enterprise Content Management
solution on top of Liferay
Andrea Di Giorgi
R&D Developer, SMC TREVISO
PioneerOverC
ithildir
#LRNAS2014
The only Liferay Platinum partner
in Italy
Reference for Italian and
international, private and public
companies
Developing on Liferay since 4.x
Collaborated with Liferay on the
6.2 Calendar app
#LRNAS2014
LiferayForums
dedicatedto an awesome
community
http://smclab.github.io/liferay-forums-app/
Humbly made by the spry ladies and gents at SMC.
https://github.com/smclab/liferay-connector
Liferay JSON WS wrapper for node.js
and Titanium SDK
#LRNAS2014
Calendar Mobile Sync
https://github.com/smclab/caldav-sync
Calendar Connector
for Exchange
Calendar Connector
for Google
#LRNAS2014
“Enterprise Content Management (ECM) is the
strategies, methods and tools used to capture,
manage, store, preserve, and deliver content and
documents related to organizational processes.”
Association for Information and Image Management, Early 2010
#LRNAS2014
Email Messages
Documents
Conversations
Calendar Events
Data Lists
Media Assets
Available everywhere
Unlimited sources
Efficient search
Context-aware
#LRNAS2014
Documents and Media
Web Content
Dynamic Data Lists
Blogs and Message Boards
Wiki
Calendar
Plugins
#LRNAS2014
Asset
Services
Security and Authorization
Metadata SocialWorkflow Search
Search Engine
Search IndicesMetadata Store DatabaseDocuments
Store
New
Frameworks
New Portlets
#LRNAS2014
Asset-based
Same functionalities for any type of asset, not only
documents
Support for assets created by 3rd-party plugins
ASSET Abstraction for any type of Liferay content
Unified view through Asset Publisher, categories,
tags, indexed search, comments, ratings, social
bookmarks, approval workflows, etc.
#LRNAS2014
Modular
Solution split in several, highly decoupled plugins
Still no OSGi (but definitely on the road). Instead:
com.liferay.portal.kernel.messaging.HotDeployMessageListener
com.liferay.portal.kernel.util.PortletClassInvoker
Dynamic Proxies
Easier to test and maintain
Tailored to project needs
#LRNAS2014
Advanced Search Lookup Fields Asset Actions
Features so far
Asset Sync
More to come…
DML Extensions
#LRNAS2014
Advanced Search
Configurable search results view:
Field values
Abstract, summary, categories/tags
Support for Application Display Templates (ADT)
Commands in search results view:
Delete/Send to Recycle Bin
Download (as a .zip if more than one selected)
Send as e-mail attachments
#LRNAS2014
Advanced Search
Limit search scope or asset type
Standalone plugin, no external dependencies
Extensible by external plugins:
Support for new types of asset
New search results commands
#LRNAS2014
Lookup Fields
New Dynamic Data Mapping (DDM) field type
Supported in Web Content Structures, Document Types,
DDL Definitions and custom plugins
Different lookup sources:
Dynamic Data Lists
Lookup Sources Registry
Implemented in ext
#LRNAS2014
Asset Actions
Support out-of-the-box for any type of asset
Executed periodically or manually from Asset Publisher
Available actions so far:
Create task in Exchange Server
Send e-mail message
Execute script
#LRNAS2014
Asset Actions
Roadmap
Extensibility via external plugins
User-friendly GUI for rules and actions definition
Better placeholders handling
#LRNAS2014
Asset Synchronization
Highly-decoupled architecture:
Central Orchestrator portlet
Different plugins for different local/remote providers
One- or Two-Way synchronization
Base for the “Calendar Connector for Google” project
Easy to extend support for other types of asset
#LRNAS2014
Documents and Media Extensions
Main Features:
Automatic File Entry title generation
File Entry view extensibility
Permissions propagation between folders and files
Implemented in a single portlet
Centralize JSP hooks to avoid conflicts
https://github.com/liferay/liferay-plugins/tree/6.2.0-ga1/
portlets/chat-portlet
#LRNAS2014
Roadmap
Mail ServerAccess Liferay’s Documents and Media Library via
the IMAP protocol
Semantic TechnologiesEntity extraction, automatic categorization and
tagging, intelligent search
CapturingBarcode scanning, OCR and form recognition,
integration with Ephesoft