Ingersoll Rand's China platform, replatformed in five months.
IRIS is Ingersoll Rand's global multi-brand platform, powering 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. WAYF delivered the CMS that carries the region forward, and the content architecture the rest of IRIS can grow into.
[Pending — quote from the Ingersoll Rand IRIS team to be sourced before publication. The slot below holds attribution structure and is ready for a 30–50 word statement about the platform delivery, the cross-region collaboration, or the architecture decision that landed.]
- 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
Technical, organizational, and regulatory difficulties compounded on a fixed end-of-life deadline.
IRIS was an existing global product. Any one of the constraints below could have slipped the date on its own.
-
A platform already in flight.
IRIS 2.0 ran on Contentstack globally, with production logic shaped around CMS-specific data. China was still on IRIS 1.0 with Oracle Content Manager because Contentstack was not available in the region. OCM announced its discontinuation. China needed a new path on a fixed date, without an open-ended rewrite.
-
A deployment target with its own complexity.
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 at the uptime expectations of a corporation of Ingersoll Rand's size. The infrastructure track had to land on the same timeline as the CMS itself, because downtime was not negotiable for a live customer-facing platform.
-
Stakeholders distributed across regions.
The China rollout had to work for China and absorb feature requests from the global team. Teams were spread across regions, decision-makers across time zones. Gathering and reconciling requirements took sustained pressure from our side. The entire project ran on what we collected.
-
Full ownership of implementation planning.
Ingersoll Rand trusted WAYF to own how the implementation was planned. Before any code was written, we ran product scoping sessions with stakeholders to define the editor population, the content model, the authoring workflow, and the integrations with the rest of Ingersoll Rand. That scoping phase is what let the rest of the project ship on time.
-
A hard deadline that forced prioritization.
The OCM switch-off was fixed. 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 the reason the project landed on time without cutting corners on the pieces that mattered for launch.
A five-person core team running continuous delivery.
Core team
- Lead Developer
- Senior Developer
- Mid-level Developer
- QA Engineer
- Project Manager
WAYF 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.
A Content Provider layer keeps IRIS independent of any specific CMS.
Ingersoll Rand's frontend is a complex Next.js application, and IRIS 2.0 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 IRIS on Contentstack as two divergent codebases.
The key decision was to introduce a Content Provider Service inside IRIS. 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.
IRIS frontend · Next.js
Public-facing site. Receives prepared, cacheable data in a single shared schema.
Content Provider Service
Selects the active provider through configuration. Validates provider input and output with Zod. Centralises pages, blocks, media, routing, SEO, regionalisation, nav maps, gated content, tenant config.
Payload CMS
20+ brand tenants, 9 page types, RBAC, custom dashboards, publication workflow. Deployed on AWS China.
Contentstack
Continues powering existing IRIS 2.0 implementations behind the same interface.
Any next CMS
Add a new adapter against the same contract. The frontend doesn't get rebuilt around it.
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 IRIS 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.
A dedicated CMS on Payload, tailored for the IRIS 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 IRIS
- 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
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. IRIS 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. IRIS consumes fast, stable data prepared for runtime use.
A manual migration, validated by QA at every step.
Migrating China from OCM + IRIS 1.0 to Payload + IRIS 2.0 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 existing IRIS 1.0 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 IRIS 1.0 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 IRIS 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.
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.
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.
Delivered before the deadline. Ingersoll Rand is future-proofed against its next CMS decision.
WAYF 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 + IRIS 1.0 to Payload CMS + IRIS 2.0 for China, deployed on AWS China with 24/7 monitoring and ready to support broader expansion into other countries.
The deeper result was that IRIS 2.0 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. WAYF 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 platform engagements for 2026.
Thirty minutes on a call gives you a fixed price and a build shape. We'll also tell you, on that same call, whether we're the right team for the work.