xfolk-fr

From Microformats Wiki
Revision as of 05:20, 27 June 2006 by ChristopheDucamp (talk | contribs) (xfolk translation : structure translated)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

xFolk (RC1)

xFolk est un format simple et ouvert pour publier des colletions de signets. Il permet aux services de mieux améliorer l'expérience utilisateur et de partager des données dans un logiciel de signet basé sur le web. xFolk peut être embarqué dans (X)HTML, Atom, RSS et du XML arbitraire. C'est l'un des nombreux microformats standards ouverts.

Spécification Brouillon

Editeur/Auteur

Bud Gibson, The Community Engine

Copyright

Cette spécification est (C) 2005-2024 par les auteurs. Néanmoins, les auteurs ont pour but de soumettre cette spécification à un corps de standards avec une politique libérale de copyright/licence telle que GMPG, IETF, et/ou W3C. Quiconque souhaite contribuer devrait lire avant de contribuer leurs principes de copyright, politiques et licences (par ex. les Principes GMPG) et être d'accord avec eux, y compris le fait de licencier toutes les contributions sous les licences nécessaires (par ex. CC-by 1.0 et suivantes).

Brevets

Cette spécification est sujette à une politique de brevets libres de droits, par ex. pour la Politique de Brevet du W3C, IETF RFC3667 et RFC3668.

Inspiration et Reconnaissances

Merci à : David Plaut qui m'a présenté l'idée que les items peuvent appartenir partiellement à beaucoup de catégories en une fois. Plus récemment, merci à : Tantek Çelik, Kevin Marks, Steve Mallet, Brian DelVecchio et François Hodierne qui ont contribué au développement de xFolk avec des critiques sensées et des implémentations.

Introduction

Les services de signets sociaux laissent les utilisateurs sauvegarder et taguer leurs signets pour les partager avec d'autres utilisateurs. Durant la dernière année, le nombre de ces services a poussé comme des champignons (plus de 20, avec des exemples comprenant : del.icio.us, furl, de.lirio.us, jots et blogmarks.

Le manque d'un standard ouvert et interopérable de données est une problématique majeure à utiliser les services de signets sociaux. Un standard ouvert ferait qu'il est possible de collecter facilement des données signets et de les remixer pour inventer de nouveaux services le long de la ligne du moteur expérimental de recherche de signet gataga. Un standard ouvert ferait qu'il serait aussi possible d'écrire des javascripts qui fonctionne transversalement sur les services comme le font certains actuellement pour del.icio.us, permettant des améliorations en expérience utiliateur.

xFolk est un standard ouvert de signet social qui a pour but de parvenir à tous ces avantages. Les services de signets sociaux qui adoptent xFolk continueront à se différencier eux-mêmes des services de données. Mais, la donnée elle-même sera facile à manipuler par des scripts tiers et sera facile à partager. En tant que résultats, les services de signets pourront offir à leurs utilisateurs un ensemble plus large d'options à un moindre coût et se concentrer sur ce qui les différencie vraiment. Les individus ou les groupes opérant seul des répertoires de signets auront accès à un plus large ensemble de fonctionnalités que celles qu'ils pourraient produire seuls.

Principes de Design XHTML Sémantique

Note : les Principes de Design XHTML Sémantique ont été écrits initialement dans le contexte de développement de hCard et hCalendar, par conséquent il peut être plus facile de comprendre ces principes dans le contexte de la méthodologie de design hCard (ce qui veut dire, lisez ça d'abord). Tantek

XHTML est construit sur du XML, et par conséquent les formats fondés sur XHTML peuvent être utilisés non seulement pour une présentation d'affichage pratique, mais aussi à des fins d'échanges de données. A bien des façons, les formats fondés sur XHTML illustrent le meilleur des mondes tant du HTML que du XML. Néanmoins au moment de construire des formats basés sur XHTML, cela aide d'avoir un ensemble de principes directeurs.

  1. Réutilisez autant que possible le schéma (noms, objets, propriétés, valeurs, types, hiérarchies, contraintes) à partir des standards de référence établis et bien supportés. Evitez de redéclarer les contraintes exprimées dans le standard source. Des mentions à titre d'information peuvent passer.
    1. Pour les types avec plusieurs composants, utilisez des éléments imbriqués avec des noms de classe équivalents aux noms des composants.
    2. Les composants pluriels sont produits au singulier, et par conséquent plusieurs éléments imbriqués sont utilisés pour représenter plusieurs valeurs de texte qui sont délimitées par des virgules.
  2. Utilisez la sémantique XHTML la plus précise pour construire des blocs pour chaque objet, etc.
  3. Autrement utilisez un élément générique structurel (par ex. <span> ou <div>), ou l'élément contextuel approprié (par ex. un <li> dans un <ul> ou <ol>).
  4. Utilisez des noms de classes basés sur des noms extraits du schéma original, à moins que le XHTML sémantique de construction de bloc ne représente précisément cette partie du schéma original. Si les noms dans le schéma original ne sont pas sensibles la casse, alors mettez tout dans un équivalent en bas de casse. Les noms de composants implicites en prose (plutôt qu'explicites dans le schéma défini) devraient aussi utiliser les équivalents bas de casse pour une facilité d'utilisation. Les espaces dans les noms des composants deviennent des caractères tiret '-'.
  5. Pour finir, si le format de la donnée selon le schéma original est trop long et/ou non amical sur le plan humain, utilisez <abbr> au lieu d'un élément générique structurel, et placez les données littérales dans l'attribut 'title' (là où vont les expansions abbr), et l'équivalent le plus bref et le plus lisible humainement dans l'élément lui-même. De plus amples explications de cet usage de <abbr> : Human vs. ISO8601 dates problem solved

Format

Extensive analysis of social bookmarking services and linkblogs, reported on elsewhere, reveals that the data published by both bookmarking services and many different linkblogs are described by the following implied schema:

  • A bookmarked or tagged link.
  • A title for the entry.
  • Tags for the link.
  • An extended description or summary of the link.

As demonstrated in early iterations of the xFolk standard, this general schema can be translated into markup by:

  1. creating a container element for each entry of class xfolkentry,
  2. using an <a> element for the bookmarked or tagged link of class taggedlink,
  3. using title attribute for the tagged link <a> element, if it exists, as the entry title, otherwise using the element value,
  4. using RelTag for the tags, and
  5. using a container element of class description, such as <p>, for any extended description or summary.

A given xFolk entry will always contain a tagged link including a title with all other elements optional. Entries may have more than one tag as well as more than one element of class description. Multiple elements of class description are ordered by default document order. Semantic elements within xFolk entries may be nested at arbitray depths.

Many social bookmarking systems exist, each with its own markup conventions. Further, many people are already publishing personal link blogs. xFolk is designed with ease of adapting to these current practices as a primary goal. Therefore, few assumptions are made as to the exact kinds of elements used for an xFolk entry. Rather, the work of defining semantics is left entirely to the class and rel (in the case of reltag) attribute values.

It is expected that developers will use XPath or equivalent syntax in accessing xFolk entry elements. a requirement for XPath is that the (X)HTML document be well-formed but not necessarily valid. Thus, while undesirable, it is possible to serviceably use xFolk in an (X)HTML document that does not validate.

XMDP Profile

See the xFolk profile for the XMDP profile of xFolk.

Exemple

Here is a sample bookmark as displayed in del.icio.us's standard markup. Lines where the value of elements' class attributes must change to conform to xFolk are marked with a comment at the end.

<div class="post"> <!--will change-->
  <div>
    <a class="delLink" href="http://www.sifry.com/alerts/archives/000306.html"> <!--will change-->
      Sifry's Alerts: Technorati launches Related Tags
    </a> 
  </div>
  <div class="extended"> <!--will change-->
    Ever wanted to see what posts are related to other posts, what tags 
    are related to others? Now you can! Just check under the Tag 
    description on most tag pages, like this one, or this one, and you'll
    see the patterns. Can you smell the emergence?
  </div>
  <div class="meta">
    to
    <a class="delNav" href="/fpgibson/folksonomy">folksonomy</a> <!--will change-->
    <a class="delNav" href="/fpgibson/technorati">technorati</a> <!--will change-->
    ... <a class="delNav" href="/url/cbcabf7de070fdb46598ee679367be49">
    and 1 other person
    </a>
    ... on 2005-04-09
  </div>
</div>

The equivalent in xFolk is as follows. Comments are placed at the end of lines where class attribute changes were required.

<div class="xfolkentry"> <!-- changed -->
  <div>
    <a class="taggedlink" href="http://www.sifry.com/alerts/archives/000306.html"> <!-- changed -->
      Sifry's Alerts: Technorati launches Related Tags
    </a> 
  </div>
  <div class="description"> <!-- changed -->
    Ever wanted to see what posts are related to other posts, what tags 
    are related to others? Now you can! Just check under the Tag 
    description on most tag pages, like this one, or this one, and you'll
    see the patterns. Can you smell the emergence?
  </div>
  <div class="meta">
    to
    <a rel="tag" href="/fpgibson/folksonomy">folksonomy</a> <!-- changed -->
    <a rel="tag" href="/fpgibson/technorati">technorati</a> <!-- changed -->
    ... <a class="delNav" href="/url/cbcabf7de070fdb46598ee679367be49">
    and 1 other person
    </a>
    ... on 2005-04-09
  </div>
</div>

Converting markup to be conformant with xFolk is almost always this easy. The advantage of xFolk is that it provides one set of class attributes that can be reused across all services and link blogs, almost always with no loss of granularity. The next section presents several more examples to illustrate this point.

Beaucoup plus d'exemples

We have numerous examples to help developers incorporate xFolk into their sites.

Dans la jungle

These are real live examples of functioning systems that publish bookmarks in xFolk. These are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If you publish using xFolk, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.

  • waferbaby's Hussy currently publishes links using xFolk.
  • Smarking currently publishes all shared links (including search results) using xFolk.
  • unalog currently publishes all shared links (including search results) using xFolk.
  • de.lirio.us currently publishes its bookmarks using xFolk (with the deprecated class attribute extended in place of description, see the XMDP).
  • blogmarks currently exports bookmarks to blogs in xFolk (scroll down to the export example on the page; the deprecated class attribute extended is used in place of description, see the XMDP).
  • The Community Engine uses xFolk (with the deprecated class attribute extended in place of description, see the XMDP) for its main entries and for its republished bookmarks.

Services de signets sociaux supplémentaires

This example illustrates how xFolk may be applied to one additional service:

Blogs de liens

Social bookmarking services are only the most recent examples of people publishing links. Link blogs have been around almost since the beginning of blogging. They represent somewhat more of a challenge for xFolk because their markup tends to be less semantic from the outset. The following examples illustrate some particular challenges and how they can be overcome.

Implémentations

The following implementations have been developed which generate or use xFolk. If you have an xFolk implementation, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.

Références

Références Normatives

Références Informatives

Travaux similaires

Chantier en cours

Although this specification has recently begun to stabilize as indicated by the version RC1, it is still a work in progress. If warranted, I am prepared to go through multiple release candidates to achieve the narrow purpose of making bookmark entries more genrally accessible with as with as light weight a format as possible. All changes since the last iteration have been motivated by the implementation experience of developers attempting to achieve this narrow aim. Further changes will also most likely be motivated by implementation concerns. See "future directions" below for additional microformat possibilities.

Changements depuis xFolk 0.4

The class attribute value extended was deprecated in favor description to better conform with other microformat usage and some requests during implementation. The other change has been to allow use of multiple elements of class extended based on some use cases discovered in implementation.

Directions futures

There are several extensions one might imagine for xFolk. Frequently, these extensions are best achieved by combining xFolk with another microformat. For instance, one might want to indicate his or her evaluation of the bookmarked item. This might be achieved by using Vote Links or hReview with xFolk.

One can also imagine extending xFolk to provide data conformant with various social bookmarking service APIs, for instance to provide all bookmarks by tag. These APIs are currently too fluid for specification in any kind of standard. The APIs and the functionality they provide represent one way social bookmarking services and meta services can differentiate themselves.

A companion format called "xFolk definition" is under development. xFolk definition will provide a means of explicitly defining the tags used in social bookmarks.

Brainstorming

Discussions

Q&R

  • If you have any questions about xFolk, check the xFolk FAQ, and if you don't find answers, add your questions!

Problématiques

  • Please add any issues with the specification to the separate xFolk issues document.