Marketpath CMS Developer Tutorial Series

Application Architecture

Last Updated 3/6/2018

This tutorial provides an understanding of the Marketpath CMS application architecture. It is intended for website developers who want a deeper look into how all the pieces work together.

Marketpath CMS is a true Saas CMS comprised of three distinct parts:

  1. Management UI - the interface where all content editing and site development takes place
  2. Preview Sites - where you go to preview changes prior to publishing
  3. Live Sites - where your live website visitors go

These separate components increase the availability and performance of your sites while improving the overall security and lowering the risk of malicious visitors.

Live Site Instances - Shared & Private

By default, live sites are published to a shared instance. Each instance is comprised of two or more load-balanced virtual machines and a database. Multiple sites may be published to each instance and balanced appropriately. If any site sees an increase in traffic we will automatically increase server capacities to handle the load and avoid impact on other sites sharing the instance. If a site sees high activity for a prolonged period of time, we will move it to an instance with more available capacity or to its own private instance.

For an additional monthly fee, any account can request a private, isolated instance. This allows a customer to host one or more sites, typically high traffic sites, on their own instance and adjust server capacities however necessary to handle the loads.

Agents

Marketpath uses multiple agents for various tasks. Three of these agents are shown in the images above. Here is a list of several agents used to process content and manage sites:

Publisher Agent - handles all publishing activity by sending changes to the Live Site
Preview Agent - handles all changes by sending any saved content changes to the Preview Site
Sync Agent - synchronizes form submissions and other data back to the Management UI
Communications Agent - sends email and other notifications based on specific activity
Import/Export Agent - processes import and export jobs
SSL Agent - processes free SSL certificates through LetsEncrypt
Janitor Agent - performs routine maintenance and cleanup tasks

Preview Environment

Every time you save content on a site, which could be articles, blog posts, images, templates, Javascript, etc, the change is sent to the preview site automatically. This allows you to review your changes before you publish them.

The Preview Site environment is an exact replica of the Live Site environment, with a couple small exceptions. If the site developer follows Marketpath's recommended best practices, editable content will be wrapped in additional <div></div> or <span></span> tags. This allows us to add a class to the tags and provide interactions between the preview pane and page edit pane. In most cases this will cause no change to styling unless the developer has specific parent>child styles in place (not a best practice anyway).

Marketpath CMS API

Marketpath CMS uses an API layer for all interactions between the Management UI and the underlying data. Every single action, change, lookup or other request that comes through the API is validated and authorized against real-time security settings. 

While we utilize the API for all Management UI functions (and some external integrated tools), it is not yet available for standard users. We do expect to open this up in the future for custom integrations.

Microsoft Azure Scalability and Security

Marketpath CMS is hosted with Microsoft Azure and takes advantage of a large number of Azure service offerings.


---- End of Lesson ----

Question? Correction?

Let's work together to make our documentation as helpful as possible.

What is your name? 
What is your email address? 
Feedback: