Developers · Setup
Developer glossary
Last updated 7 November 2026
This article contains definitions for the most commonly used technical terms and jargon on Insites. The article also contains links to learn more about a topic in depth.
Assets
Assets are files an HTTP web server can serve without backend/server processing. They are usually Javascript, stylesheets, documents (HTML, pdf, doc), fonts, media (audio, video) etc. files.
Learn more: Assets
Assets, Asset Building Tools
Use any tool you want to provide static assets. Webpack is preferred, which is arguably the most powerful and flexible. You might want to use rollup or any other set of tools you are comfortable with, as long as the output is placed into the
Learn more: Comparison of Build Tools (SurviveJS)
Assets, Static Assets
To upload a static asset into our Content Delivery Network (CDN), place your assets into the
Learn more: Using Static Assets on Your Pages
Permissions
Permissions (authorization policies) allow you to restrict access to forms and pages flexibly. Each form or page can have multiple policies attached to it.
Each policy is parsed using Liquid, which the system checks in order of its appearance in the code.
The system redirects the user to a URL provided by the developer if the condition is unmet. You can also add a message to be displayed to the user when that happens.
Learn more: Permissions
CDN
Insites serves your assets through a Content Delivery Network (CDN).
Everything you place in the
You can access files using either the
'content_for' and 'yield'
Inject dynamic content into a layout from a page or partial using
Usage example:
Define what you want to yield on your page:
{% content_for 'page_title' %}Insites Blog{% endcontent_for %}Then use yield inside the layout:
<title>{% yield 'page_title' %}</title>Database Fields
Database fields (or Properties) are fields associated with a User Profile, Table, etc.
Some of them are provided by Insites to jumpstart your development – for example, there is an
Learn more: Database Fields and Tables
Tables
Tables have multiple use cases. These custom database tables, allow you to build highly customized features. Use them to group Database Fields (Properties), and allow the user to provide multiple values for each.
For example, you can build a table storing a user's favorite books. Each book has an author, title, and number of pages. These three fields (or Properties) are grouped in a Table to store custom data.
Now you can build a form that allows users to add multiple books attached to their user profile (using GraphQL).
Learn more: Database Fields and Tables
Form
Forms give you full control over the look and feel of a form and its behavior. They also allow you to define field validations.
Learn more: Forms
FrontMatter (YAML)
The triple dashes
These are used to define variables in a YAML format. You can use Liquid and GraphQL inside the FrontMatter, which resolves before the server interprets those variables.
There are various implementations of FrontMatter. Still, they have one aspect in common: they parse YAML embedded in a different file and return the configuration and content of that file. Configuration is between
Learn more:
GraphQL
A query language for communicating with our data storage.
Learn more: GraphQL
Instance
The sites created on the Insites Console are called Instances. Instances have a URL, which represents different environments, such as
You most likely would want to use a
Learn more:
Layout
A Layout is a special kind of Liquid view that stores code that normally repeats on many pages and surrounds page content.
The usual use case for layouts is storing HTML doctype, header, footer, and scripts.
Learn more: Layouts
Liquid
Liquid is a template language used in Insites to build dynamic pages and to provide dynamic configuration (e.g. based on currently logged-in users). Use Liquid to provide Permissions for forms and pages or to specify Notifications (email, SMS, API call).
Insites' Liquid Documentation is a good starting point if you are unfamiliar with Liquid. Many filters and tags have also been added to make development easier.
Learn more: Liquid for Designers
insites-cli
- develop applications quickly
- debug existing applications
- avoid common programming mistakes
- import data into your application
- export data from your application
- deploy applications to environments
and much more.
Node.js
Node.js is a Javascript runtime based on Chrome's V8 engine. It allows developers to write and run Javascript in environments other than browsers.
You should use Node's newest Long Term Support (evergreen) version for stability, security and performance reasons.
Learn more: NodeJS.org
Notifications
Notifications are messages sent to application users (including admins) when a certain event happens. A message can be an email, SMS or programmatic call to a 3rd party API. Examples of events that can trigger a notification include file import/export, creation of a contact in the CRM, or other such events as specified by a developer.
They can be delayed; you can use Liquid, GraphQL, and trigger conditions to decide if a Notification should be sent. It is a potent mechanism used, for example, to welcome new users, follow up after they added their first item, or even if they have been inactive for some time.
Learn more: Notifications
NPM and NPM scripts
NPM is a Node Package Manager that allows you to install packages published in the NPM registry. There are many different packages that you can install, some of them written by the Insites team, like the
Learn more: NPM Official Documentation
Page
Pages are essential components of our platform that define content displayed at a given path (URL).
Pages have to be located in the
Learn more: Pages
Partial
A Partial is a piece of code extracted to its separate file to maintain readability and the rule of DRY – Don’t Repeat Yourself.
Parameterize partials and use them in various places, e.g. layouts, pages, Permissions, and Forms.
Example usage:
{% include 'layouts/blog/header' %}With variable passed to the partial:
{% include 'shared/javascripts', include_analytics: false %}Insites Console
The Insites Console is an online interface where users can create, manage, and configure sites built with Insites and manage other users of the Console. The site created on the Console will be the site you deploy and sync your changes to during development.
Learn more: Insites Console
Deploy (insites-cli deploy)
Using
- run a static analysis of your code to find errors/deprecations
- compress your assets and send them to the storage service
- compress your app and send it to the server
Sync (insites-cli sync)
Syncing to any environment means that
Translations
Translations are .yml files that define date format or flash messages for multilingual sites.
Learn more: Translations
User Profiles
User Profiles are roles in the application. Each User Profile can be associated with any number of Properties, Categories, and Tables.
Learn more:
Version Control System (Git)
Version Control System is a tool that helps you store a history of your changes to go back to when things go wrong. Additionally, if you work in a team, they help you keep track of who did what, resolve potential code conflicts, discuss code, etc.
Insites recommends Git as it is decentralized and widely supported by many tools.
Learn more: Version Control (Wikipedia)
Views
The usual structure of a webpage with the possibility to use layouts, pages and partials:
- Create a layout:
- Create pages with different slugs:
- Create partials that are used both in layout and pages:
,
Because
YAML
A human-friendly data serialization standard used in Insites for setting properties in configuration files.
Learn more: Official YAML Documentation