project: Difference between revisions
Line 165: | Line 165: | ||
== brainstorming == | == brainstorming == | ||
== Format == | |||
=== 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]]. | |||
=== Schema === | === Schema === | ||
The projecta schema consists of the following: | 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 === | === Field details === | ||
The fields of the projecta schema represent the following: | 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 <code>fn</code>. | |||
* A projecta {{must}} include a <code> fn </code>. | |||
* 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 <code>summary</code>. | |||
* A projecta {{may}} include a <code>summary</code>. | |||
* The element {{must}} follow the conventions outlined in [[hCalendar]]. | |||
==== author ==== | |||
The person who authored the project. | |||
* The element is identified by class name <code>author</code>. | |||
* A projecta {{may}} include one or more <code>author</code> 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 <code>published</code>. | ||
* A projecta {{may}} include a <code>published</code> 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 <code>tag</code>. | |||
* A projecta {{may}} include one or more <code>tag</code> elements. | |||
* The element {{must}} follow the conventions outlined in [[rel-tag]]. | |||
==== photo ==== | |||
Accompanying image. | |||
< | * The element is identified by the class name <code>photo</code>. | ||
* 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 <code>requirement</code>. | |||
* A projecta {{must}} include one or more <code>requirement</code>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 <code>instructions</code>. | |||
* A projecta {{may}} include a <code>instructions</code> 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 <code>duration</code>. | |||
* A projecta {{may}} include one or more <code>duration</code>s. | |||
* The element {{must}} follow the conventions outlined in [[hCalendar]]. | |||
<pre><nowiki> | <pre><nowiki> | ||
<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> | |||
</nowiki></pre> | </nowiki></pre> | ||
Revision as of 03:50, 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.
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)
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.
- 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 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, 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.