Enterprise content management
Sr. Director, Sitecore MVP
Reenergizing legacy product content and global processes using Sitecore Content Hub and Sitecore XP
This post is a brief overview of our Symposium presentation, describing Content Hub implementation, which replaces the legacy system and solves many challenges it had. Content Hub is a Sitecore product, which can greatly simplify schema and content management at the modern enterprise with very little to no custom code required.
The Challenge with Legacy systems
Our client had a fairly complex back-end system, which was created a while ago and then had been maintained by various business and development teams. The system grew over the years, adding more and more functionality to adapt to changing business needs, and then eventually became quite hard and expensive to maintain. Lacking documentation the knowledge was passed between team members, but eventually, much of this tribal knowledge got lost, leaving the business with the system with many unknown parts, which nobody wanted to touch anymore, out of fear of breaking things. The Oracle database powering the original system grew large in size and complex in its schema.
Enter Sitecore Content Hub
Content Hub acts as a home base for all your disparate content, as well as a platform that helps streamline, speed up, and simplify every part of a marketer’s job — all in one solution. Content Hun includes many things, of which the most interesting for us were its DAM (Digital Asset Management) and PIM (Product Information Management) capabilities.
The legacy system relied on a patchwork of agreements and batch processes to manage its digital assets in file share where the folder structure followed the business meaning of stored assets. Content Hub provides a much more powerful and flexible solution where digital assets can be associated with any number of tags and taxonomies and then linked to any number of business entities representing company products (in our case).
New Schema and Management UI in Content Hub
All company products and business entities were stored in now classical relational databases and managed via custom-build forms and web interfaces. We took time to analyze legacy schema and understand which parts of it needed to be brought into the new system. Once we've got an understanding of business requirements, defining a new schema in Content Hub was a breeze.
New Data Schema in Content Hub
Custom Content Management UI
Along with the custom schema entities we build a set of custom management pages in Content Hub. Content Hub includes a number of pre-defined page elements turning creation of data management Uis into a simple, no-code, drag-and-drop exercise.
Connecting Content Hub and Sitecore XP
Content Hub Assets and schema entities can be consumed by or published to other platforms and content consumers. Content Hub comes with a rich set of REST APIs, which allow digital content to be pushed to or retrieved from it. We leveraged two Sitecore Connectors for Content Hub
- DAM connector to make assets available in Sitecore (which turned to be a good alternative to good old Sitecore Media Library)
- Customized CMP Connector to synchronize schema entities into Sitecore Content Tree in close to the real-time manner
Sitecore DAM Connector
The Sitecore DAM Connector is a Sitecore XP plugin, which effectively adds a "Browse Sitecore DAM" button to all image fields in Sitecore Content Editor, allowing to link image fields to assets in Content Hub. Clicking on that button opens an overlay, allowing to search and select assets directly from Content Hub
Sitecore CMP Connector
Sitecore Connect for Sitecore CMP is another plugin we used (we had to do some customizations, but that's a different story). CMP Connect monitors Azure Service Bus Queue for change notifications coming from Content Hub. Once the notification message arrives, it retrieves the affected entity from Content Hub and then creates or updates matching content items in Sitecore Content Tree, effectively replicating Content Hub entities, so they can be used as a data source for Sitecore pages and components.