To link or not to link that is the question

Here is a very basic question about structuring TW.

I use fields to put some structure around the data in my TW. Fields containing date contain raw date data — YYYY0MM0DD0hh0mm0ss0XXX.

Except for date fields, most of my field values are links. So, a field ‘article-subject’ would carry a value ‘[[Physics]] [[Chemistry]]’, not ‘Physics Chemistry’. This automatically takes care of multi-word field values like ‘[[Organization and Structure]] [[Something or the other]]’

Is using links in the values of fields the correct/ standard way of doing things? Or would I be better off not using the links?

The reason I use links is that the autocomplete plugin I use — edit-comptext — allows autocompletion of links. That makes adding field values very convenient.

So, if you think field values should not be links, could you please suggest an autocomplete plugin that completes tiddler names? I tried CodeMirror Autocomplete, and it does not.

I use fields to put some structure around the data in my TW. Fields containing date contain raw date data — YYYYMMDDHHMMSSXXX.

Your date format should look like this YYYY0MM0DD0hh0mm0hh0XXX so it contains leading zeros if a value is less then 10. … This way the will sort in the right order by default.

It depends on your usecase. So if you like it, I think it is the right decision.

@pmario Thanks for pointing it out. And yes, indeed. That is how the values appear. I have edited the question.

I’m tempted to say “There’s no wrong way to use TiddlyWiki”, but I’m sure there is. :grinning_face_with_smiling_eyes:

When you use a field the way you’re using it, it’s a list field. Which means you can use the various list operators and the actionlistops widget on them. This can be advantageous in some situations. You just have to be consistent and never accidentally put “Today’s Date” when you meant [[Today's Date]]

Whether this is the right strategy in the long run will depend on what kind of reports and producibles you wish to generate from your accumulated data.

To support the other replies, use links, especially links to tiddlers all you want, that is an advantage, Tags are the quickest way since any tiddler can be tagged with any tiddler, but using fields to contain one or more tiddlers is a good design approach keeping tags free for ad hoc uses.

As Mark pointed out there are a number of tools built in such as listops for adding and removing tiddler titles from a tiddler or field. Learning about list ops takes a little time but it is a good investment because it opens up a lot of possibilities.

Contrary to your example you only need [[square brackets]] if there is a space in a title. so something like this is valid
Physics Chemistry [[Organization and Structure]] [[Something or the other]]

Advanced tip
A list of tiddlers is actually equivalent to a filter, it just happens to be a filter which results in a list of tiddlers. When designing your macros and lists etc… to make use of values in a field carful design will allow you to include filters in your list for example;

[tag[urgent]] Physics Chemistry [[Organization and Structure]] [[Something or the other]]

Thus if you use the field (containing this) in filters this will expand to also include tiddlers tagged urgent.

If you could elaborate on this, that would be useful.

Yes, I understand that. But in a field, ‘Today’s Date’ would mean two values, ‘Today’s’ and ‘Date’. I guess, you meant I should consistently use ‘[[Today’s Date]]’ and not ‘[Today’s Datee]’. Is that correct?

I am looking at it more as a repository of information that is easy to slice and dice. All kinds of notes will go in it. I am hoping to keep them properly tagged, etc. Given this, do you see any pitfalls in what I am doing?

Thanks. I am using fields to give context to links. So, the interpretation will differ depending on in which field a tiddler title is appearing.

OK. I got that.

This is awesome. I had never thought about it like this! Thanks!!

See the documentation for ActionListopsWidget . You can use the ActionListopsWidget to add items, remove items, filter items, etc. to fields that are used as a list field (by default, that is the list field and the tags field).

The same tiddler also lists special operators available for working on list fields.