projecta: Difference between revisions
(New page: =Projecta= Even though there are existing project formats, the projecta format {{must}} be developed because there is no established project format and it will enable decentralized develop...) |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Format == | == Format == | ||
=== In General === | === In General === | ||
The projecta format | 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 === | ||
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>. | |||
The | * 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> | |||
<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> |
Latest revision as of 07:38, 29 March 2009
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>