Instagram Twitter GitHub Linked In

This is a summary of a presentation I put together on what would be required to build out my Layout Engine concept that I put together a PoC for earlier in the year.

Layout Engine

  • Minimal product is a headless application that only provides APIs to define, create, edit and retrieve content
  • To provide practical utility, a management application is needed to give business users control over the layout and content of an application

Serverless Application

This would be a serverless application providing an API to store and access the content.

Serverless

API driven Content

  • Third party content is accessed via APIs provided by those parties
  • Doesn’t store any actual content (e.g. images, catalog data) only metadata; when content is retrieved via API calls to third party systems, only references to these third party assets are persisted
  • Developers can define new types of content using JSON and publish using the Content Management API to make available to business users
  • Management applications use the Content Management APIs to create and edit content
  • A read only Content API is provided so that frontend applications can access this content

Workflow

Workflow

Management Applications

  • Document Editor: business friendly application for creating new pages of content
  • Content Schema Editor: developer application for creating new JSON Schemas to define new content sources
  • URL Manager: allows business users to manage the URLs that are used to access content, both third party and documents generated by the layout engine
  • Template Management: allows business users to configure documents as templates for displaying third party content
  • Form Management: allows business users to create and edit forms
  • Reporting: a combination of our own and third party analytics should allow us to generate insightful reports for documents and content in place

Analytics

  • We should be able to record a large amount of information based on the requests made to the Content API
  • Third party analytics (or potentially our own) should be able to provide us with information on how that content is actually used on the frontend
  • A combination of these should allow us to provide insightful reports for this content in place
  • This data should also allow us to develop smart content services that use ML to select the content to display

Smart Content

  • Both our own and third party analytics should provide us with a rich set of data that we can train ML models with to automate selection of the content to display
  • This service would ideally plug into the Layout Engine like any of the third party services do, by providing an API to return the Content to display

Document Editor

  • Application that provides a business friendly UI to edit Layout Engine Documents and Content
  • Uses the Content Management API to actually save any changes
  • Can have multiple versions, for example a barebones version that is provided for free and a feature rich version that adds more functionality (e.g. ACL, drag and drop editor, versioning/workspaces). Potential to customise application for different client needs

Document Editor

Content Editor

Content Editor

Reference App

Reference App

Content Management API

Content Management API