Hi

One of the disadvantages of using the 'title' field as the unique ID is, 
for example, the impossibility of having more than one tiddler with the 
title 'Introduction'. If I wish to use a single TW for several 
articles/books, each of which has an introduction -- I am forced to use 
titles such as 'Article1 - Introduction' and 'Article2 - Introduction'. 
Further, in the finished articles, I must then use labelled links such as 
[[Introduction|Article1 - Introduction]], if I want the section to be 
titled 'Introduction'.

This makes a strong case for the use of unique uuid's for linking to 
tiddlers, with the 'title' field as an alias for the link to the tiddler.

A possible mechanism: 

1. a unique ID for the tiddler is created when a new tiddler is first 
saved, and
2. an addition is made to a dictionary mapping the new 'title' field to the 
ID
3. when a title is edited, a new entry is added to the dictionary (but the 
old one remains)
4. the tiddler can now be linked via the ID, the old title or the new title
5. any additional aliases may be added to the dictionary for the same ID

The problem here: that using the alias 'Introduction' will now link to 
several ID's -- how do I specify which of the tiddlers with the alias 
'Introduction' I wish to target?

My first thought on this is to use two 'anded' aliases to link to a 
particular tiddler, when a single alias refers to several tiddler ID's -- 
[[Introduction && Article1]]. Now, this will pick the correct tiddler, and 
the displayed title will be whatever the current title of that tiddler -- 
in this case 'Introduction' -- which is my desired behaviour. The whole 
scheme is beginning to look rather like tags!

Have no idea how difficult this would be to implement -- just an opinion 
from an end-user point of view.

regards
 

On Monday, June 2, 2014 6:46:26 PM UTC+2, Jeremy Ruston wrote:
>
> Hi Felix
>
> That's the unavoidable, perennial question referred to above. A simple 
> formulation is: do we use the "title" field as the identifier for a tiddler 
> the "title" field, or do we use a separate "ID" field. The two options 
> can't co-exist, we need to choose one. TiddlyWiki chooses the former on the 
> basis that is a more human formulation, and that it can trivially emulate 
> the ID approach. But that is done by using the title field as an ID, not by 
> introducing a new ID field. The reason is because of the need to enforce 
> uniqueness: we guarantee the uniqueness of titles, but not of other fields.
>
> Best wishes
>
> Jeremy.
>
>
>
>
>
>> Regards
>> Felix
>>
>>
>>
>>
>> On Monday, June 2, 2014 5:02:33 PM UTC+2, Jeremy Ruston wrote:
>>
>>> This question of whether tiddlers should be identified by title or by an 
>>> abstract GUID is a perennial one.
>>>
>>> My aim is that users should be able to use GUIDs for tiddler titles if 
>>> it suits their use case. The missing piece is a way of linking to a tiddler 
>>> by it's GUID/title, but having a specified field displayed as the text of 
>>> the link. Here's an example of a macro to do that:
>>>
>>> \define link(guid)
>>> <$tiddler tiddler="$guid$"><$link><$view field="name"/></$link></$
>>> tiddler>
>>> \end
>>>
>>> This is a link by guid <<link qqu99yie1>>
>>>
>>> Of course, it would be more useful if one could arrange for that macro 
>>> to be automatically substituted for links.
>>>
>>> Best wishes
>>>
>>> Jeremy.
>>>
>>>
>>>
>>>
>>> On Mon, Jun 2, 2014 at 2:57 PM, Felix Küppers <[email protected]> 
>>> wrote:
>>>
>>>> Well, I know linking via ids is not readable in edit mode, however in a 
>>>> non-edit mode, the id translates to a name, so that is ok for me.
>>>>
>>>> As for semantic-alias (i.e. a real second title) vs. ids, I rather 
>>>> chose ids as their purpose is only to allow exact references. same as in 
>>>> SQL autoincrement primary keys...
>>>> And I rather place them inside a field because I like them to be more 
>>>> "invisible" as they have no semantic meaning.
>>>>
>>>> However I took a closer look at you example in your space and it is a 
>>>> really nice workaround you are using, I mean exploiting the masking-title 
>>>> of the link as a variable to use it in a local macro.
>>>>
>>>> This way I could do something like
>>>>
>>>> {{ 415241 | id }}
>>>>
>>>> and put the filter in the macro instead of directly writing
>>>>
>>>> {{{ [field:id[]!has[draft.of]first[]] }}}
>>>>
>>>> that will make a nice shortcut...
>>>>
>>>>
>>>>
>>>> On Monday, June 2, 2014 3:30:38 PM UTC+2, Stephan Hradek wrote:
>>>>>
>>>>> I can't see a fundamental difference between my alias approach and 
>>>>> using IDs. Except that ID's tend to be unreadable.
>>>>>
>>>>  -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "TiddlyWiki" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>>
>>>> Visit this group at http://groups.google.com/group/tiddlywiki.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Jeremy Ruston
>>> mailto:[email protected]
>>>  
>>
>
>
> -- 
> Jeremy Ruston
> mailto:[email protected] <javascript:>
>  

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.

Reply via email to