Well, hello again internet, it’s been way too long since I wrote up one of these blog posts.  As a way of re-introduction my name is Andy Weaver and I am the Principal Architect at Fishbowl Solutions. I’ve been working in the content management space and the Oracle ecosystem for almost 20 years now building solutions and integrations focused on content and information management.

 

R.I.P. OCM

The past 5 or 6 years the team at Fishbowl has been focused on delivering content focused sites, apps, and experiences by leveraging Oracle Content Management.  Now that OCM has abruptly been tossed in the circular file, where does that leave you the customer?  Where does that leave the team at Fishbowl?

As you may or may not be aware Fishbowl, and yours truly, has been implementing solutions based on Oracle WebCenter Content since before it was owned by Oracle and was called “Stellent” (read: turn of the century), and we continue to do so today.

This means we have a very mature content management platform along with the experience and expertise to help with migrating customers off OCM before the Dec 2025 end of service date.  Except, there’s a catch here, the solutions and in particular the sites we have been developing for customers the past few years depend on features that OCM provided and had solved and that WebCenter doesn’t support.

How do we bridge this gap and make it as easy as possible for customers to migrate?  What’s an architect to do? Why build something of course 😊

CM Box – Modern Structured Site Building for WebCenter

After the OCM End of Life announcement back in December the team immediately went to work, but, we didn’t need to start from scratch……

A Brief History

Five years ago, we were involved in a project with a large enterprise customer to deliver a modern Employee Engagement App (i.e. a fancy app-based intranet) to support their 100k employees globally.  Since they were using Oracle Cloud HCM for their HR solution there was a need for a platform to support delivering targeted content to their employees and OCM was chosen to fill this need.

At the time, OCM had not yet matured its content delivery APIs and CDN integration to support the load from the application that was being built, so we did what we’ve done for 20+ years and built something to solve the problem, our OCM Middleware and Caching layer.

How does this relate to CM Box?

When looking at what we needed to develop a product that would fill that site building and structured asset management gap that OCM did well, we quickly realized that we already had a production codebase which provided multiple features we could build around:

  1. Super-fast in memory cache/database that is also persisted to disk (Redis)
  2. Synchronization of OCM assets and their type definitions to the cache/database
  3. GraphQL API Layer based on OCM asset type definitions and relationships that queries the cache/database (Headless Content Management)

With this as a base we started working on what we needed to add to enable a great site building experience.

What do you mean by “Modern Structured Site Building”?

The broader trend in the content management space in recent years when it comes to building websites and content focused apps is around “Headless Content Management”.  All this means is the CMS is an API first architecture and only concerns itself with the setup of the content model, contribution of assets based on that model, and delivery of the content out to the channels.  The actual sites themselves become separate entities that pull the content from the APIs.

The “structured” part of the building comes from using the predefined asset model to drive both the contribution and rendering of the site itself.  The contributor builds up a tree of referenced assets that the site knows how to render.

This differs from what would be considered a traditional page based site building experience you’d find in WordPress, Drupal, and many others.  OCM provided both avenues of site building, headless via their REST API (more recently a GraphQL API), and traditional drag/drop page based in their site builder tool.

What we have found over our years of building sites with OCM is that customers are looking for a hybrid of the two approaches.  A hybrid approach allows us to meet the needs of the main stakeholders in the creation of a site.

  1. Corporate Branding
    • Consistent branding and design throughout one or more sites
  2. Developers
    • Ease of integration and ability to use development framework and tools of choice
  3. Contributors/Site Managers
    • Simple contribution interface and in context preview of changes

To meet these needs there are 4 “must-haves” as part of a site building solution:

  1. Content Model
    • Creating a defined structure of assets allows for greater reusability and simplified contribution
    • Nestable and composable asset types to build up the pages on a site
  1. API Layer
    • REST or GraphQL API that allows the developer to retrieve the content in a structured response. GraphQL is the preferred approach as it is inherently strongly typed with relationships between the assets.
    • CDN integration to efficiently deliver images and other physical assets
  2. Site Builder and Asset Contribution Interface
    • Give the contributors and site managers the power to edit the structure of the site as well as the assets that make up a specific page on the site
    • Provide in context preview of the changes made to a page within this same interface
  3. The Site Itself
    • Deployed as a separate application using a company’s development framework of choice
    • Integrated to the CMS to retrieve site structure and page assets via the APIs
    • Keep development assets (layouts, styling, components) in a code repository
    • Integrated directly into any existing CI/CD pipelines to mange build and deploy of the site

This is the set of guiding principles the team continually referred to while developing CM Box.  So, what does that look like?

How does CM Box handle the must haves? What’s “in the box”?

Have you ever looked up new recipes online, maybe via Pinterest, and once you went to the site you had to make your way through the person’s entire life story before you got down to the actual recipe?  It feels like that’s what I just did to all of you in this post 😊

For those of you who skipped down to the “recipe” as it were based on the title, here you go:

Architecture

CM Box utilizes a simplified deployment architecture to provide the greatest flexibility.

Content Model Creation

A simplified interface for users and/or developers to create a structured asset model.

API Layer

GraphQL API baked directly into the solution from the start.

Site Builder

Simple and streamlined site building experience leveraging the asset model.

Site Rendering Framework

Easy to use SDK for retrieving site structure and content. See the example on the right for an AstroJS based project.

WebCenter Integration

Synchronize enterprise content managed in WebCenter to CM Box for delivery on external facing sites and applications.

Wrapping Up

 

The team has been hard at work the last 3 months to develop a solution that meets the needs of existing OCM customers and provides an excellent option for current WebCenter customers to build and manage web sites and leverage their existing WebCenter content.

We a proud to announce that CM Box is now generally available and we are excited to talk to all of you about your site building and structured asset needs.

Please contact us for a demo and pricing: