webCOMAND

Sites Publications

The Sites Framework uses content types and functionality provided by the Publication Framework to define the procedures and lists used to publish the individual files that make up a website.

Sites Publication Class Diagram

Publication

Defines what to publish, where to publish it, and the URL to access what is published.

  • Identifier - A unique name for the publication, which is used to link to pages within the publication from other publications.
  • Title - A friendly name for the publication.
  • Publication Procedures - Publication Procedures to publish.  A Sites Publication typically only publishes two procedures: Pages and Files.
  • Content Folders - Repository folders that contain the content to be published.  A Sites Publication typically references:
    • The Folder or Base where Pages are managed by site administrators.
    • The Folder where site-specific CSS, JavaScript and Image files are managed by site developers.
    • The Sites Framework Package, which contains Templates useful to most Sites Publications.
  • Publish Path - Where to publish files on the server.  A Sites Publication typically publishes to the "htdocs" folder under a folder named after the website hostname.  For example, "www.example.com/htdocs/" or "staging.example.com/htdocs/".
  • URL - The URL that can be used to access the files where they were published.  A Sites Publication typically uses a secure URL like "https://www.example.com/" or "https://staging.example.com/".

Website

Website extends Publication with functionality that will automatically create and update SSL certificates for Publications with a URL that starts with "https://".  The functionality mainly utilizes the SSL Package for this functionality, which in-turn uses Let's Encrypt.

While not required, it is a best practice to create a new content type that extends Website, for each Sites Publication.  Then, create an instance of that new content type for each version of the website, such as staging and live.  This makes it easy to add fields to the site-specific content type for use as Publication Settings (global variables accessible from cTemplate during the publish process).

Localized websites translated into multiple languages/locales can add a Language field to the new content type, which makes it possible to add and publish a different version of the website for each defined Language.

Publication Procedures

Two Publication Procedures are included in the Sites Framework, and automatically added to the Publication Procedures of a new Website.

  • File - Publish Files in the Website's Content Folders, including JavaScript, CSS, images and other files managed in the CMS.
  • Page - Publish pages.in the Website's Content Folders, including Web Pages and any content that extends Page, Content Page and Navigation Page.

Publication Lists

A few Publication Lists are included in the Sites Framework.

  • AllFiles - Used by the File Publication Procedure to publish all Files.
  • AllPages - Used by the Page Publication Procedure to publish all Pages.
  • HomePage - A list used to access the Home Page of a Sites Publication, which is defined as the first Web Page (or content of a content type that extends it) defined a Content Folder.

Sites Files

Any Files defined in any of the Website's Content Folders will be published out by the File Publication Procedure.  A File is content of any content type that extends File.

A typical Sites Publication utilizes the following predefined File types, but any File type can be used.  It is a best practice to put these files in a folder separate from the Pages and other content.  This makes it easier to reuse the files across websites that share a common structure and code, which may include systematic differences based on Publication Settings and other content in the site administators folder.  It also makes it easier to manage site administrator and developer authorizations by folder, without the need to worry about types.

  • CSS File - Libraries, frameworks and custom styles.
  • JavaScript File - Libraries, frameworks and custom code.
  • Image Media File - Images referenced from HTML, CSS and JavaScript.
  • Web Font - Defines a collection of web font files that will be published together and are easily incorporated into a CSS File.

Sites File Class Diagram