I'm with you on needing a unique identifier -- every real database uses 
unique id's.   I was surprised that it wasn't in the TW5 design.

I would go further and say that linking *should* occur by ID. The thing 
about IDs is that they are immutable. The thing about titles is that they 
*change* all the time. Currently, if you change a title, you have to go 
back and change every single linking item. This means editing and changing 
the mod date of possibly dozens of linked tiddlers. The alternative is that 
you are stuck with a non-informative tiddler title possibly for the rest of 
the life of the project.

I'm not sure if the hashing is necessary for internal use. In most 
databases, it is sufficient to simply assign an incremented value to an id 
field. For sharing with other tiddlers, (as in federation), of course, it 
becomes necessary to include some sort of database ID as well (like a hash 
of the database address).

On the topic of data tiddlers I'm not sure what you mean. You can already 
use a macro or other mechanism to display the contents of a data tiddler. 
The main problem is that there is only one root object, which means much of 
the data is hidden in complicated structures.

Mark


On Saturday, July 16, 2016 at 4:13:24 PM UTC-7, Dragon Cotterill wrote:
>
> This is just a quick list of some of the thoughts following on from 
> conversations with Mat and Mario at the Pub after the TWEU Meetup. As with 
> any Pub conversations it is likely that most of these ideas will fall by 
> the wayside, but some of the ideas have got me thinking and it's worth 
> getting them logged whilst they are fresh in my mind.
>
> There can be no doubt that TW is a really great concept. But now that 
> we're joining them together (by TWederation) we are going to run into some 
> seriously big road blocks if we're not careful. For example how do we 
> handle the importing of Tiddlers with the same Title?
> I feel that it is very disingenuous to force users to create shared 
> Tiddlers with different names. At the moment we are doing this by adding 
> the creators name to the end of the Tiddler's Title. This I feel is a big 
> mistake. The naming of the Tiddlers should NOT be enforced like this. The 
> creator should be free to name them however they want. But of course this 
> throws a spanner in the works when names clash.
>
> What we need is a unique way of identifying the Tiddler that is visible to 
> TW, but not necessarily to the users. Pretty much every database system has 
> a Key or a Unique ID and I think we need the same.
> Now I know that Jeremy would say that your should be able to link to the 
> Tiddler via the Title, and I fully agree. In any given TW the Title is 
> unique (Shadows not withstanding). So that is the link you would use when 
> linking to them in a given instance. But when a TW is federated, with the 
> same name, which "New Tiddler" do you mean? Because they should all be 
> available.
>
> I propose that each TW should have a UID. It should be comprised of the 
> hash of the URL of the TW, and the hash of the date/time when it was 
> created. And that ID should stay with it for the life of it's existence. 
> Even if it's federated into a new TW, then the ID stays. The only time it 
> should gain a new ID is if it was copied, the copy getting a new UID.
>
> Now when it comes to TWederation, the structure is clear. HASH1 is the 
> parent. HASH2, HASH3 are children of the parent, HASH4 is the child of 
> HASH3. Using this it is very clear how the individual tiddlers should be 
> displayed, now matter what the actual content of them. If a Tiddler is a 
> reply, then it has a parent. If no parent, it's a top level entry.
> Tiddlers change. At present if a federated tiddler is changed, that change 
> is not propagated (or have misunderstood the workings of TWederation? 
> Mat?). If a parent tiddler is deleted, what becomes of the orphans? Yes, 
> there is still much to discuss on this.
>
>
> Now one of the other thoughts I had was in the concept of data Tiddlers. I 
> know Mario wants to see all the data of any given Tiddler, but that's a 
> different matter. :) You should be able to have data WITHOUT the concept of 
> how it should be displayed, but use another Tiddler as the actual layout. 
> We have the ViewTemplate tiddler, but if you break that down to a smaller 
> level you can start to build up the Tiddlers to produce stronger concepts.
> At present TW is geared around Text components. Title, Text and Tags as 
> core values (yes I suppose created, modified and change count are other 
> values too). TW Classic has the Data Plugin ( 
> http://tiddlywiki.abego-software.de/#DataTiddlerPlugin ) which kind of 
> uses this concept. TW5 allows you to add further fields relatively easily. 
> But what if you took it further?
> By opening up TW to the concept of data you could really build up 
> applications. For example a remote weather station server simply outputs a 
> raw tiddler stream of weather data. You can TWederate that data straight in 
> to get an idea of rainfall. Others could get the exact same data but be 
> more concerned with wind speed and direction. Or both. Or temperature.
> You would write a macro which would take all of the data and display it 
> using the layout of another Tiddler. An iteration over that list would give 
> us a simple table. Another version would format it for feeding into a chart 
> (HighCharts anyone?) Or a data connector that changes it in some way to 
> feed into other components (temperature delta over time? Temp vs Rain?)
> This would give us an extremely powerful, dashboard like configuration.
>
>
>
> As I said, these are just some random thoughts, typed up on a train 
> journey back to London after the TWEU Meetup. They need refining in so many 
> ways, but I feel that they may have some merits.
>
> Discuss...
>
>
>
>

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/4ec87e72-4648-42d7-81bb-87255ac09110%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to