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.

Reply via email to