These are exciting times in our Enterprise Portal practice – we are implementing challenging projects for some of the most recognizable names in Corporate America, growing our top-notch team, and solving interesting technical problems. All of this translates to being incredibly busy, and not having the time to blog – an activity that allows me to give vent to my technical writing juices! So, here I am writing this post on a flight to visit a key client in the healthcare space that provides medical and dental insurance. We are already working with this client on their provider portal, and are getting ready to launch a major initiative around their member, consumer, and group portals.

What is this blog post about? Given the paucity of my blogs, I thought I would write an overview article about some of the common themes that I see across our many enterprise portal implementations based on Liferay – an enterprise open source portal product and a leader in Gartner’s Magic Quadrant for horizontal portals. While talking about these common themes, I will also give you an overview of some of the reusable portlets and frameworks that my co-workers have developed.

As we help our clients develop public, consumer, customer, partner, and employee portals (and sometimes a single enterprise portal geared towards all these disparate audiences), we see an increasing focus on building portals that are highly personalized, visually appealing, easy-to-use, social and mobile while retaining the traditional underpinnings of portals – a solid site and content management foundation, collaboration, a capability to run multiple sites on a single infrastructure (aka multi-tenancy), application integration, and identity management. Our clients want to build portals that are intuitive and aesthetically pleasing thereby delivering a superior user experience (UX) – this typically involves human factors engineering, clean graphical design and judicious usage of AJAX. Additionally portals of today need to cater to devices of different form factors – smartphones, tablets, laptops, and desktops. This has led to us adopting the principles of Responsive Web Design and building a single site that adapts itself to different devices. With the pervasiveness of social networks such as Facebook and Twitter, we want sites that allow us to be the social animals that we are with capabilities like friending, walls, activity streams, recognition badges, and more. As you can imagine, all these needs and desires present interesting challenges and opportunities that our Portal Xperts enjoy solving with the Liferay platform as the solid foundation – seeing a client realize their portal vision is immensely stimulating and satisfying!

In working through multiple client engagements with common themes, the XTIVIA team has also developed some reusable components and frameworks – some of these will be available on the Liferay Marketplace while others are only available to XTIVIA implementation customers as serviceware. Some of the more interesting XTIVIA frameworks and components include –

XTIVIA Dashboard Framework

A very flexible dashboard framework that consists of re-usable chart/filter portlets that allow simple configuration to change chart libraries/types, and a data feed generation framework that helps enforce data security and dynamic filtering. And all this works well with Liferay leveraging its security concepts. One of the key elements of this framework is that is completely reusable and metadata-driven via an XML file. The REST services that deliver the data feeds as well as the information sets (facts and dimensions) that are made available to portlets are completely configurable via the XML file. Read more about the dashboard solution in the introductory blogs on this topic by Bin – https://blogs.www.xtivia.com/home/-/blogs/dashboard-framework-for-data-warehouse-in-liferay-part-1 and https://blogs.www.xtivia.com/home/-/blogs/dashboard-framework-for-data-warehouse-in-liferay-part-2.

XTIVIA Personalization Solution

A very flexible, easy-to-use and performant approach to rules-based personalization of various Portal artifacts such as web content, documents, portal pages, and more. This solution allows business users to create user collections based on the entire universe of available user profile attributes that enable business to target very specific user population segments – for example, all males in Texas over the age of 60 or all smokers with high cholestrol. Once the user collections are defined, they can be used to personalize various aspects of the user experience. One of the key areas where this solution really shines is in displaying personalized lists of content when you have hundreds of thousands of content items and thousands of user collections – this is an area where typically performance of other personalization approaches tends to suffer.

XTIVIA Asset Recommender

The XTIVIA Asset Recommender is a recommendation engine based approach to recommending Portal content (web content, blogs, wiki, and more) based on user ratings. This solution leverages the open source Mahout recommendation engine to generate recommendations, and allows you to choose from several available algorithms. In addition to user ratings, it can also be extended to leverage a user’s portal browse history.

XTIVIA Surveys Application

XTIVIA has created a surveys application that consists of a set of JSR 168/286 portlets that provide the management, display and reporting aspects of a surveys system. While there are plenty of PHP surveys applications, we found that there is a lack of powerful, freely available Java survey applications. To fill this void, we have developed our own Java surveys system that allows for easy-to-use survey/form authoring – surveys can have multiple questions of various types – radiobuttons, checkboxes, dropdowns, listboxes, textboxes, dates, numeric data, textareas and a star rating widget. Additionally, authorized users can add a survey display portlet to a Portal page to present a survey or a group of surveys to end users. Finally, survey managers can view the results of the survey individually and in aggregated format.

XTIVIA Delegation Portlets

Liferay provides an impersonation capability out of the box that allows an administrator (or an authorized user) to impersonate any user in the Portal – this feature can be very helpful in troubleshooting issues experienced by a specific user. XTIVIA has taken this impersonation feature and built a delegation capability around this which allows a Portal user to explicitly delegate his/her access to a specific user for a specified time interval. This can be helpful when an executive wants to delegate tasks to his/her executive assistant or to a co-worker. In addition to the portlet that allows a user to manage his/her delegated users, we have developed a portlet that allows a user that has delegated rights to other accounts to easily switch to act as one of those users.

XTIVIA Excel Chart Viewer

The Excel chart viewer portlet allows a user to generate and view a chart based off a cell range from an Excel spreadsheet that has been uploaded to the Liferay document library. Often enough, we have business critical data in Excel files, and this portlet allows you to surface that data easily and quickly – you can have multiple instances of this portlet deployed together to create a dashboard with data from one or more Excel files.

XTIVIA Delegated User Administration Portlet

This is a user administration portlet that provides a simplified UI outside the Liferay control panel and allows an authorized non-administrative user to manage users for a given site or an organization. This portlet has various configuration options to allow you to control what user management features are enabled – it supports user creation, edits, activation/deactivation, roles addition/removal, and more.

XTIVIA Carousel Portlet

This is a fairly simple portlet developed by XTIVIA using the Spring Portlet MVC framework and Alloy UI with the goal of making it easy on a content manager or a site administrator to add carousels to a site without writing JavaScript code. The XTIVIA carousel portlet allows you (as the configurator) to configure a tag name associated with the images that you want to render in the carousel; using this portlet you can have multiple carousels throughout your site. You can find more information at https://www.xtivia.com/home/-/blogs/carousel-portlet.

I started this blog post a few months back (yes, I have been slacking otherwise known as being busy) on a flight while visiting one of our major clients, and am wrapping this up at the beginning of this long Labor Day weekend. Today (technically yesterday as it is 2 am now), I had the pleasure of sitting in on a client demo by one of our project teams where business and technical stakeholders from a Fortune 500 communications solutions provider were left mouthing one superlative after another – the user experience of this customer portal was just incredible – intuitive, speedy and crisp – the ingredients that have made Apple products a huge hit in the consumer space. This is a project where the client was frustrated to no end by the inability of a leading offshore IT solutions vendor to provide a working solution and XTIVIA has come in, taken over the reins and delivered a state-of-the-art solution in a small fraction of the time taken by the vendor we displaced.

I am going to end this blog post with the same words that I started – these are exciting times in our Enterprise Portal practice and I am honored to be leading this team. To prospective customers, I would say “come experience our superior quality through a 100% onshore model” and to prospective employees “talk to us if you are top-notch at building enterprise software and want to work with other top-notch professionals delivering cutting-edge solutions with industry leading products and frameworks”.