Content Management System or The Portal

Originally posted by Troy Allen on CMSWire on April 18, 2011.  The following article has been updated from its posting.  It has also been posted on Oracle’s WebCenter Blog.

Today software companies are combining Content Management and Portal applications into a single service. This combination allows for a more insightfull and detailed approach when presenting information to users. In the past, portal products have had some kind of content store embedded within them, but were never designed as enterprise level content management applications. Content Management applications which provided Web Content Management claimed to provide some Portal-like capabilities, but were never meant to be a true portal replacement.

In years past, there was a clear process for implementing the strategy: approach it from either the CMS first or Portal first position. Because of the strong inter-dependencies between the two technologies, administrators and developers are at odds over where to start. So which is the chicken and which is the egg? Which one comes first?

Chicken or Egg

The CMS or the Portal?

The answer is, neither. Today, businesses are able to purchase a suite of technologies that provide the best of both worlds like the Oracle WebCenter suite of products; now the problem is how to deploy them in a meaningful and functional fashion. Typical solutions utilize the portal as the front-end engine with the content management application hidden safely behind the scenes as the repository for all forms of content being presented through the portal.

However, today’s technologies bring added complexity with the need to include security, business intelligence tools, caching solutions and integrations to other application sets. It is more important than ever to understand the function the entire solution will provide and what the overall goals of the implementation will address.

The following example could be any company’s public website. In this case, TechWidgets wants to provide both their customers and partners with a single interface for reviewing products, finding out about all the services that are offered, what is available for potential partners, and providing access to functions such as ordering, quote requests, sales and more. If TechWidgets were an actual company, they would need to determine all the functions and capabilities for their online application and create a roadmap for the final solution.


Evaluating the Options for a Portal/CMS App

In evaluating a Portal/Content management application, companies should be able to address the following basic questions (which will help to determine the design and implementation approach):

  • What is the basic function of the solution (the following are examples of common Public facing sites)?
    • Targeted Content — an example of this might be a membership driven portal where data is presented to the user based upon profile information or a product(s) site.
    • Sales and Commerce — these types of applications drive revenue through sales and are application rich environments with shopping carts, sales processing, discounts and rebates, and product information.
    • Knowledge Sharing — This may be a self-service knowledge base for registered and unregistered users which may tie into a trouble ticketing system
  • What are the Security requirements?
    • Some applications may be based on light-weight security that delivers content based on profile information rather than true access controls.
    • Some applications will require Single Sign-On support to other applications being presented through the portal. A knowledge management or support portal may need to log the user into other back-end systems while providing content that is strictly controlled based on specific criteria.
    • Some product and brochure sites may be purely unrestricted repositories for information that all users can search for or navigate to.
  • What applications will be presented through the Portal?
    • Many companies are looking to provide ERP, Sales, Campaign Management and customer/partner support applications through a consolidated interface.
    • Many companies have written custom applications which need to be shared with the public.
    • More often than not, companies are embracing Social Media applications like Face Book, Twitter and Share. It is often desired to have these applications lined directly to content and functional areas of a portal.

Due to the level of dependencies each of these topics has on each other; it is no longer possible to build a web solution in silos. Administrators and developers must map cross-functionality, understand the dependencies and create parallel paths for designing, developing, testing and deploying the final product. With that in mind, it is no wonder that companies have a hard time finding a starting point.

What Comes First?

The following plan can provide a good overall strategy for taking on such a daunting task:

  1. Define the Business Requirements
    Understanding what you are trying to accomplish should always be the first step. Often, I see companies that have decided to “deploy a portal” without understanding the purpose behind it. By defining requirements around Functions, Content, Applications, Security and Administration, organizations can refine a manageable set of objectives for the web application.
  2. Create a wire frame walk through
    Consider why a movie director creates a storyboard: a progression of simple sketches of key points and actor interactions gives the actors and crew a visual “map,” which organizes actor positions, camera angles, as well as providing a condensed version of the story. In essence, it’s an outline which allows organization of needs in a simple, cost-effective manner. A wireframe or story board of the “day in the life” of the different types of users helps companies organize the requirements of their users, and also discern interrelationships of function, security and application that are needed within their own system. They say a picture paints a thousand words. Being able to describe the aspects of any given page and any given section within that page will also help find logical discrepancies between the Business Requirements that were created and help to solidify what is really necessary.
  3. Map the Technologies
    With the Business Requirements and Wireframes in hand, it is easier to determine what technologies will be needed to support the requirements. Companies will need to build compatibility matrixes between the different technologies that meet the Web Application’s needs while ensuring that integrations are possible and supportable. Look for companies that already provide integrated solutions. It is often better to choose a suite of products that provide 80% of the requirement’s functionality and add the remaining 20% through 3rd party applications, then to assemble the system from scores of products from different companies.
  4. Define the Infrastructure
    With the required technologies outlined, organizations can now start to build out the infrastructure requirements to support the application. They can define and assess what type of servers, operating systems, storage devices, hosting facilities (if going with a Cloud based solution), and networking requirements are needed. It is often best to try to re-use existing infrastructure when possible.
  5. Create a blueprint
    Now that the Requirements have been gathered, wireframes established, technologies decided upon and an infrastructure has been outlined, it is time to do parallel analysis of each section of the overall application. Analysis will help to draw out further requirements, streamline the application flow and provide a solid foundation of information for the actual design of the system.
  6. Design the application
    With the overall application’s vision clearly defined, architects can start to design the integration, infrastructure, and application elements that will bring the overall system to live. It is recommended that proofs of concepts be made between application integration points. Design process should include a method for editing both the requirements and the application walk through or wire frame. Conceptual testing and validation within the design stage will help to eliminate wasted development tasks caused by unrealistic expectations.
  7. Build the solution
    As mentioned, good analysis and thorough design work helps prevent extra time in development. With all the puzzle pieces together and instructions on how they fit into a cohesive image, it is time to build out the security models, metadata models, look and feel, application integration points and code required for the application. While most organizations go through a User Acceptance Testing (UAT) process, it is preferable to test often as you go through the development period. Unit testing should be a required part of any development task. Additionally, don’t skimp on the documentation. It is one thing to build an application as quickly as possible, it’s entirely a different story to keep it running when all the developers are gone and no one understand how it was put together. Taking the extra time to document the development process will save time and headaches when it is rolled out to production and has to be maintained.
    For very complex applications like a company portal, there are so many moving parts that it is easy to miss a problem. Create a well-defined test plan for each aspect of the site and make sure that it is tested in every conceivable way. Remember, the portal is the world’s view into your organization. How well it works can be a huge deciding factor on whether or not someone does business with you. It is common for testing to take as long, and in some cases, longer, as the development cycle.
  9. Go Live
    All the work has been done, the site has been thoroughly tested, and now it is ready for the world to see it. Make a production out of it, externally AND internally. You’ve worked hard to roll out your portal application and you should be proud to show it off. Create a media campaign and press releases to give it exposure. Have a team party for a job well done. And now that the work is done, get ready to maintain it and start gathering information from the users on how to make it even better and more efficient. Portals never stop growing. Well-designed portals lend themselves to continued enhancements in order to better facilitate both internal stake-holders and external users. Make sure that you provide a way to gather feedback so that that you have a good foundation of requirements for the portal’s next phase growth.

Oracle WebCenter and other Oracle Technologies Make it easier.

As mentioned in the original article I posted, many companies are combining Content Management and Portal technologies as a suite of products to provide a complete solution.  Oracle’s continued focus on providing integrated platforms to solve real business requirements is showcased very well in the WebCenter suite of products.  By providing Content Management (WebCenter Content), Web Experience Management (WebCenter Sites), Enterprise Portals (WebCenter Portal), and Enterprise Social and Collaboration services (WebCenter Connect), Oracle is providing a platform that allows business users, administrators, developers, and consultants to orchestrate meaningful online business experiences.  These applications leverage (and are leveraged by) many of the other Oracle products allowing organizations to maximize on their investment while reducing overall cost of ownership.

Because the WebCenter technologies fit so well together, the tasks of Mapping the Technologies is simplified, Defining the Infrastructure is streamlined, Designing the Application is more intuitive, and Building the Solution is more straightforward.