[uf-discuss] `microformats` and a universal test suite

Angelo Gladding angelo at gladding.name
Wed Jul 14 19:30:44 PDT 2010

Hello all,

I am currently writing a universal parser [1]. It goes by the name
`microformats` because I intend it to be as close as possible to a
canonical codification of all things Microformats. This will be
accomplished by codifying each specification in a Python module using
what can best be described as a domain-specific language. See the
`adr` definition [2] and accompanying tests [3].

Each definition file will contain as much spec-related information as
possible. Each test suite will provide a series of HTML/ufJSON
equivalents. A web interface (currently functional, but unreliable as
I develop) acts as a web service for transformation and validation but
also to summarize the current state of Microformats down to author
tables and overall analysis of the lexicon.

The code currently in the repository is a reduction of the current
state of the project. I have defined 33 formats, ranging from proposal
to spec, in the definition format. Additionally I have a buggy
analysis module that renders DOT graphs of the entire lexicon [4] and
subsections thereof.

The scope is a bit wide but most is already written and output is
finally beginning to look robust -- which leads me to my main point:

- - -

Is anyone interested in helping with the compilation of a universal test suite?

I'd like to bring this up sooner than later as it is the one aspect of
my project that requires community participation for it to be truly

In particular, I'd like to grab the ear of Toby Inkster and Mike Kaply
and collaborate to standardize the results of Swignition, Operator,
and `microformats`.

The ultimate goal of the test suite is multi-part:
- to have a concrete set of tests that will allow future implementors
to be able to implement with confidence;
- to have a common format for specification authors to be able to
codify their designs;
- and to provide a plethora of examples for content creators including
*all* possible edge cases of all formats and patterns.

I have had little luck pursuing my ventures via the wiki due to its
rather ironic incapacity to implement microformats. The reasoning is
understandable, though, so I suggest that we just keep this simple and
rally around good old DVCS. I am aware of http://hg.microformats.org/
and am not opposed to forming a shared subrepo for the suite releasing
all tests under a CC0 in the process.

- - -

There are other aspects of the project that I'd like to involve the
community in as well, such as automated XMDP inferencing, semantic
graphing (graphing the semantic web as opposed to graphing the
Microformat lexicon), and consolidation of properties (which becomes
more apparent once you stare at a webpage presenting a spec's profile,
its graph, and property/subproperty derivation/relatives. These,
however, are considerably less important than testing and conformity
at the moment.

Looking forward to hearing from anyone interested.

[1]: https://bitbucket.org/angelo/microformats/
[2]: https://bitbucket.org/angelo/microformats/src/5f8dbe75b683/microformats/lexicon/adr.py
[3]: https://bitbucket.org/angelo/microformats/src/5f8dbe75b683/tests/adr/
[4]: http://imgur.com/5dpq7.jpg

Angelo Gladding
angelo at gladding.name

More information about the microformats-discuss mailing list