Jeremy and all: I "broke" the pre-release this morning, recklessly pushing the limits with field-names (saving on github).
Alas, it's not easy for me to reconstruct what the last straw was. I don't know how to restore (to the most recent non-broken version) with github, so as to retrace the most recent steps. (What's public-facing, now, is now a very early state that I restored from Chrome, where I had opened it up prior to digging in much: https://springerspandrel.github.io/tw/new-json-tw-experiment.html) Here's the github history url: https://github.com/springerspandrel/tw/commits/c5a8c5807f22eb35cec72baf9b5a496a1d7a67ac/new-json-tw-experiment.html My best quick reconstruction: 1. I had begun by pushing the boundaries with field-names (Japanese words (yay!); emoji; names with spaces and eventually getting bold with special code-like strings). I switched from Chrome to Safari to observe some of the ways that the browsers differ in how/whether they display emoji (such as ⁉️ <https://springerspandrel.github.io/tw/new-json-tw-experiment.html#%E2%81%89%EF%B8%8F> ) 2. I spent a while tinkering with getting Shiraz dynamic tables to show a row for each non-system field, then making each field-name into a tiddler by filling in its caption column and various other silly field parameters, like a ★★★☆☆ rating column. (I discovered Shiraz can apparently can also render columns not only for emojis and such, but also for field names with spaces, if you just put [[field name]] in double-brackets). All was behaving well, and saves were surprisingly fast... 3. I had moved on to trying to define a macro to expand within Shiraz, to get Shiraz to work with the string $(whatever-this-tiddlers-non-system-fields-are)$ as column set... (I had pulled in a tobibeer code about exercise-values to reverse-engineer, so any version with the string "exercise" is close to when it crashed). It was while I was tinkering with that macro-variable tiddler (and perhaps with a stray keystroke I unwittingly committed the tiddler and triggered a save?) that the whole thing crashed. Somehow with one keystroke the browser window blinked to white, and all attempts to reload yielded a completely blank screen (until I over-wrote with the much earlier version from other browser). So, as Jeremy says, the pre-release is not for vital projects yet. ;) I'm happy to "help" by trying to break it again, but since I'm not sure what went wrong, I'll take a break until someone else has some insight. If I need to do anything at github to help others see "under the bonnet" ;) , I'm happy to do that. I'd also welcome tips on how to get github to actually download files from the history (When I try, I just get html within a new browser tab). -Springer On Wednesday, July 14, 2021 at 7:35:46 AM UTC-4 [email protected] wrote: > It doesn’t sound very exciting, but the new JSON-based store area has now > been merged into the 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 > > 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 > > 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/ce92fef7-a1a5-4e5f-a644-9db003c797acn%40googlegroups.com.

