webCOMAND

COMAND Package Framework

io_comand_package

A framework for working with packages.  A package is simply a collection of apps, components, files and/or related content that are easy to set up and access from a URL.

For a general introduction to packages, see webCOMAND Packages & Products.
For developer tutorials about packages, see Packages Tutorial and Package Routing.

Classes

The following classes are utilized by webCOMAND internally to route requests to packages themselves.  Users and most developers do not need to be concerned with these, but they are documented to help low-level developers understand webCOMAND's internals.  In particular, these classes handle routing web and CLI requests to packages and their apps and files.

  • configurer - Used to programmatically access and update config files associated with a package.
  • router - Common routing functionality extended by the cli_router and web_router.
  • cli_router - Used to route request through the CLI to the appropriate tools found in the package's cli folder.
  • cli_launcher - Used to launch a package CLI tool after it is found by the cli_router.
  • web_router - Used to route requests through the web server to the appropriate files and classes.
  • web_launcher - Used to launch a package app requested on the web through a URL.
  • updater - Used to update a package from an older version to a newer version.

Content Types

The framework consists of several components and corresponding content types.

  • Package - Extends Folder to have a namespace and additional metadata.
    • Package Requirement - Information about hardware, software and other requirements for the installation and use of a package.
    • Package Installer - Associates a PHP class that implements the installer interface with a package, so webCOMAND knows how to install the package.
  • Route Settings - Defines package routing rules for packages, the webCOMAND CLI, and web interfaces/configured hostnames.
    • Package Alias - Defines aliases for fully qualified package names.
    • Web Route - Defines package routing rules for the webCOMAND web interface, including package aliases and hostname URI rules.
  • Market Product - Extends Package to include marketing information, including documentation.
    • Market Product License - Information about how a product can be used, for purchasing and on-going rights.
    • Market Product License Type - Represents common license types, to help provide consistent and understandable license options to webCOMAND Market consumers.