Common Vocabulary

Here you'll find a list of common terms used throughout Expression

 

 

The following are common terms that you will encounter throughout our documentation as well in the back end.

EXPRESSION

Expression is our web-based content management system which is the primary tool used to manage every aspect of your web assets.  The rest of this list has some helpful definitions when you first start with the platform.

SECTION

A Section is one of your main navigation titles or “buckets”.  Each Section can have many Articles.  The slug properties of Sections and Articles are used to construct the URLs available on the site.

ARTICLE

An Article is where most of the actual content for a given page resides. Each Article contains specific information, and can be edited by you. You can also add/delete Articles.  Each Article lives in only one Section, but can be set up as an Article Link to jump to other pages as desired (and as per the developer's implementation of the site). 

CATEGORY

If the implementation of your application allows for it, an Article can be displayed in multiple places, for example on the homepage and its original location. This is usually achieved by setting a Category can be applied in the Properties tab of an article, but can also be done with Custom Fields. Multiple Categories can be applied to a single Article. 

TEMPLATE

A Template is a webpage’s layout and design. Each website has several templates - Homepage, Subpage, etc. If you change the template, it will change how the information is displayed on the front end of the website.

ATTACHED IMAGE

The Attached Image is the image associated with an article.  It will always display on the same spot on the page, based on the Template selected.

CUSTOM FIELDS

You can decorate existing objects in the system such as Articles, Sections, Users, etc., with many different types of data, including simple text, date fields, and even set up a list of related objects to create your own data model.

BUNDLE

A Bundle in Expression is a combination of Elements, Data Sources, CSS, JS, Serverside Scripts, Post Handlers, and JSON configuration files.  These all work in concert to define a functional piece of a webpage.  A Bundle can be anything from being a simple Article Listing to a more complex container of behaviour that posts data back to Expression and integrates with multiple external 3rd party APIs.  Expression comes with some pre-packed bundles and a central repository of approved code Bundles to aid in rapid construction of highly customizable websites.

ELEMENT

An Element, simply put, is the view template for a Bundle.  Elements can be bound to Data Sources, pass and receive context, and are compiled at request into an HTML page which is served back to the browser.  Elements use Handlebars syntax for their templating.

DATA SOURCES

Data Sources are a simple JSON config file that defines a way to retrieve data for the Element to replace at run time in the Handlebars template.  You can fetch data from Expression's API, third party APIs, simple JSON dicts, or simply used as a way to execute Serverside Scripts without fetching data.  You can also send data sets fetched through to one or more Serverside scripts in a chained fashion.

SERVERSIDE SCRIPTS

Serverside Scripts (or SSJS) receive the data from either a Data Source, or from the results of a previous Serverside Script.  SSJS uses javascript as its syntax, and can do a wide range of things including call more Expression or external APIs, access information about the current request, iterate and mutate objects, provide validation, and anything else you may want to do as a result of the initial request from the browser.

POST HANDLERS

Post Handlers define form fields for your Elements, and pipe the results of the posted form through to a Serverside Script for processing.  In this way you can create contact forms, user account editing, or any other kind of data that you need your end users to submit and have processed.  

JSON CONFIGURATION

This part of the bundle is where you can set up dict of constants.  This is useful when you want to have a dynamic Element view, but later on repoint the Data Source at another location, or to store Twitter API information for an integration, email addresses that may be subject to change, or anything else you want to use them for.