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.

Reply via email to