project
Project
This is a page for tracking the effort to develop a project microformat for authors and publishers to markup public projects like open-source software or other kinds of artistic distributions.
View each individual page as the main page omits some content.
The project-*
Please read process first, before creating new pages!problem statement
scenarios
One of its primary intent is to allow robots to automatically classify projects in a freshmeat manner by browsing the web. ZimbaTm 08:31, 12 Jan 2008 (PST)
Analysis of Examples
Common project fields
- project (name/title|URL(s)|image)
- author (name|email|URL)
- summary
existing formats
Please document in project-formats.
- A vocabulary for describing projects (primarily goal-oriented)
- DOAP: Description of a Project (software project specific)
- hDOAP - previous microformat-like effort
- Program Evaluation and Review Technique
Related microformats
- hCalendar for timelines, milestones, and to-do items
- Resources
- hReview for debriefing
brainstorming
Format
In General
The projecta format documents practical (how-you-can-do) projects. Where possible field names have been chosen based on those defined by the related hCard, hAtom, hCalendar, and hRecipe.
Schema
The projecta schema consists of the following elements:
- projecta
- fn. required. text. the formatted name of the project. re-used from hCard.
- summary. optional. text. re-used from hCalendar.
- author. optional. 1 or more. re-used from hAtom using hCard.
- published. optional. re-used from hAtom. [experimental]
- tag. optional. 1 or more. re-used from rel-tag. [experimental]
- photo. optional. 1 or more. using any element containing a URL, such as IMG. re-used from hCard. [experimental]
- requirement. optional. text with optional valid (x)HTML markup.
- instructions. optional. text with optional valid (x)HTML markup. re-used from hRecipe.
- duration. optional. 1 or more. text (see ISO-31-1 duration brainstorming). re-used from hCalendar.
Field details
The fields of the projecta schema represent the following:
fn
The title of a single project. The formatted name of what the projecta documents.
- The element is identified by class name
fn
. - A projecta MUST include a
fn
. - The element MUST follow the conventions outlined in hCard.
summary
The summary provides a short introduction to or an accompanying statement about the project.
- The element is identified by the class name
summary
. - A projecta MAY include a
summary
. - The element MUST follow the conventions outlined in hCalendar.
author
The person who authored the project.
- The element is identified by class name
author
. - A projecta MAY include one or more
author
elements. - The contents of the element MUST follow the conventions outlined in hCard.
published
The date the project was published.
- The element is identified by the class name
published
. - A projecta MAY include a
published
date. - The element MUST follow the conventions outlined in hAtom.
- The datetime-design-pattern SHOULD be used to encode the published datetime.
- The element is considered experimental and may be removed from the final specification.
tag
A keyword indicating a subject or an important aspect of the project like it's main requirement, type of project etc.
- The element is identified by class name
tag
. - A projecta MAY include one or more
tag
elements. - The element MUST follow the conventions outlined in rel-tag.
photo
Accompanying image.
- The element is identified by the class name
photo
. - A projecta MAY include one or more photo elements.
- The element SHOULD use an <img> element.
- The element MAY use any other element that contains a URL, such as <a> or <object>, but it is not recommended.
- The contents of the element MUST follow the conventions outlined in hCard.
requirement
Describes one or more requirements of the project.
- The element is identified by the class name
requirement
. - A projecta MUST include one or more
requirement
s. - The field MAY include valid HTML markup (e.g. a list of requirements).
instructions
Documents the instructions required to complete the project.
- The element is identified by the class name
instructions
. - A projecta MAY include a
instructions
element. - The field MAY include valid HTML markup e.g. paragraphs or a list of steps.
duration
The time it takes to complete the project described by the projecta. Multiple duration fields can be used to denote time taken per instruction.
- The element is identified by the class name
duration
. - A projecta MAY include one or more
duration
s. - The element MUST follow the conventions outlined in hCalendar.
<div class="projecta"> <h3 class="fn">Germinating Seeds</h3> <p class="summary"> How to germinate seeds in potting mix.<br /> </p> <p class="vcard fn">Derek Lewis</p> <p>Published <abbr class="published" title="2009-03-28T09:30-11:00">28. Mar 2009</abbr></p> <img src="/img/seed.png" class="photo" width="100" height="100" alt="Seed"/> <h4>Requirements</h4> <ul class="requirement"> <li>Container(s) (With drain holes)</li> <li>Seed(s)</li> <li>Potting Mix</li> <li>Fresh Water</li> <li>A Light Source</li> </ul> <h4>Instructions</h4> <ol class="instructions"> <li>Loosen and dampen the potting mix.</li> <li>Fill 2/3 of each container(s) with potting mix.</li> <li>Put seed(s) in container with potting mix.</li> <li>Sprinkle a few drops of water over of the seed(s). (Remember to repeat this once potting mix becomes dry.)</li> <li>Place container under light source.</li> </ol> </div>
to-do
- project-examples
- project-formats
- Lots of discussion I guess, to satisfy different kinds of projects
- Semantic approval of experts
Notes
Please, keep the format simple. The current brainstorms above don't follow an existing standard (existing standards must first be documented in project-formats before proceeeding). It is preferable to re-use and develop minimal modules rather than being verbose. Are these bad or good for example: the uuid:.. or scm:// ones ?
Related ideas
- Release: semantic description of a project release. Possible usages : automatic tracking and/or conversion for package managers, automatic platform/mirror selection for download managers.