What is a portal?
There can be different and very confusing definitions of a portal, so it is essential to define clearly what a portal means. Portals have existed since the beginning of the World Wide Web. One of the first popular ones was called Yahoo! and consisted of manually managed lists of links to resources on the web. According to the “Merriam-Webster” dictionary, a portal is “a website serving as a guide or point of entry to the World Wide Web and usually including a search engine or a collection of links to other sites arranged especially by topic”. Since then integration technology has evolved quite significantly and portals have evolved from a list of links to full-blown complex pages that regroup multiple applications, content, and data under a front page (and possible sub-pages).
A modern definition of a portal is something like this: a website that aggregates all the information and applications a user might need and that presents him with quick ways to search, read content, or access applications. Examples of portals might be corporate intranets, corporate extranets, supplier/customer portals, or a customer support center. These examples are by far not exhaustive, and new ways to leverage portal technologies may constantly surface.
What is the difference between a CMS, a portal, and a DXP
What is a CMS?
Content Management systems (CMS) have a long history. They started as a way to share files inside small groups of people in local offices (ECM was born out of this) and grew to highly distributed headless content management systems with highly structured data. Web content management (WCM) became incredibly popular and offered features such as being able to create, edit and publish content, make it available through APIs, integrate access control and single-sign-on (SSO), and of course templating. Some of the more advanced CMS’ even have the notion of structured content, using content types that can be defined, reused, and transformed using views (aka renderers/templates).
Most people are familiar with entry-level CMS such as Drupal or WordPress, but most enterprise CMS’ are less known, although they offer essential features that are quickly needed by day-to-day users. Features such as supporting a large number of sites, dozens of languages (not just a few), advanced SEO optimizations, content delivery network (CDN) integrations, and more have quickly arisen as requirements that medium to large enterprises needed.
Despite all this, CMS’ role is focused on content, and there are other needs that need to be fulfilled. Initially, portal servers were introduced to address these, but they were soon replaced by a more powerful concept: the Digital Experience Platform (DXP).
What is a DXP?
Digital Experience Platforms were grown out of the need to integrate a lot of different things into a powerful solution that could be more easily integrated into customer environments. Taking the lessons learned from CMS integrations and deployments - a core set of features was consistently being re-developed for delivery - these became part of the standard offering of DXPs.
DXP can be used to build websites that optimize the user experience of their visitors by using personalization, aggregation of various services and other integrations. These websites will be excellent at driving conversion and customer satisfaction, unlike what a traditional CMS was capable of offering.
DXPs add on top of CMS’ a lot of features that fit into two groups: integrations and data. Integrations contain all the features previously part of “portal servers” or “flexible CMS” and make it easier to integrate business applications, digital asset management (DAM) systems, product information management (PIM) systems, federated search, customer relationship management (CRM) systems, and marketing automation. The data side of features contains features coming from the world of customer data platforms (CDP) including customer databases or data lakes, segmentation and score, analytics and finally leveraging all that are personalization and A/B testing features.
DXPs can also be headless or headful, depending on the touchpoints and integration experience requirements. Having this flexibility has made DXPs quite powerful in terms of delivering what customers need in 2023.
What is in a modern web portal?
A portal used to be an entry point to the web that would mostly surface applications using some kind of standard way of aggregating business logic.
A modern portal built on top of a DXP will be much more flexible and directly benefit from the underlying features of the platform to deliver a final solution faster and easier. In the above illustration, you can see that the portal is a set of customizations of the DXP, meaning that only customizations are required to finalize the deployment.
The portal user experience can therefore include personalization, SSO, A/B testing, federated search, and much much more. We will present all the elements of the portal later in this article.
Portlets, what the intent was, and why they failed
The concept of portlets was born out of the notion of servlets. Servlets were Java classes that could process a request for an URL and output the full-page HTML in response. As it quickly became impossible to properly manage HTML in Java code directly, Java Server Pages (JSPs) were introduced to provide a better HTML templating experience.
The Java Portlet API was an attempt to standardize the framework for building portlet applications, that would generate fragments of HTML that could then be aggregated into a web page. They could also be integrated with authentication, making it possible to use single sign-on across multiple backend applications exposed through portlets.
Unfortunately, the portlet API standard was slow to evolve, and also very slowly implemented by major application vendors. Because of this, portlets were very limited in capabilities, and quickly the need for inter-portlet communication became a way for application server vendors to differentiate themselves and compete. However, this meant that portlets built for one app server with their custom extensions were not compatible with another server, making the vision of being able to build “portlet app stores” that are independent of the underlying technology just a pipe dream.
At the same time, CMS vendors such as Jahia started implementing portal features (such as Apache Pluto) into their solutions, and this proved a much more interesting integration than doing the opposite, integrating CMS into portal software. However, the complexity of properly building portlets vs using JSPs and custom actions proved again that the standard API was in trouble.
Nowadays, React applications interacting with REST or GraphQL APIs have completely replaced the need for portlets. Also, multiple technology stacks can be used and integrated to make it possible to deliver final solutions without having to change over to a specific stack completely. The great leveler becomes the API at the center of the solution, and this can even be either a REST or GraphQL API, or both!
Modern UI on top of legacy apps / optimized digital experiences
One of the nice things about building portals in 2023 is that it enables integrators to build modern UIs using technologies such as React, Angular, and Vue for legacy systems. The tourism industry is a very good example of that, where a lot of legacy systems have really old and outdated UIs, that can simply be re-exposed as REST or GraphQL services and then consumed by modern UIs. Building a new portal is then mostly consisting of putting everything together into a coherent web experience that can scale from the desktop to the mobile screens while providing far superior user-friendliness than what the legacy systems offered.
It is for example amazing that you can use very modern UIs to reserve a rental car, and when you arrive to pick it up the clerks are still using ASCII terminals and dot matrix printers. All of this is now integrated and also allows for the different components to evolve separately, keeping the APIs stable.
Having these legacy components exposed as modern APIs also makes it possible to automate the testing of these interfaces, resulting in better visibility of overall solution quality.
Portal features of a modern DXP
In this section, we take a look at the essential components of a portal. Combined together they help deliver modern portal functionalities.
Authentication, SSO live roles
Because of the nature of portals: giving access to specific information and services to a specific user, authentication management has great importance in portal use cases.
A central component of the portal has always been single-sign-on authentication and its capability to recognize users across multiple different systems and to deliver excellent authenticated experiences. A good portal solution will offer support for multiple SSO technologies such as SAML, LDAP, or OAuth.
Using these technologies enables portal developers to offer a seamless experience to portal users across a wide variety of backend systems, as well as unifying experiences through personalization as well as A/B testing technologies.
A modern portal will also allow for direct integration of editorial content, usually coming from a CMS (embedded or not). This will make it possible to augment the experience of users by providing information that may explain some parts of the portal, present new features, present training material, etc. Combined with personalization, editorial content can be a very important part of portal users' experience. Some portals might include very basic ways of managing editorial content, while others may leverage a DXP or CMS to offer a more complete set of features. The high-end solutions will fully integrate the DXP or CMS into the portal solution to offer a seamless editing and publishing experience.
Aggregation of sources of content
Portals enable the aggregation of various sources of content, be they static or dynamic. Using a DXP’s integration possibilities will make it possible to surface data coming from all kinds of source be it a customer relationship management system (CRM), an electronic data management system (EDM), a enterprise resource planning system (ERP), a supply chain and manufacturing system (SCP), customer data platforms (CDP) and many more. The portal will make it possible for end-users to regroup all the information in a single screen, making it easy for them to monitor or make decisions based on the information presented in the portal.
Components with custom logic - external integrations
A portal will allow for the development of components that integrate their own business logic, enabling more powerful integrations with external systems. These components should also ideally be easy to develop, test and deploy to make integrators more productive and able to answer customer requests faster. These components should also be built using modern frameworks such as React, Next.JS, and GraphQL. All of these components should be able to easily work with all the features of the portal (SSO, federated search) to leverage the whole platform and should also be able to augment the overall functionality. For example, a custom component that is integrating with a legacy content repository (using CMIS for example), should be able to integrate with the search and content selection UI as well as the publishing, access control, and authentication functions.
A portal may expose information through a UI, but it may also expose and use APIs to do so. A portal will usually connect to APIs to retrieve, search and manage the information coming from other systems, and re-expose it in an aggregated way through its own API, making it easier for example to offer services such as a federated search API. Also, the portal may allow integrators to directly extend the portal API to deliver more aggregated services, offering solutions similar to what API Gateways might do.
Federated search makes it possible to aggregate the information from multiple sources into a single search user experience. Using a single query interface, users can search through a huge set of diverse datasets. This makes a lot of sense to be surfaced in portals, making it seamless to query for complicated information in a simple way.
A portal should always contain some level of personalization, especially when combined with single sign-on (SSO). Having recognized users makes it possible to extract more relevant data for the current user, for example retrieving a list of current customers from a CRM that the user is responsible for managing, or presenting HR data. Each integrated application can use the portal context to surface features, content, and data that are more relevant to the user.
Advanced portals might push personalization even further, modifying the list of applications and editorial content being presented based on behavioral patterns of users, localization, or other criteria such as achieved goals. A/B testing might also be very interesting to factor in to test different portal experiences and figure out which are most effective for the portal users.
Jahia DXP as a portal solution
As you can see the requirements for a modern portal can be quite complex, as well as quite demanding. It makes a lot of sense to build portal solutions using DXPs, as they are flexible platforms that deliver most of what is needed out of the box. In DXPs you can either select composable DXPs, where all the work of the integration of the features is left to integrators or open DXPs that will provide a fully pre-integrated solution. Jahia is part of the second category, but it doesn’t sacrifice this integration for flexibility, as it is possible to customize a lot of the interactions between the systems, especially on the CDP side where it is based on a fully open-source solution (Apache Unomi).
Jahia is therefore a perfect solution for building portals. If you’re interested in learning more, here are a few resources: