By the way, I've found a fix <https://github.com/ibnishak/Timimi/pull/24/commits/0d191a96d6fabc135a3e8691500bffe5ce8c2027> for TiddlyFox's injectedLoadFile so that it now works with paths containing non-ASCII chars and proposed <https://github.com/ibnishak/Timimi/pull/24> to apply it to Timimi (along with supporting TWC). I've took a look at injectedLoadFile implementation <https://github.com/Jermolene/TiddlyDesktop/blob/ffd0c7be4d4220a67211e3b18ece208d11d305e4/source/js/utils/classic-inject.js#L30> of TiddlyDesktop and found that it, like Tiddloid, doesn't load any files except for TW itself. Jeremy, is there any particular reason for such a restrictive implementation? Are xhr forbidden in that environment? This is even more important since I presume that Tiddloid's implementation is actually a copy of TD implementation.
понедельник, 17 июня 2019 г., 15:36:39 UTC+3 пользователь Yakov написал: > > Hi Mario and Jeremy, > > thanks for your responses. Now that I've adapted Timimi for TWC via plugin > <https://groups.google.com/forum/#!topic/tiddlywikiclassic/TCuPSb2uMfQ> > and also created a PR <https://github.com/ibnishak/Timimi/pull/24> to > support it "natively" by Timimi, I've got more specific questions. First, > Mario, could you clarify this bit: > > tiddlyfox.js ... outdated, but the mechanism is the same >> > > what you consider outdated? Do you refer to it being *named* > "tiddlyfox.js" while it's used for Timimi and TiddlyDesktop which are more > up-to-date? Or you mean that the *saver design* itself is outdated in > some aspect? > > Second question is: why all the savers call the callback with null as the > first (and only) argument? I guess, it's a placeholder for some specific > design, could somebody clarify it? > > Finally, and that's my main current concern, I'd like to discuss the > events system. The thing is, as far as I can see, "tiddlyfox" saver only > relies on the tiddlyfox-have-saved-file event fired on successful saving, > it doesn't listen to any ~tiddlyfox-have-failed-to-save-file event. And > hence Timimi doesn't implement firing such events. Which is not nice in > some cases (say, you have a TW on a removable USB storage device, you > remove it, then press save, and don't get any notification about saving > actually failed) and for some applications (well, that's needed at least in > TWC upgrading engine which displays the stage/status of the procedure). So > I'd like to propose introducing such an event. But since Timimi is designed > for TW5 in the first place, I'd like to discuss the design of the event > with you so that Rizwan have a reference and can participate the discussion > too. > > Now, tiddlyfox-have-failed-to-save-file is definitely not a nice name, > because TiddlyFox is both outdated and doesn't fire such an event. So it > should be something more abstract, I think. Like > tiddlywiki-saver-have-failed-to-save-file or something shorter like > tiddlywiki-saver-fail. Ideally, such an event should hold some values > that help identify the cause of a fail (folder doesn't exist, permission > denied, .., unknown), presumably in a form of some codes (unknown = 0, > folder doesn't exist = 1, ...) so that localization is possible. A second > thought is: if such new event is introduced, perhaps new events should be > used for saving-request and saving-succeeded too (both old and new events > should be fired for backward compability): I'd propose > tiddlyfox-have-saved-file → tiddlywiki-saver-success and > tiddlyfox-save-file → tiddlywiki-saver-request. So that we have: > > init saving: tiddlywiki-saver-request (+ tiddlyfox-save-file for backward > compatibility) > saving succeeded: tiddlywiki-saver-success (+ tiddlyfox-have-saved-file > for backward compatibility) > saving failed: tiddlywiki-saver-fail > > Perhaps an even better choise would be to give names for arbitrary IO > operations (saving, loading, saving binaries etc) which could be: > > init saving: tiddlywiki-backend-save-request (+ tiddlyfox-save-file for > backward compatibility) > saving succeeded: tiddlywiki-backend-save-success (+ > tiddlyfox-have-saved-file for backward compatibility) > saving failed: tiddlywiki-backend-save-fail > and can further be extended to things like > tiddlywiki-backend-load-request, -success, -fail > etc > > What do you think? > > Best regards, > Yakov. > > PS1 I think the scope of docs which I proposed in this thread is actually > "TiddlyWiki interoperability and data formats". > > PS2 Besides multiline fields, there's another issue about .tid format, > namely convention regarding filenames (say, tiddler name contains * which > is not allowed in filenames – what should be the .tid filename? Obviously, > the convention should describe a reversible convertion (without > ambiguities). > > PPS To test: how does TiddlyDesktop handle such fields and filenames in > .tid files? > > среда, 10 апреля 2019 г., 12:37:38 UTC+3 пользователь PMario написал: >> >> On Sunday, March 24, 2019 at 3:58:40 PM UTC+1, Yakov wrote: >> ... >> >>> in the latest release of TiddlyWiki Classic I've fixed the upgrading >>> engine and now it's time to deal with saving more consistently. That's >>> where I'd like not only to ask about some dev aspects but also discuss some >>> conventions and create docs for consistent support of saving both TWC and >>> TW5. >>> >> >> Some basic info about savers can be found here: >> https://tiddlywiki.com/dev/#Saver >> >> If you have a closer look at the implementations >> <https://github.com/Jermolene/TiddlyWiki5/tree/master/core/modules/savers> >> >> - tiddlyfox.js ... outdated, but the mechanism is the same. >> - beaker.js ... new saver using the dat-project >> - put.js ... WebDav PUT saver. >> >> IMO this info should be enough to create your own simple saver. ... I >> think the upload.js used a php server side. >> >> If a "save action" is triggered, the core uses the saver.canSave() info >> to check if the saver can be used at all. saver.info() returns the saver >> capabilities and the priority. >> >> If several savers are able to provide the needed save action, the saver >> with the highest priority wins. ... ATM "There can be only one >> <https://www.youtube.com/results?search_query=there+can+be+only+one>!" >> >> have fun! >> mario >> > -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/tiddlywikidev. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/5d27859a-a258-41c3-8d12-e3a814635128%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
