project

From Microformats Wiki
Jump to navigation Jump to search

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.

Per the microformats The microformats process. Start always with number one.

The project-*

  1. *examples
  2. *formats
  3. *brainstorming
  4. project
  5. faq
  6. *implementations
Please read The microformats 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 (Based on 8 examples.)

Common practical project fields

  • fn (100%)
  • summary (100%)
  • author (50%)
  • instructions (100%)
  • requirement (50%)
  • published (50%)
  • duration (25%)
  • tags (25%)

Common abstract project fields

  • fn (100%)
  • summary (75%)
  • author (50%)
  • due (50%)
  • goal (25%)
  • duration (25%)

existing formats

Please document in project-formats.

Related microformats

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 1.0.
    • summary. optional. text. re-used from hCalendar 1.0.
    • author. optional. 1 or more. re-used from hAtom 0.1 using hCard 1.0.
    • published. optional. re-used from hAtom 0.1. [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 1.0. [experimental]
    • requirement. optional. text with optional valid (x)HTML markup.
    • instructions. optional. text with optional valid (x)HTML markup. re-used from hRecipe 0.22.
    • duration. optional. 1 or more. text (see ISO-31-1 duration brainstorming). re-used from hCalendar 1.0.

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 1.0.

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 1.0.

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 1.0.

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 0.1.
  • 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 1.0.

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 requirements.
  • 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 durations.
  • The element MUST follow the conventions outlined in hCalendar 1.0.
<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

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.