diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/fonts/KaTeX_AMS-Regular.ttf b/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000..737cf8e Binary files /dev/null and b/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/fonts/KaTeX_AMS-Regular.woff b/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000..38378bf Binary files /dev/null and b/fonts/KaTeX_AMS-Regular.woff differ diff --git a/fonts/KaTeX_AMS-Regular.woff2 b/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000..a4d1ba6 Binary files /dev/null and b/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/fonts/KaTeX_Caligraphic-Bold.ttf b/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000..04d28ab Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/fonts/KaTeX_Caligraphic-Bold.woff b/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000..a01ce90 Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/fonts/KaTeX_Caligraphic-Bold.woff2 b/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000..3792727 Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/fonts/KaTeX_Caligraphic-Regular.ttf b/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000..b2ce555 Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/fonts/KaTeX_Caligraphic-Regular.woff b/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000..bc169b7 Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/fonts/KaTeX_Caligraphic-Regular.woff2 b/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000..f1e38bb Binary files /dev/null and b/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/fonts/KaTeX_Fraktur-Bold.ttf b/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000..c42d169 Binary files /dev/null and b/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/fonts/KaTeX_Fraktur-Bold.woff b/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000..f30b54b Binary files /dev/null and b/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/fonts/KaTeX_Fraktur-Bold.woff2 b/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000..b7a8359 Binary files /dev/null and b/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/fonts/KaTeX_Fraktur-Regular.ttf b/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000..4133228 Binary files /dev/null and b/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/fonts/KaTeX_Fraktur-Regular.woff b/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000..5af51de Binary files /dev/null and b/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/fonts/KaTeX_Fraktur-Regular.woff2 b/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000..3874f93 Binary files /dev/null and b/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/fonts/KaTeX_Main-Bold.ttf b/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000..14390e0 Binary files /dev/null and b/fonts/KaTeX_Main-Bold.ttf differ diff --git a/fonts/KaTeX_Main-Bold.woff b/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000..33b4199 Binary files /dev/null and b/fonts/KaTeX_Main-Bold.woff differ diff --git a/fonts/KaTeX_Main-Bold.woff2 b/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000..f9b71cb Binary files /dev/null and b/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/fonts/KaTeX_Main-BoldItalic.ttf b/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000..ad0761f Binary files /dev/null and b/fonts/KaTeX_Main-BoldItalic.ttf differ diff --git a/fonts/KaTeX_Main-BoldItalic.woff b/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000..115af4f Binary files /dev/null and b/fonts/KaTeX_Main-BoldItalic.woff differ diff --git a/fonts/KaTeX_Main-BoldItalic.woff2 b/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000..5c500c2 Binary files /dev/null and b/fonts/KaTeX_Main-BoldItalic.woff2 differ diff --git a/fonts/KaTeX_Main-Italic.ttf b/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000..fc8625c Binary files /dev/null and b/fonts/KaTeX_Main-Italic.ttf differ diff --git a/fonts/KaTeX_Main-Italic.woff b/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000..2d3087a Binary files /dev/null and b/fonts/KaTeX_Main-Italic.woff differ diff --git a/fonts/KaTeX_Main-Italic.woff2 b/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000..08510d8 Binary files /dev/null and b/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/fonts/KaTeX_Main-Regular.ttf b/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000..5115a04 Binary files /dev/null and b/fonts/KaTeX_Main-Regular.ttf differ diff --git a/fonts/KaTeX_Main-Regular.woff b/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000..42b74ab Binary files /dev/null and b/fonts/KaTeX_Main-Regular.woff differ diff --git a/fonts/KaTeX_Main-Regular.woff2 b/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000..18647fa Binary files /dev/null and b/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/fonts/KaTeX_Math-BoldItalic.ttf b/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000..326b523 Binary files /dev/null and b/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/fonts/KaTeX_Math-BoldItalic.woff b/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000..5b4041a Binary files /dev/null and b/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/fonts/KaTeX_Math-BoldItalic.woff2 b/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000..ba55276 Binary files /dev/null and b/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/fonts/KaTeX_Math-Italic.ttf b/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000..f148fce Binary files /dev/null and b/fonts/KaTeX_Math-Italic.ttf differ diff --git a/fonts/KaTeX_Math-Italic.woff b/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000..31d0038 Binary files /dev/null and b/fonts/KaTeX_Math-Italic.woff differ diff --git a/fonts/KaTeX_Math-Italic.woff2 b/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000..9871ab6 Binary files /dev/null and b/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/fonts/KaTeX_SansSerif-Bold.ttf b/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000..dce35c8 Binary files /dev/null and b/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/fonts/KaTeX_SansSerif-Bold.woff b/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000..992cb3d Binary files /dev/null and b/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/fonts/KaTeX_SansSerif-Bold.woff2 b/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000..6dd1038 Binary files /dev/null and b/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/fonts/KaTeX_SansSerif-Italic.ttf b/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000..a3eb86c Binary files /dev/null and b/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/fonts/KaTeX_SansSerif-Italic.woff b/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000..f4fa252 Binary files /dev/null and b/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/fonts/KaTeX_SansSerif-Italic.woff2 b/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000..9f2501a Binary files /dev/null and b/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/fonts/KaTeX_SansSerif-Regular.ttf b/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000..3be73ce Binary files /dev/null and b/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/fonts/KaTeX_SansSerif-Regular.woff b/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000..ec283f4 Binary files /dev/null and b/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/fonts/KaTeX_SansSerif-Regular.woff2 b/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000..e46094f Binary files /dev/null and b/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/fonts/KaTeX_Script-Regular.ttf b/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000..40c8a99 Binary files /dev/null and b/fonts/KaTeX_Script-Regular.ttf differ diff --git a/fonts/KaTeX_Script-Regular.woff b/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000..4eafae7 Binary files /dev/null and b/fonts/KaTeX_Script-Regular.woff differ diff --git a/fonts/KaTeX_Script-Regular.woff2 b/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000..69b1754 Binary files /dev/null and b/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/fonts/KaTeX_Size1-Regular.ttf b/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000..f0aff83 Binary files /dev/null and b/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/fonts/KaTeX_Size1-Regular.woff b/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000..0358ee4 Binary files /dev/null and b/fonts/KaTeX_Size1-Regular.woff differ diff --git a/fonts/KaTeX_Size1-Regular.woff2 b/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000..f951ed0 Binary files /dev/null and b/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/fonts/KaTeX_Size2-Regular.ttf b/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000..4f72f16 Binary files /dev/null and b/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/fonts/KaTeX_Size2-Regular.woff b/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000..8a053d2 Binary files /dev/null and b/fonts/KaTeX_Size2-Regular.woff differ diff --git a/fonts/KaTeX_Size2-Regular.woff2 b/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000..181d962 Binary files /dev/null and b/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/fonts/KaTeX_Size3-Regular.ttf b/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000..56d2dc6 Binary files /dev/null and b/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/fonts/KaTeX_Size3-Regular.woff b/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000..0ec99ad Binary files /dev/null and b/fonts/KaTeX_Size3-Regular.woff differ diff --git a/fonts/KaTeX_Size3-Regular.woff2 b/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000..c2985cd Binary files /dev/null and b/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/fonts/KaTeX_Size4-Regular.ttf b/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000..baf0209 Binary files /dev/null and b/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/fonts/KaTeX_Size4-Regular.woff b/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000..ff67319 Binary files /dev/null and b/fonts/KaTeX_Size4-Regular.woff differ diff --git a/fonts/KaTeX_Size4-Regular.woff2 b/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000..a4e810d Binary files /dev/null and b/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/fonts/KaTeX_Typewriter-Regular.ttf b/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000..e66c218 Binary files /dev/null and b/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/fonts/KaTeX_Typewriter-Regular.woff b/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000..c66d149 Binary files /dev/null and b/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/fonts/KaTeX_Typewriter-Regular.woff2 b/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000..e5bf2ce Binary files /dev/null and b/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..cc20d46 --- /dev/null +++ b/index.html @@ -0,0 +1,1100 @@ + + + + + + + + + ToIP Template Specification + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+

§ Terminology Governance Guide

+

Specification Status: v0.6 Draft

+

Latest Draft:

+

https://github.com/henkvancann/terminology-governance-guide

+

Editors:

+ +

Contributors:

+ +

Participate:

+

In the Guide:

+

| TBW |

+
+
Template improvements:
+
+

GitHub repo

+
+
+

Commit history

+
+
+
+

§ Status of This Memo

+

The document structure is based on a template specification for ToIP.

+

The home Github repository from which this Guide is currently generated is https://github.com/trustoverip/terminology-governance-guide.

+

This document is a guide for spec authors and a discription of how the tooling works. The normative section is aimed at developers of the specification template mentioned above.

+ +

This specification is subject to the OWF Contributor License Agreement 1.0 - Copyright +available at +https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright.

+

If source code is included in the specification, that code is subject to the +Apache 2.0 license unless otherwise marked. In the case of any conflict or +confusion within this specification between the OWF Contributor License +and the designated source code license, the terms of the OWF Contributor License shall apply.

+

These terms are inherited from the Concepts and Terminology Working Group at the Trust over IP Foundation. Working Group Home

+

§ Terms of Use

+

These materials are made available under and are subject to the OWF CLA 1.0 - Copyright & Patent license. Any source code is made available under the Apache 2.0 license.

+

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. +IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+

§ RFC 2119

+

The Internet Engineering Task Force (IETF) is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and to ensure maximal efficiency in operation. IETF has been operating since the advent of the Internet using a Request for Comments (RFC) to convey “current best practice” to those organizations seeking its guidance for conformance purposes.

+

The IETF uses RFC 2119 to define keywords for use in RFC documents; these keywords are used to signify applicability requirements. ToIP has adapted the IETF RFC 2119 for use in the Terminology Specification Guide, and therefore its applicable use in ToIP-compliant governance frameworks.

+

The RFC 2119 keyword definitions and interpretation have been adopted. Those users who follow these guidelines SHOULD incorporate the following phrase near the beginning of their document: +The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

+

RFC 2119 defines these keywords as follows:

+ +

Requirements include any combination of Machine-Testable Requirements and Human-Auditable Requirements. Unless otherwise stated, all Requirements MUST be expressed as defined in RFC 2119.

+ +

An implementation which does not include a particular option MUST be prepared to interoperate with other implementations which include the option, recognizing the potential for reduced functionality. As well, implementations which include a particular option MUST be prepared to interoperate with implementations which do not include the option and the subsequent lack of function the feature provides.

+

§ Foreword

+

This publicly available specification was approved by the ToIP Foundation Steering Committee on [dd month yyyy must match date in subtitle above]. The ToIP permalink for this document is:

+

[permalink for this deliverable: see instructions on this wiki page]

+

The mission of the Trust over IP (ToIP) Foundation is to define a complete architecture for Internet-scale digital trust that combines cryptographic assurance at the machine layer with human accountability at the business, legal, and social layers. Founded in May 2020 as a non-profit hosted by the Linux Foundation, the ToIP Foundation has over 400 organizational and 100 individual members from around the world.

+

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

+

This document was prepared by the ToIP Technical Stack Working Group.

+

Any feedback or questions on this document should be directed to https://github.com/trustoverip/specification/issues

+

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. +IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+

§ Executive Summary

+

Governance and technical solution of our concepts & terminology for groups/scopes within ToIP and ToIP as a whole.

+

§ Conclusion

+

| TBW |

+

§ Introduction

+

The Terminology Governance Guide is up-to-date guide of collected and assimilated expertise within Trust-over-IP with regard to Concepts and Terminology. It’s objective is to offer a comprehesive description of various data stores, tools and processes to manage terminology in a consistent and reproducable manner. The process intents to keep track of who did what in which role. +Authors of concepts & terminology use the Guide to produce internally and externally consistent specifications, they could look up how to reference term internally (refer to definitions within the own scope) and externally: refer to definitions externally, either within the own umbrella organisation (ToIP) other totally external (e.g. IETF). +Curators of concepts & terminology have an insight were in the process consistency of terminology is validated by hand or by tools that verify the structure, defs, refs, abbreviation and aliasses that authors might use.

+

There is a brief history to the Guide. In 2021 TrustoverIP published the Specification for Creating and Using Terms

+

In the years to follow the guide to create Term wikis has been established. It gives extensive instructions on how to create wikis, use markdown and hyperlinks, etc.

+

As the number of implementations grew, maintenance of the wikis became out of sync, the number of broken links increased, duplicate definitions of terms and deviations from the structure and governance offered.

+
+

Darrell O’donnell: As I am deep in a rabbit hole looking at definitions a thought occured to me. We may end up with “over-defined” terms - meaning the definition exists in multiple places. Have you considered that case? +I believe that a ToIP Master : ToIP Specification conflict should be avoided. If a spec needs a different term than is in the Master glossary, then the conflict should be resolved: +adjust Master Glossary; or +create new term in Spec +BUT where we end up looking at terms that are managed even further afield, this gets really hard. +Just curious if this is a condition you’ve thought of. +I see the following possibilities:

+
    +
  • multiple def: in single document (this is just sloppy work - but easy to do, for me at least)
  • +
  • duplicated def: - say in Spec and ToIP Master Glossary
  • +
+
+
NOTE

Check quickly out how we take on these concerns

+
+

Some of these developments are part of the natural evolution of concepts and terminologies within an umbrella organisation like ToIP. Others could be more streamlined.

+

This specification intends to offer a Guide. A Guide has little or no normative statements as it describes an advise on how to create a specific terminology by sticking to guidance and certain rules to know how to write or adopt definitions, how to reference them and where to store and manage them:

+ +

§ Historical perspective

+

§ Past Practise Terminology Governance

+

Past Practise Terminology Governance

+

§ Current Practise Terminology Governance

+

Current Practise Terminology Governance

+

§ Future Practise Terminology Governance

+

Future Practise Terminology Governance?

+

§ Scope

+

This Guide goes with the flow as much as it can. This means:

+ +

§ Roadmap

+

Let’s clear up the issues around TEv2 versus Spec-Up and KERISSE tooling. The goal is unification and we prevent reinventing tools that are already in place.

+

The issue of unification is open, and it might be solved. By whom is not yet clear. A sequence numbered roadmap to unification (presumming that that’s the goal) can be found below.

+
§ Temporary solution: pictures
+

past

+

future

+

§ How to write definitions in your terminology

+
    +
  1. Repeat the objectives or goals of a certain community
  2. +
  3. Discuss, communicate towards consensus about a certain concept or term
  4. +
  5. Define the scope or mental model together
  6. +
  7. Write criteria for which is inside or outside the reach of a certain term
  8. +
+

Needless to say, this process is important for mutual understanding.

+

§ How to write criteria

+
    +
  1. Criteria must make sense for all roles involved in the community
  2. +
+
+

For example a criterium like “A self-adressing identifier is automatically a self-sovereign identifier, but not the other way around.” might not resonate with a Reader.

+
+
    +
  1. Criteria should be deterministic, either to be in or out the definition
  2. +
+
+
+
abbrev
+
a shorthand in capitals for a term. It may contain special characters. It may not contain spaces.
+Criterium for not being an abbreviation: If the word is not in uppercase, in our context the word is more likely to be an alias for the term.
+
+
+
    +
  1. Formulate edge cases: What is just included a defnition, and what is just excluded from a definition?!
  2. +
+
+

E.g. X.509 could be an abbreviation, and ‘EU ID’ is not an abbreviation

+
+
NOTE

A lot of adding-criteria work needs to be done, before we discuss anything like reusing definitions in another mental model. It just makes no sense to refer / link to a non-deterministic definition of somebody else, for this inherently introduces confusion: we think we are talking about the same thing, but most probably we’re not!

+
+

Some good news is that enhancement in the written version of concepts and terminology can be achieved in parallel with other activities:

+ +

§ Towards automatic processing in github actions

+

Currently github wikis serve as the source management tool of the glossary terms in ToIP context. There are temporary exceptions.

+

Here are a few practical rules from the originator ToIP to get these wiki terms through their equivalent github actions script, please:

+
    +
  1. beware all new wiki items you create, lead to new .md files. We’d like to know
  2. +
  3. introduce lowercase names with spaces (they will convert into lower case names with dashes between the words)
  4. +
  5. start with ## Definition header; example
  6. +
  7. start with uppercase abbreviations with only the “## See” header; example
  8. +
  9. don’t delete items (i.e. .md files) but make clear they are depreciated and / or link to the new concept / term
  10. +
  11. don’t change or update the name of an item single handed, for it might change the concept / meaning for other people and create dead links for those who read - or link to the term. Please open an issue or a PR to discuss first.
  12. +
  13. any other immediate updates and amendments welcome, the revisions are available for us to be able to (partially) revert if something unwanted or unexpected happens.
  14. +
+

Have fun CRU-ing!
+'* CRU=Create Read Update

+

§ A glossary “reads” this wiki

+

Where as the wiki source management tool (or input tool) of terminology, there is no way to add metadata to the terminology.

+

Currently some ToIP groups use workarounds to add metadata and extra functionality to their wiki terminology, based on the combination of labelling content and extra metadata. +E.g. The WebofTrust-harboured engine KERISSE regularly scrapes the the WOT-terms wiki into KERISSE, we add features and metadata through a Google Sheet, we connect relevant matching terms from related glossaries and finally we index it for the KERI Suite Search Engine (KERISSE).

+

| TBW |

+

§ Roles

+

This section is informative.

+

A clear specification of roles in- and outside an average ToIP “group” might clear up the different viewpoints people have when looking at concepts and terminology.

+
    +
  1. minimalistic use cases for them
  2. +
  3. then the necessary consecutive steps to get there
  4. +
+

§ Role: ToIP glossary maintainer

+

Uses: Source management tool. Reads and compares concepts in text and terminology in glossaries, (for example generated by Spec-Up) to use within his/hers “own” over-arching ToIP glossary. He/she builds as muchn consensus around terms and concepts and promotes using the ToIP glossary as reference material.

+

§ Role: Specification author

+

Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR. He/she uses browser extensions to check technical consistency of the links in the text and harvest a personal collection of term definitions.

+

§ Role: Curator

+

Uses an IDE and git and browser extensions, to check logical consistency & meaning of term definition in a certain context and uses browser extensions to harvest a personal collection of term definitions, based on those recommended by the specification authors.

+

§ Role: Reader

+

Uses github.io website, reads concepts in text and terminology in glossaries, (for example generated by Spec-Up) with its own tailor-made contextual glossary that generates pop-ups here and there in the text offered.

+

§ Process and roles

+

Glossary workflow +By: Darrel O’Donnell, Jan 2024

+

§ Questions and usecases

+

| TBW |

+

How are the following roles supported (applies to either KERISSE or TEv2)?

+
    +
  1. Authors of technical documents that need to reference glossaries/glossary entries
  2. +
  3. Authors of glossary terms
  4. +
  5. Curators of glossaries (manage changes, toolsets, etc.)
  6. +
  7. Glossary Tech developers
  8. +
  9. Instructors and educators for organizations creating and using glossaries and glossary terms for ToIP-related documentation?
  10. +
+

What are the supported source document types for:

+
    +
  1. Documents that reference glossary terms and concepts
  2. +
  3. Authoring terms and related extended definitions, examples, and illustrations (in-depth explanations?)
  4. +
  5. Term/Concept metadata (gdocs? JSON?)
  6. +
+

§ Curation of Concepts vs. Terminology

+

Why do github action of a scope go off on ‘push’ and ‘by hand’ (and not on ‘gollum’; the latter is the wiki server)?

+

Because

+

An author +why will a changed Source of the Terminology not automatically (via github actions scripts) be promulgated to the production environment of the Scope and elsewhere if other Scopes use the MRG at hand?:

+

because a curator has to check the content and invoke the github action script by hand.

+

| TBW |

+

Guidance on diagrams (and managing their source) would be helpful.

+

For example, should diagrams always be rendered and controlled as png and preferably svg, too (for presentations, etc)?

+

Is it feasible to offer links in diagrams and if so, can we check and repair broken links easily?

+

| TBW |

+

§ Tools landscape

+

People like to understand the components and structure of ToIP’s concepts and terminology machinery and its governance.

+

§ git and github

+
§ Why?
+ +
§ How?
+

Every role that changes stuff (Create, Update or Delete) needs to be on github and sign off their work

+

This way:

+ +

§ Github landscape

+

Every group within ToIP that uses Spec-Up has a setup more or less like the following. Only WOT-terms uses a combination of wiki source management and publication in KERISSE (Still Docusaurus-based, looking into a Spec-Up variant as of Feb 2024).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Infrastructure Terminology Engine ToIP
PlatformGit branchSoftware
github.com repomain or ‘own choice’Spec-Up
VsCode
Node.js / NPM
github.io pagesgh-pagesuser.github.io/repo
github actions
kerific
github.com wikimastergithub.com/user/repo/wiki
github actions
+

§ Flow of Writing a Specification in Spec-Up

+
+flowchart TD + A[Write Spec] --> B[Need to explain term] + B -->|Can't find!|C[Define] + B -->|Pick|D[Reference] + C -->E{Scope?} + D -->|Grab link|K{Internal?} + K -->|Yes|A + K -->|No|F{Add context?} + E -->|Local|I[spec.md] + E -->|Central|H[wiki] + F -->|Local|G[spec.md] + G --> A + F --> |No|A + H --> |External|J[Reference] + I --> |Internal ref|J[Reference] + J --> A +
+

§ Glossary Flow: Ingest - Curation - Output

+

Glossary Flow: Ingest - Curation - Output

+

By: Darrell O’Donnell, Jan 2024

+

§ Combining central, external and internal references to definitions

+

| TBW : ToIP’s position on KERISSE (a superset of terms and concepts documentation) and TEv2? |

+

ToIP might need both, particularly to onramp organizations leveraging ToIP.

+

What are the components of the following glossary/term/concept toolsets

+ +

What features exist in both, and what is unique in each toolset? If there is overlap, how are they different (e.g., how does an author craft a link from a word in a source document to a term in a specified glossary), and how could they be combined?

+

What is the future of the KERISSE suite and TEv2?

+

| TBW |

+

§ Writing

+

In case of a specification it is important to ask yourself “Is what I write implementable?” Follow it step by step. Check all the MUSTs and SHOULDs in the normative section.

+

§ Readability

+ +

§ Review and cooperation

+

Keep stuff in place where it was/is during the review period. When the review period is over, you could

+ +

§ Style guide for ToIP terminology

+

A term that is intended to be generic SHOULD be lowercase in the glossary and in the specs and other documents that use that term. A term SHOULD only be uppercase if it is a proper noun. The only exception is an acronym. For example, the following terms are all generic nouns:

+ +

§ Transform spaces to dashes

+

| TBW : see guideline ToIP by Daniel Hardman for the wiki markdown-files|

+

§ Forms

+

Terminology can be defined in various forms: nouns, verbs, adjectives/adverbs, and relations(hips).

+

§ Example

+

Noun: Verifier +Verb: Verify +Adjective: verified (signature) +Relationships: verifying

+

Authors are free to choose any form of a term. It’s a way to express their objectives and concepts and give meaning. Even multiple forms are welcome, which means that in your scope you COULD define the noun, the verb and a relationship. E.g. verifier, verify and veryfying.

+

§ Acronyms

+

The following terms are proper nouns or acronyms:

+ +

§ Special characters

+

Notice that the Acrynom X.509 has a special character (.) You SHOULD use special characters only if it’s crucial for the meaning of the term.

+

So for example not this: security@hub4issuer but stick to guidelines above and define for example security-at-hub-for-issuer.

+

§ Constants, variables and terms in coding

+

Sometimes acronyms in code are (partly) in lowercase (e.g. vLEI, eID, ind) for various reasons. And one needs to explain those acronyms in concepts and terminology, we allow for doing so, in their original case.

+

§ Authors partly comply and have freedom of choice

+

§ Comply with

+ +

See the Roles section for the various subroles of an author.

+

§ Terminology

+
+
proper noun
+
| TBW |
+
+

§ Normative references

+

This section is normative.

+

The normative section we call the “Spec-Up glossary tool” (SGT); to give a name to the coding project for now.

+

§ Background

+

To simplify the job of tech spec construction and editing, the Technology Stack WG has adopted the Spec-Up spec editing tool which is originally a DIF open source project.

+

§ Objective (informative)

+

Terminology has a life cycle. Some concepts and its specific terminology are long lived. They reside in their field related to other concepts. Other terminologies are new, hip and temporary. Terminology can have broad application or conversely have a very specific small niche. They all share these characteristics:

+
    +
  1. The sources need to be managed because its content is burdened with reputation
  2. +
  3. References need to be managed in the digital world where creating copies is easy
  4. +
  5. Different roles and responsibilities work on a terminology. We got to keep track who did what in which role.
  6. +
+

In the ToIP Technology Architecture Specification it’s a long-desired feature to add an integrated glossary. Our objective is to offer a framework to offer this in a sustainably consistent way. The Concept & Terminology work group (CTWG) should begin publishing the ToIP Glossary as its own standalone Spec-Up specification, where every entry is properly formatted and people are able to include terms from the ToIP Glossary (without having to copy those 400+ terms over into its own glossary).

+

Process check:

+

You should visually check each def created in a local Spec-Up document against any def that exists in any of the remotely referenced document URLs listed in the local document (see the “doctag” list description).

+

Decide whether you’d like to adopt as is, adopt with comment or define yourself. See flow diagram

+

§ Objective (normative)

+

For an author there are mainly three relevant functionalities.

+
    +
  1. Spec-Up already has a basic glossary feature: def tags for defining glossary entries and ref tags for marking up terms in the spec that refer to def-tagged terms. Def tags only reference def tags in the same Spec-Up document.
  2. +
  3. An xref tag to enhance Spec-Up code to support remote refs.
  4. +
  5. Spec-Up code that detects dangling refs and defs. In other words, code that checks to see that: +a. any ref tag defined in the spec has a corresponding def tag for the glossary entry, and
    +b. every def tag defining a glossary entry has at least one ref tag pointing to it.
  6. +
+

Consistency pre-caution:

+

Each ref has an existing def. Each xref has an existing def in the doctag glossary.

+

It should check each ref and xref created in reference doctags against any def that you’re about to remove from a local file.

+

It should signal each ref and xref created in reference doctags against any def that you’re about to change in a local file.

+

| TBW |

+

When a local Spec-Up document includes a certain glossary from another remote Spec-Up document, this can be considered as a statement: “we think we might be on the same page as the people that maintain this glossary”.

+

It’s important to make explicit that somebody in a certain role added context to a remotely referenced term definition. Or he/she has chosen to refrain from that.

+

§ Doctag (informative)

+
§ External linking (ref)
+

We need the capability for all ToIP specs to use remote refs to reference a common ToIP Glossary in addition to their own internal glossary. So far an inventarisation under TSWG spec authors would be fine with that capability: they can use any term already defined in the ToIP Glossary without having to repeat it in their glossary, and they can add any term specific to their spec.

+
[[ref: group#phrase]]
+
+

phrase MUST be one of term in any of group’s glossary.

+

For example, a specification that includes a ref tag that looks like this: toip#term would reference a def tag defined in the ToIP Glossary. Similarly, a ref that looks like hxwg#term would reference a defined term in the (theoretical) HXWG glossary.

+

With this remote reference feature, all ToIP specifications (and any other deliverable written with Spec-Up) would be able to include linked glossary terms (including hover pop-up definitions), both from within its own glossary and from any referenced glossary in another document that also uses Spec-Up.

+

Mind you, this process touches group dynamics, consensus building and communication.

+
§ Dangers of bluntly referencing and copying
+

It’s important to note that team members in various roles should feel free to define a term as they wish, after studying what’s available.

+

§ Add context and metadata

+

Adopting a term from a related scope (under the ToIP umbrella) or external SHOULD always be accompagnied with a possibility for the author, curator and maybe even other team members to add context to the definition adopted. The following metadata MUST be registered:

+ +

This metadata SHOULD be added:

+ +

You COULD add or remove:

+ +

The order in which these changes take place to a terminology definition, referencing and/or commenting SHOULD be registered.

+

Mind you: the adopter of a term SHOULD NOT delete, nor alter the original definition, present in another scope.

+

§ Local versus Remote references

+

Technically, the only difference between a local ref and a remote ref is that the former are always within the same Spec-Up document — they look like:

+

[[ref: term]]

+

The latter allow the author to reference a def in a different Spec-Up document. They look something like:

+

[[xref: doctag, term]]

+

doctag is a short unique tag assigned to the remote Spec-Up document containing the def for the term being referenced. So any Spec-Up document that uses remote refs would need to include a doctag section that looks something like this:

+

[[doctags:

+

[toip:https://trustoverip.github.org/cwtg/toip-glossary.md]

+

[hxwg:https://trustoverip.github.org/hxwg/hxwg-glossary.md]

+

]]

+

§ Adopt, add context or define

+

Check the flow diagram of writing terminology (references) in a specification here.

+
§ How to adopt a term “as is”?
+

Local preferable +[[xref: term]]

+

Or remote reference

+

[[xref: doctag, term]]

+

Where term is either a term, abbreviation or alias.

+
§ How to adopt a term with added or updated context?
+

Add: +[[def: term or abbreviation or alias]] with in the text part of the definition

+

[[xref: doctag, term]]

+

Reference:

+

[[ref: term]]

+

Example +Where KE is the doctag of KERI spec in spec-up format and TP the doctag of the ToIP overall glossary in spec-up.

+

+[[def: verification]]
+
+~ Verification in Healthcare is in between the strict [[xref: KE, verification]]
+ and the more loose ToIP definition [[xref: TP, verification]]. However we have the same criteria as KERI
+  because our system will be KERI-based.
+
+
+
§ How to stop adding context to an adopted term?
+

Remove the local def and change

+

[[ref: term]] into [[xref: term]]

+

Now the term is again externally referenced “as is”.

+

§ Doctag (normative)

+

It is possible to include references to terms from external spec-up generated specifications. To include a source you would like to pull references from include an external_specs array in your spec config. The value should be a key/value object where the key is used in the external reference below and the value is the URL of the external spec.

+

To include an external term reference within your spec use the following format [[xref: {doctag}, {term}]] where {doctag} is the title given to the spec in the specs.json configuration file and {term} is the term being used.

+

For example using the PE spec given in this example:

+
{
+  "specs": [
+    {
+      ...
+      "external_specs": [
+        {"PE": "https://identity.foundation/presentation-exchange"}
+      ]
+    }
+  ]
+}
+
+

§ Internal definition (def)

+

definitions (defs)

+
[[def: term { | abbrev}, {alias}, {alias}, ... ]]
+~ Lorem Ipsum ...
+
+

+

A term SHOULD be defined as a ToIP definition style : lower case

+

An alias COULD be referenced. If you do so the reference MUST end up at the definition of term This is already operational in the current version of Spec-Up and implemented with nested spans

+

::: ISSUE +https://github.com/henkvancann/terminology-governance-guide/issues/1 +:::

+
+

Check defs of aliases https://github.com/decentralized-identity/spec-up/blob/master/single-file-test/spec.md#term-references +and the working refs here https://identity.foundation/spec-up/#term-references

+
+

abbrev COULD be defined and referenced. If you do so a seperate definition of abbrev MUST be present in the document itself:

+
[[def: abbrev]]
+~ [the term the abbrev refers to]
+
+Example of the duplet:
+
+[[def: KEL]]
+~ [[ref: key event log]]
+
+[[def: key event log | KEL, Key-event log ]]
+~ Lorem Ipsum ...
+
+
+

§ Don’t do this

+
[[def: term (abbrev)]] and  
+[[ref: phrase]]
+
+

but do this

+
[[def: term | abbrev]]
+
+

How to add an abbreviation after the term? Two ways possible:

+
    +
  1. in the markdown, but NOT in the reference to the term: +ref: +There will be post-markdown processing available to proportionally add abbreviation
  2. +
+

§ Internal linking (ref)

+
[[ref: phrase]]
+
+

phrase MUST be one of term, abbrev or alias

+

Three ways of offering references (refs) to definitions (defs) by the author of a text:

+
    +
  1. +

    explicitly created by author

    +
  2. +
  3. +

    extra by default, after n occurrences or below a header of certain level

    +
  4. +
  5. +

    MUST be done in the source by hand

    +
  6. +
  7. +

    MUST be done by code, we’ll add a data-attribute to the resulting hrml that indicates the origin of the link.

    +
  8. +
+

| TBW where is the registry to ensure uniqueness of doctags and prevention of duplicious doctags? |

+

§ System feature Consistency

+

Consistency and rules for def:s and ref:s leads to github.io page with all kinds of working internal and external links and clear rules for writers.

+

§ Basic domain checks

+
    +
  1. characterset
  2. +
  3. spaces + and
  4. +
  5. Uppercase versus lowercase
  6. +
  7. Form Phrases +| TBW |
  8. +
+

§ Domain checks Spe-Up or github actions

+
    +
  1. No abbrevs in the text of a term either in “()” or after “;”
  2. +
  3. The system must warn for double aliases in one def
  4. +
  5. The system must warn for double abbrevs in one def
  6. +
  7. No duplicity in wording in term, abbrev and alias(ses)
  8. +
  9. If term and abbrev are the same, discard abbrev
  10. +
  11. If alias and term are the same, discard alias
  12. +
  13. If abbrev and alias are the same, discard alias
  14. +
+

| TBW What is ‘the same’ ? |

+

§ Parser checks Spe-Up or github actions

+
    +
  1. The system must warn for double aliases in more than one def
  2. +
  3. The system must warn for double abbrevs in more than one def
  4. +
  5. The system must report broken internal links, refs that don’t match term, abbrev nor aliasses.
  6. +
+

§ External Consistency

+

We like reuse of existing terminology, laid out in definitions and glossaries. If applied correctly, reuse will increase consensus within TrustoverIP.

+

Given this positive effect we encourage people to look what’s there already before defining and writing your own definition.

+

How do we know which known glossary to use? Maybe any glossary we have previously created a cross reference from should be included? +There is already tooling available to include existing glossaries and give a unified overview of them in KERISSE. This listing can be adjusted to “ToIP only”.

+

§ No effective system without governance

+

The governance rules that we have to put in place (at least with the ToIP community) should be:

+
    +
  1. +

    If the spec authors want to use a term with its definition term as defined in the ToIP Glossary, the spec authors MUST insert a remote ref to that term in their spec and MUST NOT copy the term (or worse, redefine it) in their internal spec glossary.

    +
  2. +
  3. +

    If the spec authors want to use a term defined in the ToIP Glossary but modify its definition, they COULD submit raise an issue and/or a pull request to the ToIP Glossary making the case for their proposed change. If that change is resolved to their satsifaction, they can proceed as per rule #1 above.

    +
  4. +
  5. +

    If the spec authors want to use a new term that does not exist in the ToIP Glossary to their liking, they have two choices:

    +
  6. +
+ +

Of course, this set of rules only works within an coherent community willing to follow them. We can’t control the use of terminology outside of the ToIP community.

+

§ System feature functionality

+

The front-end functionality of the resulting github.io page can and must be altered to comply with various Reader allowances:

+ +

| TBW |

+

§ System feature layout

+

The front-end layout and pdf layout of the resulting github.io page can and must be altered to comply with various style-guide rules of external parties like IETF or ISO.

+

| TBW |

+

§ Integration

+

This is an informative section

+

Spec-Up, Spec-Up Glossary tool, TEv2 and the KERISSE-engine plus kerific tooling are gradually going to integrated for the sake of concept & terminology management in ToIP.

+

This section might why we anticipate with this Governance Guide on future development the way we’ve done in the previous sections.

+

§ Concerns

+

We share some concern raised over the first months in 2024.

+

§ Spec-Up and Specification Template

+

Current copy and paste strategy leading to merge horror “unrelated histories”.

+
+flowchart TD + DIF --> |SpecUp_Daniel_Buchner| SpecUp_60ae636 + SpecUp_60ae636 --> |PR accepted| SpecUp_d392aa1 + SpecUp_d392aa1 --> |commit| SpecUp_e63f252 + SpecUp_e63f252 --> |commit| SpecUp_985a65b + SpecUp_60ae636 --> |copy Specification Template| ToIP_SpecUp_60ae636 + ToIP_SpecUp_60ae636 --> |PR accepted| SpecUp_445a7db + SpecUp_445a7db --> |PR accepted| SpecUp_7667ec3 + SpecUp_7667ec3 --> |copy | Spec_kerific + SpecUp_7667ec3 --> |copy |keri-spec + SpecUp_7667ec3 --> |copy | acdc-spec + SpecUp_445a7db --> |copy | cesr-spec + ToIP_SpecUp_60ae636 --> |copy| trp-spec + ToIP_SpecUp_60ae636 --> |copy| tas-spec + + style DIF fill:#ffc; + style SpecUp_60ae636 fill:#ffc; + style SpecUp_d392aa1 fill:#ffc; + style SpecUp_e63f252 fill:#ffc; + style SpecUp_985a65b fill:#ffc; +
+

How we should fork to stay in tune with each-other and easily accept improvements?

+
+flowchart TD + DIF --> |SpecUp_Daniel_Buchner| SpecUp_60ae636 + SpecUp_60ae636 --> |PR accepted| SpecUp_d392aa1 + SpecUp_d392aa1 --> |commit| SpecUp_e63f252 + SpecUp_d392aa1 --> |pull| ToIP_SpecUp_60ae636 + SpecUp_e63f252 --> |commit| SpecUp_985a65b + SpecUp_60ae636 --> |Fork Specification Template| ToIP_SpecUp_60ae636 + ToIP_SpecUp_60ae636 --> |PR accepted| SpecUp_445a7db + SpecUp_445a7db --> |fetch+merge| SpecUp_d392aa1 + SpecUp_445a7db --> |PR accepted| SpecUp_7667ec3 + SpecUp_7667ec3 --> |Fork | Spec_kerific + SpecUp_7667ec3 --> |Fork |keri-spec + SpecUp_7667ec3 --> |Fork | acdc-spec + SpecUp_445a7db --> |Fork | cesr-spec + ToIP_SpecUp_60ae636 --> |Fork| trp-spec + ToIP_SpecUp_60ae636 --> |Fork| tas-spec + SpecUp_985a65b --> |fetch+merge| SpecUp_7667ec3 + SpecUp_7667ec3 --> |pull| SpecUp_985a65b + + style DIF fill:#ffc; + style SpecUp_60ae636 fill:#ffc; + style SpecUp_d392aa1 fill:#ffc; + style SpecUp_e63f252 fill:#ffc; + style SpecUp_985a65b fill:#ffc; +
+

Noticed the differences?

+
    +
  1. Through forking instead of copying we keep git histories compatible
  2. +
  3. Through fetch+merge (or pull when no conflicts expected) we not only keep DIF and ToIP synced, but also it is very straightforward to update all the gh-pages-based specification websites that use the Specification Template to: +
      +
    • sync functionality and data
    • +
    • offer PRs from any of those installs
    • +
    +
  4. +
+

§ Roadmap to TEv2

+

As a TEv2 creator and frontman we share Rieks Joosten’s viewpoint on this proposal for using Spec-Up refs and defs.

+

He explained that the same features being discussed here were also added to TEv2.

+

There is always tension between adding a lot of features and taking a long time, or keeping things very minimal. He pointed out that creating glossaries based on cherry-picking glossary entries based on personal preferences can be problematic because it doesn’t actually establish shared understanding and criteria for defining terms.
+The larger the group involved, and the more varied their cultural backgrounds, the more problematic that can become. However, that doesn’t mean we shouldn’t start with tools that are actually working right now. Riek’s personal preference is to use terminology that expresses the author’s intentions clearly. For example, in reading the Spec-Up documentation, it was challenging for Rieks to understand it without more context.

+

Rieks would like to have several more sessions on TEv2 so we can still look at how we can use it for our terminology. He’s not opposed to enhancing Spec-Up for these features, but at the same time keeping TEv2 tooling in progress.

+

Rieks Joosten concluded that we need to see what tools are actually needed by both authors and readers to help them comprehend the terms they use. He can also explore how TEv2 tooling can be used to produce Spec-Up definitions.

+

Rieks Joosten was in favor of proceeding with changes to Spec-Up, but also to continue the work on TEv2 to tackle larger issues of terminology management.

+

§ TEv2 Explanation

+
§ Current structure
+
+flowchart LR +A[A:Root];B[B:ScopeDir];C[/C:SAF/]; D[D:GlossaryDir]; E[E:CurTextDir] + A -->|install| B + B -->|config| C + B -->|populate| D + B -->|populate| E +
+

§ Docusaurus example CURRENT

+
+flowchart LR +A[A:Root];B[B:/docs];C[/C:saf.yaml/]; D[D:glossaries]; E[E:terms] + A -->|install| B + B -->|create| C + B -->|populate| D + B -->|populate| E +
+

§ SpecUp example CURRENT

+
+flowchart LR +A[A:Root];B[B:/spec];C[/C:saf.yaml/]; D[D:glossaries]; E[E:terms] + A -->|install| B + B -->|create| C + B -->|populate| D + B -->|populate| E +
+
§ Internal Scope
+

internal-scope-terminology

+
§ External Scopes and internal scope
+

external-scope-terminology

+
§ Full architecture
+

tev2-architecture

+

§ Always archive never delete

+

Darrell O’Donnell clarified that technical maintainers we will not delete any ToIP repos, but will only archive them.

+

| TBW |

+

Guide +normative~ +What is the criterium something being a Guide versus a Specification? +A Specification has enough normative statements to be directly implementatable.

+

normative +~ +A theory is “normative” if it, in some sense, tells you what you should do - what action you should take.Also see KERISSE

+
+
phrase
+
Something is a phrase when it’s either a term, an abbreviation or an alias in the context of this guide.
+
term
+
The ToIP notation of a terminology item, that requires a definiton, that could have an abbreviation and zero or more aliasses. A term is supposed to be uniquely defined in a certain scope, but can have many exactly the same instances in a broader community.
+The term also serves as a key in the source management tool of ToIP terminology sources and to make a comparison among terms.
+Criterium: only if a certain word or phrase in ToIP notation and first placed in the definition tag, then it’s a term in the scope of this guide. Only a term can have just one abbreviation.
+Also see term.
+
abbrev
+
a shorthand in capitals for a term. It may contain special characters. It may not contain spaces.
+Criterium for not being an abbreviation: If the word is not in uppercase, in our context the word is more likely to be an alias for the term.
+
alias
+
Any notation of a terminology item, that is an alternative for a term being defined. The alias also serves as a comparison among term definitions.
+An alias is typically a means to one-on-one relate specific wording to a term already defined. For example :
+
+ +
+
doctag
+
A short unique tag assigned to the remote Spec-Up document containing the def for the term being referenced. So any Spec-Up document that uses remote refs would need to include a doctag section
+
+

§ Annex

+

§ Comparison Spec-Up 2023 and TEv2 by Rieks Joosten, Jan 2024

+

This specification has used the following insights to write the Guidelines, most notably in the Roles section and the Normative section.

+

§ Spec-Up

+

I have had a look at the latest spec-up draft, specifically that relating to terminology. The text tells you about features it has, but (as often) you need to see the source of that text (in RAW format) to figure out how to do things if you’re new to this. Here’s my understanding: +Spec-up term definition syntax is as follows:

+
+
+
<text that is used as the description/definition of ‘term’>
+
+

where + is the term that is being defined. The documentation doesn’t say what it can(not) be, e.g., whether or not it may contain spaces or special characters, and

+

appears to be a (single) line of text, which also isn’t further specified.

+

If you want to specify aliases (what TEv2 calls ‘form phrases’), you say:

+
+
+
<text that is used as the description/definition of ‘term’ (and its aliases)>
+
+

where and are as before, and <alias> are the aliases, which are also not further specified, but the example shows they can contain spaces (so the , and the closing ]] are the delimiters for the term list.

+

§ TEv2 definitions appear in different forms:

+

As a set of a (curated) text files (markdown), one for each term. They contain (YAML) frontmatter in which there are fields for (a) the term, (b) the aliases (called ‘form phrases’) and © the text line (called ‘glossaryTexts’). In their body, they contain more documentation related to the term. +as an entry in a machine-readable glossary (YAML). Every entry basically consists of not only the frontmatter of the curated text file, but also some other fields that (third party) tools can use to find the curated text file, or a rendered version thereof. +as a set of Wiki files, that will (soon?) be ingestable (turned into curated text files).

+

Spec-up use of term references within markdown: +

+

where is the defined term or one of its aliases. +TEv2 use of termrefs can be done in different forms: +

+

where is a defined term or form phrase. However, if is not a defined term or form phrase, you can still make it refer to a defined term using the syntax: +

+

TEv2 has additional syntax for using terms that refer to stuff +other than concepts (such as mental models, e.g., +in other scopes, e.g., parties, in particular versions of a terminology, e.g., tag

+

Also, TEv2 has mechanisms where users can define/configure their own syntax for termrefs, and also mechanisms for specifying what a termref (when found) should be converted into. +Spec-up glossaries are a rendered version of the list of spec-up definitions, which requires them to all be specified in that same one location. When a user clicks on a termref (in the rendered version), it is taken to the location where the term is defined. I haven’t seen any documentation of whether/how that would work with multiple files. +TEv2 glossaries come in two forms: machine readable glossaries (MRGs) and human readable glossaries (HRGs). TEv2 sees a HRG as a rendered reference to a particular MRG, so (like TermRefs) users can specify a so-called ‘MRG-Ref’ in their markdown, and when that is processed, a HRG is generated at that location from the designated MRG, in a format, and using contents that the user specifies. Here is an example of various HRGs generated in a single page.

+

§ Discussion

+

Spec-up is quite different from TEv2. Most notably, By design, spec-up is (very) simple to use, and has the basic features you need when writing (simple) specifications. When things become more complex, or you want to explicitly position a spec in a context where other specs also live, my guess is that you run into its limitations. But then, that’s not what spec-up was designed to do. +TEv2 on the other hand is not simple when viewed from a single-context-perspective. But you can use and build on terminologies of others. Another source of perceived complexity may be caused by its flexibility, e.g., it allows users to specify syntaxes (for TermRefs and MRGRefs), as well as the (html, markdown or other constructs) that the can be converted into.

+

So the basic question seems to be whether or not there is an actual need for spec-up and/or TEv2 within ToIP, which I think we can ponder about by understanding what either can, or cannot do.

+

tno-terminology-design.github.io

+

Glossary Generation Demo | TNO Terminology Design

+

This page is evidence that an HRG can be generated for every MRG that is available within the scope. It also shows that HRGs can be generated in different formats.

+

Regarding the roles (specification author, curator, end-user/reader), some thoughts:

+

Authors come in different flavors. An author that writes specs has different capabilities (e.g., be precise and so) than an author that writes learning stuff (things for Muggles and so). Darrell can do git and markdown, but I recall that Nicky (and others) thought that to be too cumbersome. The minimalistic use-cases would differ for the different author sub-roles, so we should give some thought which sub-roles exist within ToIP.

+

When we were talking about the ‘term communities’, we also had the role of ‘contributor’, which is the role a person performs as (s)he helps draft criteria (for definitions), mental models and other stuff that we envisaged could be needed in a particular WG, TF (scope). Do we still think that way?

+

Apart from having the minimalistic use-cases, I think it would be helpful if, for every activity or product from the CTWG, we know +who would actually be using it, and +what they would need to be able to do with that +so that we can make sure that they can use it and do with it what they need to. And IMHO that is far from trivial, we we should give that some attention.

+ +
+ +
+ + + +
+ + + + + +
+
    +
    + + +
    + Table of Contents + +
    +
    + + +
    +
    + +
    + + + + + + + \ No newline at end of file