Open vinomaster opened 3 years ago
For additionally clarity, we could assume the strategic approach for the CTWG is to serve up a RESTful API for term access.
Additionally, we could assume that an alternative tactical approach exists whereby the CTWG creates repo enhancements for the ToIP versions of MkDocs and Spec-up. However, such an effort would be outside the expected scope of the CTWG charter and given the aforementioned shortage of volunteer developers it would be hard to justify.
Therefore the tactical proposal captured in this issue represents a path of least resistance example while enabling the CTWG members to focus on their true intentions the mental model for terms and concepts along with an associated curation process.
The CTWG eventually needs to define a roadmap to address delivering on its charter.
In the meantime, we need to establish a plan that will:
Giving consideration to the proposal outlined herein, the we SHOULD tackle the following items with a degree of urgency:
glossary.md
Imagine how our hypothical ToIP Author, Alex
, would work with the artifacts of this WG.
make glossary tags=gswg
glossary.md
to his TSS0001 repohello [world](./glossary.md#world)
<ctwg-server/generateGlossary?tags=gswg
glossary.md
to his TSS0001 repohello [world](./glossary.md#world)
We MUST establish a well defined term/concept submission process and communicate it to the Foundation.
We have already done significant investigation work. See ctwg-sandbox
repo as well as work delivered in association with Issue 24.
If we combined (as an example) the data models used in those two efforts, we will have the basis for a data model spec that needs some refinement and documentation for element definitions.
For example:
id: action
title: "Action"
scopeid: essifLab
type: concept
typeid: action
stage: draft
hoverText: "Action -- something that is actually done/executed - by a single Actor (on behalf of a given Party), as a single operation in a specific context."
relatedTitles: <similar terms/concepts>
titleContext: <context to differentiate between related term usage>
## Definition
A distinct system of domain specific ledgers operated by decentralized peer nodes and associated with a DID Namespace. Governed by its own governance framework. See also Public Identity Utility.
## Short Description
An **Action** is something that is actually done/executed by a %%actor|actor%% in some context (i.e. in a specific place, at a specific time). During the time interval in which the action is executed, the actor may still execute other actions in other execution-contexts (multi-tasking). An action is executed on behalf of a specific party, which means that the primary guidance for executing the action, e.g. how to execute it, boundary conditions within which the execution must take place, etc., comes from a %%policy|policy%% that this party has established for actions of that kind. The actor is assumed to have appropriate access to that policy.
The %%Parties, Actors and Actions pattern|pattern-party-actor-action%% provides an overview of how this concept fits in with related concepts.
### Purpose
The ability to distinguish between (non)actions allows one to determine which (kinds of) %%actors|actor%% are capable of executing actions (e.g. by establishing that they have the competences required by the party), and as a consequence may be permitted and/or required to execute them. Also, this ability enables parties to determine the execution-policy, i.e. the set of rules, working-instructions, preferences and other guidance that actors should obey or comply with when executing an action on its behalf.
### Criterion
An **Action** is something that is done by an actor, can be considered a single operation, and is performed in a specific context, for or on behalf of a specific party, i.e. in accordance with the policy rules that this party has established for such actions.
## Tags
#ufwg, #gswg, #tswg, #bbu
### Related Concepts
<!--Link to any concepts that are similar but distinct, with a note about the relationship.-->
- OED defines Action as the fact or process of doing something, typically to achieve an aim ([OED](https://www.lexico.com/definition/action)), which is too generic for our purposes.
- %%actor|actor%%
- %%agent|agent%%
### Example Usage
- filling in a form and submitting it.
- cleaning a car.
definition
when generating a glossary.md
.Definition
, Short Definition
, HoverText
elements? Can we prune here?tags
we require besides what is covered here? If so , an issue and corresponding PR should be submitted against trustoverip/deliverables.
CTWG Process Proposal
This issue offers a proposal for a tactical solution to the glossary generation process supported by the CTWG on behalf of the entire ToIP Foundation community.
Status Assessment
The CTWG has been struggling for nearly nine months to strike a balance between:
In the spirit of Issue 22 - Glossary Generation and Issue 23 - Consumability we SHOULD be focused on the following basic objectives in the CTWG:
Recently, members of the CTWG created the trustoverip/ctwg-sandbox repo for the experimentation of glossary production. This endeavor was helpful for members to visualize an example of an end-to-end glossary generation process using file-system-based markdown content as opposed to a centralized datastore.
At the same time, the ToIP Foundation has been trying to execute on the delivery of an initial set of deliverables by end of 1Q21. This plan pressure influenced a call for a vote along with complimentary discussion associated with the trustoverip/ctwg-sandbox repo solution for the delivery of these 1Q21 ToIP deliverables.
While the broader CTWG members appreciate the time and efforts of the subset of CTWG members that participated in the trustoverip/ctwg-sandbox research, the solution outcome COULD be summarized as:
It is also important to recognize that the efforts to date were somewhat overshadowed (derailed) by a one particular requirement that was given very high priority by the trustoverip/ctwg-sandbox researchers --
hoverText
. While no one can disagree with the richnesshoverText
adds to READERS of ToIP Deliverables, this requirement at best SHOULD have been prioritized as a WISH not as a MUST HAVE. The justification for this position can be found in the ToIP Deliverables Process which went to great lengths to defined a set of document authoring requirements and to provide flexibility of tooling choice for ToIP Foundation members.By placing so much emphasis on the
hoverText
derailment factor, the resulting solution ignored:As a result, it is the opinion of this issue author (@vinomaster), that it would be very difficult for the ToIP Foundation to support the trustoverip/ctwg-sandbox solution approach.
Additionally, as author (@vinomaster) of this issue, the following factors SHOULD also be considered in the assessment of the trustoverip/ctwg-sandbox solution:
No Central Corpus: While tactical in nature, the copying of term
.md
files into each repo creates alot of duplication and reduces the value of ToIP curated terms because each deliverables repo task force could maintain its own version of terms in their repos. Thus, defeating the purpose of the CTWG.Incomplete Tooling Proposal: The ToIP Foundation is not bound to a single tool and welcomes the opportunity to offer membership other authoring tools. However, such new tooling proposals SHOULD be considered as consistent packages with existing efforts that provide:
Avoidance of ToIP Process Ramifications: Process proposals SHOULD NOT ignore the impact they have on existing processes, assets and work-in-progress.
Tactical Solution
Imagine the basic tasks of a ToIP Foundation Author concerning document development:
Let us assume the term SSI is defined in a CTWG file called
ssi.md
and that it complies with the data model prescribed by the trustoverip/ctwg-sandbox solution.Alex, a ToIP Foundation Author, would desire to simply use a term-by-reference approach while he is writing his content using Markdown, the ToIP Foundation approved language.
While the above Usage model is feasible in all ToIP Authoring Tools, it is currently not feasible as it places a strategic dependency on the CTWG Process -- support for a RESTful web server.
However, a tactical solution is possible whereby Alex's repo would have a local file called
glossary.md
that contained all of his terms of interest.Given a centralized repo based corpus of Markdown files in the data model prescribed by the trustoverip/ctwg-sandbox solution, we SHOULD be able to create a simple command-line tool in the trustoverip/concepts-and-terminology-wg repo whereby Alex could obtain on-demand a static
glossary.md
file that he could add to his repo.This command-line tool would:
.md
files) for terms matching the desired tagsAlex would then use use a local-term-by-reference approach
and if he desired a change to any term he would follow the CTWG Submission processes and then rerun the command-line tool to update his local copy.
This approach COULD benefit from existing tools such as pandoc which is already used by the current set of ToIP Authoring Tools. However, this approach WILL REQUIRE a pre-processor to remove the data model metadata and to generate a glossary definition for each term from the associated source files (
.md
files).This proposed approach has the following tactical benefits: