It doesn’t sound very exciting, but the new JSON-based store area has now been 
merged into the prerelease.

https://tiddlywiki.com/prerelease/ <https://tiddlywiki.com/prerelease/>

This is the big change that has prompted us moving from v5.1.23 to v5.2.0. It 
brings one major benefit to all users of TiddlyWIki: the characters used in 
field names are now unrestricted, making it possible to use fieldnames like 
"My^Field” or “☃️”.

While that is an important change that we hope will lead to the development of 
interesting new techniques for working with data in TiddlyWiki, the biggest 
risk of this change is that it is not fully backwards compatible.

That is to say that any tools that work directly with TiddlyWiki files will no 
longer work as expected, and need updating to understand the new format.

The new format is documented here:

https://tiddlywiki.com/prerelease/dev/#Data%20Storage%20in%20Single%20File%20TiddlyWiki
 
<https://tiddlywiki.com/prerelease/dev/#Data%20Storage%20in%20Single%20File%20TiddlyWiki>

We have tried to anticipate the problems that this change might cause, for 
example working with Simon Baird to fix TiddlyHost ready for the change. You 
can follow the technical discussions here:

https://github.com/Jermolene/TiddlyWiki5/pull/5708 
<https://github.com/Jermolene/TiddlyWiki5/pull/5708>

But now we need everyone’s help to try the new version, to help us identify any 
incompatibilities before the final release.

Please try the prerelease with as many different saving mechanisms and server 
backends as possible. You can report any problems here, or by opening a new 
ticket on GitHub.

For me personally this feels like a big milestone. TW5 has used the same 
DIV-based tiddler store area since the very beginning in 2011, having directly 
inherited it from TiddlyWiki Classic. I reused the old format to give TW5 
compatibility with the ecosystem of tools around TiddlyWiki Classic. Now that 
the TW5 ecosystem is so much bigger, it makes sense to move to a store area 
format that has fewer restrictions and is easier for developers to work with.

Just for fun, I wrote a Node.js one-liner to extract the tiddlers from a 
TiddlyWiki HTML file. In contrast, a few hundred lines were needed to read the 
old format:

var 
fs=require("fs"),tiddlers=JSON.parse(fs.readFileSync("./editions/prerelease/output/index.html").toString().match(/<script
 class="tiddlywiki-tiddler-store" 
type="application\/json">([^<]*)<\/script>/)[1]);console.log(tiddlers)

Questions and comments welcome,

Best wishes

Jeremy

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/10C57C7B-76DE-4FDE-AB94-F778FEE85BC2%40gmail.com.

Reply via email to