Content SDK

Content SDK

About Oracle Content Management - JavaScript SDK

The Content SDK for Oracle Content Management is a light-weight JavaScript wrapper that interacts with the Content REST APIs. This read-only SDK retrieves structured content, digital assets, and content layouts that are managed in Oracle Content Management. The Content SDK allows you to write a web application that is content rich - allowing the use of Oracle Content Management for content management, authoring and approval, and delivery from your own web server.

The Content SDK consists of three main classes:

  • contentSDK: The main entry-point object. The contentSDK object lets you create client objects to access content based on your requirements.
  • ContentDeliveryClient : A client object that is set up to access published content items and digital assets.
  • ContentPreviewClient : A client object that is set up to access content types, draft content items, and draft digital assets.

Installation

Prerequisite: node.js 10.9.0 or later, and node and npm on your path.

npm install @oracle/content-management-sdk

Additional Documentation

Examples

NOTE: The SDK must be initialized with the URL of your content service. The URL uses the pattern https://<service-name>-<account-name>.cec.ocp.oraclecloud.com and can be given to you by your Oracle Content Management service administrator.

Using the SDK in NodeJS with ES6 import

// Imports the contentSDK class. You could import the createDeliveryClient or createPreviewClient functions instead.
import { contentSDK }  from '@oracle/content-management-sdk';

const contentDeliveryClient = contentSDK.createDeliveryClient({
  contentServer: 'https://<service-name>-<account-name>.cec.ocp.oraclecloud.com',
  contentVersion: 'v1.1',
  channelToken: '<token>', // Use your published channel token
  logger: console,
});

// Perform a load of an asset
contentDeliveryClient.getItem(....);

Using the SDK in NodeJS with require

// Imports the contentSDK class. You could import the createDeliveryClient or createPreviewClient functions instead.
const contentSDK = require('@oracle/content-management-sdk');

const contentDeliveryClient = contentSDK.createDeliveryClient({
  contentServer: 'https://<service-name>-<account-name>.cec.ocp.oraclecloud.com',
  contentVersion: 'v1.1',
  channelToken: '<token>', // Use your published channel token
  logger: console,
});

// Perform a load of an asset
contentDeliveryClient.getItem(....);

Using the SDK with import in an HTML page

<html>  
  <head>  
    <script type="module">
      import { createDeliveryClient } from 'path_to_expanded_contentsdk_package/content.umd.js';
      const client = createDeliveryClient({  
        contentServer: 'https://<service-name>-<account-name>.cec.ocp.oraclecloud.com',  
        contentVersion: 'v1.1',  
        channelToken: '<token>',
        logger: console,  
      });  
      client.getItem(....);
    </script>  
  </head>  
  <body>  
  </body>  
</html>  

Loading the SDK via a script tag

<html>
  <head>
      <title>Using Content SDK</title>
      <script src = "url_of_expanded_contentsdk_package/content.umd.js"></script>
  </head>
  <body>
    <script>
      const client = contentsdk.createDeliveryClient({
        contentServer: 'https://<service-name>-<account-name>.cec.ocp.oraclecloud.com',
        contentVersion: 'v1.1',
        channelToken: '<token>',
        logger: console,
      });
      client.getItem(....);
    </script>
  </body>
</html>

Sample Projects

For more examples, check out our open source sample projects.