Glossary of Manifesto Terms

To facilitate clarity when discussing various aspects of Manifesto, this glossary offers definitions for terms used to describe elements and concepts in Manifesto.

Controller

Every module has a controller file, which handles the incoming request and properly routes code execution to the proper sequence. It is a standard component of the MVC (Model-View-Controller) paradigm common to many CMSes.

Unlike most of Manifesto, controllers are purely functional programming, with a switch statement for handling the request, rather than the controller being an Object with methods handling the request. In Manifesto, the snippets of code for responding to a particular request are called “handers” for the sake of convenience.

ditor Console** The editorial management of content in Manifesto is contained behind a password-protected portal located at http://www.example.org/editor. The term editor console is generically used to describe that section of the website.

vent** Manifesto’s code is filled with specific locations where outside code is permitted to interact or insinuate itself into the program execution. Those locations are called “Events” (sometimes referred to as “hooks”). For example, there is a “page_end” event that allows modules to add output to the end of the HTML page, and there is an “object_edit” event that allows modules to modify the editing interface for some kinds of content. cf. the Listener entry, which describes the code that responds to events.

andler** An informal way to describe the fork responsible for responding to a particular function within a controller. For example, most modules have some code in the controller.inc file to execute whenever a page is displayed, and that code would be referred to as “the display handler.”

con** When more than one image is associated with a content object, we may wish to select one of these images to be the official representative photo for the content. Such a selected photo is referred to as the icon of the content.

anding Page** This usually refers to the top-level page of a particular section of your website, e.g. the page you arrive at when you click on “News” might be referred to as the “News landing page.”

istener** A Listener is a bit of code designed to respond when a particular event is triggered. For example, when the “page_end” event is triggered, the jQuery module has a listener that will output the code necessary to load jQuery at the end of the page.

isting Page** This expression is used to describe the common page which displays a simple list of all the available objects in a particular module. On the back end, it is the default format for presenting existing content for editing. On the front end, this phrase might refer to e.g. the page that displays your staff directory or list of locations. For sections of the website without much textual content, the “listing page” might also be called a “landing page.”

anifestoObject** The base class from which Manifesto content types descend. It defines the basic properties of all content types, such as ID, creation date, associated media, deleted status, etc. Roughly corresponds to the generic “node” in Drupal.

odule** Manifesto organizes groups of content types and functionality into collections called modules. For example, if you decide “I want to have a calendar on my website,” you are really asking for a collection of things:

  • A CalendarEvent class
  • An EventLocation class
  • Forms that allow you to edit event and location objects
  • A set of templates that can display listings, details, and other views of the information

This collecton of class files and acoompanying scripts is referred to as a module, and such modules form the basis of a Manifesto website.

Modules in Manifesto are designed to be self-contained, with their own class definitons, their own scripts, images, and stylesheets. Modules can be enabled and disabled on a case-by-case basis, and a well-designed module can be turned on and off without affecting any other aspects of the site.

racle** The class of Manifesto objects responsible for querying the appropriate tables in the database. There is a base Oracle class that contains all of the methods needed to build and execute a SQL query, and most content types define their own class of Oracle configured to their specific needs.

So, for example, the BlogEntryOracle inherits the functionality of the Oracle class, but is pre-configured to query the blog_entries table, and to return results in reverse chronological order.

hortname** The shortname field is a common property of many types of content in Manifesto. Basically, the shortname is an abbreviated, URL-friendly version of the normal identifier for the content (like title). In order to allow Manifesto to build programmatic URLs for content, you may often be asked to provide a shortname for your content. In most cases, Manifesto will try to intelligently offer a suggested shortname for you, based on the title or other identifier in your content.

The most important thing to remember is that it needs to be URL safe. No spaces or strange punctuation. Dashed are usually used to separate words, but most other punctuation is removed.