After analyzing the customer’s existing technological stack, Iflexion came up with a concept of a Liferay-based portal. There were several reasons for choosing Liferay as the core technology:
- The platform is open-source, which could help the customer to lower the TCO of the solution while providing broad customization options owing to numerous ready-to-use plugins.
- The Liferay architecture ensures painless deployment in various infrastructures. It is compatible with different operating systems (Linux, Windows), application servers (JBoss EAP, Tomcat, WebLogic, Wildfly, etc.), and databases (MySQL, Oracle, PostgreSQL, DB2, etc.).
- Liferay is written in Java, which could guarantee easy integration of the portal with the rest of the customer’s Java-based software suite.
- The modular logic of Liferay applications enables their owners to ensure a stable performance of portals at peak loads. It also facilitates maintenance, migration, and integration with third-party solutions.
With the approved concept of the future solution on hands, Iflexion started Liferay portal development. To make the portal attractive for end users from the technological standpoint, the team developed two independent modules that could be implemented either as one solution or separately, depending on particular business needs. Each module consisted of a customizable CMS and a feature-rich user-facing website built with adjustable portlets.
Community of Interest (COI) Module
The COI module enables users to join online communities for people with similar professions, interests, or activities.
The user-facing part of the module includes several default customizable portlets, each of them covering specific functional areas:
- Profile Portlet contains the key information about each user and allows them to manage their personal profiles.
- Contact List Portlet displays all user contacts with the possibility to manage them (add new, remove, block, add to favorites).
- Search Portlet leverages the capabilities of Liferay Dynamic Search and allows users to search for content and people across the entire portal while refining search results according to preferences.
- Communities Portlet displays the communities that users participate in, making it possible to manage memberships (join new communities, leave them, invite new members, etc.).
- User Content Portlet displays the latest content items added by a user (blogs, events, wiki articles, etc.). Users can tune the way other community members see their content (by date, topic, and popularity) and add metadata for other portal users to find their content easily. While publishing their content, users can benefit from the improved Liferay image and media selector.
- Community Content Portlet displays the content published by members of the COI. The community administrator can define the way other people see the content (by date, topic, and popularity).
- Collaboration Portlet represents a portal area where community members can message each other and share files (documents and media).
- Calendar Portlet displays community events if there are any, and allows users to note down important dates.
- Administration Portlet enables the COI administrators to see all registered accounts and content published on the community page.
The module enables users to take part in e-learning activities as learners or tutors. Depending on a user’s role, the portal fulfills various functions offering different sets of portlets to students and their mentors.
The module follows the logic of the COI module. Users with similar e-learning objectives and knowledge interests can set up communities and get involved in collaborative e-learning activities. Overall, the module contains all the manageable default portlets available in the COI module. Additionally, for e-learning specifically, the module offers the following:
- Wiki Portlet displays the newest assets added to the shared knowledge base. Users can fine-tune the content they see in the portlet and filter it according to their preferences.
- Training Portlet for trainees shows available training, both online and on-demand, in the selected learning area. If a user applies for a training session, it is automatically scheduled in the Calendar Portlet. When the portlet is used by mentors, it serves to announce upcoming training and manage all the related information (topic, date, time, region, price, etc.)
- Learning Progress Portlet displays a user’s training history and gained scores if the passed training contained assessment.
The set of implemented portlets in both modules isn’t rigid. Portal owners can enable all default portlets, disable any of them, and add new ones when they need custom features for their users.
At the same time, customizable layouts allow portal owners to change the portal layout and color scheme within predefined templates.
Both modules support paid content and subscriptions. To provide users with online payment capabilities, the portal was integrated with popular payment platforms, including PayPal, Braintree, and Authorize.Net.
With such functionality, the solution suits both corporate and commercial scenarios. It can be used as a corporate collaboration and e-learning solution, and it can be launched as a customer-facing portal for users globally. Liferay supports over 30 languages, so the solution can be localized and used by multilingual communities.