Now booking enterprise content platform builds for 2026. Contact us

01 Intro · Content platform · China

Ingersoll Rand's China sites, migrated off Oracle Content Manager in five months.

Ingersoll Rand runs a global multi-brand content platform on a custom Next.js frontend that powers their brand sites and regional rollouts. China needed a new authoring system to replace Oracle Content Manager, which was being discontinued. Replacing it was complicated by three constraints at once: a fixed end-of-life deadline, a regulatory requirement to deploy inside AWS China, and a global codebase that couldn't fork into two divergent versions. We delivered the CMS that carries the region forward, and the content architecture the rest of the platform can grow into.

Ingersoll Rand NYSE: IR · Industrial manufacturer · Global enterprise
Ingersoll Rand Payload CMS authoring view

03 At a glance
20+
Brand tenants in China
5
Months to delivery
5
Core team
1000s
Pages migrated
10,000s
Media assets migrated
10,000s
Redirects handled
  • Hit the OCM cut-off
  • 9 page types
  • Tens of reusable blocks
  • 2 active languages
  • AWS China
  • 24/7 monitoring

04 The challenge

Technical, organizational, and regulatory difficulties compounded on a fixed end-of-life deadline.

The platform was an existing global product. Any one of the constraints below could have slipped the date on its own.

  1. China was on a CMS that was being shut down.

    The rebuilt platform ran globally on Contentstack, with production logic tied to CMS-specific data. China was still on the legacy build with Oracle Content Manager because Contentstack was not available in the region. When OCM announced its end-of-life, China needed a new path on a fixed date without an open-ended rewrite.

  2. AWS China was a regulatory requirement on a live platform.

    The platform had to run inside AWS China for the regional rollout. We partnered with a local infrastructure organization to stand up AWS China and wire in 24/7 monitoring. Infrastructure had to land on the same timeline as the CMS, because downtime was not negotiable for a live customer-facing platform.

  3. Requirements came in from across regions and time zones.

    The China rollout had to work for China while absorbing feature requests from the global team. Decision-makers sat in different time zones. Gathering and reconciling requirements took sustained pressure from our side, and the whole project ran on what we collected.

  4. Scoping was a deliverable before any code shipped.

    Ingersoll Rand trusted us to own how the implementation was planned. Before any code was written, we ran scoping sessions with stakeholders to define the editor population, the content model, the authoring workflow, and the integrations with the rest of the business. That phase is what let the project ship on time.

  5. The OCM switch-off set the launch date.

    We delivered by drawing a line between work that had to ship before the switch-off and work that could be scoped for after. That call was made early and held throughout delivery. It is why the project landed on time without cutting corners on the pieces that mattered for launch.


05 Team & working model

A five-person core team running continuous delivery.

Core team

  • Lead Developer
  • Senior Developer
  • Mid-level Developer
  • QA Engineer
  • Project Manager

We also coordinated with a local infrastructure partner for the AWS China standup and the 24/7 monitoring track.

Cadence

Production was not customer-facing until go-live, which let the team run continuous delivery. Code was pushed to UAT as soon as it was ready for review. QA validated against acceptance criteria, and validated work was deployed to production without waiting on release windows. That cadence is what let a five-person team carry a fixed-date enterprise migration without compromising on quality gates.


06 Architectural decision

A Content Provider layer keeps the frontend independent of any specific CMS.

Ingersoll Rand's frontend is a complex Next.js application, and the rebuilt platform had been tightly coupled to Contentstack. Swapping one CMS for another would have solved the short-term migration while leaving the same architectural problem in a new form. It would have also left China's Payload and the rest of the platform on Contentstack as two divergent codebases.

The key decision was to introduce a Content Provider Service inside the frontend. The layer selects the active provider through configuration and validates input and output with Zod. The rest of the application sees one shared content contract and receives data in a common schema, regardless of which CMS sits behind the interface.

We built adapters for both Contentstack and Payload against that contract. Page types, feature blocks, media, rich text, routing, SEO, regionalization, navigation maps, distributors, gated content, and tenant configuration moved behind provider adapters. Provider logic that had been scattered was centralized, and smaller refactors improved routing, data mapping, and cache boundaries.


07 Why Payload

Payload met the technical bar and the regional constraint.

Payload was selected over other self-hosted CMS options for its flexibility, developer-oriented architecture, and extension model. Its modern stack made custom development faster on a tight timeline. That mattered for the parts of the platform that needed to go past out-of-the-box behavior, including granular RBAC, custom dashboards, custom API endpoints, and the navigation map projection.

The China rollout also imposed a regional constraint. The chosen CMS had to operate inside mainland China, where Contentstack was not available. Payload satisfied both the technical and the regional requirements.


08 Building the CMS

A dedicated CMS on Payload, tailored for the in-house team.

The workspace supports 20+ brand tenants in the China region. Multiple editors manage localized content, tenant configuration, redirects, page hierarchy, and reusable content blocks in a single shared environment. The content model supports 9 page types today and was designed so new page types and blocks can be added without rethinking the system.

Editorial capabilities

  • Custom dashboards and custom page views
  • Role-based access control tied to tenants
  • Publication workflow for page collections
  • Manual and automatic revalidation
  • Tailored fields for page hierarchy, region selection, links, and page types

Granular role-based access

Permissions can be configured down to a single button or field. A user could be allowed to edit only image alt texts, without receiving broader access to the media item or the rest of the page. Most role-based access systems stop at collection-level permissions. That granularity gave Ingersoll Rand a level of editorial control generic RBAC setups rarely provide.

Beyond out-of-the-box

  • Custom API endpoints for the frontend
  • A dedicated navigation map projection
  • Redis / KV storage helpers with safe fallbacks
  • Scheduled client revalidation tasks
  • Manual revalidation UI
  • Custom search configuration
  • Targeted patches where Payload or its multi-tenant plugin did not fully match the project requirements

09 Performance isolation

Public site performance should not depend on how many editors are active.

Payload does significant database work behind the scenes, around drafts, versions, localization, and relationships. In the first phase of the build, activity inside the CMS could affect consumer site performance. For an enterprise platform, that kind of coupling is risky.

We solved it by changing the read model. Critical public data is not served directly from the Payload database. The frontend reads prepared projections backed by Redis instead. Tenant configuration is cached as prepared data. Navigation maps are rebuilt and stored separately, with published and draft states handled independently. Public traffic reads from the published snapshot, and draft preview merges published and draft nodes when editors review changes before publishing.

This shifted Payload into the right role. It remains the editorial system, where content is modeled, reviewed, and published. The frontend consumes fast, stable data prepared for runtime use.


10 Migration approach

A manual migration, validated by QA at every step.

Migrating China from OCM + the legacy build to Payload + the rebuilt frontend covered thousands of pages, tens of thousands of media assets, and tens of thousands of redirects. The migration was carried out manually by a coordinated migration team. Every migrated artifact was validated against the legacy implementation by QA and stakeholders to make sure the full scope was preserved across content, structure, media, and routing.

Manual migration was a deliberate choice for an asset of this importance. With a fixed deadline and a multi-tenant production platform on the other side of the cutover, parity with the legacy build was the priority. Validation against the source system gave both teams confidence that nothing slipped through silently.

The Ingersoll Rand Form Builder integration shows how the CMS had to fit into an existing enterprise environment. Editors do not paste raw form IDs into Payload. We built an editing flow where they select the Form Builder instance, choose a group, then pick a published template fetched from the external API. On the frontend side, the application scans content blocks for form references, fetches the data in batches from that API, and passes resolved form data into the page adapter.


11 QA & launch

QA was continuous. A dedicated engineer worked alongside development from day one.

A dedicated QA engineer worked alongside development throughout the project. A separate UAT environment was maintained so QA and stakeholders could validate work in conditions close to production before anything shipped.

Before go-live, QA and stakeholders signed off on manual end-to-end validation across content, workflow, integrations, and migrated data. The launch itself was supported by a launch checklist and a rollback plan, so that a deadline-driven cutover did not have to depend on everything going right the first time.


12 Handover

Handover was a deliverable in its own right.

Content editors were introduced to the system step by step in dedicated live workshops, walking through real authoring scenarios on the live platform. Those sessions were paired with feature-level written documentation that editors can return to afterwards, covering the parts of the CMS they use day to day, including page hierarchy, blocks, publication workflow, redirects, and tenant-scoped permissions.

The combination of guided sessions and reference documentation was deliberate. Live workshops build confidence quickly. Written documentation sustains it after the project team rolls off.


13 The outcome

Delivered before the deadline. Ingersoll Rand is future-proofed against its next CMS decision.

We delivered the Payload CMS platform for Ingersoll Rand on time and with migrated data, before the OCM discontinuation deadline. The immediate result was a working migration path from OCM + the legacy frontend to Payload CMS + the rebuilt frontend for China, deployed on AWS China with 24/7 monitoring and ready to support broader expansion into other countries.

The deeper result was that the rebuilt frontend became less dependent on any single CMS. Payload is now one provider behind a stable content contract. Contentstack still runs behind the same contract in the regions that use it. Future providers can be added by implementing the same interface instead of pushing CMS-specific logic through the application. Ingersoll Rand is future-proofed against its next CMS decision, not locked into this one.

The work went well beyond a CMS panel. We designed the content architecture an enterprise platform needs around it: authoring, workflow, permissions, integrations, performance isolation, regional infrastructure, and long-term extensibility. All of it delivered under a fixed deadline, across distributed stakeholders, inside a live global platform.

We're booking content platform
engagements for 2026.

Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.