Funding a core TiddlyWiki file uploads plugin

215 views
Skip to first unread message

Boris Mann

unread,
May 26, 2021, 3:33:10 AM5/26/21
to TiddlyWiki
At last week's Fission Demo Day, Jeremy presented and we also announced an initiative to build a plugin to support file uploads.

Saq very quickly reached out, we had a chat last week, and confirmed that he'll be leading the development of this as a core plugin.

The initial features include:
- create a new tiddler for each file
- link the file using a canonical URI
- resize images to create smaller thumbnails

I've personally funded the Webnative IPFS backend as the first thing that Saq will work on. Other backends / savers will be prioritized based on backers. There's an option for company sponsorship at a higher tier, with more direct recognition and promotion.


As a backer, your feedback, use cases, and feature suggestions are prioritized. Your name and web link will be included in the README and other communications around the plugin.

As well as this plugin, I'd love feedback from you all on what you think about this model? Can you help spread the word? Are there companies that you know that would be interested?

Also, if anyone is interested in coming up with a different idea for a plugin or other TW related projects, I'm happy to help promote it and support you in using Open Collective to reach your goal.

For instance, I don't know who is in charge of the TiddlyWiki Discord server, but one of the things we do in the Fission server is give special roles to people who contribute to open collective projects, as another piece of recognition.

-- Boris

Saq Imtiaz

unread,
May 27, 2021, 8:24:12 AM5/27/21
to TiddlyWiki
This has the promise to be a very interesting avenue of development for TiddlyWiki users, even for those not interested in using TiddlyWiki on Fission at the moment.

A frequently discussed limitation with using TiddlyWiki is that embedding images and other files leads to very large and unwieldy file sizes. The basic idea here is to develop support in TiddlyWiki so that when you import an image or another file, it is uploaded to external storage backends (think Amazon S3, Webnative IPFS, Github pages, Google Drive etc), and just save a tiddler in the TiddlyWiki pointing to those files.

The workflow might look something like this:
  • configure your wiki via a settings tab in the control panel to upload images to a storage backend of your choice that you have access to.
  • drag and drop an image to import.
  • the image is uploaded to your specified storage
  • a canonical_uri tiddler is created pointing to that image. 
  • You can now include the image in any of your tiddlers by just including the canonical_uri tiddler. However, the image is not stored in your TiddlyWiki and inflating its file size.
I've previously worked on a prototype of a plugin that does something similar for node.js and saves the images to the local file system. Thanks to Boris' support, I'll be able to dedicate the time to build on that work and the goal for the first version of this plugin will be to allow uploading files to Webnative IPFS when using TiddlyWiki on Fission. As far as possible, I will try to make the mechanism pluggable and usable with other storage backends, for which support can be added at a later date.

By getting involved now, you have the opportunity to support and influence the design and implementation of this feature, as well as the implementation of support for other backends.
Regards,

Saq

Stobot

unread,
May 27, 2021, 8:41:33 AM5/27/21
to TiddlyWiki
Thanks for that detail Saq - I didn't really understand what it was from Boris' description, and still don't really understand what Fission is or how it will help me / us. 

As a BOB user it sounds like what Jed put together for his saver (OokTech/TW5-ServerImages: Instead of importing images as tiddlers store them on the server and create _canonical_uri tiddlers (github.com)) , and it sounds like you've build something for node.js too. I will say that I now use node.js and do miss this feature of BOB - it's very helpful!

Saq Imtiaz

unread,
May 27, 2021, 9:32:10 AM5/27/21
to TiddlyWiki
What is Fission and what does it mean for TiddlyWiki?

In brief, you can think of Fission as a service to host your TiddlyWiki online similar to what is possible with Github Pages and TiddlyHost. Where it gets more interesting is that with Fission things like the following are also possible: generating a static site from your TiddlyWiki and publishing that to Fission as well, or publishing your TiddlyWiki as an app that others can make their own copies of, or saving images to Fission (which brings us back to this plugin). There is a lot more to it I would like to keep this thread focused on the topic of the Uploads plugin, so I invite Boris to create a new thread explaining Fission and its possibilities from a TiddlyWiki perspective. For reference, here are two previous on this topic:
 

Boris Mann

unread,
May 27, 2021, 9:33:09 AM5/27/21
to tiddl...@googlegroups.com
Clearly I don’t speak TiddlyWiki well enough!


On May 27, 2021 at 5:41 AM, Stobot (sto...@gmail.com) wrote:
Thanks for that detail Saq - I didn't really understand what it was from Boris' description, and still don't really understand what Fission is or how it will help me / us. 

Fission helps read / write files to the IPFS global network. With the TiddlyWiki on Fission code that Jeremy has written, anyone can host editions that new users can just start using without running a server.

I’ve funded the IPFS saver that works with Fission as the first step.

I will say that I now use node.js and do miss this feature of BOB - it's very helpful!

The plan is for Saq to build this to be part of core.

If you want to have a NodeJS saver — help fund Saq and say you want NodeJS prioritized.

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/21yCCLI0E7s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/cb9f2433-65cb-4229-9548-c2f036f5a515n%40googlegroups.com.

Saq Imtiaz

unread,
May 27, 2021, 9:39:33 AM5/27/21
to TiddlyWiki
Uploads plugin and node.js / BOB / TWServer

As @stobot points out - BOB which is a node.js server for TiddlyWiki - also offers a feature for being able to save files on the local file system instead of saving them as tiddlers. In fact, it was after a discussion with Jed (BOB) and Arlen (TWServer) that I first worked on trying to put together a generic option that implemented the same feature for all variants of the node.js server, using code from BOB as a starting point. Since then I've rewritten it completely to make it more robust, but as a third party plugin it still suffers from having to work around the way the core handles the import process and syncing on node.js.

Extending this proposed core plugin to also offer the same features in a robust manner for TiddlyWiki on node.js is entirely possible and the kind of thing users can promote with their support and involvement.

Stobot

unread,
May 27, 2021, 10:45:37 AM5/27/21
to TiddlyWiki
Gotcha - well it's not a huge pain point for me, but it is useful - I've now put in a donation and hope it works out. 

At the risk of slightly changing subjects, I don't know if the Fission thing could ever enable a multi-simultaneous-user environment (like BOB), but that's something I really *would* and *have* financially contributed to in the past. :)

Boris Mann

unread,
May 27, 2021, 11:03:06 AM5/27/21
to tiddl...@googlegroups.com



On May 27, 2021 at 7:45 AM, Stobot (sto...@gmail.com) wrote:
Gotcha - well it's not a huge pain point for me, but it is useful - I've now put in a donation and hope it works out. 

Thanks so much for your contribution! I think I need to create a NodeJS saver goal — I’ll note your contribution as a vote for that.

At the risk of slightly changing subjects, I don't know if the Fission thing could ever enable a multi-simultaneous-user environment (like BOB), but that's something I really *would* and *have* financially contributed to in the past. :)

Yes, once Fission itself supports shared files, then TiddlyWiki on Fission could easily support multi user.

This Google Docs Style collaborative editing functionality is very hard to implement, but generally we’re seeing new tech arise so that it can be a building block that more apps can include. Like Joshua’s usage of Yjs.

TW Tones

unread,
May 27, 2021, 6:11:31 PM5/27/21
to TiddlyWiki
If we ever were going to use a Google Docs Style collaborative editing functionality doing it in a tiddler at a time would be acceptable, Wiki design would then focus a little more on the tiddler than the wiki.

I am excited for the project on fission, it sounds great and I intend to donate, my only concern is the result is documented sufficiently I and other less experience users can make use of it. At the present its still a little too short and jargon filled. Plenty of assumptions are made about the reader of the project outline.

Tones
Reply all
Reply to author
Forward
0 new messages