Concepts

Learn about the key concepts of Agility, their hierarchy and how they relate to each other.

Hierarchy of Concepts

  • Organization
    • Organization Admin Users
    • Authentication (Single Sign-on, MFA)
    • Instances
      • Plan and Usage
      • Users
      • Locales
      • Content
      • Sitemaps
        • Layouts
        • Deployments
      • Assets
      • Preview
      • Publishing
      • Batches
      • Content Architecture
        • Content Models
        • Component Models
        • Layout Models
        • Security
        • Workflows
      • APIs and SDKs
      • Webhooks
      • UI Extensions

Additional Concepts

Hosting

Agility is a Cloud Hosted solution. We take care of hosting the CMS on Azure, a top cloud infrastructure and service provider. All you have to do is host your Website or Application on whichever hosting platform you prefer.

Integrations

Since Agility is a headless, API-first, decoupled CMS, it can integrate with ANY system. Most integrations and their logic are in the digital solution itself (i.e. website or mobile app), but Agility also supports integrating with other systems from within the Content Manager UI. This can enable rich fields that are connected to external systems or UI panels to show additional information.

Some ways you can integrate with Agility:

  • Custom Fields - Write a re-usable custom field where you control how it renders and what data it saves
  •  Webhooks - Notify third-parties when actions in the CMS occur
  • Custom Scripts - Write custom logic that can validate content before it can be successfully saved, approved, or published

Migration

Migration is the approach of transferring over content from other Content Management System Platforms such as WordPress or Drupal, into Agility. Migration of content can also be done between multiple Instances within Agility using tools such as Excel import/export and our Content Management API's. 

Appendix

Organizations

Organizations in Agility allow you to manage multiple instances, their plans, and how you pay for them.

Organization Admin Users

The users authorized to create new instances or make plans/billing changes.

Authentication

You have control over how your users authenticate with the CMS for your organization. You can force Single Sign On with a specific or custom provider, control MFA and more.

Instances

Represents a dedicated area for your editors to create, manage, and publish content.  The way you configure your instance is up to you. An instance can represent a single website or app, or you could take a multi-tenanted approach where you are powering content for multiple websites. You can have access to many different instances, either grouped in your own organization or across different organizations.

Plan and Usage

Your plan and usage are calculated per instance. Special pricing can be considered for users who have multiple instances using pack pricing.

Users

Users are managed at the instance level. This ensures that different sets of users can have access to different instances. Only an existing user with the Administrator role can add additional users. The amount of users you are allowed are based on your plan and usage.

Locales

A locale can represent a language or a region in which you want to serve a different version of content. The amount of locales you are allowed are based on your plan and usage.

Content

The general term Content represents any entry in the CMS, including Layouts and Assets. The amount of content items you can use is specific to your plan and usage.

Content also represents a specific area in the CMS to store content that is not specific to a Layout. Storing items here allows them to be available to all layouts across your digital solution, and makes it easily exposed as an API for other services such as apps, or other external websites.

Sitemaps

Sitemaps allow editors to manage multiple content destinations within a single Instance. A content destination can be a website, mobile app, digital signage, etc.  where editors can manage the pages that make up their front-end. You can have as many sitemaps as you'd like.  The amount you are allowed are based on your plan and usage. Each sitemap can have different layouts, but they utilize the same underlying architecture such as layout models, components & content models. This is very useful when you are managing multiple sites that are similar in structure and purpose.

Layouts

A Layout in Agility represents a page typically in a website or mobile app. Editors can create and manage layouts for your website or app using re-usable building blocks (i.e. Component Models). Editors can manage your site's page tree, page-level SEO properties, and determine what content and functionality will be in each layout. Adding a new layout should not require a developer.

Deployments

A deployment is meant to represent a website for a Sitemap. It's important to define your deployments in Agility so that editors can preview from the CMS and automatically load the corresponding URL on your deployed website. You may have as many deployments as you'd like for each Sitemap. In a typical scenario, you may have a UAT and Production deployment set up.

Assets

Assets are static files that can be uploaded to the CMS and are served over a global CDN. They are typically used for serving images, pdfs, and other files. An asset is accessed by URL. The amount of assets you can serve depend on your bandwidth which is associated to your plan and usage.

Preview

Users can preview content in the CMS in their digital solution. This requires a deployment to be linked to a sitemap and marked as the default

Publishing

Content or Layouts must be published in order to be displayed on in your production digital solution. You can also schedule content publishes or group content together in batches to publish.

Batches

Batches are used to group Layouts and Content in the CMS for coordinated content releases. You can add any Layout or Content to a batch and review those items as a group, publish them, or schedule them to be published together in the future.

Content Architecture

Content Architecture is the process of planning and implementing your solution around the requirements and capabilities of your content editors. Agility is a flexible, content-first CMS that can be configured in several ways. We find that It is important to step back and evaluate how everything will work together before you start development. 

Content Models

Allow you to create structured content schemas that can be used to based your content on. Content Models are only the schema of fields. They can then be used to initialize content based on that schema. Content can come in the form of an individual item, or as a list of items and can be linked together to create Relationships. These items are based on a content schema or Content Model as they are referred to in Agility.

Component Models

Component Models are the individual functional components that populate a layout. Developers create a toolbox of components Editors can use to compose what type of content is in each layout, and in what order they appear.

Developers define what components are available in the CMS and what fields they have. Each component defined should correspond to a code file within the digital solution.

Layout Models

A Layout Model represents the general layout of a page. You may have a variety of different models with different areas where editors can add Components. Each Layout Model defined should correspond to a code file within the digital solution.

Security

Moderate the security level and access that users have to Layouts, Components, and Assets. This gives Admins the ability to limit what specific users can view, add, edit, and remove in your Instance.

Workflows

Control the collaboration and review process that should ultimately publish content on to your digital solution.

APIs and SDKs

Agility is built to be flexible and powerful so you can design a solution that suits your needs. You develop and deploy your Website (or App, IoT Device, etc.) outside of Agility and pull-in content using our platform SDKs or REST API. 

Webhooks

Webhooks allow external applications or websites to become aware of content changes that occur within your Agility instance. This works by providing a list or URL endpoints to Agility. Each time content changes in the CMS, Agility will notify each endpoint of the change and pass-on a message representing the exact change that occurred.

UI Extensions

Agility provides several ways to customize your experience and integrate with other third-parties to extend the CMS.

Custom Fields - Write a re-usable custom field where you control how it renders and what data it saves  

Custom Scripts - Write custom JavaScript that can run while validating content input forms