Difference between revisions of "TEI-Council-FAQ"

From TEIWiki
Jump to navigation Jump to search
m (Terminology)
(add new Pending status)
 
(24 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
=== How does the Council do its work? ===
 
=== How does the Council do its work? ===
  
By every means possible. These include regular telephone conferences, endless streams of email, widely circulated discussion documents, private caucussing, public debate in other contexts such as TEI-L, and private gossip. Formally speaking, the Council meets face to face once a year (at least), and many more times than that virtually.  
+
By every means possible. These include monthly remote meetings, email, widely circulated discussion documents, and public debate in other contexts such as TEI-L and GitHub issues. The Council meets face to face twice a year (usually one of those meetings concurrent with the TEI Annual Meeting), and many more times than that virtually. Sub-groups of Council will often form around particularly large or complex issues and may meet separately to deal with them.
  
 
=== And what work does it do? ===
 
=== And what work does it do? ===
Line 13: Line 13:
 
Generally, things in Council work like this:
 
Generally, things in Council work like this:
  
# A bug report or feature request is reported by anyone in [http://tei.sourceforge.net/ SourceForge].
+
# A bug report or feature request is reported by anyone at [https://github.com/TEIC/ GitHub] for the [https://github.com/TEIC/TEI/issues Guidelines] or [https://github.com/TEIC/Stylesheets/issues Stylesheets].
 
# Sometimes others notice the ticket and comment on it.
 
# Sometimes others notice the ticket and comment on it.
# Sometimes a Council member may make an executive decision on the ticket.  If it's a corrigible error or bug, we can just fix it in the appropriate ODD file(s) (also in SourceForge Subversion). If it is not a real issue, sometimes the ticket will just be closed. If you do not have developer access on sourceforge you'll need to ask someone who does to re-open the ticket if you want to raise it again. Otherwise, it's discussed either by email on the Council mailing list or at a Council meeting (conference call or in-person meeting).  Comments are recorded in the ticket reflecting the decision reached, and changes are made in SourceForge by a member of the Council sometime thereafter.
+
# Sometimes a Council member may make an executive decision on the ticket.  If it's a corrigible error or bug, we can just fix it in the appropriate ODD file(s) (also in GitHub). If it is not a real issue, sometimes the ticket will just be closed. If you do not have developer access on GitHub you'll ask to be added to the Council team there. Otherwise, it's discussed either by email on the Council mailing list or at a Council meeting (conference call or in-person meeting).  Comments are recorded in the ticket reflecting the decision reached, and changes are made in GitHub by a member of the Council sometime thereafter.
 
# The change shows up on tei-c.org after the next TEI "release", which happens about two or three times a year.
 
# The change shows up on tei-c.org after the next TEI "release", which happens about two or three times a year.
  
However, Council does sometimes consider lengthy proposals circulated to Council outside of SourceForge and vote on them as packages, with the changes grouped together in a sensible way so they can be considered in smaller packages, or with the changes listed individually.
+
However, Council does sometimes consider lengthy proposals circulated to Council outside of GitHub and vote on them as packages, with the changes grouped together in a sensible way so they can be considered in smaller packages, or with the changes listed individually.
  
 
=== And what is its scope? ===
 
=== And what is its scope? ===
Line 26: Line 26:
 
=== How do I join the TEI Council mailing list? ===
 
=== How do I join the TEI Council mailing list? ===
  
We have had the practice on the Council so far that elected members get added immediately to the list (and to the telecon, if there is one), with every right to participate, while outgoing members stay on until the end of their term. To join or discuss any problems using the list contact the [mailto:tei-council-owner@lists.tei-c.org TEI Council mailing list owner], currently this is David Sewell (Virginia) and Kevin Hawkins (North Texas). There is also a joint Board/Council mailing list to which you should be added as well.
+
We have had the practice on the Council so far that elected members get added immediately to the list (and to the telecon, if there is one), with every right to participate, while outgoing members stay on until the end of their term. To join or discuss any problems using the list contact the [mailto:tei-council-owner@lists.tei-c.org TEI Council mailing list owner], currently this is Luis Meneses (Victoria). There is also a joint Board/Council mailing list to which you should be added as well.
  
 
=== Why are some people on the Council email list or attending Council meetings even though they are not on the list of elected members? ===
 
=== Why are some people on the Council email list or attending Council meetings even though they are not on the list of elected members? ===
  
In addition to the members of the Council, the chair of the TEI Technical Council may invite others not elected to the Council to meetings (e.g. to speak to a particular issue). Historically the Council often invited a representative of the Board to the Council mailing list and meetings. The TEI-C Webmaster (currently Kevin Hawkins) and other systems administrators are also on the mailing lists.
+
In addition to the members of the Council, the chair of the TEI Technical Council may invite others not elected to the Council to meetings (e.g. to speak to a particular issue). Historically the Council often invited a representative of the Board to the Council mailing list and meetings. The TEI-C Webmaster (currently Luis Meneses) are also on the mailing lists.
  
 
=== What are the various job roles on the TEI Council? ===
 
=== What are the various job roles on the TEI Council? ===
  
 
==== TEI Technical Council Member ====
 
==== TEI Technical Council Member ====
A TEI Technical Council Member is expected to participate in all aspects of Council work. This means that they should learn how the TEI infrastructure is organised and [http://www.tei-c.org/Activities/Council/Working/tcw20.xml how to edit the TEI Guidelines], asking on the Council list any questions they might have. They will be expected to come to face-to-face ("f2f") meetings (often two per year) and participate in a couple other teleconferences per year. They will be assigned (or take) feature requests/bugs on [http://tei.sourceforge.net/ the TEI's SourceForge site], for which they will be in charge of encouraging discussion, reporting on the issue to Council, and eventually implementing (or ensuring implementation) of the resulting decision. A TEI Technical Council Member is expected to participate in the maintenance and development of the TEI Guidelines and related outputs. Some elected TEI Council members focus more on particular aspects of the infrastructure or stylesheets as part of the contribution to the Council. Council members should always act to represent what they believe are the opinions and best interest of the community that has elected them.
+
A TEI Technical Council Member is expected to participate in all aspects of Council work. This means that they should learn how the TEI infrastructure is organised and [http://www.tei-c.org/Activities/Council/Working/tcw20.xml how to edit the TEI Guidelines], asking on the Council list any questions they might have. They will be expected to come to face-to-face ("f2f") meetings (often two per year) and participate in a couple other teleconferences per year. They will be assigned (or take) feature requests/bugs on [https://github.com/TEIC the TEI Consortium's GitHub site], for which they will be in charge of encouraging discussion, reporting on the issue to Council, and eventually implementing (or ensuring implementation) of the resulting decision. A TEI Technical Council Member is expected to participate in the maintenance and development of the TEI Guidelines and related outputs. Some elected TEI Council members focus more on particular aspects of the infrastructure or stylesheets as part of the contribution to the Council. Council members should always act to represent what they believe are the opinions and best interest of the community that has elected them.
  
 
==== TEI Technical Council Chair ====
 
==== TEI Technical Council Chair ====
Line 44: Line 44:
 
* arranging and chairing the teleconferences
 
* arranging and chairing the teleconferences
 
* creating agendas for those meetings, and ensuring minutes are written and posted of them
 
* creating agendas for those meetings, and ensuring minutes are written and posted of them
* assigning tickets in [http://tei.sourceforge.net/ the SourceForge system]
+
* assigning tickets in [http://github.com/TEIC/ the TEIC Github organization]
 
* acting as SIG coordinator
 
* acting as SIG coordinator
 
* liaising for and reporting on Council activities at all Board meetings
 
* liaising for and reporting on Council activities at all Board meetings
 
* reflecting Council wishes in Board discussions
 
* reflecting Council wishes in Board discussions
* budgeting Council expenses,
 
 
* acting as a public point of contact and responding to technical enquiries (messages to council@tei-c.org are forwarded to the Council Chair)
 
* acting as a public point of contact and responding to technical enquiries (messages to council@tei-c.org are forwarded to the Council Chair)
 
* announcing new releases of the Guidelines on the TEI-L mailing list
 
* announcing new releases of the Guidelines on the TEI-L mailing list
Line 81: Line 80:
  
 
== Terminology ==
 
== Terminology ==
 +
 +
=== What is a "corrigible error"? ===
 +
 +
This is a term that comes up in Council discussions and refers to an error or inconsistency in the Guidelines that can be fixed without requiring a deprecation period.
  
 
=== What was the War on Free-text-bearing Attribute Values? ===
 
=== What was the War on Free-text-bearing Attribute Values? ===
  
The War on Free-text-bearing Attribute Values, also known as the War on Free-text-bearing Attributes and the War on Attributes for short, happened because some have felt that if attribute values don't have a datatype, they are more prone to abuse than if they did. So there has been an effort to give datatypes to as many attributes as possible. Some discussion of this with respect to @rend is available here: http://blogs.oucs.ox.ac.uk/jamesc/2011/12/01/rend-and-the-war-on-text-bearing-attributes/
+
The move from SGML to XML included (some would say necessitated) The War on Free-text-bearing Attribute Values, also known as the War on Free-text-bearing Attributes or the War on Attributes for short. This war was an effort to disallow free text in the value of any attribute recommended by the ''Guidelines''. There were two main reasons for this.
 +
 
 +
First, XML does not have SDATA entities, and thus has no built-in mechanism for representing a character that is not available in Unicode. The obvious mechanism to represent a character outside of Unicode in XML is to use an element. In TEI, this is the <tt>&lt;g></tt> element. However, an element cannot be inside an attribute value. Thus any free text which ''might'' include a character outside of Unicode could not be properly expressed in an attribute value — it would have to be element content so it could include an element itself. (This was also the reason behind macro.xtext, which in general should be used instead of <tt>textNode</tt> in TEI content models.)
 +
 
 +
Secondly, it was observed, XML’s internal mechanism to specify language (<tt>@xml:lang</tt>) does not differentiate between an element’s attributes and its content. However, it is quite reasonable to believe (at least, in DH) that an encoding would need to specify the natural language of any free text. One way around this problem would have been to avoid <tt>@xml:lang</tt> and instead develop a TEI-specific system for specification of language that did not have this limitation. Another was to avoid allowing free text in an attribute value, such that all free text would be in element content, which element could bear an <tt>@xml:lang</tt>. TEI chose the latter.
  
 
=== What is the "Birnbaum doctrine"? ===
 
=== What is the "Birnbaum doctrine"? ===
  
As expressed in [http://www.tei-c.org/Activities/Council/Working/tcw09.xml TCW09: Backward Compatibility and the Maintenance of the Text Encoding Initiative Guidelines], we should avoid breaking backward compatibility and only do so after serious consideration. It does not mean that we cannot break backwards compatibility, just that we've agreed a set of steps to take when we do so.
+
As expressed in [http://www.tei-c.org/Activities/Council/Working/tcw09.xml TCW09: Backward Compatibility and the Maintenance of the Text Encoding Initiative Guidelines], we should avoid breaking backward compatibility and only do so after serious consideration. It does not mean that we cannot break backwards compatibility, just that we've agreed a set of steps to take when we do so. Our deprecation policy supersedes some of this.  
  
 
=== In what ways will Council break backwards compatibility? ===
 
=== In what ways will Council break backwards compatibility? ===
Line 97: Line 104:
  
 
The "Durand Conundrum" was suggested by David G. Durand concerning the TEI's decision to use the [[ODD | TEI ODD]] meta-schema language rather than just one of the existing schema languages.  Given that we decided to use our own language, why use RelaxNG as part of that language for describing content models?  Generally, the consensus is that [[ODD | TEI ODD]] gives us greater power and flexibility than any individual schema language can do in that we can model things that those schema languages are currently unable to cope with. TEI ODD gives the ability for a single document to produce both documentation and schema since these are inherently interlinked. It also keeps the TEI honest, in requiring it to use its own system to document schemas.  [[ODD | TEI ODD]] does currently have some problems, a few of which are detailed at [[ODD-dev]] and successive revisions of TEI ODD are intended to solve some of these. Increasingly [[ODD#Future_plans:_.22Pure_ODD.22|the work on Pure ODD elements for content models and datatypes]] has cut the gordian knot of this problem.
 
The "Durand Conundrum" was suggested by David G. Durand concerning the TEI's decision to use the [[ODD | TEI ODD]] meta-schema language rather than just one of the existing schema languages.  Given that we decided to use our own language, why use RelaxNG as part of that language for describing content models?  Generally, the consensus is that [[ODD | TEI ODD]] gives us greater power and flexibility than any individual schema language can do in that we can model things that those schema languages are currently unable to cope with. TEI ODD gives the ability for a single document to produce both documentation and schema since these are inherently interlinked. It also keeps the TEI honest, in requiring it to use its own system to document schemas.  [[ODD | TEI ODD]] does currently have some problems, a few of which are detailed at [[ODD-dev]] and successive revisions of TEI ODD are intended to solve some of these. Increasingly [[ODD#Future_plans:_.22Pure_ODD.22|the work on Pure ODD elements for content models and datatypes]] has cut the gordian knot of this problem.
 
=== What is a "magic token"? ===
 
 
This is an value, usually an attribute value, such as that of @key or @rend, which does not follow a standard outside vocabulary but instead is understood in some undocumented way and often used for local processing.  It should usually be explained in the teiHeader if possible. Having any processing rely on undocumented magic tokens is generally considered a bad idea. See also [http://en.wikipedia.org/wiki/Magic_cookie Magic Cookie].
 
  
 
=== What does "no magic" mean? ===
 
=== What does "no magic" mean? ===
  
 
'Magic' in the sense sometimes used in Council discussion refers to pre-existing or special knowledge required to process something.  For example, it was only by 'magic' that a TEI ODD processor would know to add attributes from the att.global attribute class to elements until this was changed to make all element specifications have to explicitly claim membership in this class if they wanted the global attributes.  Knowing to add them was 'magic', and in general it is better if any requirements or understood knowledge is explicitly documented. While some 'magic' of understood conventions or processing will always remain in complex technical systems, the Council strives to at very least enable the possibility of documenting the underlying rules when it discovers them.  James Cummings has been a fervent proponent of the removal of any understood 'magic' rules from the TEI.
 
'Magic' in the sense sometimes used in Council discussion refers to pre-existing or special knowledge required to process something.  For example, it was only by 'magic' that a TEI ODD processor would know to add attributes from the att.global attribute class to elements until this was changed to make all element specifications have to explicitly claim membership in this class if they wanted the global attributes.  Knowing to add them was 'magic', and in general it is better if any requirements or understood knowledge is explicitly documented. While some 'magic' of understood conventions or processing will always remain in complex technical systems, the Council strives to at very least enable the possibility of documenting the underlying rules when it discovers them.  James Cummings has been a fervent proponent of the removal of any understood 'magic' rules from the TEI.
 
 
  
 
=== What is a non-deterministic content model? ===
 
=== What is a non-deterministic content model? ===
  
If you have a content model for <tt><a></tt>:
+
If you have a content model for &lt;a>:
  
<code>
+
<pre>
 
  b*, c?, b*
 
  b*, c?, b*
</code>
+
</pre>
  
 
and you have a document with:
 
and you have a document with:
Line 124: Line 125:
 
</pre>
 
</pre>
  
then a parser can't tell whether the <tt><b/></tt> matches the first <tt>b*</tt> or the second <tt>b*</tt> in the content model. Thus, the content model itself is called “non-determinstic”. DTDs and W3C XML Schemas reject non-deterministic content models. Thus, if we were to create one in the TEI, validation with DTD and XSD would fail due to errors ''in the schema'', regardless of whether the instance document has an occurence that is non-deterministic or not.
+
then a parser can't tell whether the &lt;b/> matches the first b* or the second b* in the content model. Thus, the content model itself is called “non-deterministic”. DTDs and W3C XML Schemas reject non-deterministic content models. Thus, if we were to create one in the TEI, validation with DTD and XSD would fail due to errors ''in the schema'', regardless of whether the instance document has an occurence that is non-deterministic or not.
  
 
=== What are Janus elements? ===
 
=== What are Janus elements? ===
  
 
These are pairs of elements that are in a sense two sides of the same coin, such as orig and reg, corr and sic, abbr and expan.
 
These are pairs of elements that are in a sense two sides of the same coin, such as orig and reg, corr and sic, abbr and expan.
 
  
 
=== What does it mean to say that elements tessellate? ===
 
=== What does it mean to say that elements tessellate? ===
Line 143: Line 143:
 
Minutes are [http://www.tei-c.org/Activities/Council/Meetings/index.xml archived on the TEI website].  Interim states of minutes may at times live in this wiki, Google Docs, or elsewhere.
 
Minutes are [http://www.tei-c.org/Activities/Council/Meetings/index.xml archived on the TEI website].  Interim states of minutes may at times live in this wiki, Google Docs, or elsewhere.
  
=== How are the teleconferences held? ===
+
=== How are the Council meetings held? ===
  
Currently the TEI Council uses the teleconferencing facilities provided by commercial provider since this has proved most cost effective with less problems than other VOIP-based solutions.  This has 800/free call numbers for most countries, and low-cost for some. This will be set up by the Council Chair in advance and details posted to the list.
+
The Council usually makes use of Google Meet/Hangouts for their meetings. The meeting link will be in the agenda and/or sent out on the Council list before the meeting.
 
 
The specific details of what number to dial and what access code is needed will be circulated on the council list shortly before the meeting.
 
  
 
=== What funding is available for Council Activities? And how do I get reimbursed? ===
 
=== What funding is available for Council Activities? And how do I get reimbursed? ===
  
The TEI funds the participation of the council members in the meetings. Though I don't know of anyone claiming back telephone conferencing costs, I suppose that is possible as well, in most cases the council members' institutions probably swallow that. 
+
The TEI funds the participation of the council members in the meetings.  
  
If the council has a meeting, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  The TEI reimburses all reasonable expenses in keeping with standard practice at most universities and granting agencies. We cover meals, travel, lodging, and other common daily travel expenses. Airfare should be economy class and direct return, unless otherwise arranged with the Treasurer prior to your trip. (See [http://www.tei-c.org/Board/procedures.xml#body.1_div.8 draft reimbursement policies and procedures].) If you have questions about reimbursement procedures, including what is reimbursable, please email John Unsworth, the TEI treasurer, at unsworth AT brandeis.edu.
+
If the council has a meeting, then the council members' travel, hotel, etc. will be reimbursed with proper receipts.  The TEI reimburses all reasonable expenses in keeping with standard practice at most universities and granting agencies. We cover meals, travel, lodging, and other common daily travel expenses. Airfare should be economy class and direct return, unless otherwise arranged with the Treasurer prior to your trip.  If you have questions about reimbursement procedures, including what is reimbursable, please email Hugh Cayless, the TEI treasurer, at philomousos AT gmail.com.
  
Use the TEI Travel expense form available here: http://www.tei-c.org/Admin/TEI_travel_form.pdf '''Expense forms should be submitted within 10 days of the end of the meeting.'''
+
Use the TEI Travel expense form available here: https://tei-c.org/tei_travel_form/  '''Expense forms should be submitted within 1 month of the end of the meeting.'''
 
 
Council members are not funded to attend the TEI Members' Meeting, however, there has been discussion concerning whether the council should also officially meet here as well.
 
  
 
== How we get work done ==
 
== How we get work done ==
  
=== How can I get straight to certain tickets in SourceForge? ===
+
=== I have something to say about a GitHub Feature Request or Bug: Should I comment on the issue or the TEI Council mailing list? ===
  
SourceForge divides all tickets into "bugs" and "feature requests".  You must browse them separately.  You can browse all in a given category from the links at http://tei.sourceforge.net/ .
+
There is no hard-and-fast policy on this. The mailing list is a better place for ongoing discussions where people are arguing back and forth during decision making. The GitHub tracker is the appropriate place to record opinions, positions, and decisions for posterity, especially if such would help a) whoever is implementing the decisions recorded in the ticket, b) anyone revisiting this decision later to retrace the thinking.  The [http://lists.tei-c.org/pipermail/tei-council/ TEI Council mailing list archives] are public, so if substantial discussion has taken place there (or indeed on TEI-L), this can also be linked to from the ticket.
 
 
Before we upgraded to the new Allura system on SourceForge for our tickets, tickets had old, ugly URLs.  To get around using these, we set up short URLs maintained by James Cummings and others, which which you could append the attribute ID to the end of the appropriate one of the two URLs where it says 'NUMBER' in order to reach the right ticket:
 
 
 
<nowiki>
 
http://purl.org/TEI/bug/NUMBER
 
http://purl.org/TEI/FR/NUMBER
 
</nowiki>
 
 
 
The new URLs are much more human readable and so those should now be used in preference. Some legacy documents may still use the old PURL URLs.  Furthermore, if a legacy document references a ticket number from the old system, you can use one of these PURLs in order to be redirected to the new URL.
 
 
 
=== I have something to say about a SourceForge Feature Request or Bug: Should I comment on the ticket or the TEI Council mailing list? ===
 
 
 
There is no hard-and-fast policy on this. The mailing list is a better place for ongoing discussions where people are arguing back and forth during decision making. The SourceForge tracker is the appropriate place to record opinions, positions, and decisions for posterity, especially if such would help a) whoever is implementing the decisions recorded in the ticket, b) anyone revisiting this decision later to retrace the thinking.  The [http://lists.tei-c.org/pipermail/tei-council/ TEI Council mailing list archives] are public, so if substantial discussion has taken place there (or indeed on TEI-L), this can also be linked to from the ticket.
 
  
 
=== When is discussion on an element or topic "closed" and how do I know? ===
 
=== When is discussion on an element or topic "closed" and how do I know? ===
  
Any topic can be revisited at any point, even in the published guidelines, through posting a feature request on sourceforge.  Council-specific issues should be raised on the council mailing list, after having reviewed any previous discussion on the topic in the [http://lists.tei-c.org/pipermail/tei-council/ tei-council mailing list archives].
+
Any topic can be revisited at any point, even in the published guidelines, through posting a feature request on GitHub.  Council-specific issues should be raised on the council mailing list, after having reviewed any previous discussion on the topic in the [http://lists.tei-c.org/pipermail/tei-council/ tei-council mailing list archives].
  
 
=== How can I find out about every time a ticket is created or commented on? ===
 
=== How can I find out about every time a ticket is created or commented on? ===
  
Two options:
+
Each repository has a "watch" control, which is to be found on the top right or the repo's GitHub page, below the navigation bar. This control lets you manage notifications in various ways.
 +
 
 +
=== How are tickets assigned in GitHub? ===
 +
All members of Council are made part of the Council Team on the GitHub TEIC Organisation and meant to take an active role in the development and maintenance of the TEI Guidelines. This means that they have write access to the TEI Guidelines Github Repository, and tickets can be assigned to them in the ticket trackers. They can also update and modify tickets.  This means that Council members are free to 'take' tickets which they wish to oversee. Other Council members can also 'give' tickets to each other if they think someone particularly suited to overseeing a particular ticket. (However, usually they should have the Council member's permission to do so.) On a regular basis the Council Chair will assign tickets to Council members, if a ticket gets assigned to them that they don't want to do they should tell the Chair and/or ask other Council members to swap.
  
* By RSS: Subscribe to an [http://sourceforge.net/export/rss2_keepsake.php?group_id=106328 RSS feed that includes new tickets and comments on existing ones]
+
=== What do the issue labels mean? ===
* By email:
 
*#Create a SourceForge user, or log in to an existing account.
 
*# Make sure you have joined the TEI project.
 
*# Click the "monitor" button at https://sourceforge.net/tracker/?group_id=106328&source=navbar to receive an email for each change <em>(but what exactly does this include?)</em>
 
  
=== How are tickets assigned in SourceForge? ===
+
* '<span style="color:red; font-weight:bold;">Status: Blocked</span>' means that the issue cannot be progressed because it requires either that another issue be completed first or that more information is needed from the reporter or a third party.
All members of Council are made 'developers' on the SourceForge TEI Project and meant to take an active role in the development and maintenance of the TEI Guidelines. This means that they have write access to the TEI Guidelines Subversion Repository, and tickets can be assigned to them in the ticket trackers. They can also update and modify tickets.  This means that Council members are free to 'take' tickets which they wish to oversee. Other Council members can also 'give' tickets to each other if they think someone particularly suited to overseeing a particular ticket. (However, usually they should have the Council member's permission to do so.) On a regular basis the Council Chair will assign tickets to Council members, if a ticket gets assigned to them that they don't want to do they should tell the Chair and/or ask other Council members to swap.
 
  
=== What does Red, Amber, and Green mean in classifying a ticket? ===
+
* '<span style="color:orange; font-weight:bold;">Status: Needs Discussion</span>' means that the issue has not been talked about enough yet to resolve it. New issues nearly always go into this status first. When Council has face-to-face meetings, these are usually the issues we target first.
  
* '<span style="color:red; font-weight:bold;">Red</span>' means that the ticket has not been discussed sufficiently and that the answer to it is not necessarily clear. There needs to be more discussion, more examples, use cases, and possibly a clearer proposal about what specifically needs to be done. Or possibly, the ticket does have these things but Council has not yet discussed it or enough Council members seen it for it to warrant an 'Amber' status.
+
* '<span style="color: #5319E7; font-weight:bold;">Status: Pending</span>' means that the issue is pending some work. Often this means that some work is to be done (typically in a branch named after the issue) and then discussed by Council..
  
* '<span style="color:orange; font-weight:bold;">Amber</span>' means that the ticket has been discussed and/or there may be some general consensus on what the correct thing to do is, but necessary components are missing. It may be some examples, use-cases, or prose are missing. Or there is a question of which of several possible solutions is the correct one.
+
* '<span style="color:green; font-weight:bold;">Status: Go</span>' means that the ticket has been discussed, there is general consensus on what the correct thing to do is, and it has been assigned for someone to ensure its implementation.
  
* '<span style="color:green; font-weight:bold;">Green</span>' means that the ticket has been discussed, there is general consensus on what the correct thing to do is, and it has been assigned for someone to ensure its implementation.
+
* Other labels should be self-explanatory, and are sometimes created as needed to group tickets for various purposes.
  
 
=== How does a TEI release happen? ===
 
=== How does a TEI release happen? ===
Line 207: Line 188:
 
The process of making a release is documented at http://www.tei-c.org/Activities/Council/Working/tcw22.xml
 
The process of making a release is documented at http://www.tei-c.org/Activities/Council/Working/tcw22.xml
  
== Working in SourceForge ==
+
== Working in GitHub ==
  
 
=== How do I edit the TEI Guidelines? ===
 
=== How do I edit the TEI Guidelines? ===
  
Editing the TEI Guidelines is a complex process and the Council has produced a document http://www.tei-c.org/Activities/Council/Working/tcw20.xml covering the logical and physical layout of the Guidelines, stylistic notes, how to make a change to the Guidelines (it requires [[TEI-Council-FAQ#How_do_I_use_Subversion.3F|using subversion]], building a release, and a reference section of useful information.  If any information you need isn't in this document, ask on the Council list and get someone to update it!
+
Editing the TEI Guidelines is a complex process and the Council has produced a document http://www.tei-c.org/Activities/Council/Working/tcw20.xml covering the logical and physical layout of the Guidelines, stylistic notes, how to make a change to the Guidelines (it requires [[TEI-Council-FAQ#How_do_I_use_GitHub.3F|using subversion]], building a release, and a reference section of useful information).  If any information you need isn't in this document, ask on the Council list and get someone to update it!
 
 
=== How can I find out about every time a change is made in the TEI subversion repository? ===
 
 
 
# Go to https://lists.sourceforge.net/lists/listinfo/tei-notify .
 
# Subscribe under your SourceForge email address (which you can find at http://sourceforge.net/project/memberlist.php?group_id=106328 ).
 
 
 
=== How do I use Subversion? ===
 
  
The TEI stores its working files in the TEI Sourceforge Subversion Repositories, with read access to anyone who wishes.  See the [http://www.tei-c.org/Guidelines/P5/get.xml instructions]. Write access is reserved for those who are developers on the SourceForge project.  To request developer status, contact one of the project admins, whose usernames are given in bold on [http://sourceforge.net/project/memberlist.php?group_id=106328 the SourceForge list of users].
+
=== How can I find out about every time a change is made in the TEI GitHub repository? ===
 +
# Go to https://github.com/TEIC/  
 +
# Make sure you are logged in and
 +
# go into each repository you are interested in and 'watch' them.
  
Note that you will have to enter your password each time you access Subversion. A way around this (which causes a security risk) is to create a public/private key pair based on no passphrase and upload your public key to SFThere is a [http://www.linuxproblem.org/art_9.html description of how this process works in general], and [https://sourceforge.net/p/forge/documentation/SSH%20Keys/ some hard-to-follow instructions specific to SourceForge].
+
=== How do I use GitHub? ===
 +
The TEI stores its working files in repositories in the [https://github.com/TEIC TEIC GitHub Organization]See the [http://www.tei-c.org/guidelines/p5/using-the-tei-github-repository/ instructions]. Write access is reserved for those who are on the TEI Council or TEI Contributors teams.  Any Council member should be able to add you to the Council team.
  
=== What should I put in a Subversion commit message? ===
+
=== What should I put in a GitHub commit message? ===
  
It is beneficial to all those looking at the TEI Subversion repository if commit messages are clear and detailed. This is especially true when trying to revert changes made by yourself or others to solve problems.  A good commit message will include:
+
It is beneficial to all those looking at the TEI GitHub repository if commit messages are clear and detailed. This is especially true when trying to revert changes made by yourself or others to solve problems.  A good commit message will include:
 +
* a subject line less than 72 characters long (which may be the whole message if no more is needed)
 
* an explanation to a useful level of detail about what you did
 
* an explanation to a useful level of detail about what you did
 
* a mention of why this is being done
 
* a mention of why this is being done
* the SourceForge ticket numbers (or shortened urls) that relate to the change if applicable
+
* the GitHub issue numbers (or urls) that relate to the change if applicable
 
* an explanation of whether this change is completing the work described or one step towards doing so.
 
* an explanation of whether this change is completing the work described or one step towards doing so.
  
Line 235: Line 214:
  
 
=== I want to add a document to add meeting minutes, reports, or working papers to the TEI-C website.  How do I do that? ===
 
=== I want to add a document to add meeting minutes, reports, or working papers to the TEI-C website.  How do I do that? ===
 
The TEI webmaster(s) -- currently David Sewell, with assistance from Kevin Hawkins -- have access to the CMS behind the TEI website.  The site uses a stylesheet to render TEI Lite documents in XHTML, though the CMS can also deliver non-TEI documents.  However, for long-term preservation and consistency, use of TEI Lite is encouraged.
 
 
You can author a document from scratch or take an existing document as a starting point.  To get the XML source of an existing document, simply click "XML View" in the footer of a page on the TEI-C website and choose "save as" in your browser.
 
  
 
The TEI has a longstanding naming convention for files that consists of:
 
The TEI has a longstanding naming convention for files that consists of:
Line 246: Line 221:
 
# a two-digit number for the document with a committee series, numbered sequentially (e.g., "tcw01" is the first working paper from the Technical Council, "tcm05" is the fifth minutes from the Technical Council, etc.)
 
# a two-digit number for the document with a committee series, numbered sequentially (e.g., "tcw01" is the first working paper from the Technical Council, "tcm05" is the fifth minutes from the Technical Council, etc.)
  
There is no registry of documents, so when creating a new one, you simply name the file appropriately.
+
These documents currently reside in the [https://github.com/TEIC/Documentation Documentation] repo on GitHub.
 
 
Send the file to a webmaster for putting online.  If you are hesitant to have the page go live until you have previewed it, you can ask the webmaster to send you a derived HTML version using the stylesheets without publishing that document.
 
  
 
=== How do I get access to the Google Analytics Data for www.tei-c.org? ===
 
=== How do I get access to the Google Analytics Data for www.tei-c.org? ===
Line 258: Line 231:
 
=== Why do some elements have @type and others do not? ===
 
=== Why do some elements have @type and others do not? ===
  
The TEI has avoided adding @type to elements because its availability is thought to invite tag abuse. One principle used by the Technical Council is that if an element is repeatable and is something for which there can be different classifications, it should have @type.
+
The TEI has avoided adding @type globally to elements because its availability is thought to invite tag or attribute abuse. In order for a request to add @type to an element to be considered for prolonged discussion and argument the TEI Technical Council has a standing principle that an element should be both  repeatable and have obvious different classifications that apply to it. If such a request is approved then the preferred method is to make the element a member of the att.typed class (because if you can have @type, you can also have sub-types and thus need @subtype). If a closed or suggested value list, or different description is needed, this should then be provided as a local modification to the attributes inherited from att.typed.
  
 
== I have a question! ==
 
== I have a question! ==

Latest revision as of 19:49, 18 October 2024

So you have some questions about how the TEI Technical Council works? This page has been set up to answer questions that new council members (or other curious parties) may have.

Contents

Overview

How does the Council do its work?

By every means possible. These include monthly remote meetings, email, widely circulated discussion documents, and public debate in other contexts such as TEI-L and GitHub issues. The Council meets face to face twice a year (usually one of those meetings concurrent with the TEI Annual Meeting), and many more times than that virtually. Sub-groups of Council will often form around particularly large or complex issues and may meet separately to deal with them.

And what work does it do?

You should probably review the recent official work of the Council by reading the last few sets of minutes: http://www.tei-c.org/Council/ has an index page which links to them all (when we remember to update it). The minutes record topics discussed and responsibilities allocated at the Council level. Of course many Council members are also active in subgroups (formal or informal) of the Council or SIGs, which may be documented elsewhere as well.

Generally, things in Council work like this:

  1. A bug report or feature request is reported by anyone at GitHub for the Guidelines or Stylesheets.
  2. Sometimes others notice the ticket and comment on it.
  3. Sometimes a Council member may make an executive decision on the ticket. If it's a corrigible error or bug, we can just fix it in the appropriate ODD file(s) (also in GitHub). If it is not a real issue, sometimes the ticket will just be closed. If you do not have developer access on GitHub you'll ask to be added to the Council team there. Otherwise, it's discussed either by email on the Council mailing list or at a Council meeting (conference call or in-person meeting). Comments are recorded in the ticket reflecting the decision reached, and changes are made in GitHub by a member of the Council sometime thereafter.
  4. The change shows up on tei-c.org after the next TEI "release", which happens about two or three times a year.

However, Council does sometimes consider lengthy proposals circulated to Council outside of GitHub and vote on them as packages, with the changes grouped together in a sensible way so they can be considered in smaller packages, or with the changes listed individually.

And what is its scope?

The Council's primary responsibility is to act as technical watchdog for the intellectual content of the TEI Guidelines. That is to say: it has the final say in just about every aspect of the TEI encoding scheme -- what elements exist in it, what they are called, how they should be used.

How do I join the TEI Council mailing list?

We have had the practice on the Council so far that elected members get added immediately to the list (and to the telecon, if there is one), with every right to participate, while outgoing members stay on until the end of their term. To join or discuss any problems using the list contact the TEI Council mailing list owner, currently this is Luis Meneses (Victoria). There is also a joint Board/Council mailing list to which you should be added as well.

Why are some people on the Council email list or attending Council meetings even though they are not on the list of elected members?

In addition to the members of the Council, the chair of the TEI Technical Council may invite others not elected to the Council to meetings (e.g. to speak to a particular issue). Historically the Council often invited a representative of the Board to the Council mailing list and meetings. The TEI-C Webmaster (currently Luis Meneses) are also on the mailing lists.

What are the various job roles on the TEI Council?

TEI Technical Council Member

A TEI Technical Council Member is expected to participate in all aspects of Council work. This means that they should learn how the TEI infrastructure is organised and how to edit the TEI Guidelines, asking on the Council list any questions they might have. They will be expected to come to face-to-face ("f2f") meetings (often two per year) and participate in a couple other teleconferences per year. They will be assigned (or take) feature requests/bugs on the TEI Consortium's GitHub site, for which they will be in charge of encouraging discussion, reporting on the issue to Council, and eventually implementing (or ensuring implementation) of the resulting decision. A TEI Technical Council Member is expected to participate in the maintenance and development of the TEI Guidelines and related outputs. Some elected TEI Council members focus more on particular aspects of the infrastructure or stylesheets as part of the contribution to the Council. Council members should always act to represent what they believe are the opinions and best interest of the community that has elected them.

TEI Technical Council Chair

The TEI Technical Council Chair's role is to administrate and facilitate the work of the TEI Technical Council. If all of the Council are the elected servants of the community, then the Council Chair is the servant of the servants of the TEI (Servus servorum TEI). The duties of the Technical Council Chair include (in no particular order):

  • ensuring the delivery and maintenance of the Guidelines
  • arranging for Council members to actively participate in Council activities
  • arranging and chairing the face-to-face meetings (in conjunction with the local organiser)
  • arranging and chairing the teleconferences
  • creating agendas for those meetings, and ensuring minutes are written and posted of them
  • assigning tickets in the TEIC Github organization
  • acting as SIG coordinator
  • liaising for and reporting on Council activities at all Board meetings
  • reflecting Council wishes in Board discussions
  • acting as a public point of contact and responding to technical enquiries (messages to council@tei-c.org are forwarded to the Council Chair)
  • announcing new releases of the Guidelines on the TEI-L mailing list
  • ensuring the smooth running of the TEI Technical Council

The TEI Technical Council Chair is also a member of the Council, so has all the duties and obligations of being a council member as well.

Release Technician

The TEI Guidelines release process (see tcw22: Building a TEI Release) involves a single individual responsible for 'pushing the button' and completing the steps required to make a TEI Guidelines release live. This is not a standing position; instead, the responsibility rotates for every release in order to demystify the release process and spread the expertise beyond Oxford staff. Although we have documented the work in quite a detailed manner, it is a non-trivial process and involves a fair degree of work. A release technician is usually required to set aside a whole day for the release process since history teaches us that often the entire process needs to be re-run to correct last-minute errors.

TEI-C Webmaster and Assistant Webmaster

The TEI-C Webmaster and Assistant Webmaster are not officially part of the Council but may be added to the mailing lists at the discretion of the Council Chair. They are responsible for the smooth running of the TEI-C Website.

How is the TEI Technical Council Chair elected?

The Bylaws of the TEI-C say that:

The Chair of the Technical Council shall be elected by the voting Members of the TEI-C Technical Council from its membership and shall serve as the chief technical officer of the Consortium. If no Technical Council Member is able or willing to assume the chair, the Technical Council may request the Board of Directors to second one of its elected members to the role, or it may nominate a non-elected individual.

This leaves it intentionally vague as to the precise process the TEI Technical Council will follow. For now there is vague consensus that they will do something like the following. Note that timeframes below are not intended to be rigid or precise, but rather to be suggestive.

  1. The new Technical Council Members will be added to the tei-council (and tei-board-council) mailing lists shortly after the members' meeting. Up until around the last last Friday in November those who are Council members for next year will consider whether they want to run to be Chair of the TEI Technical Council. The current Chair will facilitate this process by answering any questions about the post. Before that date those intending to stand should send a statement of some sort to the Council mailing list detailing why they think the council members should vote for them.
  2. On or around the first weekday of December if only one person is running then the Chair will announce this to the tei-council mailing list as an acclamation (and after a short period for objections, to the Board and TEI-L). If multiple people are running, then the Council Chair will appoint a "returning officer" who is not a member of the incoming Council (i.e., not a voter and thus at least a somewhat disinterested party). The returning officer will set up an electronic voting system with the names of the candidates. This should be a private election with no one able to determine who has voted for whom. E.g. if using opavote.org this should have the following settings:
    1. Results only shown at end
    2. Method: "Plurality/FPTP/SNTV" for 2 candidates, "Instant Runoff Voting" for 3 or more
    3. a single winner
    4. Ballot type: "choose one" for 2 candidates, "ranked enhanced" for 3 or more
    5. candidate order shuffled
  3. The returning officer should ensure the election runs for at least 4 days, preferably in early December, after announcing it on the tei-council mailing list (and distributing ballots depending on the system).
  4. The results will be announced publicly on the tei-council mailing list, and Council members given a brief chance to raise any objections with the election before the current Chair informs the Board and announces it more publicly on TEI-L.
  5. The new Chair assumes the role on 1 January. The current chair steps down on 31 December. The outgoing and incoming chairs should co-ordinate activities between the election and 1 January so as to ensure a smooth transition. (Remembering that the current Chair might be departing off council at the end of that year.) These dates and timescales can of course shift and are not meant to be set in stone.

Terminology

What is a "corrigible error"?

This is a term that comes up in Council discussions and refers to an error or inconsistency in the Guidelines that can be fixed without requiring a deprecation period.

What was the War on Free-text-bearing Attribute Values?

The move from SGML to XML included (some would say necessitated) The War on Free-text-bearing Attribute Values, also known as the War on Free-text-bearing Attributes or the War on Attributes for short. This war was an effort to disallow free text in the value of any attribute recommended by the Guidelines. There were two main reasons for this.

First, XML does not have SDATA entities, and thus has no built-in mechanism for representing a character that is not available in Unicode. The obvious mechanism to represent a character outside of Unicode in XML is to use an element. In TEI, this is the <g> element. However, an element cannot be inside an attribute value. Thus any free text which might include a character outside of Unicode could not be properly expressed in an attribute value — it would have to be element content so it could include an element itself. (This was also the reason behind macro.xtext, which in general should be used instead of textNode in TEI content models.)

Secondly, it was observed, XML’s internal mechanism to specify language (@xml:lang) does not differentiate between an element’s attributes and its content. However, it is quite reasonable to believe (at least, in DH) that an encoding would need to specify the natural language of any free text. One way around this problem would have been to avoid @xml:lang and instead develop a TEI-specific system for specification of language that did not have this limitation. Another was to avoid allowing free text in an attribute value, such that all free text would be in element content, which element could bear an @xml:lang. TEI chose the latter.

What is the "Birnbaum doctrine"?

As expressed in TCW09: Backward Compatibility and the Maintenance of the Text Encoding Initiative Guidelines, we should avoid breaking backward compatibility and only do so after serious consideration. It does not mean that we cannot break backwards compatibility, just that we've agreed a set of steps to take when we do so. Our deprecation policy supersedes some of this.

In what ways will Council break backwards compatibility?

For an egregious error, we might actually change a content model immediately. More often, we will survey the community on TEI-L before doing so, and we might deprecate.

What is the "Durand Conundrum"?

The "Durand Conundrum" was suggested by David G. Durand concerning the TEI's decision to use the TEI ODD meta-schema language rather than just one of the existing schema languages. Given that we decided to use our own language, why use RelaxNG as part of that language for describing content models? Generally, the consensus is that TEI ODD gives us greater power and flexibility than any individual schema language can do in that we can model things that those schema languages are currently unable to cope with. TEI ODD gives the ability for a single document to produce both documentation and schema since these are inherently interlinked. It also keeps the TEI honest, in requiring it to use its own system to document schemas. TEI ODD does currently have some problems, a few of which are detailed at ODD-dev and successive revisions of TEI ODD are intended to solve some of these. Increasingly the work on Pure ODD elements for content models and datatypes has cut the gordian knot of this problem.

What does "no magic" mean?

'Magic' in the sense sometimes used in Council discussion refers to pre-existing or special knowledge required to process something. For example, it was only by 'magic' that a TEI ODD processor would know to add attributes from the att.global attribute class to elements until this was changed to make all element specifications have to explicitly claim membership in this class if they wanted the global attributes. Knowing to add them was 'magic', and in general it is better if any requirements or understood knowledge is explicitly documented. While some 'magic' of understood conventions or processing will always remain in complex technical systems, the Council strives to at very least enable the possibility of documenting the underlying rules when it discovers them. James Cummings has been a fervent proponent of the removal of any understood 'magic' rules from the TEI.

What is a non-deterministic content model?

If you have a content model for <a>:

 b*, c?, b*

and you have a document with:

<a>
  <b/>
</a>

then a parser can't tell whether the <b/> matches the first b* or the second b* in the content model. Thus, the content model itself is called “non-deterministic”. DTDs and W3C XML Schemas reject non-deterministic content models. Thus, if we were to create one in the TEI, validation with DTD and XSD would fail due to errors in the schema, regardless of whether the instance document has an occurence that is non-deterministic or not.

What are Janus elements?

These are pairs of elements that are in a sense two sides of the same coin, such as orig and reg, corr and sic, abbr and expan.

What does it mean to say that elements tessellate?

This means that all textual content is included in exactly one instance of an element. For example, once you start using divs (numbered or unnumbered), all text thereafter must be inside of one of the divs: you can't start using p elements that are not wrapped in a div.

In the Guidelines this is sometimes referred to as end-to-end segmentation.

Meetings

Where are the minutes of previous meetings?

Minutes are archived on the TEI website. Interim states of minutes may at times live in this wiki, Google Docs, or elsewhere.

How are the Council meetings held?

The Council usually makes use of Google Meet/Hangouts for their meetings. The meeting link will be in the agenda and/or sent out on the Council list before the meeting.

What funding is available for Council Activities? And how do I get reimbursed?

The TEI funds the participation of the council members in the meetings.

If the council has a meeting, then the council members' travel, hotel, etc. will be reimbursed with proper receipts. The TEI reimburses all reasonable expenses in keeping with standard practice at most universities and granting agencies. We cover meals, travel, lodging, and other common daily travel expenses. Airfare should be economy class and direct return, unless otherwise arranged with the Treasurer prior to your trip. If you have questions about reimbursement procedures, including what is reimbursable, please email Hugh Cayless, the TEI treasurer, at philomousos AT gmail.com.

Use the TEI Travel expense form available here: https://tei-c.org/tei_travel_form/ Expense forms should be submitted within 1 month of the end of the meeting.

How we get work done

I have something to say about a GitHub Feature Request or Bug: Should I comment on the issue or the TEI Council mailing list?

There is no hard-and-fast policy on this. The mailing list is a better place for ongoing discussions where people are arguing back and forth during decision making. The GitHub tracker is the appropriate place to record opinions, positions, and decisions for posterity, especially if such would help a) whoever is implementing the decisions recorded in the ticket, b) anyone revisiting this decision later to retrace the thinking. The TEI Council mailing list archives are public, so if substantial discussion has taken place there (or indeed on TEI-L), this can also be linked to from the ticket.

When is discussion on an element or topic "closed" and how do I know?

Any topic can be revisited at any point, even in the published guidelines, through posting a feature request on GitHub. Council-specific issues should be raised on the council mailing list, after having reviewed any previous discussion on the topic in the tei-council mailing list archives.

How can I find out about every time a ticket is created or commented on?

Each repository has a "watch" control, which is to be found on the top right or the repo's GitHub page, below the navigation bar. This control lets you manage notifications in various ways.

How are tickets assigned in GitHub?

All members of Council are made part of the Council Team on the GitHub TEIC Organisation and meant to take an active role in the development and maintenance of the TEI Guidelines. This means that they have write access to the TEI Guidelines Github Repository, and tickets can be assigned to them in the ticket trackers. They can also update and modify tickets. This means that Council members are free to 'take' tickets which they wish to oversee. Other Council members can also 'give' tickets to each other if they think someone particularly suited to overseeing a particular ticket. (However, usually they should have the Council member's permission to do so.) On a regular basis the Council Chair will assign tickets to Council members, if a ticket gets assigned to them that they don't want to do they should tell the Chair and/or ask other Council members to swap.

What do the issue labels mean?

  • 'Status: Blocked' means that the issue cannot be progressed because it requires either that another issue be completed first or that more information is needed from the reporter or a third party.
  • 'Status: Needs Discussion' means that the issue has not been talked about enough yet to resolve it. New issues nearly always go into this status first. When Council has face-to-face meetings, these are usually the issues we target first.
  • 'Status: Pending' means that the issue is pending some work. Often this means that some work is to be done (typically in a branch named after the issue) and then discussed by Council..
  • 'Status: Go' means that the ticket has been discussed, there is general consensus on what the correct thing to do is, and it has been assigned for someone to ensure its implementation.
  • Other labels should be self-explanatory, and are sometimes created as needed to group tickets for various purposes.

How does a TEI release happen?

The process of making a release is documented at http://www.tei-c.org/Activities/Council/Working/tcw22.xml

Working in GitHub

How do I edit the TEI Guidelines?

Editing the TEI Guidelines is a complex process and the Council has produced a document http://www.tei-c.org/Activities/Council/Working/tcw20.xml covering the logical and physical layout of the Guidelines, stylistic notes, how to make a change to the Guidelines (it requires using subversion, building a release, and a reference section of useful information). If any information you need isn't in this document, ask on the Council list and get someone to update it!

How can I find out about every time a change is made in the TEI GitHub repository?

  1. Go to https://github.com/TEIC/
  2. Make sure you are logged in and
  3. go into each repository you are interested in and 'watch' them.

How do I use GitHub?

The TEI stores its working files in repositories in the TEIC GitHub Organization. See the instructions. Write access is reserved for those who are on the TEI Council or TEI Contributors teams. Any Council member should be able to add you to the Council team.

What should I put in a GitHub commit message?

It is beneficial to all those looking at the TEI GitHub repository if commit messages are clear and detailed. This is especially true when trying to revert changes made by yourself or others to solve problems. A good commit message will include:

  • a subject line less than 72 characters long (which may be the whole message if no more is needed)
  • an explanation to a useful level of detail about what you did
  • a mention of why this is being done
  • the GitHub issue numbers (or urls) that relate to the change if applicable
  • an explanation of whether this change is completing the work described or one step towards doing so.

TEI website

I want to add a document to add meeting minutes, reports, or working papers to the TEI-C website. How do I do that?

The TEI has a longstanding naming convention for files that consists of:

  1. a short alphabetical abbreviation for a committee (such as "tc" for "Technical Council")
  2. a one-letter abbreviation for minutes ("m"), reports ("r"), or working papers ("w")
  3. a two-digit number for the document with a committee series, numbered sequentially (e.g., "tcw01" is the first working paper from the Technical Council, "tcm05" is the fifth minutes from the Technical Council, etc.)

These documents currently reside in the Documentation repo on GitHub.

How do I get access to the Google Analytics Data for www.tei-c.org?

Email the TEI-C webmaster: web@tei-c.org.

Miscellaneous

Why do some elements have @type and others do not?

The TEI has avoided adding @type globally to elements because its availability is thought to invite tag or attribute abuse. In order for a request to add @type to an element to be considered for prolonged discussion and argument the TEI Technical Council has a standing principle that an element should be both repeatable and have obvious different classifications that apply to it. If such a request is approved then the preferred method is to make the element a member of the att.typed class (because if you can have @type, you can also have sub-types and thus need @subtype). If a closed or suggested value list, or different description is needed, this should then be provided as a local modification to the attributes inherited from att.typed.

I have a question!

Then add it just above this one or email someone on the council or the council list reminding them of the existence of this wiki page when you ask your question.