Enabling Graph
Outline
- Self-service activation: Provision Graph instances directly via the PaaS portal without manual support intervention.
- Credential mapping: Securely configure Single, App, and Secret keys to establish the CMS-to-Graph handshake.
- Readiness checks: Validate endpoint accessibility and secret integrity before initiating technical integration.
- Injection order: Register delivery infrastructure before UI features to prevent dependency failures.
The transition to a Graph-backed architecture in Optimizely CMS 13 begins with the provisioning and validation of the Optimizely Graph instance within the Digital Experience Platform (DXP). This module outlines the technical steps required to enable the service via the PaaS portal and the subsequent verification procedures to ensure the environment is prepared for content synchronization and delivery.
1. Provisioning via the PaaS Portal
Optimizely Graph is managed as a self-service component within the DXP ecosystem. Developers with administrative access to the PaaS portal can initiate the provisioning process without manual intervention from Optimizely Support.
Self-Service Flow:
- Project Selection: Access the PaaS portal and select the specific DXP project intended for CMS 13 implementation.
- API Configuration: Navigate to the API tab within the project dashboard.
- Instance Activation: Locating the "Optimizely Graph" section and selecting the option to add a new instance.
- Environment Mapping: During provisioning, the system associates the Graph instance with the corresponding DXP environments (Integration, Pre-production, and Production).
For validation and development phases, developers may provision instances designated for testing. These instances provide full functional parity with production environments but are optimized for development workloads.
2. Identifying Connection Credentials
Once provisioning is complete, the PaaS portal generates the unique credentials required for the CMS-to-Graph "handshake." These credentials must be secured and correctly mapped within the application’s configuration.
Required Keys:
- Single Key: Used for authorized public delivery queries (Client side).
- App Key & Secret Key: These are high-privilege credentials used for the administrative synchronization of content from the CMS to the Graph. These should strictly remain server-side.
-
Gateway URL: The base endpoint for the GraphQL service (e.g.,
https://cg.optimizely.com/content/v2).
3. Validating Environment Readiness
Before deploying code that activates the Graph integration, developers should validate that the service is responsive and correctly provisioned.
Step 1: Endpoint Accessibility
Verify that the assigned Gateway URL is reachable from the local development environment and the DXP Integration server. A simple HTTP GET request to the health or schema endpoint should return a standard GraphQL response or a 200 OK status.
Step 2: Secret Key Rotation Check
In the PaaS portal, ensure that the keys are active. It is a technical best practice to verify if the "Last Rotation" date is current, as expired or inactive secrets are a common cause of synchronization failures during initial wiring.
4. Technical Integration: The Initial Wiring
With the environment provisioned, the CMS must be instructed to connect to the Graph hub. This is achieved through the registration of the synchronization and delivery services.
Service Registration Order:
In the solution’s dependency injection container, the registration order is functionally significant. The AddContentGraph() method must be invoked to establish the underlying delivery infrastructure before higher-level services like the ContentManager are added.
Verification of Synchronization Agent
Upon deployment, the CMS initiates a background synchronization agent. Developers should monitor the application logs for the following indicators of successful wiring:
- Successful Provisioning Event: "Content Graph schema provisioned successfully."
- Handshake Confirmation: "Connected to Content Graph endpoint at [Gateway URL]."
5. Troubleshooting Premature Sync Failures
If the environment is not fully "ready," the synchronization agent may throw specific exceptions during the application startup phase.
Common Readiness Indicators:
- 401 Unauthorized: Typically indicates a mismatch between the App Key/Secret Key in the portal and the values provided in the application settings.
- Index Not Found: Suggests the provisioning process in the PaaS portal has not yet completed its background schema generation.
- Gateway Timeout: Often a result of strict outbound firewall rules on the DXP instance preventing the CMS from reaching the Graph service.
Conclusion
Enabling Optimizely Graph in DXP is more than a licensing step; it is the activation of the platform’s central data hub. By utilizing the self-service flow in the PaaS portal and systematically validating endpoint accessibility and secret integrity, developers ensure a stable foundation for the CMS 13 delivery pipeline.
Once the environment is validated as "Ready," the focus shifts to the application-level wiring and the implementation of content synchronization strategies, which will be explored in subsequent modules.
