---
url: /documentation/concepts/glossary.md
description: >-
  Definitions of core WPCE terms including documents, elements, input types,
  instance managers, and WPCE developers.
---

# Glossary

## Corporate Template

The baseline WordPress theme we use at [OWNBIT](https://ownbit.agency). It's tailored for usage with WPCE and builds some nice abstractions on top of it.

## Definition

→ [Element Definition](#element-definition)

## Document

A WPCE document, or document tree, is a tree-like data structure which represents a collection of [document nodes](#document-node).
Structurally speaking, a document is nothing more than a document node (usually going by the `root` ID) which has no parent node.

When referring to a WPCE document, usually this means the content data assigned to some post or page (i.e. a tree of [element nodes](#element-node)).

However, the document tree is not strictly bound nor dependent on any WordPress-like structure; it really is just a generic tree structure.
Internally, WPCE uses the document tree to represent not only document contents, but also other tree-like data.

## Document Node

A document node is a single node in a [document tree](#document). Its structure is not strictly prescribed, but a regular document node always has at least

* a `guid` property which is a [universally unique identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier) for the node
* an `id` property which declares a certain type of node (e.g. the [definition](#element-definition) ID if it's an [element node](#element-node))
* a `children` property which is an array of child document nodes

Most of the time when talking about document nodes, we mean their more concrete representation, [element nodes](#element-node).

## Document Tree

→ [Document](#document)

## Editor

The WPCE editor is a [Vue](https://vuejs.org/) app. Given a set of [element definitions](#definition) and some environment options, it allows users to create and edit [documents](#document).

Used in WordPress, the editor replaces the default block editor ("Gutenberg").

## Element

The term "element" can refer to the definition of a certain kind of [document node](#document-node), as well as to such a document node itself. Think of this dichotomy as the difference between a class and an object in object-oriented programming: "The Section element" probably refers to the definition of a section, while "a Section element" most likely points to a specific section node in a [document](#document).

In ambiguous situations, a definition could be called an "element definition" while a concrete node may be referred to as an "element node".

## Element Definition

An element definition is a JavaScript object which describes the structure of a certain kind of [element](#element). A set of definitions is used to provide the [editor](#editor) with information on how to structure a [document](#document).

:::tip
[Learn more](/documentation/concepts/elements/definition) about element definitions.
:::

## Element Node

A certain sub type of [document node](#document-node), following the structure prescribed by an [element definition](#element-definition).

In addition to the default document node properties, it also has

* `properties`, which maps the values of [the node's properties](/documentation/concepts/elements/definition#define-properties) to their property names
* `visible`, which is a boolean value indicating whether the node should be rendered on the front end
* `selected`, which tells whether the node is currently selected in the editor

…and some more.

## Input Type

An input type defines how the [editor](#editor) should surface a certain [element property](/documentation/concepts/elements/definition#define-properties) to the user.

There are plenty of built-in input types that ship with WPCE (see the *Built-in Input Types* section in the sidebar), but you can also [define your own](/documentation/concepts/input-types).

## Instance Manager

The instance manager is a JavaScript controller object which serves as a kind of "environment hub" for the WPCE. As such, it contains all the information and tools needed to communicate and integrate the WPCE and its WordPress environment.

In the WordPress backend, the instance manager is exposed as the global `window.wpce` variable.

## Node

→ [Document Node](#document-node)

## Property Form

The property form is a UI component which manages a bunch of cohabiting properties, usually defined for a certain [element](#element). The term may also be used as a stand-in for "this specific property and its neighbors".

Note that input types can have [nested properties](input-types#getnestedproperties), so there can be nested property forms with their own sets of cohabiting properties as well.

## WPCE

Short for "WordPress Content Editor". The term can refer to the WordPress plugin as a whole, or to [the `WPCE` class](https://bitbucket.org/ownbit/ownbit-wpce/src/dev/plugin/includes/WPCE.php), resp. its only global instance, the `$wpce` object. The WPCE class which is at the core of the plugin's public PHP API.

## WPCE Developer

A WordPress user (usually an administrator) which has the "User is a WPCE developer" checkbox enabled.
