Site Compile API for Oracle Content Management

Namespace: SCSCompileAPI

QuickNav

SCSCompileAPI

The SCSCompileAPI object namespace.
Properties:
Name Type Description
contentServer String The URL to the server for content.
navigationRoot String The ID of the node that is the root of the site.
navigationCurr String The ID of the current page node.
structureMap String All of the nodes of the site hierarchy and accessed by ID.
siteInfo String All the site properties.
siteFolder String The file system location of the site's compiled pages.
componentsFolder String The file system location of the components associated with the site.
themesFolder String The file system location of the theme associated with the site.
pageLocale String The locale value for the current page being compiled, like "en" or "fr-CA".
localeAlias String The locale alias value for the current page being compiled, if configured.
pageModel String The page model for the current page being compiled.
detailContentItem String The content item associated with a detail page compilation.
channelAccessToken String The channel access token associated with the site being compiled.
deviceInfo String An object used to determine the device information for the page being compiled. When mobile pages are being compiled, this will be { isMobile: true }.
snippetOnly String Indicates if a Content Item snippet is being generated instead of a site compilation.
Source:

Methods

compileContentItem(contentItemData, layoutName) → {Promise}

Compile another content item, returning the HTML created by the content item's compiler.
This is used where you have one content item that references a different content item and you want to
call the referenced item's compiler instead of duplicating the code.

Note: The hydrate method on the compiled content layout is not called automatically. If it is required
then the hydrate function on the current content layout will need to handle it.
Parameters:
Name Type Description
contentItemData Object Data to use when the content item is compiled.
layoutName String Name of the content layout to use to compile this content item.
Source:
Returns:
JavaScript Promise object that is resolved to the SCSCompileAPI.CompiledContent object
Type
Promise
Example
// Compile the "Author" content item for a "Blog" content item
SCSCompileAPI.compileContentItem(contentItemData, 'AuthorComponent').then((result) => {
    console.log(result);
});

compileDetailPage(detailPageId, contentItem)

Compile the designated content item using the specified detail page.
Parameters:
Name Type Description
detailPageId String The page ID of the detail page to be used. If this is undefined, it will use the default detail page.
contentItem Object The content information for the Content Item to compile.
Source:
Example
SCSCompileAPI.compileDetailPage('104', contentItemData);

getChannelAccessToken() → {String}

Get the channel access token associated with the site being compiled.
This returns the same value as the channelAccessToken property.
Source:
Returns:
channelAccessToken of the publishing channel for the site.
Type
String
Example
const channelAccessToken = SCSCompileAPI.getChannelAccessToken();

getComponentInstanceData(instanceID) → {Object}

Get the instance data associated with the referenced Component.
Parameters:
Name Type Description
instanceID String of the component to fetch.
Source:
Returns:
metadata representing the component instance on the page including the CustomSettingsData.
Type
Object
Example
const componentMetadata = SCSCompileAPI.getComponentInstanceData('6cf17959-b488-4c7d-9e00-a13515ad4ca2100');

getContentClient() → {Promise}

Get the contentClient object that can be used to make OCM Content REST calls
Source:
Returns:
JavaScript Promise object that is resolved to a Content Client object that can be used to make OCM Content REST calls.
Type
Promise
Example
// Get the information about the content client 
SCSCompileAPI.getContentClient().then((contentClient) => {
     console.log(contentClient.getInfo());
 });

getCustomPageProperty(propertyName, pageIdopt) → {String|undefined}

Gets a page property value given a page ID and property name.
Parameters:
Name Type Attributes Description
propertyName String Property name.
pageId String <optional>
The page ID.
Source:
Returns:
The property value
Type
String | undefined
Example
const pageProperty = SCSCompileAPI.getCustomPageProperty('propertyName');

getCustomSiteProperty(propertyName) → {String|undefined}

Gets a custom site property value given a property name.
Parameters:
Name Type Description
propertyName String Property name.
Source:
Returns:
The property value
Type
String | undefined
Example
const myCustomProp = SCSCompileAPI.getSiteProperty('aCustomSiteProperty');

getDefaultPageProperty(propertyName) → {String|undefined}

Gets a default page property value given a property name.
Parameters:
Name Type Description
propertyName String Property name.
Source:
Returns:
The property value
Type
String | undefined
Example
const defaultPageProperty = SCSCompileAPI.getDefaultPageProperty('propertyName');

getDetailPageId() → {String}

Get the default detail page Id for the site.
This is the first page found that is marked as "detail" in the site hierarchy.
Source:
Returns:
detailPageId default detail page for the site.
Type
String
Example
const detailPageId = SCSCompileAPI.getDetailPageId();

getPageLinkData(pageId) → {SCSCompileAPI.PageLinkData}

Get the information to navigate to another page in the site.
Parameters:
Name Type Description
pageId String Id of the target page.
Source:
Returns:
Details on how to navigate to the target page.
Type
SCSCompileAPI.PageLinkData
Example
const pageLinkData = SCSCompileAPI.getPageLinkData('104');

getPageURL(pageId) → {String}

Get the link href value to link to another page in the site from the current page being compiled. In most cases, this will be the relative URL to the new page from the current page in the hierarchy.
Parameters:
Name Type Description
pageId String Id of the target page.
Source:
Returns:
Relative URL to the referenced page from the current page.
Type
String
Example
const pageURL = SCSCompileAPI.getPageURL('104');

getSiteId() → {String}

Get the ID of the site that is being compiled.
Source:
Returns:
siteId of the site being compiled.
Type
String
Example
const siteId = SCSCompileAPI.getSiteId();

getSiteProperty(propertyName) → {String}

Gets a site property value given a property name.
Parameters:
Name Type Description
propertyName String Property name.
Source:
Returns:
The property value
Type
String
Examples
const siteName = SCSCompileAPI.getSiteProperty('siteName');
const siteRootPrefix = SCSCompileAPI.getSiteProperty('siteRootPrefix');

installNodePackages(packages) → {Promise}

Install one or more npm packages into the compilation environment.
Parameters:
Name Type Description
packages Array | String The name of the node package to install, or an array of the names of node packages to install.
Source:
Returns:
JavaScript Promise object that is resolved when all the listed packages are installed
Type
Promise
Examples
SCSCompileAPI.installNodePackages(['mustache','handlebars']).then(result => {
 console.log('node packages installed');
});
SCSCompileAPI.installNodePackages('mustache').then(result => {
 console.log('node package installed');
});

Type Definitions

CompiledContent

Compiled Content Results.
Type:
  • Object
Properties:
Name Type Description
content String The generated HTML for the component, which will be inserted into the page.
hydrate Boolean true if the hydrate function within the render.js for this component should be called at runtime.
Source:

PageLinkData

Details on how to navigate to another page from the current page.
Type:
  • Object
Properties:
Name Type Description
href String Relative URL path to the referenced page from the current page.
target String Whether to open the page in a new tab or replace the current tab.
hideInNavigation Boolean Should the page be hidden or visible in the navigation menu.
Source: