[TW5] Updates to the MultiUser plugin and the Single Executable version

911 views
Skip to first unread message

Jed Carty

unread,
Apr 29, 2018, 6:07:44 PM4/29/18
to TiddlyWiki
There are some new updates to the (not yet renamed) multiuser plugin.

There are a lot of updates to the inner workings since the last release of the single executable. 

It no longer shows the dirty indicator in most cases because it wasn't accurate.
It also fixes some errors from when there are errors in given paths.
It adds a new command that starts the wiki without a server so it can be used with an external server, like an express js server, to go with this each web socket message is sent with an authentication token if one is saved in localstorage.
there will be fewer terminal messages now
reconnecting to a server after losing the web socket connection is more consistent
You can export each wiki as a single file html, but it is imperfect. Documentation for the new message is in the plugin. But there is something weird where the html file works everywhere aside from importing it into another wiki.
The settings in the control panel are only available on the root wiki because they should only be used there.
There is a checkbox in the control panel that adds the list of available wikis to a tab in the sidebar.

The plugin repo is here
The single executable version is available here


If you want to support the development OokTech has a patreon page here
or if you prefer there  is a link for PayPal here
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZG94CTLHTKYRE

Mark S.

unread,
Apr 29, 2018, 6:53:50 PM4/29/18
to TiddlyWiki
When I try using node, I get the following error output:

$ node ./tiddlywiki.js editions/MultiUserWiki  --wsserver
NodeSettings - Parsed raw settings.
NodeSettings - Parsed raw settings.
Websockets listening on  8081
Serving on 0.0.0.0:8080
(press ctrl-C to exit)
 syncer
-server-WebsocketAdaptor: Dispatching 'save' task: $:/ServerIP

$:/
plugins/OokTech/MultiUser/WebsocketAdaptor.js:90
     
var tiddlersPath = prefix === ''? $tw.MultiUser.Wikis.RootWiki.wikiTiddler
sPath
:$tw.MultiUser.Wikis[prefix].wikiTiddlersPath
                                                           
^
TypeError: Cannot read property 'RootWiki' of undefined
    at
WebsocketAdaptor.getTiddlerFileInfo ($:/plugins/OokTech/MultiUser/Websock
etAdaptor
.js:90:60)
    at
WebsocketAdaptor.saveTiddler ($:/plugins/OokTech/MultiUser/WebsocketAdapt
or.js:189:12)
    at
Syncer.dispatchTask ($:/core/modules/syncer.js:488:21)
    at
Syncer.processTaskQueue ($:/core/modules/syncer.js:431:9)
    at
Timeout._onTimeout ($:/core/modules/syncer.js:410:26)
    at ontimeout
(timers.js:365:14)
    at tryOnTimeout
(timers.js:237:5)
    at
Timer.listOnTimeout (timers.js:207:5)


Thanks,
-- Mark

Jed Carty

unread,
Apr 30, 2018, 2:41:06 AM4/30/18
to TiddlyWiki
Mark,

I was wondering what big thing I would miss this time. I forgot to merge the dev branch with master. It should be merged now, so you should be able to pull the new changes to the plugin to fix the problem.

Jed Carty

unread,
Apr 30, 2018, 4:44:44 AM4/30/18
to TiddlyWiki
There may be some errors in the single executable version for OSX that prevent it from properly changing the server settings from within the wiki. If you have a wiki already set up than using the new one isn't a problem, but if you try to make a new wiki it may not properly update the server paths. So if you are using the single executable version on OSX you may be better off continuing to use the older (rc3) version until I can track down the new problem.

And if anyone is using the single executable version on windows let me know how it is going, I haven't been able to do any real testing on windows with the new updates.

Mohammad

unread,
Apr 30, 2018, 5:09:18 AM4/30/18
to TiddlyWiki
Jed,
 I have downloaded the windows version. When I run the .exe file it opens Chrom with 127.0.0.1 whith message "The site cannot be reached!".
I have not a working node.js installed!

Best

Jed Carty

unread,
Apr 30, 2018, 6:45:30 AM4/30/18
to TiddlyWiki
Mohammad,

It does not require node.js to be installed. Does it work if you use the older version? It is available here: https://github.com/OokTech/TW5-SingleExecutable/releases/tag/0.0.5

Mohammad

unread,
Apr 30, 2018, 10:46:57 AM4/30/18
to TiddlyWiki
Jed,

The old version is working. It creates a IndexWiki in the same directory as .exe file and opens Chrome at http://127.0.0.1:8080/
Seems every thing in order!

So what's the problem with the new version?

/Mohammad

TonyM

unread,
Apr 30, 2018, 7:52:22 PM4/30/18
to TiddlyWiki
Jed,

I will be testing the windows version today.

I did try and run the exe in a new folder with problems, but since this was not my goal I replaced the exe in my existing install and it opened well

Now Its basic operation seems OK, For me it opens in firefox as my default browser (unlike Mohammad with chrome).

Regards
Tony

Jed Carty

unread,
May 1, 2018, 3:34:29 AM5/1/18
to TiddlyWiki
Tony,

Thank you for helping! The parts that I think are most likely to cause problems are making new wikis from within the wiki and changing the settings in the node settings tab.

Make sure to back up your settings.json file, so far all the bugs have been that nothing gets updated but backing up data is a good idea anyway.

Mark S.

unread,
May 1, 2018, 11:45:29 AM5/1/18
to TiddlyWiki
Tried again (hand version), and this time it worked.

Where to I put images to have them served?

The very first tiddler I created didn't show up in "Recent". After that they seem to be appearing normally.

I created a 2nd Wiki, and then naively attempted to set it's address to an existing data tiddler.

But, I  made a mistake, and needed to change the path. Using the node plugin editor, it would not allow changes to the path. That is, it would allow them, but when I restarted the server the old setting was back.

So, I found and edited the split wikis tiddler in a text editor, and changed the path there. That seemed to persist after a server restart.

BUT, Bob  was not connected to the data tiddler specified.

How do I tell Bob to use an existing TW data directory?

Thanks!
-- Mark

Mark S.

unread,
May 1, 2018, 11:57:03 AM5/1/18
to TiddlyWiki
Additional: Reloading a browser page clears the "recent" tiddlers, making them effectively invisible.

Jed Carty

unread,
May 1, 2018, 12:43:54 PM5/1/18
to TiddlyWiki
Mark,

Are you using windows? There are some problems saving the settings. When you update the settings, and click the button to save them, it is supposed to update the json file. It may not be on non-linux systems and I haven't been able to figure out why. There is also a bug where tiddlers don't always save the created and modified fields correctly that I don't understand.

You can add an existing wiki by giving it a name and giving the correct path in the settings.json file. You may need to restart the server after doing that.

Mark S.

unread,
May 1, 2018, 1:11:48 PM5/1/18
to TiddlyWiki
Hi Jed,

Yes, on Windows.

The tiddlers seem to be saved with correct dates, e.g.:

created: 20180501165851388
title
: Hey I'm newer
tags:
modified: 20180501165857154

But they don't show up until Bob is restarted -- by hand. That is, pressing the little button doesn't seem to do anything though it does present that big, red message at the top. In the command line, there is this text:

 syncer-server-WebsocketAdaptor: Dispatching 'save' task: $:/StoryList
new connection
new connection
For New Enough Tiddler, type is application/
x-tiddler hasMetaFile is false filep
ath
is C:\Users\Mark\github\temp\TWM\editions\MultiUserWiki\tiddlers\New Enough
Tiddler.tid
saved file C
:\Users\Mark\github\temp\TWM\editions\MultiUserWiki\tiddlers\New Eno
ugh
Tiddler.tid
For Hey I'm newer, type is application/x-tiddler hasMetaFile is false filepath i
s C:\Users\Mark\github\temp\TWM\editions\MultiUserWiki\tiddlers\Hey I'
m newer.ti
d
saved file C
:\Users\Mark\github\temp\TWM\editions\MultiUserWiki\tiddlers\Hey I'm
 newer.tid
new connection
Restarting Server!
Closed WSS
NodeSettings - Malformed settings. Using empty default.
NodeSettings - Check settings. Maybe comma error?
Websockets listening on  8082
Serving on 127.0.0.1:8081
(p
ress ctrl-C to exit)
 syncer-server-WebsocketAdaptor: Dispatching '
save' task: $:/StoryList



I don't know if that's any help.

Ok, I did  get the configuration to find the other data tiddler.

Where should images go to be served?

Thanks!
Mark

Jed Carty

unread,
May 1, 2018, 1:32:41 PM5/1/18
to TiddlyWiki
Oh, sorry I didn't realise I missed your question in the previous post. Or that I haven't written documentation for this part yet. I will try to get to that tonight. I am not somewhere I can check to make sure that all of this is correct, so let me know if it doesn't work. You will have to restart the server after adding the filePathRoot to settings.json.


To server files you add a property to settings.json called 'filePathRoot' and give it the value that you want for the root folder for the files you want accessible to the wiki.


Something like:

"filePathRoot": "C:\Users\Mark\WikiFiles"

and then any files in that folder are served under the wikiurl/file/filename

where wikiurl is whatever the url of your root wiki is and filename is the name of the file you want.

By default to get a file called foo.jpg that you put in c:\Users\Mark\WikiFiles on the computer running the server it would be 

localhost:8080/file/foo.jpg

and you could use that url the same as you would for any other external image.

Jed Carty

unread,
May 1, 2018, 1:41:42 PM5/1/18
to TiddlyWiki
I think I am going to remove the restart server option completely. Since everything is synced with the file system the biggest reason to be able to restart the server no longer needs a restart and the other times when it is necessary don't work using the method I have set up.

Mark, 

Do the lines

NodeSettings - Malformed settings. Using empty default.
NodeSettings - Check settings. Maybe comma error?

show up when you start the server or just when you try to restart from inside it?

Mark S.

unread,
May 1, 2018, 2:33:22 PM5/1/18
to TiddlyWiki
So far no luck with filePathRoot, but I'm not sure what section you want it under -- assume it's the wsserver section but I've tried that and a couple others.

Also, with the secondary wikis, I found I had to use double back slashes (\\). But don't know if that is true for this variable.

Per your description, the intermediate directory /file/ always appears? Or is that a typo?

Will relative paths be available so that you can write [img[./file/my_image.png]] ?

Is there just one image directory for one instance of Bob? The various secondary Wikis might be associated with different image files.

Thanks!
Mark

Jed Carty

unread,
May 1, 2018, 3:26:28 PM5/1/18
to TiddlyWiki
The fileRootPath is part of the root section like this:


{
  wikis: {}
  ws-server: {}
  fileRootPath: '/some/path/here'
}

I haven't used windows in many years, I have no idea what the requirements for listing paths in window are these days. These settings are for the server and are not on a per-wiki basis so all of the files you serve should be under the one folder. If windows has symlinks than you can probably use those here.

The url has /file/ in it because that is the url path that serves the files. It isn't a folder.

I haven't used this much but I just got home so I will poke it a bit and make sure I didn't break anything.

Jed Carty

unread,
May 1, 2018, 3:50:28 PM5/1/18
to TiddlyWiki
Sorry, that should say filePathRoot, not fileRootPath.

It is working on my wiki using relative paths.

I have [img[./file/01.jpg]] in a tiddler and it works in linux at least.

And any subfolders under the folder listed as the filePathRoot are available.

So I have 

"filePathRoot":"/home/inmysocks/Pictures"

and then in the Pictures folder on my computer there is a folder called plants, in the wiki I can have

[img[./file/plants/Aloe.jpg]] and it shows the Aloe.jpg file in the plants folder.

Jed Carty

unread,
May 1, 2018, 5:54:01 PM5/1/18
to TiddlyWiki
The path and settings problems should be fixed in osx at least. It may also be fixed on windows but I don't have a way to test it. It should be fixed in both the single executable and normal node versions.

Mark S.

unread,
May 1, 2018, 6:14:58 PM5/1/18
to TiddlyWiki
Would it be possible to make it without "/file/" ? Or at least to specify the web path ?

Having it in a hard-coded "file" means that existing images with relative paths will break. It means that the data is not as portable between systems.

Thanks!
Mark

Jed Carty

unread,
May 1, 2018, 6:26:59 PM5/1/18
to TiddlyWiki
Yeah, that is probably a good thing to make configurable, I will add it to the settings. But I don't see how having the url set this way makes it less portable.

Mark S.

unread,
May 1, 2018, 6:32:48 PM5/1/18
to TiddlyWiki
Because now all your images have to have "file/" in front of them. If you already have a host of image "TW-Images/..." then you can't move back and forth without either spending a lot of time or losing part of your data.

Thanks!
Mark

@TiddlyTweeter

unread,
May 2, 2018, 5:35:36 AM5/2/18
to tiddl...@googlegroups.com
Ciao Jed

I tested using a fresh install. (Windows 7 64-bit / Firefox 52 is default browser).

I created two wikis easily. Created Tiddlers in them.

Then I hit a problem creating a third wiki ... that does not appear on the "wikis list" but is actually physically created ... Console reported ...


new connection
Wikis Folder Exists
Copied edition 'markdowndemo' to C:\bag\dld\Wikis\jedTestMD

WebSocket error, probably closed connection:  SyntaxError: Unexpected token o in JSON at position 1
    at JSON
.parse (<anonymous>)
    at
Object.$tw.nodeMessageHandlers.createNewWiki ($:/plugins/OokTech/MultiUser/NodeMessageHandler
s
.js:618:34)
    at
WebSocket.incoming ($:/plugins/OokTech/MultiUser/NodeWebSocketsSetup.js:182:57)
    at
WebSocket.emit (events.js:159:13)
    at
Receiver._receiver.onmessage ($:/plugins/OokTech/MultiUser/WS/WebSocket.js:156:47)
    at
Receiver.dataMessage ($:/plugins/OokTech/MultiUser/WS/Receiver.js:402:14)
    at
Receiver.getData ($:/plugins/OokTech/MultiUser/WS/Receiver.js:343:12)
    at
Receiver.startLoop ($:/plugins/OokTech/MultiUser/WS/Receiver.js:178:16)
    at
Receiver.add ($:/plugins/OokTech/MultiUser/WS/Receiver.js:152:10)
    at
Socket._ultron.on ($:/plugins/OokTech/MultiUser/WS/WebSocket.js:152:22)


Josiah

@TiddlyTweeter

unread,
May 2, 2018, 5:50:04 AM5/2/18
to TiddlyWiki
Jed

I replicated that issue. Did a fresh install. Created two wikis. Attempt to make a third that failed exactly the same. The wiki is created but doesn't appear on the list.

J.

@TiddlyTweeter

unread,
May 2, 2018, 6:09:56 AM5/2/18
to TiddlyWiki
Jed

I reverted to a fresh install of the previous version. I created 4 wikis without problem.

J.

Jed Carty

unread,
May 2, 2018, 7:05:04 AM5/2/18
to TiddlyWiki
Were all three wikis using the same edition?

That is an odd error to get here. After it fails does the tiddler $:/WikiSettings/split have anything in it?

TiddlyTweeter

unread,
May 2, 2018, 7:41:31 AM5/2/18
to tiddl...@googlegroups.com
Were all three wikis using the same edition?

No. They don't have to be. On the first fail the first two were the same and the third was different. On the second fail they were all the same.
 
That is an odd error to get here. After it fails does the tiddler $:/WikiSettings/split have anything in it?
 
title: $:/WikiSettings/split
type
: application/json

{
   
"wikis": "$:/WikiSettings/split/wikis",
   
"ws-server": "$:/WikiSettings/split/ws-server",
   
"suppressBrowser": false,
   
"serverInfo": "$:/WikiSettings/split/serverInfo"
}

FYI also ...

title: $:/WikiSettings/split/wikis
type
: application/json

{
   
"testJed1": ".\\Wikis\\testJed1",
   
"testJed2": ".\\Wikis\\testJed2"
}

FYI, the physically created wikis are ...

testJed1
testJed2
testJed3

 "testJed3" does not appear on the list of wikis.

 

@TiddlyTweeter

unread,
May 2, 2018, 9:02:19 AM5/2/18
to TiddlyWiki
Jed

The behaviour on the new release was so odd I tested it on a completely different machine to be sure it is real.

On a Windows 10 tablet I can replicate the behaviour--that you can create 2 wikis, but not 3.
 

Jed Carty

unread,
May 2, 2018, 10:21:57 AM5/2/18
to TiddlyWiki
I think that I am going to need to borrow a windows machine from someone to track this one down. I have no idea what could be causing it.

Jed Carty

unread,
May 2, 2018, 3:38:13 PM5/2/18
to TiddlyWiki
Ok, it may actually work now. If you have time please try again.

@TiddlyTweeter

unread,
May 2, 2018, 3:57:03 PM5/2/18
to TiddlyWiki
Thanks!

Looks like solved.

I made 5 wikis and in each made a Tiddler. All worked.

Its a neat bit of kit.

Kevin Kleinfelter

unread,
May 2, 2018, 6:39:14 PM5/2/18
to TiddlyWiki
Is there a way to run the single-executable on a headless Linux box?  It seems to launch the server OK, but then it fails and throws errors because it can't launch a web browser.

On Sunday, April 29, 2018 at 6:07:44 PM UTC-4, Jed Carty wrote:
There are some new updates to the (not yet renamed) multiuser plugin.

Kevin Kleinfelter

unread,
May 2, 2018, 10:34:24 PM5/2/18
to TiddlyWiki
I too have the tiddlers-don't-show-up-in-Recent-after-page-refresh-until-after-restart problem.  And I turn off the preview pane, and it doesn't remember that change after a page refresh.

I'm running on Ubuntu Linux 16.04, with node 10.0.0, using the plug-in (not the one-file executable).  I'm running the server on a Linux box and accessing it from Safari and Chrome on a Mac.

Preview pane is just annoying, but not showing up in Recent is a show-stopper for me.

These behaviors happen on the sub-wikis.  The root wiki's Recent tab works just fine, and it remembers my preview-pane selection.
Thanks,
kevin

Jed Carty

unread,
May 3, 2018, 4:40:06 AM5/3/18
to TiddlyWiki
Kevin,

You may be able to run the single executable version on a headless linux box if you set the suppressBrowser option to true in settings.json. I haven't tried it, I just run it normally in node on my headless server. In settings.json put

"suppressBrowser": true

as one of the root level properties.

The creation fields bug has been around a while and I haven't been able to find any reason. I should eventually get to it but it has been low priority for me. And the preview being visible by default is part of the 5.1.16 and Jeremy has addressed that in other threads, the reason here is the same, state tiddlers aren't synced back to the server.
Message has been deleted

Stobot

unread,
May 5, 2018, 10:32:15 PM5/5/18
to TiddlyWiki
Jed - just wanted to reach out and pass along a huge thank you for this! The multi-user capability that's easy to setup on Windows has been on the top of my wish list since TW5 made the tiddlylock plugin inoperable.

While this is very easy, I still got confused trying to get it working once everything was opened. There is a button to set to 0.0.0.0 but then the text says press button for reset server, but the description after the button also says reset server afterwards... I'm probably just an idiot. I tried many things including eventually finding a tiddler with a reset button, not sure if that's what finally got it working, or if it was the multiple close / re-open operations etc.

Anyways, very impressive!

Jed Carty

unread,
May 6, 2018, 3:01:43 AM5/6/18
to TiddlyWiki
I am often bad at writing documentation, so you are almost certainly not the problem. I have been busy with other things ever since I made this so I haven't done much other than try and fix bugs and it needs a pretty big update to the setup documentation.

So that I can try and find places that are giving people trouble and fix them, which version are you using? The normal plugin or the single executable version?

Stobot

unread,
May 6, 2018, 8:05:30 AM5/6/18
to TiddlyWiki
Executable version (Windows) in the Hello! tiddler.

Just for informational purposes, I'll also note that after downloading and running the tiddlywin.exe file, my virus scanner (Symantec Endpoint Protection) intervened and quarantined it so had to work around that as well (I use a work computer that's pretty locked down). It labelled it as "WS.Reputation.1" though not sure that's useful.

Mark S.

unread,
May 6, 2018, 11:35:51 AM5/6/18
to TiddlyWiki
You mean TiddlyWin.exe? For what its worth, I downloaded it, and neither Avira nor Malwarebytes detected anything.

-- Mark

Jed Carty

unread,
May 6, 2018, 11:51:20 AM5/6/18
to TiddlyWiki
Much of the commercially available firewall or virus detection software is going to treat anything that isn't associated with windows as suspicious. Depending on what software is on the computer you may get messages about network access and about running something suspicious and untrusted.

If you trust someone as suspicious as me enough to run software I made on your computer is completely up to you.

Jed Carty

unread,
May 6, 2018, 12:17:53 PM5/6/18
to TiddlyWiki
I just pushed some new changes. Most people probably won't see any difference but there are two potentially important things:

1 - The rusScript message can not be set to run scripts in sequence. This means that you can have tiddlywiki read you one tiddler at a time using the 'say' command on osx. (Thanks @Xavier for pointing this out!)

2 - There is now a big note of doom that explains what 'available on the local network' means.


I think that the only thing keeping this from being version 1.0.0 is documentation and a simple interface for all the configuration options. I have no idea how long it will be before I get around to making either of those.


I may have mentioned this before, but I have decided that I am not putting access control and authentication inside the wiki itself because there are too many places to make critical errors in terms of security and privacy. So instead there is the externalserver command that you can use to use tiddlywiki like a normal node module and serve the output using something like an expressjs server. That lets you use standard methods for security and authentication without it being tangled up with the wiki itself.

Jed Carty

unread,
May 6, 2018, 12:19:11 PM5/6/18
to TiddlyWiki
Also before I release it as version 1.0.0 I need to change the name to Bob.

Stobot

unread,
May 6, 2018, 4:35:57 PM5/6/18
to TiddlyWiki
Thanks Jed - yes I agree the virus scanner my work uses is overly suspicious and I'm used to it, just noting in case you wanted to mention in the instructions for other less techie people using it.

The multi-user capability is still fantastic for me, but I definitely look forward to when I can somehow separate my small group of authors as having edit capabilities, and my larger audience having read-only. As I'm in a corporate SharePoint / OneDrive environment, maybe there's a way I can accomplish this with permissions from that end. I will try and let you know.

Mark S.

unread,
May 6, 2018, 5:28:20 PM5/6/18
to TiddlyWiki
It's not you personally. If there was virus on your machine, then it might infect any executables that it could find, including the ones you post.

Of course, if you're using pure js code on node, then all you have to worry about is the author.

I have this habit, that drives some people crazy, of "incubating" any files that I download. That is, I try to give them a week or two before invoking them. Virus detectors aren't magic -- they depend on a database of virus matches. It may take days or weeks before a new virus gets into the database.

-- Mark

Jed Carty

unread,
May 6, 2018, 6:02:40 PM5/6/18
to TiddlyWiki
I made another quick update to both versions.
You can now set a path that it will use to search for editions that you can make new wikis out of. It is just a wrapper that does the same thing as setting the environment variable.

A description of this and the rest of the configuration is here https://github.com/OokTech/TW5-MultiUser/blob/master/Configuration.md

A list of what I am planning is here:

If you have something you want to request feel free, but I can't promise I will get around to any of it in a reasonable amount of time.

TonyM

unread,
May 7, 2018, 12:42:43 AM5/7/18
to TiddlyWiki
Jed,

What is the best update method for single file and node versions?

If I simply overwrite the single file version will it loose some updated settings or loose existing Available Wikis?

Thanks
Tony

Jed Carty

unread,
May 7, 2018, 2:51:03 AM5/7/18
to TiddlyWiki
For the single file version just download the new executable file and overwrite the old one, as long as you don't do anything to the IndexWiki or Wikis folders than you won't lose anything. The settings are saved as part of the IndexWiki.

For the normal node version just navigate to the plugin folder in a terminal and type 'git pull' and it should update.

BurningTreeC

unread,
May 7, 2018, 3:20:38 AM5/7/18
to TiddlyWiki
Hi Jed, thank you for all your work on this. I'm now using MultiUser on my home-network and it works fine - I'll let you know if I encounter problems

I wanted to post a question here, you certainly have the expertise to understand if it's possible:

Could the MultiUser wiki serve the wikies through the dat:// protocol ( Beaker Browser and friends ) ?
I found this Dat Documentation about dat servers: https://docs.datproject.org/server
I was thinking if a more secure peer-to-peer MultiUser - Environment could be created that way ...
the way your MultiUser Wiki works seems to be the perfect thing for this, if it's possible

Simon

Jed Carty

unread,
May 7, 2018, 4:13:38 AM5/7/18
to TiddlyWiki
A dat based system like this would be possible but it would be a separate thing. It may be possible to have a dat-based version running in parallel with the current version but there would be differences. The current version uses websockets for communication between different connected computers which allows the simultaneous editing without much worry about editing the same tiddler someone else is working on at the same time, the dat protocol is written with different goals and doesn't have the same near instantaneous updates between connected nodes.

I do have plans for future additions that are more secure, but that security doesn't come from the tiddlywiki side. The multi-user wikis I have online right now use a custom expressjs server that uses https/wss with secure logins and authentication levels that allow different actions on each wiki (like view, edit or administrator).
I also have another project called Dodo which is a purely p2p network that uses websockets and should be able to pretty seemlessly integrate with what I have made in tiddlywiki when it is ready, but there are only so many hours in a day and I need to do paying work in order to do things like eat.

BurningTreeC

unread,
May 7, 2018, 6:20:52 AM5/7/18
to TiddlyWiki
A dat based system like this would be possible but it would be a separate thing. It may be possible to have a dat-based version running in parallel with the current version but there would be differences. The current version uses websockets for communication between different connected computers which allows the simultaneous editing without much worry about editing the same tiddler someone else is working on at the same time, the dat protocol is written with different goals and doesn't have the same near instantaneous updates between connected nodes.

I do have plans for future additions that are more secure, but that security doesn't come from the tiddlywiki side. The multi-user wikis I have online right now use a custom expressjs server that uses https/wss with secure logins and authentication levels that allow different actions on each wiki (like view, edit or administrator).
I also have another project called Dodo which is a purely p2p network that uses websockets and should be able to pretty seemlessly integrate with what I have made in tiddlywiki when it is ready, but there are only so many hours in a day and I need to do paying work in order to do things like eat.

Thanks for the info, Jed!

I absolutely understand the time-consuming efforts you make to build the MultiUserWiki and don't want to request for more
Don't let yourself distract by my idea, I was just curious if it's possible.

Jed Carty

unread,
May 7, 2018, 6:40:30 AM5/7/18
to TiddlyWiki
In what is hopefully the last update before I change the name to Bob and release it as version 1.0.0 I have made the url prefix used to serve files configurable and made the list of file extensions/mime types the server is allowed to serve configurable.

See the documentation in the plugin readme for more about how to set it up.

I haven't found any way to reliably detect if you set the root path for the static server to something you shouldn't, like c:\ on windows or / on linux or osx, but don't do that. It is a bad idea.
Message has been deleted

Jed Carty

unread,
May 7, 2018, 3:06:23 PM5/7/18
to TiddlyWiki
I can't duplicate that on windows 10, osx or linux. Has anyone else run into this same error? And are you sure you clicked on the Update Settings button? It should say 'Wrote settings file', not just the part about saving the tiddler because those tiddlers are recreated each time the server starts.

Jed Carty

unread,
May 7, 2018, 3:27:57 PM5/7/18
to TiddlyWiki
I am now having the same problem with my existing wikis but not with new installs. I am looking at it.
Message has been deleted

Ed

unread,
May 9, 2018, 4:46:16 AM5/9/18
to TiddlyWiki
Hi Jed,

First a big Thank You for all the work that you are inputting in TiddlyWiki,
with this  Multi-Acces TW.

I have been trying it out at my computer at work (Windows 10, 64bit) and it
works brilliantly. I can make on my own computer tiddlers that can appear
somewhere else over the internal network.

The desk next to me is not used every day (flexwork) so I can quickly try
out and see what is happening.

But at the moment there is one thing that behaves erratically and that is
the "Recent-tab" Sometimes the date is there with the recently made
tiddlers and sometimes nothing is seen under the tab.

This goes for my machine and also for the other computer. I can see that the
tiddlers are there, because when you use the search function the neatly pop-up.

In practice most of the time nothing shows up under the recent tab. I as it were
need to cajole the software to cough up the recently made tiddlers. Don't know
how it works of course.

Am I doing something wrong, as I followed the whole install procedure meticulously.
Anybody else has run into this problem. Any suggestions would be highly appreciated.

I hope to get more people here working with TW as a sort of interpersonal department-
related wiki. Now we are sometimes writing emails to each other, when we actually are
sitting very close together. Clutters up the emailbox.

BTW, Jed, at home I have a 32bit computer, there I can't use it of course, Suppose a 32bit
version is not in the works?

Anyway, all the best!
Salut, Ed.





Op maandag 30 april 2018 00:07:44 UTC+2 schreef Jed Carty:
There are some new updates to the (not yet renamed) multiuser plugin.

There are a lot of updates to the inner workings since the last release of the single executable. 

It no longer shows the dirty indicator in most cases because it wasn't accurate.
It also fixes some errors from when there are errors in given paths.
It adds a new command that starts the wiki without a server so it can be used with an external server, like an express js server, to go with this each web socket message is sent with an authentication token if one is saved in localstorage.
there will be fewer terminal messages now
reconnecting to a server after losing the web socket connection is more consistent
You can export each wiki as a single file html, but it is imperfect. Documentation for the new message is in the plugin. But there is something weird where the html file works everywhere aside from importing it into another wiki.
The settings in the control panel are only available on the root wiki because they should only be used there.
There is a checkbox in the control panel that adds the list of available wikis to a tab in the sidebar.

The plugin repo is here
The single executable version is available here


If you want to support the development OokTech has a patreon page here
or if you prefer there  is a link for PayPal here
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZG94CTLHTKYRE

Jed Carty

unread,
May 9, 2018, 5:11:26 AM5/9/18
to TiddlyWiki
Ed,

Tiddlers not showing up in the recents tab is a bug that I keep forgetting about, it isn't anything that you are doing wrong. I need to fix that before the release of 1.0.0. Like you said it is inconsistent so I have had a very hard time tracking it down. I think that it mainly happens when you create a tiddler without a text field but I am not sure that is always the case.

As for a 32bit version I can look into it. I am using the pkg module in node and it may be able to just create 32bit executables. I will check now, it maybe very simple to add. In the mean time you should be able to use the normal node version on the 32 bit computer.

Jed Carty

unread,
May 9, 2018, 5:25:51 AM5/9/18
to TiddlyWiki
It claims that it can build for 32 bit systems also. I am uploading the 32 bit executables for linux windows and osx now. I don't have any 32 bit systems to test it on so if anyone here does and wants to try it out let me know if it works.

If you have a 32 bit system get the executable for your system that ends with 32 (like tiddlyWin32.exe for 32bit windows). If you don't know what that means than just get the one without the 32.

while looking at this I saw that it can also make arm executables. I am not sure if this means it can run on an android phone or not but I am going to try and find out.

Birthe C

unread,
May 9, 2018, 5:54:02 AM5/9/18
to TiddlyWiki
Hi Jed,

Thank you so much, so nice of you to make the 32 bit executables. Finally I am able to run this on my old Linux computer (Mint Mate). I am so looking forward to make good use of this.

Birthe

Stobot

unread,
May 9, 2018, 6:48:25 AM5/9/18
to TiddlyWiki

Nice!

Thanks Jed - I was also in need of 32-bit, in fact I was planning on re-imaging a computer this week - purely to use as a TiddlyWiki server for my team. I will be able to test the 32-bit windows machine today and will report back.

Sounds like Ed and I are in similar environments at work - I too have issues with the recent area not updating, but sounds like that's already on your list.

I'm sad to see that the "security" piece won't make it in - that'll be the last piece of the puzzle for me to replace a lot of the things I'm using SharePoint for. I don't really need true security, just need to be able to have some people not *accidentally* edit things. I'm probably going to try to rig up a button that hides / un-hides all the "edit" ui buttons. By default keep it in "read only" / no edit buttons mode, and then hide a button somewhere in the title or something to allow those that know what they're doing to enable all the buttons again. If anyone has a better idea, I'd be happy to hear it :)

Ed

unread,
May 9, 2018, 7:31:56 AM5/9/18
to tiddl...@googlegroups.com
Wow Jed!

Awesome, and thanks for the speedy reply!!
Salut les gars! Edm.
= = = = = = = = = =

Quick Update

Jed you created a time machine, now I have a date
in the Recent column that states that a tiddler that
was made today made on the 1st of January 1970.

But I have great trust that you will figure it out!! 8-))
Salut! Ed.
= = =  = =
.
.
.
.

Op woensdag 9 mei 2018 11:25:51 UTC+2 schreef Jed Carty:

Stobot

unread,
May 9, 2018, 9:00:17 AM5/9/18
to TiddlyWiki
32-bit worked for me on Windows 7!

My recent list is now completely empty :)

When I open a tiddler and go into Info I see "NaNNaNNaNNaNNaNNaNNaN" for both created and modified fields - I assume this is the root problem, date stamps aren't being applied somehow...

Jed Carty

unread,
May 9, 2018, 10:52:28 AM5/9/18
to TiddlyWiki
I am glad that this is helping people. I completely forgot about different system architectures, the single executable version was made as an afterthought because it was there so I didn't put much thought into it. From the reaction the single executable version is more important to people than I expected.

The problem with security is that it is either everything is secure or you have something that is about as secure as disabling the edit buttons. There isn't much in-between the two. A plugin to add a multi-person login system would end up being either decoration or be bigger than the rest of tiddlywiki.

That isn't to say it can't be done, but it is a much better idea in terms of security, maintainability, ease of deployment and development to make another server and have tiddlywiki included as a module in that server, which is what I made for ooktech. With that you can have industry standard security with multi-person login and different authentication and access levels.

Stobot

unread,
May 9, 2018, 12:42:08 PM5/9/18
to TiddlyWiki
That's understandable, and like I mentioned, the hiding of edit buttons will probably be enough for my purposes.

I have a tiny bit of technical background, but purely within a windows / visual basic realm, so even slight modifications to Javascript is painful to work through, and I have no networking background at all. I've never used Mac or Linux, so also some things that are often mentioned here as easy - making changes in the "command line" using git means nothing to me. I was around making batch files in the DOS days, but it doesn't seem to apply well. I have however spent hundreds of hours building applications of TiddlyWiki - from a Project Management template, to various Knowledge Bases / Best Practice sites. We run SharePoint here, so the .aspx trick has made things very easy for us.

I think people in my environment (corporate windows-based etc. at large company) could be one of the best positions to make use of (and most likely to pay for the use of) TiddlyWiki and this multi-user piece. I work with about 30 people scattered across North America and collaborate constantly - primarily using OneNote which I've grown to despise. Your multi-user piece is the nail in the OneNote coffin.

Anyways - just some perspective from a guy working in a cube-farm thrilled to be testing the new capabilities that multi-user allows me to explore.

Thanks!

Jed Carty

unread,
May 10, 2018, 6:11:26 PM5/10/18
to TiddlyWiki
While trying to improve handing of .meta files I may have made the date fields handling work. So hopefully both the date fields and renaming tiddlers that have .meta files should work now.

This is just on the node js version for the moment. I am going to bed, the single executable versions will probably be updated in the morning.

Stobot

unread,
May 10, 2018, 6:22:58 PM5/10/18
to TiddlyWiki
Beautiful, I look forward to trying it out when the executable versions are ready - I use the Windows 32bit and standard 64bit versions.

Quick question - are there any easy options to backup with this? I tried to use SharePoint/OneDrive synced folders but I think that sync process, and the built-in syncing process of this tool conflicted and I got very strange results - flickering and then the TiddlyWiki just started ignoring some tiddlers.

Thanks again Jed!

Stobot

unread,
May 10, 2018, 6:30:12 PM5/10/18
to TiddlyWiki

One more thing I noticed actually that might be a bug. When I and another have a wiki open and one of us goes into edit mode, the others show locks as designed. However if I go into edit mode, and while I'm in edit mode somebody else opens it, they do *not* see the lock. So essentially once anyone opens the wiki, they don't know who all is editing what - they only see who *starts* to edit while they have it open.

Not sure if I explained that well, but hopefully that makes sense.

Jed Carty

unread,
May 11, 2018, 4:16:52 AM5/11/18
to TiddlyWiki
Stobot,

Wow. Thank you for pointing that out. I am not sure how I managed to never notice that before.

I will see if it is a quick fix and if so do that before making the single file executables.

Jed Carty

unread,
May 11, 2018, 4:59:51 AM5/11/18
to TiddlyWiki
The newest version is now packaged into the single executable files as release candidate 5.

The biggest new things are that .meta files are handled much better now because I fixed some bugs related to tiddlers that use _canonical_uri or images, pdfs, etc. that are dragged and dropped into the wiki.

And related to this, if you are going to serve local files please read the documentation for it:

I haven't done anything that I think will cause problems but that never stopped everything from being broken on windows before, so let me know if you run into any bugs.


The plugin version is here: https://github.com/OokTech/TW5-MultiUser

Jed Carty

unread,
May 11, 2018, 5:00:55 AM5/11/18
to TiddlyWiki
Oh, and the bug that Stobot mentioned where newly opened browsers don't have the full list of tiddlers being edited is also fixed in the newly released version.

Ed

unread,
May 11, 2018, 5:19:51 AM5/11/18
to TiddlyWiki
Wow, Jed,

You're really working hard! Thank you so much!
First have to do the windows, 8-)) cleaning on the outside,
of our apartment - first things first, according to my wife 8-)) -
but then gonna try out all your new stuff.

Cheers, Edm.

= = = = = =
.
.

Op vrijdag 11 mei 2018 11:00:55 UTC+2 schreef Jed Carty:

Ed

unread,
May 11, 2018, 6:42:19 AM5/11/18
to tiddl...@googlegroups.com
(Smile) Update Windows done.
Can again properly look to the outside world again.
Next Gave the new  tiddlyWin32.exe a run for its money.
The Recent tab functions flawlessly afaics.
Next week again at work, hope to persuade boss to use it.
8000+ items in the database and he has no idea of the work
that needs to be done. With TW5 I can note down and track
easily what needs to be done and show it to him and he can
comment. Potentially great time saver.

(There is a field in our database for potentially noting down
remarks like that, at my request in the past.
But being a fixed-size field, I mean no way to enlarge it; it's
a horror to use it.
Can put lots of text in it, but most of it can't be seen, involves
oodles of scrolling and edting is a horror also. Most of the time
I prepare the text in Word and when finished, I copy-past the
stuff into the field. And then you see some typos.. Aarggh)
Awesome, Jed!

One request though, hope you don't mind.
It is very useful for me to show files from the hard drive, as
sometimes I have to do presentations from a place where we
have no wifi.

Now I make more and more use of small movies to document
the functioning of the equipment in the collection.

Could an .mp4 or .mov also be listed in the mimeMap?
If so how to do that? Must you do that? Can I? I don't want to
mess up the inner workings of TW of course.
Thanks again lots & lots for your work, Jed.
Cheers, Ed

= = = = = =
.
.


Op vrijdag 11 mei 2018 11:00:55 UTC+2 schreef Jed Carty:
Oh, and the bug that Stobot mentioned where newly opened browsers don't have the full list of tiddlers being edited is also fixed in the newly released version.

BurningTreeC

unread,
May 11, 2018, 6:43:23 AM5/11/18
to TiddlyWiki
I'm looking forward to the big release, too.
Once you're used to Bob, you never want to go back ;)

I've found an issue when using "includeWikies" in a tiddlywiki.info file. I think it can be something for after the release, given that noone mentioned it before I think it's a not-heavily-used feature..
If I open a wiki with such an "include-wiki" defined in its tiddlywiki.info the server crashes with this message:

new connection
$:/plugins/OokTech/MultiUser/ServerSide.js:122
        var subWikiInfo = $tw.MultiUser.loadWikiTiddlers(resolvedIncludedWikiPath,{
                                        ^

TypeError: $tw.MultiUser.loadWikiTiddlers is not a function
    at $:/plugins/OokTech/MultiUser/ServerSide.js:122:41
    at Object.$tw.utils.each (/home/thatsme/GitHub/ThaTiddlyWikiFoldah/boot/boot.js:69:12)
    at Object.ServerSide.loadWikiTiddlers ($:/plugins/OokTech/MultiUser/ServerSide.js:116:15)
    at Object.ServerSide.loadWiki ($:/plugins/OokTech/MultiUser/ServerSide.js:73:33)
    at Object.handler ($:/plugins/OokTech/MultiUser/commands/wsserver.js:330:43)
    at SimpleServer.requestHandler ($:/plugins/OokTech/MultiUser/commands/wsserver.js:153:15)
    at emitTwo (events.js:126:13)
    at Server.emit (events.js:214:7)
    at parserOnIncoming (_http_server.js:619:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:115:23)



Stobot

unread,
May 11, 2018, 7:45:45 AM5/11/18
to TiddlyWiki
This is awesome! Thanks so much Jed - sent a tip :)

Both the recent list bug / datestamp issue, and the edit-lock piece are solved and working flawlessly so far in my testing!

Anyone have an idea of how I would add backups to this solution? That's the only thing I worry about before fully moving my wikis over.

Kevin Kleinfelter

unread,
May 11, 2018, 8:06:16 AM5/11/18
to tiddl...@googlegroups.com
Backups are a concern for me too.  Since it is the node.js version, every tiddler is in the file system.  Right now, I'm vacillating between three options:
  • A shell script (or batch file) which runs as a scheduled task to zip up the tiddler folder.  In an unrelated project, I use such a script to backup to %Weekday%.zip and to %Hour%.zip.  The script runs hourly.  It doesn't overwrite %Weekday%.zip until it becomes a week old.  That way, I have a backup each hour for the current day and each day for the current week.
  • git, with hourly commits.  git works pretty well for this except that locating the right commit to revert is awfully geeky. You can just commit hourly and git will notice that nothing changed (if nothing changed) and not make a new backup.
  • I've got a Mac, but it isn't where I run my wikis.  I could just replicate the tiddler folder with rsync to my Mac and let Time Machine handle the backups.

Jed Carty

unread,
May 11, 2018, 8:44:01 AM5/11/18
to TiddlyWiki
I am glad that there wasn't immediately a big list of bugs. And I am going to respond to the last few posts here:

includeWikis:
I have never used this, looked at it and then promptly forgot about it. I may be able to include it but at the moment the server doesn't have a mechanism for it because the included wikis are supposed to be read-only. I am hoping to have an equivalent option available for combining multiple wikis in the future, but that isn't going to be part of this release. I hope you are correct about it not being a necessary feature for many people.
That isn't an expected error so I will need to look into that and make sure it isn't going to affect anything else. For now includeWikis just won't be supported.

Backups:
making backups can be done manually for the moment. If you backup the IndexWiki folder and the Wikis folder than you will have everything. Any sort of automated backup should work. Also you can download a single file version. Automated regular backups are probably going to be part of some additional plugins. Along with git and syncing between different wiki servers.

custom mimeMap:
you can set the mimeMap in the settings in the $:/ControlPanel. Make a mimeMap property with type object and list the types of files along with their mime-types there like here 

the entries for mp4 and .mov are:

".mp4": "video/mp4",
".mov": "video/quicktime"

Stobot

unread,
May 11, 2018, 8:49:55 AM5/11/18
to TiddlyWiki
Thanks Kevin. For the meantime I'll probably rely on batch files / task scheduler to do this.

I am hopeful that since variants like TiddlyDesktop were able to include auto-backup per change with revisions, that someday MultiUser might gain that capability - though maybe structurally they're too dissimilar.

BurningTreeC

unread,
May 11, 2018, 8:59:15 AM5/11/18
to TiddlyWiki
includeWikis:
I have never used this, looked at it and then promptly forgot about it. I may be able to include it but at the moment the server doesn't have a mechanism for it because the included wikis are supposed to be read-only. I am hoping to have an equivalent option available for combining multiple wikis in the future, but that isn't going to be part of this release. I hope you are correct about it not being a necessary feature for many people.
That isn't an expected error so I will need to look into that and make sure it isn't going to affect anything else. For now includeWikis just won't be supported.

For me it's not that a big deal if it doesn't work. It's a disk-space saver, though and for that quite useful. But one has to set up a template node.js wiki for that, that's why I think it's not so commonly-used
I have one set up with defaults I want to use in every wiki - but the import button will do for now. The positive parts of Bob are way too big to see this as a big issue.

Thanks for your work, Jed!

BurningTreeC

unread,
May 11, 2018, 9:08:23 AM5/11/18
to TiddlyWiki
Does Bob already have a Logo?

Jed Carty

unread,
May 11, 2018, 9:20:33 AM5/11/18
to TiddlyWiki
Bob does not yet have a logo. I hadn't really thought about it yet.

Stobot

unread,
May 11, 2018, 9:58:04 AM5/11/18
to TiddlyWiki
I missed the origin story of "Bob", but for what it's worth, using a common term or name makes it very hard to ever find/search for information. I can google PowerPoint and get many relevant results, Access however is a nightmare to wade through. As much as I'm not a huge fan of the name TiddlyWiki - I never have a problem finding relevant results :)

Jed Carty

unread,
May 11, 2018, 10:04:37 AM5/11/18
to TiddlyWiki
Every time I gave a descriptive name to what I make people assume they know what it means from the name and they are invariably wrong about it. And then everyone said all the names I suggested were bad for one reason or another, so I went with a generic name.

Xavier Cazin

unread,
May 11, 2018, 10:28:06 AM5/11/18
to tiddl...@googlegroups.com
Hi Jed,

Thank you so much for this wonderful plugin! I tested the version 0.1.20 on both MacOS (executable) and Termux for Android (node plugin). The only annoying issue I encountered is still related to files dropped to a Bob-powered wiki, eventhough I set the mimeMap object: the drop of most file types, including text/plain causes incessant attempts to save (from what I see in the console under MacOS), and the dropped image is sometimes rendered, sometimes not (hard to tell in which exact situation), but never actually saved. I've tried with SVG, PNG and JPEG files. .tid are well ingested, though.

Thank you very much for adding the sequential parameter for scripts: it works perfectly with "say" on MacOS. A further ehancement would be the ability to kill the sequence by its number (for instance when I want to stop reading the list of tiddlers I gave to "say")!

​Second on my wishlist:
 If you manage to make an arm executable, I'd love to test it
​on Termux.

Also a very minor thing: Instead of the somewhat misleading "Node settings", I would prefer that the Control Panel tab which holds the settings was just called Bob or MultiUser.

Cheers,
X.

-- Xavier Cazin.
immatériel·fr — R.C.S. Paris 509 139 937
http://immateriel.fr — Skype : immateriel.fr
Mobile: +33 6 06 54 55 65 — Phone: +33 1 75 43 72 83

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscribe@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/f302f718-dcb7-4062-80e6-f9af1dbf4153%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Kevin Kleinfelter

unread,
May 11, 2018, 10:52:17 AM5/11/18
to tiddl...@googlegroups.com
If the name is not yet permanent, perhaps "BobPlugin" would meet both goals.  It is still Bob, and it adds a degree of uniqueness.  Or if you really want unique, BobCarty.

On Fri, May 11, 2018 at 10:04 AM, Jed Carty <inmy...@gmail.com> wrote:
Every time I gave a descriptive name to what I make people assume they know what it means from the name and they are invariably wrong about it. And then everyone said all the names I suggested were bad for one reason or another, so I went with a generic name.

--
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/m85IYlxjQss/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+unsubscribe@googlegroups.com.

To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Jed Carty

unread,
May 11, 2018, 11:04:39 AM5/11/18
to TiddlyWiki
Xavier,

Thank you for testing it! The never ending up date loop for media files was supposed to be fixed, I just checked and it looks like it is still there when you import a tiddler and randomly fixes itself. The same thing used to happen when you renamed the tiddler as well so when I fixed that I thought it was all fixed.

Adding a way to stop the running scripts should be simple to implement so that should be ready soon.

I didn't realise there was someone who could test an arm executable, I will set everything up to build one.

I will rename the tab and look to see if anything else should be changed.

Jed Carty

unread,
May 11, 2018, 11:09:27 AM5/11/18
to TiddlyWiki
Be careful if you are going to open up the naming discussion again. It may end up as something like 'strawberry tart' or 'on dit choclatine' or perhaps 'sockpuppet theater'

Jed Carty

unread,
May 11, 2018, 12:04:57 PM5/11/18
to TiddlyWiki
I won't be able to rebuild the executables until I get home later today, but the plugin version should be fixed so it no longer gets trapped in an infinite loop when you import an image file by dragging and dropping it.

I look froward to seeing what new bugs this fix introduces.

Ste Wilson

unread,
May 11, 2018, 1:14:39 PM5/11/18
to TiddlyWiki
Bob.... His name is Robert Paulson

https://youtu.be/GCi_PIz5ekU

Xavier Cazin

unread,
May 11, 2018, 1:19:18 PM5/11/18
to tiddl...@googlegroups.com
Hi Jed,

AFAICT, this works perfectly, both in the main wiki and in a sub-wiki (they used to behave differently regarding this issue). So as a result, I can just drop an entire standalone TW5 file onto a fresh Bob-powered TW, and it is ingested without a burp! So neat.

Cheers,
Xavier.

-- Xavier Cazin

On Fri, May 11, 2018 at 6:04 PM, Jed Carty <inmy...@gmail.com> wrote:
I won't be able to rebuild the executables until I get home later today, but the plugin version should be fixed so it no longer gets trapped in an infinite loop when you import an image file by dragging and dropping it.

I look froward to seeing what new bugs this fix introduces.

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscribe@googlegroups.com.

To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Lost Admin

unread,
May 11, 2018, 2:29:04 PM5/11/18
to TiddlyWiki
If you must change the name and those are the only choices, I vote for 'strawberry tart'.

Hmm, now I need to go get a snack.

Jed Carty

unread,
May 11, 2018, 2:33:11 PM5/11/18
to TiddlyWiki
Xavier,

That is good to hear. My goal for single file wikis is to have a setup where instead of serving single file wikis (which can currently be done using the static file server part), you can point the plugin to a single file wiki and it creates a Bob wiki for it and you can work normally but all of your changes are also saved to the single file version.

I have almost all of this working but there is some problem with the html files created. They work fine as wikis but don't work when I try to import them again.

Jed Carty

unread,
May 11, 2018, 4:59:52 PM5/11/18
to TiddlyWiki
The single executable versions are updated.

I added an armv7 executable, I have no idea if it worked or not. Compiling it resulted in a lot of warnings.

Ed

unread,
May 12, 2018, 6:37:11 AM5/12/18
to tiddl...@googlegroups.com


Op vrijdag 11 mei 2018 14:44:01 UTC+2 schreef Jed Carty:

custom mimeMap:
you can set the mimeMap in the settings in the $:/ControlPanel. Make a mimeMap property with type object and list the types of files along with their mime-types there like here 

the entries for mp4 and .mov are:

".mp4": "video/mp4",
".mov": "video/quicktime"


Hi Jed & Other TW5ians,

Of course I followed your advice and went to Node Settings, cous the other Sttings were of no help. 8-)))
With some trial error I found out how to add "mimeMap". Some confusion first about the quotations marks,
eventually I got it right.

But however muuch I tried completeing mimeMap gave me different results. In theConfiguration.md I see
that the fields look like this, e.g.
".ico": "image/x-icon",
    ".html": "text/html",
    ".js": "text/javascript",
    ".json": "application/json",
    ".css": "text/css",
    ".png": "image/png",
    ".jpg": "image/jpeg",
    ".jpeg": "image/jpeg",
    ".wav": "audio/wav",
    ".mp3": "audio/mpeg",
    ".svg": "image/svg+xml",
    ".pdf": "application/pdf",
    ".doc": "application/msword",
    ".gif": "image/gif"

They all end with the closing quotation mark and a comma.

In my case I get this
ending with als extension types:
e.g. " .mp4": "video/mp4": "",
So after the closing quotation mark, there is a colon and
complete quotation marks and the the comma.
Moreover these quotation marks ar clickable.

Now when I look at
"suppressBrowser": "", I see the same, but still it not what
I thought that would be right. I was aiming for an exact copy
of the example in Configuration.md.

Can anybody please explain in simple English, as I am totally
a non-Wizard, what it all means.

This is how my Node Setting/Manual Settings looks now

Again thanks a lot to everybody helping out here!


NodeSettings_ManualSettings.PNG

@TiddlyTweeter

unread,
May 12, 2018, 7:18:21 AM5/12/18
to tiddl...@googlegroups.com
Ciao Jed

Suggestions:

(1) - Support usable mime types by default?

(2) - Include initial path for external files (relative to startup) that can be edited.

I think it would simplify getting started. Not least because seeing them in situ in settings helps understand them.

But would there be reasons not to?

Just thoughts
Josiah

Jed Carty

unread,
May 12, 2018, 7:22:25 AM5/12/18
to TiddlyWiki
Ed,

I think I see what happened. In an ideal world what you did should work I haven't made it work that way yet.

When you click on the + button to add a new property there are two fields, one for the name and one for the value. It looks like you copied the full line into the name field. What you need to do is put the name part in the name field and the value in the other field. The name field is the shorter text box that you copied things into, the value field is the long text box below it.

So for each mime-type you put the file extension with the . as the name, like
.mp4
and then in the other text box you put the mime-type like this
video/mp4

unfortunately adding these from the interface in the wiki means you have to do all of them individually.

To avoid having to do that you can instead edit the tiddler $:/WikiSettings/split/mimeMap which was created when you made the mimeMap object in the settings (so if you do this again in the future it won't exist until you create that object in the settings interface) and edit that tiddler so this is its text (replace text that is currently in the tiddler but don't touch any other fields):

{
         ".ico": "image/x-icon",
    ".html": "text/html",
    ".js": "text/javascript",
    ".json": "application/json",
    ".css": "text/css",
    ".png": "image/png",
    ".jpg": "image/jpeg",
    ".jpeg": "image/jpeg",
    ".wav": "audio/wav",
    ".mp3": "audio/mpeg",
    ".svg": "image/svg+xml",
    ".pdf": "application/pdf",
    ".doc": "application/msword",
    ".gif": "image/gif",

    ".mp4": "video/mp4",
    ".mov": "video/quicktime"
}

I wasn't expecting something like this to be edited. I need to come up with a better interface that makes some sense to people who don't have experience with it. Let me know if it works.

Jed Carty

unread,
May 12, 2018, 7:47:25 AM5/12/18
to TiddlyWiki
@TiddlyTweeter,

For the mime types the only reason I used the list I did is that those were the types that I remembered. I will look online and add video types and any others that people suggest to the defaults.

As for setting the default file serving location I am still waffling about that. The problem isn't that I don't want people to be able to do it, the problem is that it needs to be their decision to do it. If I have the default path set up and a button that says 'click here to serve files' than I don't think that most people will just click the button and not think about it because it is convenient, and the same people who do that are likely to also set it to serve on 0.0.0.0 all the time because that is convenient. So if you have someone who does that and they just leave everything in their downloads folder than anything they download is available to anyone on the local network. Most of the time that isn't a huge problem, but when it is a problem than you have someone losing things like tax documents and banking passwords.

I may not be the most responsible person in the world but I am not so irresponsible that I am willing to intentionally put someone in that position.

There is probably a better way to set things up than what I have made, but I don't want to put default values in places where it could cause that sort of problem.

Stobot

unread,
May 12, 2018, 8:36:21 AM5/12/18
to TiddlyWiki
Jed,

I don't know if this is new, but I started noticing odd behavior when modifying $:/DefaultTiddlers, which is one of the first things I do for all new wikis. It seems to send the node window into a loop.

For instance, changing (via Control Panel) the DefaultTiddlers from [[Hello!]] to [[Home]] by typing over, results in 93 blocks that look like this:

Rename Tiddler  undefined  to  $__DefaultTiddlers
saved file C
:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers\DefaultTiddlers.tid
Rename Tiddler  undefined  to  $__DefaultTiddlers
Delete Tiddler  C:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers / DefaultTiddlers
Deleted tiddler file DefaultTiddlers
Delete Tiddler  C:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers / DefaultTiddlers
Deleted tiddler file DefaultTiddlers
saved file C
:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers\DefaultTiddlers.tid
Delete Tiddler  C:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers / DefaultTiddlers
Deleted tiddler file DefaultTiddlers
{ Error: ENOENT: no such file or directory, open 'C:\Users\stobbea\Documents\TiddlyWiki\Wikis\test1\tiddlers\DefaultTiddlers.tid'
    at
Object.fs.openSync (fs.js:663:18)
    at
Object.fs.openSync (pkg/prelude/bootstrap.js:483:32)
    at
Object.fs.readFileSync (fs.js:568:33)
    at
Object.fs.readFileSync (pkg/prelude/bootstrap.js:675:36)
    at
Object.$tw.loadTiddlersFromFile (C:\snapshot\SingleExecutable\boot\boot.js:1503:13)
    at
Object.$tw.nodeMessageHandlers.saveTiddler ($:/plugins/OokTech/MultiUser/NodeMessageHandlers.js:107:43)
    at
WebSocket.incoming ($:/plugins/OokTech/MultiUser/NodeWebSocketsSetup.js:182:57)
    at
WebSocket.emit (events.js:159:13)
    at
Receiver._receiver.onmessage ($:/plugins/OokTech/MultiUser/WS/WebSocket.js:156:47)
    at
Receiver.dataMessage ($:/plugins/OokTech/MultiUser/WS/Receiver.js:402:14)
  errno
: -4058,
  code
: 'ENOENT',
  syscall
: 'open',
  path
: 'C:\\Users\\stobbea\\Documents\\TiddlyWiki\\Wikis\\test1\\tiddlers\\DefaultTiddlers.tid' }


Sometimes this results in the area shown in Control Panel to have many many lines of blank rows after what's in there.

I'm using the TiddlyWin.exe file (RC5, but happened with at least the one previous release, can test all if necessary) on Windows 10 and Firefox 60.0

Jed Carty

unread,
May 12, 2018, 9:08:15 AM5/12/18
to TiddlyWiki
For the looping part, are you using the newest version? I updated the release soon after uploading it the first time based on feedback from Xavier that fixed that everywhere I could find.

The error message is because the shadow tiddler doesn't have a file and it tries to open something that doesn't exist. It isn't a problem and I can disable the error.

Stobot

unread,
May 12, 2018, 9:26:33 AM5/12/18
to TiddlyWiki
Whoops - I was sure that I was already using the newest one, but I must not have been. Swapped it out and I no longer have that issue. Sorry for the false alarm Jed.

@TiddlyTweeter

unread,
May 12, 2018, 10:07:31 AM5/12/18
to TiddlyWiki
Ciao Jed

Just an informational note on the "external file location" thing. I don't need a reply.

One of the things that Bob The Enabler does is permit a user to re-wrap Bob with wikis and settings and re-distribute it in packages.

I think that is a good possibility for distribution of sets of TW. But the security angle you concerned about can easily go out the window in that process.

IMO, it would be better to enable it (since it easy to do so) but, maybe, FORCE warning flags*.

JUST a thought.

(FYI, in my large apartment the only people who can access my wikis over a LAN are me and My Doubles, Fred  & Ginger :).

Best wishes
Josiah

Jed Carty wrote:
I may not be the most responsible person in the world but I am not so irresponsible that I am willing to intentionally put someone in that position.

... I don't want to put default values in places where it could cause that sort of problem.
It is loading more messages.
0 new messages