project: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
Line 168: Line 168:
== Format ==
== Format ==
=== In General ===
=== In General ===
The projecta format is based on a set of fields common to numerous project sites and formats in use today on the web.  Where possible field names have been chosen based on those defined by the related [[hcard|hCard]], [[hatom|hAtom]], [[hcalendar|hCalendar]], and [[hrecipe|hRecipe]].
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|hCard]], [[hatom|hAtom]], [[hcalendar|hCalendar]], and [[hrecipe|hRecipe]].


=== Schema ===
=== Schema ===

Revision as of 04:04, 29 March 2009

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 process. Start always with number one.

The project-*

  1. *examples
  2. *formats
  3. *brainstorming
  4. hproject
  5. faq
  6. *implementations
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)

real world examples

Freshmeat.net

Description of the software project

    • full project name (This is the publicly visible project name.)
    • short project name (This will be used to generate a /projects/<shortname>/ URL for your project.)
    • full description
    • short description
    • name of author
    • email address
    • branch name
    • branch description
    • license
    • homepage
    • Tar/GZ
    • Tar/BZ2
    • Zip
    • Changelog
    • RPM package
    • Debian package
    • OS X package
    • Bittorrent
    • BSD Ports URL
    • Autopackage URL
    • Jar
    • Purchase
    • CVS tree (cvsweb)
    • Bug tracker
    • Mailing list archive
    • Mirror site
    • Demo site
    • version
    • release focus
    • Dependencies

43things

How I did a project

    • goal title
    • last words (summary)
    • how (instructions)
    • lessons
    • time taken
    • resources

Moldova Aid Project

A humanitarian aid project

    • summary
    • achievements

CORDIS

Community Research and Development Information Service

    • project title
    • Research area
    • Coordinator (author)
    • Project description
    • Project details
      • Project Acronym
      • Project Reference
      • Start Date
      • Duration
      • Project Cost
      • Contract Type
      • End Date
      • Project Status
      • Project Funding
    • Participants

The World Bank

Moldova Community Forestry Project

    • project title
    • Project ID
    • Project Status
    • Approval Date
    • Closing Date
    • Total Project Cost
    • Region
    • Major Sector (Sector) (%)
    • Old Major Sector
    • Old Sector
    • Environmental Category
    • Bank Team Lead
    • Borrower
    • Implementing Agency
    • Project Goals
    • Available Project Documents
    • Related Country Information

Poncho

How to make a poncho

    • project title
    • summary
    • Material (requirements)
    • Gauge (notes)
    • directions (instructions)

RX-8 iPod Install

How to install an iPod into an RX-8

    • title
    • author
    • date
    • Car Compatibility List (summary)
    • Basic Idea (instructions)
    • Tools Needed (requirements)
    • notes
    • WARNING

How to fix a CD player

    • title
    • by (author)
    • date and time submitted
    • tags
    • description
    • summary
    • instructions

Analysis of Examples

Common project fields

  • project (name/title|URL(s)|image)
  • author (name|email|URL)
  • summary

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

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.