History of Liferay, Liferay History module, module deals with old browsers, Core portlets

History of Liferay
Liferay, Inc. is a professional open-source company that provides free documentation and paid professional service to users of its software. Mainly focused on enterprise portal technology, the company has its headquarters in Los Arngeles, California, United States.
Liferay was created in 2000 by Chief Software Architect Brian Chan to provide an enterprise portal solution for non-profit organizations. In 2004, the company was incorporated under the name Liferay, Inc., formalized its Germany subsidiary Liferay GmbH. In 2007, the company opened a new Asian headquarters in Dalian, China and the Spanish subsidiary Liferay SL. In March 2009, the company opened a new office in Bangalore, India.
The company's enterprise portal product has been acknowledged by several notable organizations. It was recognized by EContent magazine in its "EContent 100" list of industry leaders and in 2007, InfoWorld named it a "Technology of the Year." In July 2007, they announced a partnership with ICEsoft Technologies, provider of the ICE faces library, for developing Ajax technology for their enterprise portal software. In January 2008, the company hired the lead engineer for jQuery UI, to exclusively work full-time on the JavaScript library. Gartner recognised Liferay as visionary leader in a September 2008 Magic Quadrant for Horizontal Portal Products.
Sun Microsystems and Liferay signed a technology-sharing agreement during May 2008. Sun Microsystems rebranded the offering Glassfish Web Space Server. ZDNET.UK further describes the relationship in the May 2008 article Sun and Liferay launch web-presentation platform. In 2010 Sun was acquired by Oracle and the GlassFish Web Space Server was rebranded to Oracle Glassfish Server

Liferay History module

Enough theory, back to the real world. How have we implemented this in Liferay and how can portlet developers reap the benefits?
First of all, as you know, we are using Alloy, great UI meta-framework, built on top on YUI3. In YUI3 we already have the History module, which does the most of the hard work for us. Let me explain what we have added on top on it.
There were some situations we had to resolve. For example - what should we do if the user loads URL, which contains hashes, in a browser that supports the new history interface? Should we leave these parameters as they are? Or we should convert them? Also, what should we do when the next browser version introduces HTML5 History support? Opera did that in version 11.50, released recently. Well, if you paste a URL that contains parameters after the #, Liferay's History module will convert them automatically to 'normal' parameters, so you can update your bookmarks after that. Also, it will add them to its initial state, so later, when a developer requests a value, it will be provided successfully!
In general, the Liferay History module will try its best to provide you with the required values. This means that if developer tries to get a value from History and it is not found, the module will check for it in the 'normal' parameters too. For example, let's suppose you have AlloyUI Paginator on your page and on load you would like to set its 'page' and 'rowsPerPage' configuration properties. In this case you can ask History module for their current values and it will transparently provide them from History - either from the parameters after the # or from the 'normal' parameters!

How Liferay History module deals with old browsers

Now the second question - what should we do with old browsers? What will happen if a user pastes a URL, generated in HTML5 browser in an HTML4 one and starts working? In this case we will add these parameters after the # and once you get back to HTML5 browser, History module will convert them back to 'normal' parameters, taking in consideration the importance. For example, let's suppose that the user pastes this URL in IE7:
http://liferay.com/manage?p_p_id=123&param_one=1
She starts working and over time she gets the following URL:
http://liferay.com/manage?p_p_id=123&param_one=1#param_one=2
In this case the parameter has been overwritten. Now, if she were to switch back to an HTML5 browser and loads the same URL there, the Liferay History module will convert it to:
http://liferay.com/manage?p_p_id=123&param_one=2

Core portlets

Liferay comes with certain portlets preinstalled These comprise the core functionality of the portal system. That include:
  • Web Content
  • Asset Publishing
  • Tags and Categories
  • Document and Image management
  • Image Gallery
  • WebDAV Integration
  • Website Tools
  • Web Form Builder
  • Breadcrumbs
  • Site Navigation
  • Nested Portlets
  • Site Map
  • Page Ratings & Flags
  • User Directory
  • LDAP Integration
  • Software Catalog
  • Blogs and blog aggregation
  • Calendar
  • Chat
  • Mail
  • Message Boards
  • Polls
  • Alerts and Announcements
  • Knowledge Base
  • Social Equity
  • Themes, supporting Velocity and FreeMarker markup
  • Alfresco, Documentum, and other document library integration
  • Wiki (supports Creole as well as MediaWiki syntax)
  • Document Library Manager, Recent Documents

0 comments:

Post a Comment