listing microformat brainstorming

From Microformats Wiki
Jump to navigation Jump to search

This is brainstorming for a hlisting microformat per the 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.
  • +1 I'm tending to agree with the removal of version, as in practice it has not been necessary for either hReview or hListing.Tantek 17:45, 16 April 2009 (UTC)
  • 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 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