Feature request: File Uploads via Timimi

@saqimtiaz please tell me if there is a better place or way to raise a Feature request.

As I understand it your file uploads plugins key feature is to upload files dropped to the underlying saver and is particularly critical on server based savers where it can be harder to save to the host. This is a wonderful solution.

But it occurred to me the plugins title “File Uploads” could easily apply to a users “native file system” and single file wikis such as Windows and Linux.

Timimi for example allows us to save single file wikis to the local file system", you install Timimi native host (once) and a browser extension, and this supports great range of Supported OS and Browsers. Just open the file in the browser and save back, with automatic backups.

It dawned on me if the File uploads plugin also supported Timimi some very interesting use cases flow from that, and on every browser and platform it supports.

Users could have a TiddlyWiki in a given folder open in the browser on which files can be dropped and placed in the folder alongside the tiddlywiki, however each file will also have its existence captured in the tiddlywiki allowing management of the files therein, effectively placing a managed logical layer over the native local folder.

  • Files can be organised, metadata retained, search terms added, tagged and otherwise organised.
  • Of course this is also an opportunity to document the use of the folder on the native file system, placing a readme.html or index.html containing a custom single file wiki which contains usage, tools, how to etc…
  • A complimentary tool using <$browse multiple/> or simple “drag and drop” filenames from the native file system to pull files (or canonical links) into tiddlywiki (internal or external) would also complement the file uploads plugin.

Futures

  • With such an opportunity available each Operating system could receive some support tools to integrate these TiddlyWiki even more thoroughly. Providing drop zones through which files can be dropped or pasted (through a tiddlywiki) in the native file manger, on opening a folder open the wiki that manages it and more.
  • A simple example would be a right-click sendTo Wikiname, which would trigger a file upload to the folder the Wikiname “manages”.
  • Such solutions would implement and encourage installation on users desktops (and tablets) and effectively “TiddlyWiki enable” their computer, thus perhaps promoting the further uptake of TiddlyWiki.
4 Likes

Apologies for the late reply, this got buried in my backlog while I was away for a few weeks during the holiday season.

This is not quite accurate, the FileUploads plugin introduces Uploader modules that interface with the backend where the files are supposed to be saved. The Uploader modules are independent of savers and in fact do not interact with them due to core constraints. More details on how these different parts relate to each other, and core plans to reduce duplication and increase reusability in this area were discussed in the community call of August 17th, 2021 which I recommend revisiting.

Posting requests here is OK, though they should be addressed to the wider community rather than to me personally. FileUploads is a Commons plugin - rather than something I am personally responsible for - and as such further development is driven by community consensus and support.

The process for trying to add support for a new backend uploader looks something like this with the Commons model (in no particular order):

  • the community finds a developer willing to work on it.
    • assess if the backend is viable to write an Uploader for.
  • the community provides support for their work if needed via OpenCollective.

Some background that might help in understanding the processs:
I volunteered to work on the first version of the FileUploads plugin and the Fission uploader, and my work was partially supported by community funding via OpenCollective. That work has been completed. There is a grey area of providing supports for bugs and maintenance as the Commons model evolved as we worked on it and was not originally discussed, I am volunteering to provide support for bug fixes for the FileUploads plugin and FissionUploader for the near future.

The development of this plugin and the Commons is in part an experiment to try and find a sustainable model for community driven TiddlyWiki development. As such, there is a strong preference that in order to gain greater insight and experience in the process, we involve other community members and developers to work on future backends. We currently have two backends that we are collecting funds for on OpenCollective and are looking for developers for:

On Timimi:
I am not familiar with this saving method nor does it align with my personal interests - I strongly prefer WebDAV for local saving of single file wikis. I had a quick look to try to ascertain the feasibility for creating an Uploader that works with Timimi. My first impression is that this would require a significant rewrite of Timimi itself as it does not seem to support saving arbitrary files to specified locations. This would therefore be a larger piece of work than just writing an Uploader for a backend that already has the requisite support/API that we can work with, something to keep in mind when looking for a developer for this work.

1 Like

@saqimtiaz I am glad you had some time away.

Whilst I named you at the top of my post I intended this to be

addressed to the wider community

So to the wider community I ask could we integrate the File Uploads plugin (or another) with the browser download mechanism. See below The download mechanism

Replies to @saqimtiaz follow
Unfortunately I do not understand the consequence’s of;

the FileUploads plugin introduces Uploader modules that interface with the backend where the files are supposed to be saved. The Uploader modules are independent of savers and in fact do not interact with them due to core constraints.

However I am revisiting the thread you recommend.

Thanks for your potted history, I also support the;

the Commons … [and] a sustainable model for community driven TiddlyWiki development

Question:

  • Can I install one of the WebDav servers such as Widdler: Another Tiddlywiki Saver based on WebDAV and use the file uploads plugin with it? That would provide a way to use file uploads plugins to manage wikis with a local file upload destination.

On Timimi:
Context: The Timimi saver uses a Browser WebExtension that makes use of native messaging API. Timimi — One saver to rule them all and “speaks” to a helper program we install. This is increasingly the “Modus operandi” for making use of the local file system.

The download mechanism

The key issue here is Timimi is a local file saver, and on opening a wiki from a location it can autosave back including additional files for backups. But let us put this aside for a moment. The only take home here is Timimi is all about maintaining wikis at local file addresses, save open and resave.

It seems to me that the functionality of the file uploads plugin is on receiving a file it;

  • Triggers the upload (saves a file on the host)
  • Creates a tiddler that references that “external file”.

There is understandable complexity with saving files on the host as there are different protocols and technology involved eg the “uploader Modules”. However when using a local file system this step can be managed by downloading to a named folder.

It is here I wonder if the File uploads plugin would allow the “save to host step” to use the browser download mechanism? Basically make it another “Uploader Module”.

If for example I had access to the server file system, be it local or remote (eg: local file system or hosted in my cpanel account) and the file uploads worked with the download mechanism, I would be able to make use of the file uploads plugin to create the external tiddler and save the file.

  • In this scenario it will not allow seamless file uploads online internet users because there is no host specific “Uploader module”.
  • Instead the wiki owner can still use the download mechanism to do a “File Upload”, and maintain a wiki with externalised content.

I revisited the video as you suggested, and I would add I was very interested in you mentioning how the tiddlywiki could find files under it and build a canonical link for each. Sure it would help with importing images and other content, and particularly useful.

I am just making a note here, because it would be worth considering if this process can iterate folders and the files within them.

Why?,

I have long though TiddlyWiki could be a layer on top of a filesystem to manage that file system. As you may tag images with metadata you could tag other file types surface links and in the right environment also allow execute links. One image I had was dropping a prepared tiddlywiki in a folder, open it and start managing the file and folder content below it.

  • This would support highly interactive file systems, including forms of document management etc…
  • It could also allow a structured environment with lots of supporting file content that could be exported to a complete interactive environment that can be published including as a site generator.

Regards
Tones

1 Like

See File Uploads plugin: updates - #4 by saqimtiaz

1 Like