[TW5] Bob version 1.0.5 Salt Bagels, or I should probably let people know about the plugin library

302 views
Skip to first unread message

Jed Carty

unread,
Sep 9, 2018, 5:02:52 PM9/9/18
to TiddlyWiki
I released Bob version 1.0.5 this weekend. The changelog is below. The biggest change is that you can set it up so you can use the TWederBob plugin in non-Bob wikis to push to or fetch from your Bob server.

There was also a big change with the single executable version. At the suggestion of Mat it is now called BobEXE which hopefully will cut down on some confusion.
I have almost completely re-done how the executables are built and rather than try to fight with git over restarting and renaming the repo I use made a new one. Updates are now much easier to make and there are details that I doubt anyone else cares about.

But, it is now a much simple task to make a custom version. If you want to replace the default index wiki with some custom edition that is now possible. And you an include non-core plugins in the executable when you build it so that they are available to all the wikis without any need to install them. I have no idea if anyone will actually take advantage of this or not.

Also BobEXE comes packaged with TWederBob setup as a new type of plugin library. For the moment I have no idea if people will find it useful because it is just the OokTech plugins so I haven't put it anywhere immediately obvious. To get to it open the TWederBob plugin tiddler ($:/plugins/OokTech/TWederBob) and in the plugin tiddler open the GetPlugins tab. When you click the Get Plugin List button a list of available plugins will appear. It may take a few seconds. Then you can look though the list and, if you find one you want to install, click the Install button next to the plugin information. It will once again take a few seconds but then the normal 'Please save and reload to allow changes to plugins to take effect' message should appear. Once that shows up reload the wiki and you should have the plugin installed.

The interface is pretty rough but it works.

You can install the TWederBob plugin on any wiki (single html file, Bob, Node, NoteSelf, tiddlyspot, etc.) and it should work the same way as long as you are connected to the internet. And as long as my server isn't experiencing troubles.

The plugin version of Bob is on GitHub here: https://github.com/OokTech/TW5-Bob
The newest version of BobEXE is available here: https://github.com/OokTech/TW5-BobEXE/releases

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


Bob 1.0.5 changelog (the full changelog is here https://github.com/OokTech/TW5-Bob/blob/master/Changelog.tid):

- Added fetch and push routes to the `ws-server`
- There are currently only placeholder functions for access control 
- Updated external libraries to the newest versions (npm modules `ip`, `ws` and `async-limiter`) 
  - `ip` is used to get the ip address of the server to make connecting multiple computers easier 
  - `ws` adds a websocket interface to the server side 
  - `async-limiter` is needed by `ws` 
- Now the external libraries correctly use `tiddlywiki.files` files instead of the previous fragile hacky way. 
- Updated documentation and added a tab in the Bob section of the $:/ControlPanel for Bob documentation. 
- Bob now prints out the TiddlyWiki and Bob versions being used in the terminal when you start the server. 
- The Save Wiki button is disabled because it isn't useful (later I may make it download a non-bob single file wiki)

TonyM

unread,
Sep 9, 2018, 7:38:56 PM9/9/18
to TiddlyWiki
Jed,

I currently use the single executable to manage all my own key wikis on my desktop. Is the upgrade process still a drop the executable in place and execute it? 
Especially with my existing wikis? Should I then add the bob plugin to each (perhaps not I think)?

This ability to customise and package a custom version is sooooo coooool

Regards
Tony

Jed Carty

unread,
Sep 10, 2018, 4:18:59 AM9/10/18
to TiddlyWiki
It is the same thing, just a different name.

You just replace the old executable file with the new one. If you are using the executable version than you don't have to worry about ever installing the Bob plugin in any wiki.

@TiddlyTweeter

unread,
Sep 10, 2018, 5:52:36 AM9/10/18
to TiddlyWiki
Ciao Jed & Bob

Am I right in thinking you can have more than one instance of Bob running? That Bob detects and auto-adjusts the addressing?

I noticed, doing a fresh install of the new BobWin.exe on Windows that it adjusted to accommodate an already running old Bob ... like this ...

NodeSettings - Parsed raw settings.
Websockets listening on  8082
Serving on 127.0.0.1:8081
(press ctrl-C to exit)
 syncer
-server-WebsocketAdaptor: Dispatching 'save' task: $:/StoryList
new connection

If so, its useful to know.

Best wishes
Josiah

@TiddlyTweeter

unread,
Sep 10, 2018, 6:01:15 AM9/10/18
to TiddlyWiki
Ciao Jed & Bob


- Bob now prints out the TiddlyWiki and Bob versions being used in the terminal when you start the server.

I think that is really useful as the terminal tells you most of what is going on.

Unfortunately the Windows Bob console isn't yet displaying it (Win7 FF52 64bit desktop).

Best wishes
Josiah

@TiddlyTweeter

unread,
Sep 10, 2018, 6:26:27 AM9/10/18
to tiddl...@googlegroups.com
Ciao Jed & Bob

This is just a thought. On startup for the mainwiki the Bob control panel might be better as the Home tiddler? I.e. $:/plugins/OokTech/Bob/ControlPanelTab with the current home Tiddler ([[Hello!]]) added as the default tab?

FWIW I think adding the documentation to the panel is very useful, thanks.

Best wishes
Josiah

Jed Carty

unread,
Sep 10, 2018, 7:25:42 AM9/10/18
to TiddlyWiki
Running multiple instances of Bob is possible but probably a bad idea. By default BobEXE will find an open port to use so that it shouldn't ever have a port collision problem so if you do start it multiple times it would work but I don't think there is a benefit to it. You can host as many wikis as you want from a single Bob instance and there aren't restrictions on plugins or anything like that.
And you shouldn't ever let multiple instances of Bob server the same wiki because it can very easily case strange problems.

@TiddlyTweeter

unread,
Sep 10, 2018, 7:34:22 AM9/10/18
to TiddlyWiki
Thanks Jed. Just FYI my specific, limited, use case is to have a "test Bob" that is basically vanilla. My main Bob is now quite populated with loads of custom settings. I use the the "vanilla" to check I haven't messed up by testing one thing at a time. Usually I would not start 2 Bob at the same time--no point. But I DO think a additional vanilla Bob is quite good for checking stuff?

Arlen Beiler

unread,
Sep 12, 2018, 9:37:44 PM9/12/18
to TiddlyWiki
How does the websockets work? Do you have it setup for data folders or just for the main Bob wiki. I don't know how Bob works (sorry, I should, I know), but I am trying to implement a standard interface for plugins to communicate with the server in a server-agnostic way, and I'm curious what your thoughts are. 

On Mon, Sep 10, 2018, 19:34 @TiddlyTweeter <Tiddly...@assays.tv> wrote:
Thanks Jed. Just FYI my specific, limited, use case is to have a "test Bob" that is basically vanilla. My main Bob is now quite populated with loads of custom settings. I use the the "vanilla" to check I haven't messed up by testing one thing at a time. Usually I would not start 2 Bob at the same time--no point. But I DO think a additional vanilla Bob is quite good for checking stuff?

--
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+...@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/314db3d1-4dfb-4ac8-99e8-d60c73acf16e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jed Carty

unread,
Sep 13, 2018, 5:41:14 AM9/13/18
to TiddlyWiki
Considering that the web socket interface is central to how Bob works I don't think that it is reasonable for me to explain it here. I suggest that you look at the documentation for Bob. I have been working on an implementation that could work on a wide range of servers since I started Bob.

I made it very extensible so the message structure should work fine on other servers.

@TiddlyTweeter

unread,
Sep 15, 2018, 4:43:01 AM9/15/18
to TiddlyWiki
Ciao Jed & Bob

Small point on the filename.

Under some conditions menuing systems read the internal file name of "BobWin.exe", which is "Node.js", and present that rather than the actual name. For instance, under the the widely used Windows PortableApplications system it presents it like this by default ...



... that doesn't stop it running, and its nominal moniker is easily changed in PA. But I did find it confusing till I realised what was going on.

If its not difficult, is the compiler able to replace the internal name with the external name?

Just a thought.

Best wishes, Josiah

@TiddlyTweeter

unread,
Sep 15, 2018, 5:45:39 AM9/15/18
to TiddlyWiki
Ciao Jed & Bob

A note on how Bob upgrades.

The activation of the updated plugins works fine.

There may be a slight issue in that I don't think old shadows are always being removed? Actually I'm unclear what is happening.

An existing upgraded Bob Settings of mine currently looks like this ...



But a vanilla install of Bob shows this on the same plugin version...



Notice the newer version has the "Bob Documentation" tab the previous does not.

Is this an issue?

Best wishes
Josiah

Jed Carty

unread,
Sep 17, 2018, 5:03:13 AM9/17/18
to TiddlyWiki
I have not found a way to change the name that is used by the executable. That is part of the pkg module I use to make it and not something that I have control. Check to see if you have any overwritten shadow tiddlers in your wiki, there is a little link symbol on the tab so I suspect that is it. It would be called $:/plugins/OokTech/Bob/ControlPanelTab

@TiddlyTweeter

unread,
Sep 17, 2018, 10:07:07 AM9/17/18
to TiddlyWiki
I have not found a way to change the name that is used by the executable. That is part of the pkg module I use to make it and not something that I have control.

Thanks Jed for looking. Its not any kind of deal-breaker. If I can figure out where to complain about that behaviour in the "pkg" I will.

@TiddlyTweeter

unread,
Sep 18, 2018, 9:25:35 AM9/18/18
to TiddlyWiki
Check to see if you have any overwritten shadow tiddlers in your wiki, there is a little link symbol on the tab so I suspect that is it. It would be called $:/plugins/OokTech/Bob/ControlPanelTab

Thanks Jed, that solved it.

@TiddlyTweeter

unread,
Sep 19, 2018, 7:35:29 AM9/19/18
to tiddl...@googlegroups.com
Ciao Jed & Bob

I love "internalFetch".

The only complication for me is I have to manually check it worked.

I was wondering if there is a way to indicate it was successful? OR possibly open the tiddlers fetched in the story river? Or a "fetch" equivalent of what happens after normal import--i.e. a tiddler showing what was fetched.

I was wondering, also, once its successful, if there is a way to either hide or flag a "fetch" button completed? I'm not clear whether that functionality could be built with existing TW procedures, or whether only Bob could do it?

Please ask if this is unclear

UPDATE: I just encountered "$:/plugins/Bob/ConflictList" that in part addresses the issue above. Unfortunately I find it confusing what to do.


There are two aspects:


(1) the RootWiki can display a message that differs from a slave wiki [FWIW, why is this needed at all with a fetch between two other wiki?].


(2) I'm unclear what to do on the options that come up when you click the individual items. Basically, what I need is "overwrite" for most of my use cases. Confirmation to do that would be icing on the cake, but I consider it my mistake if I get the fetch wrong, not yours. Hope this is clear.


Best wishes
Josiah

@TiddlyTweeter

unread,
Sep 21, 2018, 5:14:18 AM9/21/18
to TiddlyWiki
Dear Jed & Bob

This is a request for automated  "Delete a Wiki"  option.

At the moment its something you have to do manually. The tricky part is editing the Json settings file. If you make a simple mistake it can upset the Bob system. I know, I did that :-).

FYI, when I started Bob I found I needed to make many temporary Wiki in order to learn it. So a delete method for created Wikis would be helpful.

Very best wishes
Josiah

@TiddlyTweeter

unread,
Sep 26, 2018, 8:51:49 AM9/26/18
to TiddlyWiki
For folk on email ... I just updated my post on Bob's "internalFetch" at https://groups.google.com/d/msg/tiddlywiki/9Qflg67CYYI/TPTmuzTYCAAJ

@TiddlyTweeter

@TiddlyTweeter

unread,
Sep 26, 2018, 8:55:43 AM9/26/18
to TiddlyWiki
Ciao Jed & Bob

Am I right in thinking that "internalFetch" cannot fetch from the "RootWiki"?

Josiah
Reply all
Reply to author
Forward
0 new messages