InnerWiki but for outer wiki?

I wonder if one could achieve what the InnerWiki plugin does but for an external wiki? I’m primarily thinking of how the $data widget can populate the loaded wiki with tiddlers from the current wiki.

The InnerWiki plugin is written in js so I don’t understand it, but the whole concept is based on an iframe. But the iframe html element doesn’t accept any content (so you can’t do <iframe><$data .../></iframe>)

This is all a very hypothetical question; the background is the thoughts expressed in this thread where a central idea is that tiddlywiki.‍com would host tiddlers that are (maybe) administered by someone else than Jeremy. So my reason for asking here is to explore if perhaps such “outer wikis” shown on tiddlywiki.‍com could be loaded with a mix of external and local tids - e.g to ensure that official plugins are of the latest version, they could be loaded from tiddlywiki.‍com itself, perhaps even the $:/core).

I recall discussions about adding support to the Innerwiki and testcase widgets to accept a blob of JSON as a parameter. I do not currently recall if that has been implemented yet for the Innerwiki plugin.

The ability to pass JSON representing tiddlers to the Innerwiki plugin would make it possible to fetch a remote wiki and extract the tiddlers as JSON. However, the server hosting the remote wiki would need to support CORS, and the core currently does not have an easy mechanism to filter the JSON blob to exclude specific tiddlers.

Thanks. I guess the answer is even more hypothetical than the question :laughing:

I’d think that the InnerWiki is currently not used very much for this reason; I only played around with it properly now and previously I’ve kind of thought “cute, and perhap useful on tiddlywiki.‍com - but I have no use of a small copy of my own wiki in my own wiki!” but if it would allow users to show/demo e.g tiddlywiki.‍com inside their own wikis, then it would be useful e.g for plugin makers etc.

You can export the inner wiki as a full wiki if you want. You may have to be careful not to overwrite the parent wiki with save.

I’d like to be able to use innerwiki to nest other wiki’s and be able to save them as a json tiddler, allowing me to essentially save multiple separate wiki portions in 1 html, I’m tweaking around with the share plugin for this but it’s not really a thing I think was ever intended for innerwikis either, I wish there was a way to “fetch” remote tiddlers without node.js like <$fetch location=“www.tiddlywiki.com” [tag[GettingStarted]]> or something to that nature would make the idea of external wiki possible, theoretically it should be possible?

Did some digging and theoretically this can be done, I found an old plugin by inmysocks https://twederation.tiddlyspot.com/ that allows fetching/cross talk, in theory, a remote tiddler could be fetched and rendered however you still couldn’t save that remote wiki I don’t think, the <iframe> method might be better, you can already “cross talk” with a few methods other then this, the browser storage would allow for shared tiddlers, the tiddlywiki share plugin can send tiddlers to the iframe that don’t exist as a tiddler in the host wiki (see: Share — tools to share tiddlers via URLs) and tiddlytools has an epic cookie plugin/tweak that can also be used if it’s under the same domain. At a certain point using innerwiki for external wikis can be problematic.

1: you are essentially “HotSwapping” the core, thus can break features or cause inconsistency.
2: innerwiki has no real save function as it’s primarily for demonstration and testing I believe.
3: you run the risk of overwriting your current wiki
4: innerwiki has limits that don’t exist in <iframe>, you can pass variables to an iframe, and open it in a popout, while <$data..> can kinda take variables you’d have to specify them as tiddlers so permaview urls wouldn’t work.

But I suppose in theory, tiddlywiki could probably do it from what I’ve seen I’ve yet to see something it can’t really do honestly. There are workarounds you could do to get a similar “outerwikis” experience using something like tiddlywiki Share. For example I had a rough design for a “login” that opened a popup with a tiddlywiki iframe and then sent back the login details like name, icon, etc. All using share. That’s my take atleast.

Funny you should bring that up - I just spoke about it in a private conversation mere hours ago. Anyway, Jed and I built it long ago and while it does enable transfer of tiddlers, and it actually also relies on an iframe in the background, I think TiddlyWikis now native tm-http-request features can improve what it does.

Anyway, the OP was mostly a hypothetical question. As commented in that other thread I refer to in the OP, there are other factors that determine if the whole question is of actual interest.

Thanks for your input!

I actually saw that XD, I do like the brain storming in my honest opinion I think that TW5’s limits are more so only limited to your skills, I truly think k tw itself is unlimited. In a sense I’m not even amazed anymore I’m at the phase where every time I see a new device I’m like “how can I put TiddlyWiki on this?” No doubt the concept is possible just might be clunky. What might be a neat concept for it is having something like “plugin previews” where you can see what your wiki would look like with a plugin without having to install it, remotely loading plugins to an innerwiki with all your edits to see of it breaks or how it feels, dataloss is terrifying.

False, Inner wiki runs a complete wiki inside its a window, you can save an download that wiki, from within it. See my warnings.

I could not see anything that could not be passed into your innerwiki

I am sure this can be done. Plugins can be installed but disabled in the parent wiki such they appear enabled within the inner wiki.

  • Perhaps even simply make the inner wiki identical to its parent except for the Plugin enabled.