webCOMAND

Access

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

Apps

webCOMAND Apps can leverage content types to automatically adapt to and work with content designed to match your exact project requirements using paths, queries, scripts, templates and APIs.  Developers and advanced users can also utilize these capabilities directly.

Paths

You can browse, traverse, search and filter content in Bases with Paths, which map out routes and filters through folders, fields and relationships to find matching content items.

Browse

The easiest way to use paths are from the Bases App and Content Manager (CMS) App, which display content by Base, type and folder.  Click Bases, types and folders to navigate to their corresponding content.

Traverse

After browsing to a content item, you can traverse through the relationships within content items to their related content by opening the fields and content they reference.

Search

It is easy to search for content, globally, or from a specific path.  Enter free-form keywords into the search box above any list of content.

Filter

In addition to simple keyword searches, filters can also be entered into the search box using cPath.

cPath

As you browse, traverse, search and filter from the user interface, the system is building a cPath behind the scenes to form the internal content request.  The cPath behind the current view in the user interface can be viewed and modified by authorized users with the Edit Path feature.

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:

/catalog/widgets/2020-??-??.pdf

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.

Queries

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.

Scripts

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.

Templates

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.

APIs

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.