webCOMAND Packages & Market Products
webCOMAND apps, components and related content can be organized into packages and products that make them easy to create, manage, share, download and install.
A package is a collection of related software code and/or content that exists in a repository, file system, or combination of both. Keeping related code and content together this way makes it easier to create, manage, access and share the collection as a single unit.
Create a Package
Packages are created like any other content:
- Launch Content Manager (CMS) app.
- Select a folder to create the package under.
- Click the new menu () and select "Package".
- Fill in the fields described below and click Approve.
A package has four key fields:
- Title - The name of the package.
- Namespace - A unique name for the package in code and the file system, if it contains Files.
- Version - A version number (ie. 1.0.0) to track when official updates are made to the package.
- Contents - A collection related objects, including Content Types, Content, Files and more.
Objects and Content can be added, copied and linked to a package just like a folder. In fact, Packages are folders (the Package Content Type extends Folder), just with additional fields.
When a package contains Files (content that extends or implements the File content type), they are automatically mirrored to the file system, which makes them accessible to software running on the server. When Files are added to a package, a folder with the same name as the package Namespace will be automatically created where packages are configured to install, if it doesn't already exist. Files are created in that folder, or any subfolders specified in the File's Filename.
Packages can also include content, or even exclusively contain content. A package provides a clean way to describe the collection of content as a whole. Queries can also restrict results to Content Types associated with a specific package by Namespace.
PHP Files in a package that define a class in a corresponding namespace can be easily accessed through the PHP API.
Packages can include webCOMAND apps, stand-alone web applications and websites. The apps and website files can be accessed from the primary webCOMAND hostname followed by the package Namespace. Additional URLs and namespace aliases can also be configured. For more information, see Package Routing.
Like a product you can buy at a store, a webCOMAND Market Product is a package with marketing and other information to make it easy for consumers to discover and use. For example, a product may include a promotional description, photos and screenshots, as well as license, authorship, and other information to make it easy to discover, install and use.
Market Products are Packages with additional fields (the Market Product Content Type extends Package), so you can work with them exactly how you work with Packages.