Save the date: TEI Simple HackAThon, Lyon, Oct 2015

Dear all,

It is a pleasure to announce that there will be TEI Simple HackAThon at TEI Members Meeting in Lyon in October this year.
Conveners for this event are Magdalena Turska and Wolfgang Meier of eXist Solutions.
Registration will be open as soon as the date is confirmed. Most probably it will be Monday, 26th of October.
Meanwhile, here’s the presentation on Simple Processing Model I will be giving this Friday as part of first DiXiT Convention in The Hague and the previous one, delivered by James Cummings during DH 2015 in Sydney
On behalf of Magdalena Turska by your TEI social media coordinator,
Paul O’Shea

TEI Hackathon: Report by Elli Bleeker

Name: Elli Bleeker

Twitter: @ellibleeker



Working group project: ODD visualization


Contribution to group project: in comparison with the other participants, my experience with and knowledge of ODD and JSON was limited. Since it is very useful for anyone working with TEI XML to have at least a basic understanding of these concepts, I was happy to join this working group. At first, my contribution was mainly asking -perhaps obvious- questions about ODD. I’d like to think however that these questions helped to narrow down our goal. At least it was necessary to clearly describe the present state-of-the-art, what is missing, and why an ODD visualizer would be a welcome addition. During the workshop, I assisted with the creation of test data (several project-specific ODD, their transformation to flat ODD and subsequently to JSON); contributed on the design of the treemap and participated in the group discussions.



The general idea and necessity of an ODD visualization was quickly explained, so the group focused on what exactly needs to be visualized and especially, how. The current ODD visualizer of Byzantium does not show the amount of customization. Moreover, it is useful to see on which specific areas the ODD focuses. We were quick in dividing into three smaller groups, each with specific assigned roles depending on our pre-existing knowledge and capabilities.

We decided upon a D3 zoomable treemap for the visualization of the amount of customization. The treemap shows how elements are grouped as well as –by their size or color- to what extent the elements are customized. The zoomable option could also allow to ‘zoom in’ on the customized elements to see the exact changes made.


Final Product

For all the deliverables (Google doc, Github, demo…), see the reports of the other group members.


Learning Outcomes

It was a very useful experience for me to work on this project. Although from time to time intimidating, the immediate jump from theory to practice was the best way to learn the concept (ODD, flat ODD, TEI schema, JSON, etc…) and to understand the workflow of the different processes. Having to think about the visualization of something that I was not familiar with helped me a great deal in understanding it. Whether the resulting visualization is as clear and useful for others remains to be tested. Nevertheless it is clear that this could be a necessary tool for users of TEI, regardless of their level of experience.

TEI Hackathon: Report by Elena Spadini

Name: Elena Spadini,
Twitter: @spadinelena

Project:  ODD visualization

Contribution: Discussion of the different steps with all the others.

Transformation from .odd to flat odd and then to .json

Contribution to the final design.


All links are available at


Final Product


We first discussed if and why it is interesting to have an ODD visualization. It can be useful both during the transcription stage, during which probably the schema continues to evolve; at the end of the process, to check immediatly and intuitive which are the mark-up “zones” where the customization was mainly working; to compare easily different customizations.

We found that the xslt from .odd to .json doesn’t take into account all datas: for instance, if a list of values for an attribute is closed or not and which are the mandatory ones or the suggested ones.

Learning outcomes

Discover the existence of some resources, as the d3 gallery ( or the

Use for the first time new resources, as the different xslt stylesheets for TEI.

Most of all: enjoyng the discussion with scholars with different professional skills and approaches.


TEI Hackathon: Report by Raffaele Viglianti

Name: Raffaele Viglianti
twitter: @raffazizzi
The project
We wanted to visualize some aspects of a given ODD specification to aid the creation process, or to help the understanding of someone else’s ODD.
There are some precedent attempts at doing this: Byzantium ( already visualizes basic information about what your ODD includes or excludes; Gregor Middell’s visualization ( already shows relationships between classes and elements in TEI.
We attempted to quantify *how much* an ODD has been customized and show graphically which parts have been curated more and which less.
My contribution
I worked on the architecture of this small app and programmed a scoring system that we previously sketched as a group.
First, the app imports a JSON version of the full TEI P5 ODD; then it imports the compiled ODD of a customization (in JSON).
Second, the ODDs are compared and scoring is calculated for each TEI element. These are the changes affecting the score (in parenthesis there are changes discussed, but not implemented):
* changed element description
* added attribute
* added attribute *value* (e.g. by restricting values for @type) <— this is by far the most common change
* (added elements)
* (added constraint / schematron rule)
* (number of examples provided via <exemplum>)
Finally, the resulting object is passed on to a d3.js component for visualization (Nick worked on that part)
ODD being visualized (prepared by James Cummings):
Findings / goal
ODD is difficult and associate with advanced TEI users. But it needs to be the gateway to TEI and a constant companion to the life of a TEI project. We’ve been trying to figure out whether visualization can make ODD clearer and less daunting. Hard to tell with our simple visualization, but I think we had a consensus in the group that this is the way forward.
Not neglecting the power users, we think that visualizing ODDs can also help understanding other people’s usage of TEI, particularly when operating on a corpus created by someone else (cfr. Syd Bauman’s concept of “blind interchange“).
What did I learn
I learned that there is willingness to make ODD more accessible across the board; that the official JSON conversion from ODD needs improvement; and that underscore.js has some nice functional methods to deal with collections.