Skip to content
zzolo edited this page Nov 28, 2011 · 1 revision

The following are the content types defined on the site and how they are used.

Application (App)

Machine name: application

An App is a single technology, e.g., CiviCRM, Alfresco, Microsoft Office, etc. It can be either proprietary or open source. It can be an individual application (e.g, Sharepoint), a collaborative project or standard (e.g., Open311).

Note: App refers to generalized technologies, whereas “Project” refers to an implementation of one or more technologies. E.g., “San Francisco’s 311 system” is a “Project” that references one or more “Apps” -- e.g., Open311 (the standard), Facebook Open311 (the App that SF created), Lagan Enterprise 311, etc.

** References (TODO) **

App release

Machine name: app_release

A release of an application with a specific version number.

** References (TODO) **

Project

Machine name: project

A Project is an implementation of one or more Apps, by one or more Organizations.. For instance, "whitehouse.gov" is a Project, that used Drupal (an App), and was created by the White House (Org) and Phase 2 Technologies (Org). In some cases, Projects can in turn produce new Apps, in the way that nysenate.gov (a Project) produced OpenLeg (an App). Or the way that the Federal IT Dashboard (a Project) produced the IT Dashboard Codebase (an App). This last case is the most nuanced and potentially confusing, but is logically correct. Project accomplishes the notion of the "Recipe".

Note: Creating an Interaction can trigger the creation of a Project, and vice versa.

** References (TODO) **

Organization

Machine name: organization

An Organization is an operating entity, such as a government, nonprofit/ngo, or company. Organizations can play a number of roles, including technology user, service provider, etc. And they interact with technologies ("Apps" in our nomenclature) in a number of ways, via "Interactions."

Interaction

Machine name: interaction

An Interaction describes a one-time relationship between an Organization and and App (and sometimes also a Project). The interaction type will be an extensible taxonomy. Required terms for MVP are “created,” "contributed to", "deployed", “evaluated.” Other possible terms might include "demoed", "used", "created", “launched”, etc. Each of these interactions represents a single moment in time, as opposed to a more generalized relationship.

Carousel Slide

Machine name: carousel_slide

A Carousel Slide contains the content needed to render the content for a single slide on the image carousel at the top of the website’s home page. That content can be either an image or an HTML block. If there is no HTML, the image will link to a page on the website based on the “Path” field. We can use the nodequeue module to control the list of carousel slides that actually appear on the home page.

Story (not implemented yet)

Machine name: story

A Project Story is a narrative written about a given project. Example: "what we learned developing the Federal IT Dashboard" would be a project story, as would "How San Francisco architected its Open311 System". These can be subjective, and can include ratings (though we haven't really fleshed this out yet).