0%

About Packages ID: PM-GS-AP

This lesson provides a high-level overview of packages - including their purpose, structure, and some additional related concepts. We will also highlight how packages are different from plugins and similar concepts in other systems.

What are Packages

At their core, Marketpath CMS packages are simply configurable collections of assets (code and content) that get copied for re-use across multiple sites. They are authored on one site (the source site) and then installed on other sites. In contrast to the common cenception of plugins, packages do not enable third-party code to be run inside Marketpath CMS - which drastically increases the security, stability, and performance of our systems while still enabling sites and users to share solutions and build on each others work.

The purpose of packages is to allow for rapid website development by enabling code and data reuse and providing an easy update mechanism across sites.

Data and code reuse

By placing data and code inside a package, it can easily be copied to other sites without having to deal with third-party solutions or crazy workarounds. Because assets are copied and mapped to the current site, they function as though they were build direclty on the site they are installed on. In part, this means that they may be viewed, configured, modified, and even deleted by administrators of that site. However, they still maintain a permanent link back to the original package so that udpates to the original package can easily be applied when desired.

Easy update mechanism

If all packages did was create a one-way copy of data and code from the source site to the target site it would still be helpful but then making updates to existing sites would be a nightmare. That is why Marketpath CMS packages also have the ability to apply updates to sites - which may be done either automatically or manually. This may be used internally for updates to a suite of sites (eg: maintaining a common multi-site menu and banner between sites), to add new functionality and features to a template (eg: improved accessibility attributes for a slideshow widget), to fix a bug with a package (eg: incorrect URL decoding of search parameters for a search page), or for a variety of other purposes.
 

Structure

  1. All packages are created on a Marketpath CMS site, and updates to packages are managed from that site.
  2. The core of each package is it's assets. An asset is any object that may be copied to the site - such as templates, images, articles, and most other objects in Marketpath CMS.
  3. Packages may be dependent on each other. A dependent package must be installed on the site before or at the same time as the package that depends on it.
  4. Packages are not useful until they are installed on another site. Some packages may be installed without much effort but some may require additional input before they can be installed successfully.
  5. Installing a package copies all of the assets from that version to the site. Assets may be created, updated, or even trashed by installing or upgrading packages.
  6. Each package may have multiple versions which must be independently activated. Each version has its own assets and, once it is activated, cannot be substantially changed.
  7. Packages and versions may be archived. Archiving a package or version does NOT remove it from sites that have already installed it, but it does prevent new sites from installing it.


Feedback?

Please fill out the form below with your feedback or any questions you may have after working through the "About Packages" lesson.

Your Name
Email 
Feedback / Questions