Compound Titles

I have a strong use-case for this style: large hierarchies, with possibly conflicting names.

In my day-job at GigantiCorp, I’m responsible for an in-house business rules system. This is actually the system I’ve been documenting with TW and which has lead me to create several plug-ins shared here, but I’m also in the process of using TW to dynamically generate user documentation for the rules projects various teams have created.

A project can have many Categories, as well as some small metadata. A Category can have many Rules as well as some significant metadata… A Rule can have multiple Versions as well as some significant metadata. A Version has some metadata and an executable JavaScript code block.

Projects can be large, owned by multiple teams. Most Categories are shared by teams of 5 - 15 developers/business folks. Some categories have one or two rules, some have thousands. There are no overall naming conventions, so CategoryA and CategoryB could each have Rule1, and typically versions are simply named v1, v2, …

When a project is built into an executable bundle, I create a wiki from all the data for easier viewing of what’s actually in production. I create data tiddlers for all those levels from the various files generated. But I can’t create just Rule1, since there may be rules of different categories with the same name. So I have tiddlers with titles such as CategoryA, CategoryB/meta, CategoryB/Rule42, CategoryA/Rule7/v3. Each tiddler also has one or more tags, always at least one of Category, Rule, Version, Meta, etc – these are used in view templates and elsewhere.

While I could duplicate this hierarchy using field names or tags, I already have it in the name structure, so it’s what I use to list children in each template. While this is still in the conceptual stage (I’ve created a small sample output wiki, but am not yet generating them live), I did the same thing (with far fewer TW skills) on the predecessor project, and it works quite well.

I’m sure there are other reasonable use-cases as well, especially for dynamically-generated wikis.

2 Likes

Like avoiding pollution of the tag space, and the fact that the title field is evidently a key field in TiddlyWiki might be another.

The vast majority of my tiddlers have titles like 1-010, 25-030. That is chapter_number–section_number. The “actual title” for human reading purposes lives in a subtitle or caption field. (I also use a uuid field to allow free renumbering without link issues).

1 Like

it would be interesting if we were able to freely rename or redesignate a different field / field name to act as the tiddler id field, as the title field acts as right now.

It’s been discussed before, I think… but I don’t recall the consensus except to say, we are where we are. However, I do wonder if a uuid field might be added to the core at some point.

While that would be possible, it wasn’t a design goal for TW5; as a result the name of the “title” field is spread through the code and would be quite hard to change. It wasn’t a design goal because it would conflict with another, more important goal: to establish conventions to make it easy for the community to share things. In this case, different wikis having different conventions as to the title field would make it much harder to apply common learnings.

2 Likes

Reflecting on your reply @Scott_Sauyet let me restate this;

I have argued against the use of “compound titles” when the information in the title is not available elsewhere.

  • Otherwise to make use of the information in the title, you first need to deconstruct the title.

@Scott_Sauyet thanks for sharing your use case, I don’t doubt there are cases where it may be useful to use compound tiddler titles, at least pragmatically. Your example maybe one, although as others have considered, having a simple numeric key with other fields being used to show a “compound caption” rather than key are plausible options.

This rule is not so much for use cases like yours, but new and regular users (I was included in this cohort once) actually have a habit of moving to compound tiddlers very quickly when it is not advisable.

  • As a long term contributor I have found myself several times helping people write solutions to list tiddlers according to information only available in a compound tiddler title.
  • This is why I have restated the argument at the top of this reply.
  • I expect we could discuss this further in Knowledge, Information or network Science terms and about the nature of the data that may push one towards compound titles.
    • This raises an idea in my mind about sparse or convergent relationships in a data set.
  • However if the different data that is used to make up a compound tiddler title, still remains accessible in its own right, then there is an argument the title is not so much compound, but just a unique value generated from combinations of values.

Sometimes it may be hard to tell the difference between a “compound key” and a “unique title” made up of compound values.

This is a valid approach but the relink plugin including its subplugins, and now the View Template Tile “cascade”, almost eliminate a need to use internal UID’s (Unique Identification) other than using the existing title for the UID, Truly universal is another issue.

If the title is designed to be “machine readable” such as your hieratical key chapter_number–section_number then you intentionally hide the title from the user then really you are effectively separating the key from the title.

This is possible now by turning this upside down, consider the title as the ID field and treat another like the caption as the “title”, we now have the “View Template Title cascade” to alter which field is presented as the title.

  • Basically we present a different title when viewing tiddlers.
  • I have two solutions here alt-title and masquerade and other have some as well.
    • Alt-title is displayed in the story, or the caption field and if none other the title is displayed
    • Masquerade - is basically a new tiddler transcluding another and with alt-title can look like the original.

I think we have gone beyond this now and we can keep it the way it is and still effectively;

  • By instead;

freely rename or redesignate a different field / field name to act as the “tiddler title” allowing the current title to act as an id field

  • with the added advantage is you can limit this to just a subset of all tiddlers.

Looks Like I don’t have the ability to spit topics. Could someone please spilt all posts after and including What is in a tiddler? tiddler types and how we handle them - #6 by Scott_Sauyet to a new topic on “Compound titles discussion”.

  • Or give me such permissions to do so?

@pmario ?

If it isnt done so by the time I arrive back home to my computer, I’ll be happy to split it for you, @TW_Tones

Edit: Seems @CodaCoder beat me to it, thank you for handling the spliting!