Magnolia CMS as a Web Portal
Can a content management system be a portal? In this paper we pit the OpenSocial/mashup approach used by Magnolia CMS against traditional Java portal standards. We come to the conclusion that content management is the most intensive continuous activity on any website. A portal should be built with software that best supports that key activity.
Can Magnolia CMS be used as a portal?
Yes, Magnolia CMS can be used as a portal.
The primary purpose of portal software is to integrate apps. Typically this is a one-off task. Content management, however, is a continuous task. New content needs to be written and published on a daily basis. The challenge is to find a system that accomplishes both. A content management system is good at handling editorial content. Over time, the need to handle editorial content will tip the scales towards choosing a CMS.
At Magnolia we understand the need to integrate applications. Not everything is editorial content. Back-end systems provide dashboard components, statuses, charts and graphs that may be critical to users. Magnolia’s portal approach relies on common OpenSocial application programming interfaces and modern Web 2.0-style mashups. These technologies allow you to do everything you would expect from a portal:
- Harvest content from various sources and mash it all up onto a single page.
- Embed applications and gadgets.
- Support interaction between applications.
What is a portal?

- Zoom
- Typical portal page layout
There is no single definition of a portal. Most people understand the term to mean a platform that collects Web content and applications from multiple sources. It is important to understand that a portal is not a single piece of software. Rather, it is an entry point to multiple business processes and a collection of business information from many sources.
A typical portal looks like a dashboard. Once you’ve seen a few, they are quite easy to identify. A portal page typically consist of boxes that display information from various sources: statuses, graphs, charts, worksheets, calendars and so on. This content is often dynamic and interactive. It can include applications that provide functionality, such as forms, selectors and file upload controls.
OpenSocial - Moving the social Web forward

- Zoom
- Benefits of client-side integration
At Magnolia we use OpenSocial to expose data and services in a portal. The OpenSocial specification is simple and elegant, and incorporates most of the capabilities found in the WSRP and JSR-168/286 specifications. Unlike the portlet specifications, particularly WSRP, OpenSocial enjoys wide adoption because it supports hundreds of thousands of gadgets that millions of users are already familiar with.
At Magnolia, we believe that this approach has all the benefits that earlier standards promised, but none of the heavy-handedness:
- Componentization. Gadgets allow you to turn applications into portable components. OpenSocial provides a standard container to reassemble gadgets into views. As OpenSocial becomes more prevalent in the enterprise, you can mix more things together.
- Easy to develop, fast to learn. OpenSocial uses common Web technologies: HTTP, XML, AJAX and REST. OpenSocial Gadgets are well documented, and there are plenty of resources on the web to help developers get started.
- Broad developer ecosystem
- Data interoperability. Most enterprise apps may not seem “social” but nearly every application creates a network of relationships between people and things that may be useful.
- Integration at client side rather than server side.
OpenSocial 2.0 is very attractive for enterprise use. It has been embraced by Alfresco, Atlassian, Cisco, eXo, IBM, Jive, Lockheed Martin, SAP, SocialText and others who have built containers for it. Version 2.0 of the specification focused particularly on business use and introduced a number of new features.
Mashups aggregate and add value
Magnolia CMS uses the mashup approach to aggregate portal content. Again, rather than adhering to an aging JSR-168/286 portal standard, we take the more modern path. Mashup is a Web page or application that uses and combines data, presentation and functionality from two or more sources to create new services. Mashups are wildly popular in modern Web apps.
Mashups make it possible to integrate business and data services quickly. You can combine company-internal services with external or personalized information, and make those services tangible to users through user-friendly browser interfaces.
Business mashups
Business mashups differ from consumer mashups in the level of integration with business computing environments, security and access control features and governance. Using business mashups in commercial software-as-a-service (SaaS) offerings is a growing trend. Here’s a great video by IBM about what mashups can do for enterprise users.

- Zoom
- VPRO music festival mashup engine
VPRO, a Dutch public broadcaster who works with mashups is a Magnolia specific example. Pinkpop is the largest pop festival in the Netherlands. VPRO created the website using Magnolia CMS, CouchDB and Camel. The site harvests pictures and video uploaded by festival goers from the Internet and serves the harvested media back to viewers in a single, browsable repository. Check out the presentation VPRO gave at the 2010 Magnolia Conference.
Magnolia CMS