Connect IntuiFace to a Content Management System (CMS)

Table of Contents

    Introduction

    There are so many Content Management System (CMS) out there (and you might already have one) that - rather than creating our own CMS - we decided to make it super easy for IntuiFace to dynamically connect with and retrieve content from anyone else's. The content can be text, images, documents or any resource that can be hosted online.

    The advantage of our approach is it enables you to use any preexisting CMS already deployed in your or your client's organization. For example, there is likely already a CMS in support of the company website or traditional digital signage system.

    If you're starting from scratch, you can choose among hundreds of Web-accessible options, including free solutions. Some third party CMS options are listed below.

    Why use a CMS with IntuiFace?

    Rather than embedding content directly within your IntuiFace experience, it is possible to have IntuiFace dynamically read in that content from an external source. That external source is your CMS. Need to update the content displayed in IntuiFace? All modern CMSs permit centralized Web-based access, enabling the addition/deletion/modification of content without having to touch IntuiFace. This content editing can be performed by anyone, from the IntuiFace user who created the experience to someone who may never touch IntuiFace. With this CMS-based approach, you won't even need to republish and redeploy your experience in order to show updated content.

    As an added bonus, using a CMS to store content can greatly simplify the effort necessary to create data-driven content. This simplification not only makes maintenance of your work that much easier, but it leads to better performance.

    CMS can take different names in other industries such as DAM (for Digital Asset Management) or even PIM (for Product Information Management).

    The simplest CMS - think of it as a "local CMS" - is a Microsoft Excel workbook. The use of Excel is not within the scope of this article; you can read all about it here. This article focuses on the use of "real" online CMS's that have the advantage of centralized, remote content updates.

    Methods for connecting to a CMS

    The most straight forward: REST API

    If the CMS you choose provides a REST-based Web Services API, you'll be able to access it directly within your IntuiFace experience thanks to API Explorer. You can learn more about Web Service APIs in our Beginners Guide to Web Service APIs.

    Content is retrieved from the external Web Service each time you 1) launch your experience, 2) call the Refresh action on the created Interface Asset and 3) change the value of one of the service's properties.

    At the moment, it is not possible for IntuiFace to filter the response. Filtering has to occur server-side.

    CMS_REST.jpg

    The most manual: Exporting CMS content to Excel

    If you just plan to reuse existing content from a CMS without needing to update it during the lifetime of the interactive experience, you can probably get away with exporting that content from your CMS into an Excel spreadsheet. Once done, you can read to and write from the spreadsheet directly by following the directions here. This has the added benefit of permitting you to run your experience offline as the Excel workbook is stored locally on the device.

    CMS_Excel.jpg

    The most advanced: JavaScript or .NET Interface Asset

    If the CMS you choose provides an API but you need to process the returned data before displaying it to the user, you can create your own Interface Asset using either .NET code (Windows platform only) or JavaScript (supported on all platforms).

    This option will give you more control over the retrieved data than the REST API approach described above including, for example, the ability to implement a filtering mechanism on the IntuiFace client side. However, this approach will require some development skills.

    CMS_IA.jpg

    Some REST-based Web Service-accessible CMS examples

    Below are some Web API-accessible CMS options that have been used with IntuiFace by our clients.

    Airtable

    Airtable is an easy-to-use tool for quickly creating online databases with REST-based Web Service access. Put simply, it looks like Excel but acts like a database. API documentation is generated on the fly, making it easy to identify the requests to use within API Explorer

    Watch the video below for a look at how API Explorer works:

    The main request to retrieve some content from Airtable is the following:

    curl "https://api.airtable.com/v0/{BaseId}/{TableName}?view={View Name}" \ -H "Authorization: Bearer YOUR_API_KEY"

    Be sure to keep the view parameter in your request to retrieve the records in the same order as they are displayed within Airtable.

    Wordpress

    Wordpress is one of the most widely used CMS's for website creation. However, it can also be used as a generic CMS, especially when combined with the ACF plugin: Advanced Custom Fields. This plugin will let you add metadata to your posts, transforming a classic post (title, category, HTML content) into a real database entry. You can find more information in the Wordpress REST API documentation.

    For illustration, we created a simple Wordpress-based site at http://api-samples.intuilab.com. We added the following fields in our posts using the ACF plugin.

    ACF.jpg

    The main request to retrieve content from Wordpress is the following:

    http://{WordpressServer}/wp-json/wp/v2/posts

    You can add filters based on a post category, tag, author, etc....

    e.g.: http://api-samples.intuilab.com/wp-json/wp/v2/posts?categories=2

    Directus

    Directus is an open source, headless CMS - that is, a CMS whose data structure is independent of any particular presentation style. You can either use their paid plans so they can host the database for you (database as a service) or go with the free & open-source version, enabling you to install Directus on your own server.

    directus.png

    The main request to retrieve content from a Directus server is the following:

    curl "https://{DirectusServer}/api/1.1/tables/{TableName}/rows" \ -H "Authorization: Bearer YOUR_API_KEY"

    To learn more, see the Directus API documentation

    Want more examples?

    Tell us about the CMS you would like to use within IntuiFace.

    Here is a list of the CMSs we plan to study and add to the above list of examples:

    • Drupal
    • prismic.io
    • Cockpit