It took me a while, but I patched up Evan's Modloader plugin to work with 5.1.20-pre, so I can patch in the handful of function calls I need into the core. These then call my JSON utilities library functions. If it were easier to replace the built in ones in the core with user-added ones, that'd be neat.
As is, I've gone and updated Evan's Formula plugins & am very lose to having my JSON plugins running on 5.1.20-pre (see other announcements). So, I'm comfortable saying we'll soon have the tools to start exploring this space. Best, Joshua Fontany On Thursday, July 25, 2019 at 4:15:56 AM UTC-7, Jeremy Ruston wrote: > > Hi Tony > > I appreciate the continued focus on leveraging tiddlers as the basic store > but we need to extend their handling in some ways if we want them to also > represent records in the equivalent of database tables. Here I am thinking > of hiding the "data record" tiddlers from standard searches without > prefixing them with $:/ > > > The way to do that is probably to make a custom search results tab that > hides the tiddlers you want to ignore/ > > and somehow enabling *the same key (tiddlername) *to be used to address > different records in different logical tables/or namespaces (see below). > > > The title is a unique key. If you want to address tiddlers by a non-unique > key then you’d use a field. > > To me however allowing the designer to to make use of fully featured "data > tiddlers" adds great strength to tiddlywikis ability to respond to all > possible data structures someone may wish to represent in tiddlywiki. > Enabling JSON to the fullest extent also increases TiddlyWikis ability to > interact with external data sources as many sources such as xml can be > converted to JSON if not yet available. We do not need to code for all > possible data sources if we comprehensively adopt a robust standard like > JSON because we can leverage external tools written for the conversion of > data between standards and maintained by others. > > > Are you saying that you’d like TW5 to have better interop with existing > JSON files and APIs? I think Joshua is exploring the approach of extending > the existing data tiddler mechanism. In some of my own work I have explored > a different approach, “exploding” JSON documents into multiple tiddlers, > where each tiddler represents a node of the document. It’s one of many > incomplete plugins that I must get around to releasing. > > Joshua's tools are extensive and I hope they may improve such handling in > the future. > > *Given the maxim that if you place a problem on the table you should place > a possible solution there as well;* > > - If we could introduce additional name spaces which are not in the > tiddler name, such that when one of these is set the <<currentNamespace>> > can refer to the tiddlers there in with <<currentTiddler>> then a database > table could be created in its own namespace, with identical tiddler names > to those in other namespaces. A names space can be used as a table name. > > I’m not sure I’m following your exact meaning, but it sounds like you want > TW5 to behave more like a database. > > > - Of course this would be a challenging thing to implement but its > benefits would be extensive and would allow further use of tiddlers as the > atom of data. Careful design would make the use of additional namespaces > invisible until a user/designer starts to use additional ones. > > I’m not sure what you mean by namespaces, but some of what you’re > describing sounds like the plugin mechanism. > > > - To be able to filter tiddlers in one namespace and use this as a key > to tiddlers in another namespace would be needed. > > Maybe you’re talking about something like TiddlyWeb’s “bag” model of > storage? We have considered implementing that model within TW5 itself, > whereby the store would be a list of independent bags. > > > - This can be done with prefixes, remove prefix and lookup operator > but the logic is far more complex and harder to follow or design. > > Core changes are expensive, even if only in opportunity cost. If something > can be done without needing core changes then it’s hard to justify > prioritising those changes, especially if the proposal is in such an early > state. > > In this particular case, it does sound like prefixes are the way to go. > It’s a standard technique used endlessly by the core, and of course it’s > the natural to slice up a single namespace. > > Best wishes > > Jeremy. > > > > Regards > Tony > > On Thursday, July 25, 2019 at 2:49:00 AM UTC+10, Jeremy Ruston wrote: >> >> Hi Mat >> >> Some history that may help… data tiddlers were added quite close to the >> start of TW5. They were part of the work to implement colour palettes; I >> was concerned about the proliferation of tiddlers if each system colour >> were to be given its own tiddler. >> >> >> https://github.com/Jermolene/TiddlyWiki5/commit/baff9016858133d300a9662ffd1782568454f8eb >> >> My initial intention was to provide support for generic JSON tiddlers, >> with syntax to address individual items within such a tiddler. Data >> tiddlers would have been one of a number of alternative representations for >> specific schemas. Joshua is now exploring ideas along those lines. >> >> But my gradual conclusions were that: >> >> * Adding the “index” mechanism for addressing items within a data tiddler >> introduced a lot of complexity right across the code base that is still >> there today >> * Figuring out an addressing mechanism for items within a JSON object >> would end up re-inventing something as complex as JSONPath >> * Proliferation of tiddlers isn’t actually a problem for performance with >> the core. The problem is more cognitive; too many random tiddlers and most >> of our lists become useless. There are lots of ways we can address that >> issue — for things like palettes I would we might pack the individual >> tiddlers into a plugin >> >> We do of course also use JSON as a container format for tiddler files, >> but that is handled by the import mechanism. >> >> Best wishes >> >> Jereym >> >> >> >> On 23 Jul 2019, at 02:32, Mat <[email protected]> wrote: >> >> What is the point with JSON tiddlers over regular tiddlers? What do they >> enable and what limitations are there? >> >> One point that I do get is that other software often has the possibility >> to export/import JSON so it could enable data transfer with TW. >> >> There does not seem to be an advantage when it comes to data tiddlers >> because the JSON data tiddlers can only be on the JSON root level whereas a >> regular tiddler is deeper. >> >> One reason why I'm asking is because I hope to build a UI for Jeds >> FederationCore >> plugin >> <https://ooktech.xyz:8443/Public#%24%3A%2Fplugins%2FFederation%2FFederationCore> >> that extracts data from the so called tiddler "bundle" which is the >> format that fetched tiddlers come in. Bundles can be packed into a special >> bundle format or into JSON. >> >> Thank you! >> >> <:-) >> >> -- >> You received this message because you are subscribed to the Google Groups >> "TiddlyWikiDev" 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/tiddlywikidev/c8c24a82-a99e-402b-8b79-e6ff02ff8184%40googlegroups.com >> >> <https://groups.google.com/d/msgid/tiddlywikidev/c8c24a82-a99e-402b-8b79-e6ff02ff8184%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWikiDev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywikidev/f54ebf05-1eb0-4b9b-ac46-9e8230c196c1%40googlegroups.com > > <https://groups.google.com/d/msgid/tiddlywikidev/f54ebf05-1eb0-4b9b-ac46-9e8230c196c1%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" 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/tiddlywikidev/a29d3649-efc0-478e-ad97-bf80b47bb107%40googlegroups.com.
