Bases enable individuals, teams and apps to work more effectively with content.

  • Atomize - Break down information traditionally stored in files into smaller, well-defined elements, which can then be used, modified and remixed on their own, and in larger digital productions.
  • Organize - Group, categorize, tag, rank and link content, to create a more valuable web of content, because it is easier to browse, search, filter, analyze, process, share and monetize.
  • Access - Authorize individuals, teams, apps and systems to view, query and update content.
  • Secure - Restrict access to private and sensitive content, based on groups and fine-grain rules.
  • Track - Record and recall revisions made to your content and their individual elements.
  • Collaborate - Teams work with real-time updates, editorial workflows and publication processes.

This is all made possible by the way Bases structure, access and communicate content.

Structure: Content Types

All content in a Base is associated with a Content Type, which breaks content down into well-defined elements that are easy for teams and machines to inspect and understand.  This is in contrast to traditional files, which are like a black box, often only understood by certain apps and specialists.


Content elements are defined by Fields, which describe the data and relationships of each type of content.

  • Data - Fields can contain numbers, dates, times, text, images, files and more.  These are the smallest "atoms" of content, which are associated with a name, description and restrictions, such as minimum and maximum allowed values and file sizes.
  • Relationships - Fields can also contain links to other content that is either embedded within or referenced elsewhere.  These relationships form the connections in the web of content.


In addition, Methods determine how a type of content is represented by text and icon, validated upon submission and update, matched with keyword searches, and more.  In other words, Methods determine how a type of content will look and behave when users and apps work with it.

It is through Content Type Fields and Methods that apps visualize and work with your content.

Access: Apps, Paths, Queries, Scripts, Templates and APIs

Content Types make it possible to access content in powerful ways, not possible with traditional files.


webCOMAND Apps can leverage Content Types to automatically adapt to and work with content designed to match your exact project requirements, rather than the other way around.

Apps do this using Paths, Queries, Scripts, Templates and APIs.  Developers and advanced users can also utilize these capabilities directly.


You can traverse and filter the web of content in Bases with Paths, which map out routes and filters through field data and relationships to find matching content items.

In its most basic form, it is like a file path that maps out the route through folders to one or more files.  For example, a file path to all widget PDFs launched in the year 2020 might look like:


With Content Types, the Path to content in a Base can be much more expressive.  For example:

/catalog/[Type='Widget' AND Date BETWEEN '2020-01-01' AND '2020-12-31']

The key difference though, is that files can only be organized with some information exposed through folder and file names.  Bases expose all field data and relationships, so the path is unlimited.  Expanding on even this simple example, a file path breaks down if we only want widgets launched in the first quarter of 2020.  With Bases, it becomes trivial.

Learn how to use Paths with the cPath Language Reference.


In traditional file systems, a database is a good way to store information that represent records and other information that need to be connected and queried.  Even though Bases can store content similar to files, they also offer the features of a traditional database, so you can work with all of your content like files in folders and like records in a database.

SQL is the most common way to query a traditional database.  For example:

SELECT ID, Name FROM Widget WHERE YEAR(Date)='2020'

cQL is an intentionally similar way to query Bases.

SELECT ID, Name FROM Widget WHERE YEAR(Date)='2020'
Learn how to query with the cQL Language Reference.


Some traditional databases offer scripting languages to analyze, process and manipulate their contents.  Bases offers a scripting language as well.

Learn how to write Scripts with the cScript Language Reference.


In addition to a scripting language, a template language with all of the same features and functions of the scripting language is also available, as a more convenient way to produce files from content, especially when publishing content to web pages and other plain-text files.

Learn how to write Templates with the cTemplate Language Reference.


The webCOMAND APIs leverage Content Types to automatically adapt to and work with content customized to match your exact project requirements, rather than the other way around.

Developers may be familiar with APIs made up of dozens, hundreds or even thousands of rigid end points, which can have a steep learning curve and frustrating limitations.  In contrast, webCOMAND APIs only have a few end points that are easy to learn, extremely capable and flexible.

Learn how to use the APIs with the API Reference.

Communicate: JSON

JSON is the most common way to exchange information in modern web applications.  Bases content can be exported to, imported from, and synced between Bases and other web applications using JSON.  Bases use standard JSON in a way that can communicate content of any Content Type.

Learn about the exact JSON format used by webCOMAND, cJSON.