project: Difference between revisions
Line 168: | Line 168: | ||
== 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 === |
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.
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 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.