Difference between revisions of "hlisting-brainstorming"

From Microformats Wiki
hlisting-brainstorming
Jump to navigation Jump to search
m (Replace <entry-title> with {{DISPLAYTITLE:}})
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
HOW THING THROUGH
+
{{DISPLAYTITLE:listing microformat brainstorming }}
HOW MAKE THING THROUGH
+
This is brainstorming for a [[hlisting]] microformat per the [[process]].
HOW THING BE THROUGH
+
 
HOW MAKE THING BE THROUGH
+
== proposed schema revisions ==
HOW ANYTHING THROUGH
+
 
HOW MAKE ANYTHING THROUGH
+
=== Revised Base Schema Elements (proposed, revised by [[User:ChiefRA|Arthur Radulescu]] 14:25, 29 Jun 2015 (UTC)) ===
HOW ANYTHING BE THROUGH
+
 
HOW MAKE ANYTHING BE THROUGH
+
*hListing (hlisting)
HOW EVERYTHING THROUGH
+
 
HOW MAKE EVERYTHING THROUGH
+
Clearing the confusions from the draft.
HOW EVERYTHING BE THROUGH
+
 
HOW MAKE EVERYTHING BE THROUGH
+
The first confusion comes from the fact that "item" (currently is a non-existing property) and "listing" elements are not hierachically defined among the other microformat elements. They have to obtain a pre-defined hierarchical role. I come with the following proposals:
HOW UNIVERSE THROUGH
+
 
HOW MAKE UNIVERSE THROUGH
+
1) Non-existing elements:
HOW UNIVERSE BE THROUGH
+
''item'' - although it is used as a stand-alone element in the hListing microformat examples, it is nither defined nor mentioned as a mandatory element within hListing properties. Therefore I propose to define it and use it in conjunction with "item type" attribute:
HOW MAKE UNIVERSE BE THROUGH
+
 
HOW THING OUT
+
* ''item''. '''required'''. encapsulates all the properties of the item being listed. It is used in conjunction with ''item type''.
HOW MAKE THING OUT
+
 
HOW THING BE OUT
+
See the below proposal for changing the "item type" definition and the new "hListing properties" section modified to include this element: [[hlisting-duplicated-for-discussions#Properties | hListing properties page]]:
HOW MAKE THING BE OUT
+
 
HOW ANYTHING OUT
+
<pre><nowiki>
HOW MAKE ANYTHING OUT
+
<div class="hlisting">
HOW ANYTHING BE OUT
+
    <div class="item housing">
HOW MAKE ANYTHING BE OUT
+
    . . .
HOW EVERYTHING OUT
+
</nowiki></pre>
HOW MAKE EVERYTHING OUT
+
 
HOW EVERYTHING BE OUT
+
2) Existing elements:
HOW MAKE EVERYTHING BE OUT
+
* ''item type'' - now optional, should become REQUIRED - it's a descriptive attribute for the "item", such as: opening, housing, product, business, event, person, place, website, url. Should be placed in the same HTML element with the "item" in order for parsers to get all the needed information by parsing this line, e.g.:
HOW UNIVERSE OUT
+
 
HOW MAKE UNIVERSE OUT
+
<pre><nowiki>
HOW UNIVERSE BE OUT
+
<div class="hlisting">
HOW MAKE UNIVERSE BE OUT
+
    <div class="item housing">
HOW THING THROUGH
+
    . . .
HOW MAKE THING THROUGH
+
</nowiki></pre>
HOW THING BE THROUGH
+
 
HOW MAKE THING BE THROUGH
+
3) Existing elements:
HOW ANYTHING THROUGH
+
* ''listing type'' - required - indicates the desired type of listing, something that the lister already have or wants: offer | want(ed?) | intermediate(NEW! - there are a lot of businesses intermediating between buyers and sellers).
HOW MAKE ANYTHING THROUGH
+
* ''listing action'' - required - one or more tags, suggested set: sale | rent | trade | meet | announce | event | service.
HOW ANYTHING BE THROUGH
+
 
HOW MAKE ANYTHING BE THROUGH
+
These 2 properties of the listing should allways be used together and linked by a dash within the same HTML element, as they are seen as a completion to one another. Linking them together is meant to avoid confusion/accidental duplication with other classes:
HOW EVERYTHING THROUGH
+
 
HOW MAKE EVERYTHING THROUGH
+
a) - they can be placed within the same declaration with "item": div class="item ... offer-sale" - when, as an exception, there is no visible text on the page attached to this tag (such as in the case of Real Estate where the action - sale, rental, etc. - where this "for sale, for rental" text is not visible on the page, but is inherited from the visited category / URL / visited menu).
HOW EVERYTHING BE THROUGH
+
 
HOW MAKE EVERYTHING BE THROUGH
+
<pre><nowiki>
HOW UNIVERSE THROUGH
+
<div class="hlisting">
HOW MAKE UNIVERSE THROUGH
+
    <div class="item housing offer-sale">
HOW UNIVERSE BE THROUGH
+
    . . .
HOW MAKE UNIVERSE BE THROUGH
+
</nowiki></pre>
HOW THING OUT
+
 
HOW MAKE THING OUT
+
OR
HOW THING BE OUT
+
 
HOW MAKE THING BE OUT
+
b) - they can be placed on a lower level within the same declaration with "item": span class="item ... offer-sell" - to markup the visible text attribute to follow (such as parking place for sale, books rental, etc.).
HOW ANYTHING OUT
+
 
HOW MAKE ANYTHING OUT
+
<pre><nowiki>
HOW ANYTHING BE OUT
+
<div class="hlisting">
HOW MAKE ANYTHING BE OUT
+
    <div class="item housing">
HOW EVERYTHING OUT
+
<span class="offer-sale">for sale</span>
HOW MAKE EVERYTHING OUT
+
. . .
HOW EVERYTHING BE OUT
+
</nowiki></pre>
HOW MAKE EVERYTHING BE OUT
+
 
HOW UNIVERSE OUT
+
* ''lister'' - should be subordonated hierarchically to the hListing microformat, and in line with the "item" element (see the "Proposed hierarchical level structure" diagram).
HOW MAKE UNIVERSE OUT
+
 
HOW UNIVERSE BE OUT
+
* ''version'' - now optional, should be removed as deprecated - because the version should be deduced from the name of the microformat itself: hListing (version 1), h-Listing (version 2), h-Listing3 - could become version 3, etc.
HOW MAKE UNIVERSE BE OUT
+
 
 +
 
 +
----
 +
 
 +
=== Revised Base Schema Elements (proposed, revised by [[User:JayMyers|Jay Myers]] 16:55, 29 Jun 2009 (UTC)) ===
 +
 
 +
*hListing (hlisting)
 +
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service
 +
** '''lister.''' required. hCard | (fn || email || url || tel).
 +
** dtlisted. optional. ISO8601 absolute date time.
 +
** dtexpired. optional. ISO8601 absolute date time.
 +
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal
 +
** item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).
 +
** summary. optional. text.
 +
** '''description.''' required. text with optional valid XHTML markup.
 +
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag
 +
** permalink. optional.
 +
** availability. optional. text.
 +
** condition. optional. text. examples: 'new', 'used', 'refurbished'.
 +
** shipping. optional. text. text describing shipping and fulfillment
 +
 
 +
==== Notes ====
 +
 
 +
Please see [[hlisting-examples|hListing examples page]] for analysis of 80/20 use case for new attributes availability, condition and shipping. I believe condition should still be considered even though it misses the 80/20 use case mark (71.2% based on current analysis) as it is included in most product-specific data submission services (e.g., Yahoo Product Submit, Google Base). 
 +
 
 +
----
 +
 
 +
 
 +
=== Revised Base Schema Elements (proposed) ===
 +
 
 +
*hListing (hlisting)
 +
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service
 +
** lister. optional. hCard | (fn || email || url || tel).
 +
** dtlisted. optional. ISO8601 absolute date time.
 +
** dtexpired. optional. ISO8601 absolute date time.
 +
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal
 +
** item info. optional. (fn || url || photo || [[geo]] || [[adr]]) |  [[hcard|hCard]] (for person or business).
 +
** summary. optional. text.
 +
** '''description'''. required. text with optional valid XHTML markup.
 +
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag
 +
** permalink. optional.
 +
** availability. optional. text.
 +
** condition. optional. text. examples: 'new', 'used', 'refurbished'.
 +
** shipping. optional. text. text describing shipping and fulfillment
 +
 
 +
 
 +
==== Items removed ====
 +
* version. optional. text.
 +
 
 +
<div class=discussion>
 +
* +1 I'm tending to agree with the removal of version, as in practice it has not been necessary for either [[hReview]] or [[hListing]].[[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)
 +
</div>
 +
 
 +
* item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).
 +
 
 +
<div class=discussion>
 +
* Removal of <code>item</code> seems to be a mistake, as that is used to indicate the item itself being listed. E.g., a nested <code>hProduct</code> would be <code>&lt;p class='item hproduct'>&lt;/p></code>. Removal appears to leave no way to include ''what'' is being listed. --[[User:BenWard|BenWard]] 17:38, 16 April 2009 (UTC)
 +
** +1 completely agreed with Ben Ward's point. Wide use of [[hReview]] in the [[hreview-examples-in-wild|wild]] has shown that having an explicit "item" is both necessary and works in practice. [[User:Tantek|Tantek]] 17:40, 16 April 2009 (UTC)
 +
* Indeed it was a mistake... left it out of my edits. Replaced. [[User:JayMyers|JayMyers]] 21:04, 22 April 2009 (UTC)
 +
</div>
 +
 
 +
==== Items added ====
 +
<div class=discussion>
 +
* Each of the following should cite the analysis made of real world examples that demonstrates the 80%+ use case need, otherwise, they should not be added. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)
 +
</div>
 +
 
 +
* availability. optional. text.
 +
* condition. optional. text. examples: 'new', 'used', 'refurbished'.
 +
* shipping. optional. text. text describing shipping and fulfillment
 +
 
 +
==== Items changed: ====
 +
* listing action => optional. if omitted, action assumed to be sell
 +
* lister => optional. if omitted, the buyer/seller is assumed to be the site where the microformat exists
 +
<div class=discussion>
 +
* In that case, an algorithm should be provided for how to determine the hCard for the lister, if no explicit lister is given. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)
 +
* Isn't the instruction above ("buyer/seller is assumed to be the site where the microformat exists" itself an algorithm? So, if Target.com has an item for sale and lister isn't specified, you use the domain of the web page containing the markup to identify the seller as "target.com" --Kavi, 6 July 2009
 +
* Wouldn't it make sense for it remain compulsory? If you are stating that the value reverts to a default in the case of an omission - the requirement is still that the hlisting requires a URI as part of the lister - I feel it should stay so that aggregation of hlisting information is possible outside of the domain it was originally posted on. It therefore ''requires'' this information to exist. Maybe the required property should be the url value and the other properties can be optional. [[User:Spiritquest|Spiritquest]] 19:04, 30 September 2009 (UTC)
 +
</div>
 +
 
 +
== payment ==
 +
Use [[rel-payment]] or something similar to indicate payment method for hListing.
 +
 
 +
== additional transactional details ==
 +
Per the discussions raised in the [[hproduct-issues|hProduct issues list]], consider provisions for providing transactional details like "shipping" or "buy/payment" attributes or similar for an iteration of hListing.
 +
 
 +
== see also ==
 +
* [[hListing]]
 +
* [[hlisting-issues]]
 +
* [[hlisting-feedback]]

Latest revision as of 16:26, 18 July 2020

This is brainstorming for a hListing draft microformat per the The microformats process.

proposed schema revisions

Revised Base Schema Elements (proposed, revised by Arthur Radulescu 14:25, 29 Jun 2015 (UTC))

  • hListing (hlisting)

Clearing the confusions from the draft.

The first confusion comes from the fact that "item" (currently is a non-existing property) and "listing" elements are not hierachically defined among the other microformat elements. They have to obtain a pre-defined hierarchical role. I come with the following proposals:

1) Non-existing elements: item - although it is used as a stand-alone element in the hListing microformat examples, it is nither defined nor mentioned as a mandatory element within hListing properties. Therefore I propose to define it and use it in conjunction with "item type" attribute:

  • item. required. encapsulates all the properties of the item being listed. It is used in conjunction with item type.

See the below proposal for changing the "item type" definition and the new "hListing properties" section modified to include this element: hListing properties page:

<div class="hlisting">
    <div class="item housing">
    . . . 

2) Existing elements:

  • item type - now optional, should become REQUIRED - it's a descriptive attribute for the "item", such as: opening, housing, product, business, event, person, place, website, url. Should be placed in the same HTML element with the "item" in order for parsers to get all the needed information by parsing this line, e.g.:
<div class="hlisting">
    <div class="item housing">
    . . .

3) Existing elements:

  • listing type - required - indicates the desired type of listing, something that the lister already have or wants: offer | want(ed?) | intermediate(NEW! - there are a lot of businesses intermediating between buyers and sellers).
  • listing action - required - one or more tags, suggested set: sale | rent | trade | meet | announce | event | service.

These 2 properties of the listing should allways be used together and linked by a dash within the same HTML element, as they are seen as a completion to one another. Linking them together is meant to avoid confusion/accidental duplication with other classes:

a) - they can be placed within the same declaration with "item": div class="item ... offer-sale" - when, as an exception, there is no visible text on the page attached to this tag (such as in the case of Real Estate where the action - sale, rental, etc. - where this "for sale, for rental" text is not visible on the page, but is inherited from the visited category / URL / visited menu).

<div class="hlisting">
    <div class="item housing offer-sale">
    . . .

OR

b) - they can be placed on a lower level within the same declaration with "item": span class="item ... offer-sell" - to markup the visible text attribute to follow (such as parking place for sale, books rental, etc.).

<div class="hlisting">
    <div class="item housing">
		<span class="offer-sale">for sale</span>
		. . .
  • lister - should be subordonated hierarchically to the hListing microformat, and in line with the "item" element (see the "Proposed hierarchical level structure" diagram).
  • version - now optional, should be removed as deprecated - because the version should be deduced from the name of the microformat itself: hListing (version 1), h-Listing (version 2), h-Listing3 - could become version 3, etc.



Revised Base Schema Elements (proposed, revised by Jay Myers 16:55, 29 Jun 2009 (UTC))

  • hListing (hlisting)
    • listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service
    • lister. required. hCard | (fn || email || url || tel).
    • dtlisted. optional. ISO8601 absolute date time.
    • dtexpired. optional. ISO8601 absolute date time.
    • price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal
    • item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).
    • summary. optional. text.
    • description. required. text with optional valid XHTML markup.
    • item tags. optional. keywords or phrases describing the item being offered, using rel-tag
    • permalink. optional.
    • availability. optional. text.
    • condition. optional. text. examples: 'new', 'used', 'refurbished'.
    • shipping. optional. text. text describing shipping and fulfillment

Notes

Please see hListing examples page for analysis of 80/20 use case for new attributes availability, condition and shipping. I believe condition should still be considered even though it misses the 80/20 use case mark (71.2% based on current analysis) as it is included in most product-specific data submission services (e.g., Yahoo Product Submit, Google Base).



Revised Base Schema Elements (proposed)

  • hListing (hlisting)
    • listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service
    • lister. optional. hCard | (fn || email || url || tel).
    • dtlisted. optional. ISO8601 absolute date time.
    • dtexpired. optional. ISO8601 absolute date time.
    • price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal
    • item info. optional. (fn || url || photo || Geo || adr) | hCard (for person or business).
    • summary. optional. text.
    • description. required. text with optional valid XHTML markup.
    • item tags. optional. keywords or phrases describing the item being offered, using rel-tag
    • permalink. optional.
    • availability. optional. text.
    • condition. optional. text. examples: 'new', 'used', 'refurbished'.
    • shipping. optional. text. text describing shipping and fulfillment


Items removed

  • version. optional. text.
  • item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).
  • Removal of item seems to be a mistake, as that is used to indicate the item itself being listed. E.g., a nested hProduct would be <p class='item hproduct'></p>. Removal appears to leave no way to include what is being listed. --BenWard 17:38, 16 April 2009 (UTC)
    • +1 completely agreed with Ben Ward's point. Wide use of hReview 0.4 (in progress) in the wild has shown that having an explicit "item" is both necessary and works in practice. Tantek 17:40, 16 April 2009 (UTC)
  • Indeed it was a mistake... left it out of my edits. Replaced. JayMyers 21:04, 22 April 2009 (UTC)

Items added

  • Each of the following should cite the analysis made of real world examples that demonstrates the 80%+ use case need, otherwise, they should not be added. Tantek 17:45, 16 April 2009 (UTC)
  • availability. optional. text.
  • condition. optional. text. examples: 'new', 'used', 'refurbished'.
  • shipping. optional. text. text describing shipping and fulfillment

Items changed:

  • listing action => optional. if omitted, action assumed to be sell
  • lister => optional. if omitted, the buyer/seller is assumed to be the site where the microformat exists
  • In that case, an algorithm should be provided for how to determine the hCard for the lister, if no explicit lister is given. Tantek 17:45, 16 April 2009 (UTC)
  • Isn't the instruction above ("buyer/seller is assumed to be the site where the microformat exists" itself an algorithm? So, if Target.com has an item for sale and lister isn't specified, you use the domain of the web page containing the markup to identify the seller as "target.com" --Kavi, 6 July 2009
  • Wouldn't it make sense for it remain compulsory? If you are stating that the value reverts to a default in the case of an omission - the requirement is still that the hlisting requires a URI as part of the lister - I feel it should stay so that aggregation of hlisting information is possible outside of the domain it was originally posted on. It therefore requires this information to exist. Maybe the required property should be the url value and the other properties can be optional. Spiritquest 19:04, 30 September 2009 (UTC)

payment

Use rel-payment or something similar to indicate payment method for hListing.

additional transactional details

Per the discussions raised in the hProduct issues list, consider provisions for providing transactional details like "shipping" or "buy/payment" attributes or similar for an iteration of hListing.

see also