Joshua, See this thread in dev https://groups.google.com/forum/?hl=en#!topic/tiddlywikidev/daX5Z5RCAfM
Importing a JSON tiddler containing tiddler format data as a plugin has some advantages. Perhaps even for other JSON files. Perhaps you could consider my idea of data plugin-type I raise in the thread. It stands to simplify the logic needed with update/sync/delete to match the new incoming Json file and even present additional features. One advantage being is you can load a considerable set of tiddlers and have modifications become active while preserving the original import. This allows detection of changes, undo etc... In someways one could consider a plugin snapshot of data as a "Stocktake", with the ability to apply subsequent transactions. Some smart workflows would export a new snapshot as needed and repackage it as a new point in time data set. Arguably by retaining all snapshots you could do a full long term data analysis (perhaps in a seperate wiki). There are also possibilities of transferring only changes thus reducing the size of imports. Less discuss further if it interests you. Regards Tony On Wednesday, January 15, 2020 at 7:10:44 AM UTC+11, Joshua Fontany wrote: > > I'm experimenting with exporting a product database to then import into > TiddlyWiki to display/search/etc. > > So, one of the big questions is updating. If each "snapshot" of the > database is one giant Json Tiddler, then this makes it much easier to point > the UI to an updated Json Tiddler "snapshot" with new inventory quantities, > prices, new product, products removed or archived, etc. > > If I have to split it up into individual tiddlers each time, then we need > logic to update/sync/delete to match the new incoming Json file. > > It's an interesting problem. I think I'm going to add a few functions to > my JsonMangler plugin to help process CVSs (there are some good libraries > out there that convert back and forth between CSV and Json Arrays) and > maybe a bit on the "splitting a Json Array into individual tiddlers" side > of things. That, of course, runs into the "what characters are legal in > tiddler field-names" issue that was raised recently - as Json is very > flexible with key-names... > > Best, > Joshua F > > On Sunday, January 12, 2020 at 9:43:16 PM UTC-8, TonyM wrote: >> >> SPringer, >> >> I forgot to say don't worry about having hundreds of tiddlers. A tiddler >> is a data record by another name. From memory and a little tweaking there >> are 66,000 plus tiddler single file wikis that work fine. >> >> Regards >> Tony >> >> On Monday, January 13, 2020 at 4:41:13 PM UTC+11, TonyM wrote: >>> >>> Springer, >>> >>> If you want to bundle tiddlers in a JSON, there is a very simple way to >>> do it. If you have you tiddler json file drop it on a wiki, normally you >>> would click import and they would become individual tiddlers, however >>> rather than import do the following. >>> >>> - Rename the $:/Import tiddler to you bundle name >>> - Change the plugin type field on your bundle tiddler to plugin and >>> delete the status field >>> - Save and reload your wiki. >>> >>> The tiddlers will be stored as shadow tiddlers and if edited an >>> overwritten shadow tiddler. Your could delete the plugin at any time, bhut >>> remember to clean up any edited tiddlers. They will thus stay as a single >>> json file but be accessible as tiddlers. >>> >>> I have argued before that we introduce a "data" plugin type for this >>> purpose. >>> >>> Regards >>> Tony >>> >>> On Monday, January 13, 2020 at 3:47:57 PM UTC+11, springer wrote: >>>> >>>> Tony and Joshua, >>>> >>>> I had been leaning toward the simpler JSON format that Tony is >>>> describing. But both of you are suggesting an approach that ends up with >>>> hundreds of tiddlers being generated from my database file during the >>>> import process... >>>> >>>> Well, I admit that a big part of the attraction of the JSON idea, for >>>> me, was the hope that this trove of data (24 x ~10-15 paragraph-long items >>>> plus their associated record data) would be all tucked into one JSON >>>> tiddler, portions of which would get "served up" in slices as needed. >>>> (That >>>> would have kept my wiki from feeling littered with so many tiddlers that I >>>> need to extract data from, but not edit, and which don't ever need to be >>>> visible as individual tiddlers to students.) >>>> >>>> At this point (with substantive content-edits to complete in the next >>>> week, a few other TW5 upgrade glitches to fix, and little longterm payoff >>>> for embarking on the JSON learning curve) I think I should take "the low >>>> road" with this problem. That means settling on the DetailsWidget >>>> accordion-style markup I'll use, and getting my database to organize the >>>> 24 >>>> excerpt sets I expect to use, and bundle them up with the right syntax. >>>> Then I can drag each set-worth into the wiki and I'm good to go (just as >>>> it >>>> used to be with Eric's NestedSliders). I'll be locked into DetailsWidget >>>> syntax for now (rather than slider or reveal or appear), but of course the >>>> css will still be flexible. >>>> >>>> In case anyone's curious, I did a pretty thorough comparison of the >>>> slider options I could find for TW5, and DetailsWidget GUI won out because >>>> expansion gets triggered anywhere on the "summary" block, rather than >>>> needing the eye-hand coordination to target a little toggle-triangle at >>>> left (or some other small button) to do the work -- again, it's something >>>> that matters while multi-tasking with a classroom-projected screen, though >>>> probably not while working in ordinary desktop environments. (I'm still >>>> sad >>>> that DetailsWidget doesn't allow me to apply styles to the text within the >>>> summary/label area, though; for academic purposes, it's really best to be >>>> able to italicize titles and foreign-language terms, etc., wherever they >>>> appear.) >>>> >>>> Though I'm letting go of this JSON curiosity for now, I hope the >>>> discussion might prove useful to someone down the road, and I'm grateful >>>> for your input! >>>> >>>> -Springer >>>> >>>> On Saturday, January 11, 2020 at 8:49:30 PM UTC-5, TonyM wrote: >>>>> >>>>> Springer, >>>>> >>>>> My own approach to this kind of issue would be to build a JSON using >>>>> the multiple tiddler format you can see inside the $:/import temp >>>>> tiddler, >>>>> or plugins, this is a very simple json format and does not use complex >>>>> json >>>>> syntax. Each of these with be changed into a tiddler on import. >>>>> Treat the different items either as fields; >>>>> qID: >>>>> source: >>>>> page: >>>>> pageMod: >>>>> excerpt: >>>>> tagline: >>>>> session: >>>>> >>>>> Or make each tiddler a dictionary tiddler which you can overlay with a >>>>> view template. In which you would place all these "fields" in the text. >>>>> >>>>> I am sure there is some devil in the details but I am confident they >>>>> can be addressed. >>>>> >>>>> Regards >>>>> Tony >>>>> >>>>> On Tuesday, January 7, 2020 at 9:35:29 AM UTC+11, springer wrote: >>>>>> >>>>>> OK, all. I have mentioned that in the classroom my students see lots >>>>>> of TiddlyWiki; I freely navigate links, on the big screen, to pull up >>>>>> relevant bits during discussion. >>>>>> >>>>>> But I'm also a kind of database nerd. In my office I work out of >>>>>> FileMaker. FileMaker is the "back end" of what I do in TW (and >>>>>> elsewhere), >>>>>> for lots of reasons. >>>>>> >>>>>> In TW Classic, I used calculation functions in the database to >>>>>> "extrude" marked-up content to paste in TiddlyWiki. >>>>>> >>>>>> - Example 1: my database has hundreds of quiz question-answer >>>>>> sets accumulated over the years, and in TWC I used a calculation to >>>>>> "dress >>>>>> them up" with Eric's NestedSliders syntax. Paste the complex result >>>>>> in a >>>>>> tiddler and.. Instant fun quiz GUI! >>>>>> <http://ethics.tiddlyspot.com/#Autonomy...> >>>>>> - Example 2: my database has thousands of quoted excerpts from >>>>>> books and articles. I used a database calculation to build a nice >>>>>> slider >>>>>> around each quote (page number and teaser, plus details-style slider >>>>>> to >>>>>> show full quote). After using the find function in the database to >>>>>> bring up >>>>>> a particular subset of quotes, I could grab a tiddler-worth of >>>>>> neatly-formatted excerpts >>>>>> <http://ethics.tiddlyspot.com/#%5B%5BKing%20passages%5D%5D> ready >>>>>> to paste and go. >>>>>> >>>>>> Now, I face a decision: Do I (A) just rework the TW5 calc field in my >>>>>> database (updating so as to dress each quote/quiz element in >>>>>> TW5-specific >>>>>> reveal/details/slider macro syntax, options still under evaluation), or >>>>>> (B) >>>>>> do I figure out how to go all-in on data structure, and use TW5 data >>>>>> features to grab the bits I need from a massive "in-house" JSON tiddler >>>>>> (not thousands of quotes, but hundreds), and use templates to display >>>>>> aspects of the database as desired? The second *sounds* great... >>>>>> >>>>>> HOWEVER (!), I have no experience with manipulating JSON data yet, >>>>>> and grasp only the syntactic basics of how fields and values are paired >>>>>> (plus the fact that FileMaker does have some JSON-handling functions, so >>>>>> export should be possible). With JSON, there would be a learning curve, >>>>>> but >>>>>> I don't know how steep. (I tried mocking up some JSON-looking stuff and >>>>>> pasting it into TiddlyWiki and giving it JSON data "type" and my wiki >>>>>> just >>>>>> blinked back at me and said, OK, there's a buncha funny looking text...) >>>>>> >>>>>> If I understand correctly, it seems the advantage of the JSON >>>>>> approach (once I figure out how to import the data) is that I'd have >>>>>> great >>>>>> flexibility to re-filter things on the fly within TW, and *also* great >>>>>> flexibilty in GUI. So, if I suddenly discover some new display macro >>>>>> approach (in the reveal/details/accordion/slider world) or I realize I >>>>>> want >>>>>> to change which fields to display and how, I modify my template once, >>>>>> and >>>>>> all the tiddlers that rely on it are instantly updated. On my old >>>>>> system, >>>>>> when I became inspired to tweak how these things display, I would have >>>>>> to >>>>>> shuttle back and forth to my FileMaker database, and perform copy-paste >>>>>> operations for each tiddler with the new syntax. >>>>>> >>>>>> So, for those fluent in JSON (and yet not unsympathetic to JSON >>>>>> newbies), would you advise me toward (A), or toward (B)? Or, am I not >>>>>> grasping the choice well yet? >>>>>> >>>>>> By the way, I'm guessing that the path of importing JSON data, if I >>>>>> don't ever convert it into regular tiddlers, seems to place more >>>>>> importance >>>>>> on the possibility of freelinking, since my database of quoted passages >>>>>> uses many terms that are in my glossary, and I've love for them to link, >>>>>> but all the data will stay "under the hood" within the JSON tiddler, >>>>>> right? >>>>>> >>>>> -- 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/20e32171-6a18-4344-96e1-6c3ce7bf3ca6%40googlegroups.com.

