JCMS WordPress CMS Connector

CMS Connector


A shortcode-based plugin for WordPress that allows embedding of remote text content from an existing content management system. As long as the CMS can be configured to expose individual content items via HTTP, either at specific URLs or as the result of a parameterised call, then this plugin can be configured to present that content, embedded within a WordPress blog.


    • Simple, seamless shortcode based embedding of CMS content
    • Can be used with most CMS platforms
    • Up to three CMS server connections
    • Configurable caching of CMS content per unique shortcode


    Deployment is as for any WordPress plugin - copy the plugin to /wp-content/plugins/ directory of your WordPress installation or install the ZIP file via the admin plugins page. Enable it in the plugins section of the wp-admin dashboard as for any Wordpress plugin.


    Prior to using shortcodes, the plugin must be set up with at least one source CMS server, with appropriate values for the server and any other settings needed to identify the content source.

    Activate plugin

    In your list of deployed plugins, identify 'JCMS Connector' and activate as normal:

    Connector plugin installed
    WP-Admin Plugins screen with JCMS connector

    Configure plugin connections

    The settings for the plugin are found in a new section added to the 'Settings' top-level menu item. In the 'JCMS Connector' Settings section, select the 'JCMS Connector' item and configure at least one CMS server connection.

    This example shows settings filled in for retrieval by content ID. This admin screen allows configuration of settings for both types of shortcode - retrieval by ID or path. See below for notes on settings:

    Connector plugin connection configuration
    WP-Admin Settings screen for JCMS connector
    Connection name

    Arbitrary name for this connection This can be any text.

    Server root

    The URL root used to access the server This is the CMS server IP or DNS name

    Script name

    Name of content retrieval script. Use when content is obtained dynamically via a script This is the name of the script that can retrieve plain content by an ID of some sort. This requires some CMS coding to actually ensure that the script is present.

    URL parameter name

    URL Parameter that specifies the content ID flag. Use when obtaining content via the script defined above This is the URL parameter name that the above script expects to hold the arbitrary ID (set in the specific shortcode - see below) that identifies the required content held in the CMS.

    Content path

    Root of content retrieval path. Used when content is presented in text-only variants at unique URLs.

    Cache time

    Time to cache content requests for this definition. Time in seconds to cache the result of a URL request for a piece of content identified by a given CMS server and content ID. The connection to use and content ID are set in the specific shortcode parameters.

    Shortcode usage

    There are two possible shortcodes. One for specifying to retrieve by content ID and one to specify retrieval by URL path to text variant.

    Retrieve by content ID

    The shortcode for retrieval by content ID is of the form [jcms_connector_content_id id=nnn service=sss]; where nnn is the (usually numeric) ID of the content to retrieve and sss is the connection service name.

    Example of shortcode for retrieval by content ID
    Example of shortcode for retrieval by content ID

    As you can see, the 'service' parameter has a value mapping to the example server configuration above and a content item whose ID is 4 is being requested by this shortcode instance.

    Retrieve by path

    Certain CMS systems - notably the OpenText Management Server (Red Dot) - will publish flat files rather than dynamically render content upon request. The JCMS Connector can be configured to retrieve and render such content. This is the job of the other shortcode. This of the form [jcms_connector_content_path path=path/to/published/text/content1234 service=sss]; where path/to/published/text/content1234 is the path to the specific content and sss is again the connection service name.

    Example of shortcode for retrieval by content ID
    Example of shortcode for retrieval by content path

    In this case, the 'service' parameter has a value mapping to a server configuration called 'publishcms' and requesting a published text version at /text/variant/path/mycontent.htm.


    Original context

    Here, we see the content in its original context:

    Content in original context
    Content in original context

    Raw source URL

    If we then look at the raw URL generated by the shortcode parameters, we can see the content whose ID is specified in the shortcode parameter:

    Example of source content by ID
    Example of source content by ID

    In WordPress context

    Looking at the WordPress page with the configured shortcode, we now see the content from the source CMS whose ID is specified in the shortcode parameter:

    Remote CMS content in WordPress context
    Remote CMS content in WordPress context