Seeking Thoughts: Packaging A TiddlyWiki as A Single Application Helps Marketing?

313 views
Skip to first unread message

@TiddlyTweeter

unread,
Mar 23, 2018, 8:34:18 AM3/23/18
to tiddl...@googlegroups.com
One of the upsides of the emergence of so many well thought through responses to the Firefox Apocalypse is we are closer to being able to deliver TW in "packages" that resemble the installation of normal applications.

This is something I'd like to explore more. In particular ...

1 -- What further steps are needed to, say, wrap TiddlyServer, TiddlyDesktop or TiddlyWikiMulti-User into auto-installers ...

2 -- ... such that on first-click after install you are already ready to create inside a fully functioning application? (NOT an application that is about setting-up applications).

Jed Carty

unread,
Mar 23, 2018, 8:50:56 AM3/23/18
to TiddlyWiki
How is this different than what I did packaging the multiuser plugin?

It does what tiddlyserver does (serves multiple wikis), and when you open it you get a fully working tiddlywiki without any installation.

Is there some difference or have I just been bad at showing what is there?

@TiddlyTweeter

unread,
Mar 23, 2018, 9:07:44 AM3/23/18
to tiddl...@googlegroups.com
I get your point. In theory it is.

But at naive user level its not quite what you think. Because users don't know what you know.

For instance, if you just click on the .exe that starts it on Windows from outside of the directory it is in (say from some file browsers) it can create configuration files in the directory where that file browser is running. That won't work out. Its also not portable.

On Windows, to ensure proper running some OS specific steps are needed that will reliably ensure that the startup directory coincides with the executable's under different scenarios of usage.

It is NOT you need to do anything on this. Your tool is already great. Rather, I think we need look at variant ways people initiate software on different platforms and maybe add an appropriate "wrapper" to make sure it works always the same way.

Best wishes
Josiah

@TiddlyTweeter

unread,
Mar 23, 2018, 9:27:07 AM3/23/18
to TiddlyWiki
Jed

Footnote. I didn't mention your app. not because I think it isn't good. I think its brilliant. Rather because its not quite finished. And I'm unclear on some aspects of how to run it on Windows portably. That is most about me playing with the Windows path syntax till I get something that works to create extra wikis.

Josiah

Jed Carty

unread,
Mar 23, 2018, 9:52:12 AM3/23/18
to tiddl...@googlegroups.com
From you are saying, you are running into errors on windows that I can't see because I can't test on windows. So knowing about them would be really nice for me.

Also, something that is probably relevant is that I redid how you make new wikis so it doesn't use shell scripts anymore because that was apparently a stumbling block for people. So now you just go to the control panel, give a name and an edition to use and it should create and start serving the new wiki.

Once again, there may be errors on windows that I can't see because I don't have windows to test on.

Also, what do you mean by 'not portable'? It should be at least as portable as the options you mentioned.

@TiddlyTweeter

unread,
Mar 23, 2018, 10:04:16 AM3/23/18
to TiddlyWiki
Jed

I'll explain in more detail later. But the basic issue in Windows is that to execute a file from another directory than the one it is in means that writes are relative to the directory run from, not relative to the directory the executable is in. A way round this is to use environment variables that tell the program where it is and where to write configuration. Problem is the environment variables need to be pre-run and are not easily portable and are just another overhead. Normally Windows programs know how to natively reset paths but programs like node and its cousins don't. Often it will work (depending on how people launch software) but quite often it won't.

Josiah

On Friday, 23 March 2018 14:52:12 UTC+1, Jed Carty wrote:
If what you are saying is true than you are running into errors on windows that I can't see because I can't test on windows. So knowing about them would be really nice for me.

@TiddlyTweeter

unread,
Mar 23, 2018, 10:35:03 AM3/23/18
to TiddlyWiki
Jed Carty wrote:

Also, what do you mean by 'not portable'? It should be at least as portable as the options you mentioned.

I'm pretty sure that your tool can be used portably. I'll try again on your latest version and let you know when I get extra wikis working.

FYI, to be decently portable all paths in configuration need to be relative, never absolute. Absolute paths break basic portability.

Portability means at least:

(1) No changes to the system outside folders the app. works in or explicitly includes;

(2) Relative pathing. So that if, for instance, I moved "JedsTool" that included all the wikis & the program from  "C:\tw\JedsTool"  to "Y:\frank\JedsTool" it would work exactly the same.

For "portable enough" apps. rule (1) can be broken for temporary & cache files handed over to the OS to handle as they don't really change anything and get recreated on-the-fly.

Best wishes
Josiah

@TiddlyTweeter

unread,
Mar 23, 2018, 2:30:32 PM3/23/18
to TiddlyWiki
Ciao Jed with your revised easier wiki creation schema I have managed to create wikis.

Concerning portability. After creating them I went to Control Panel > Node Settings > Manual Settings and adjusted them to be Windows relative paths. Like this ...
 

Where "." = current directory (=directory the program runs in)

The file structure I'm using is this ...

directory "twMU" containing tiddlyWin.exe

then subdir ...

\wikis

under which are ...

\wikis\development
\wikis\graphic

and subdir

\IndexWiki

So far so good. I'll comment more later.

Best wishes
Josiah
Auto Generated Inline Image 1

@TiddlyTweeter

unread,
Mar 23, 2018, 2:38:49 PM3/23/18
to TiddlyWiki
One issue in Windows for naive users will be that they don't inadvertently close the console Window.

Once you up and running its probably better that its minimised to the tray, or that the over-easy close button is disabled. That can be done via Windows but I'm yet not sure if there is a universal portable way to achieve it.

@TiddlyTweeter

unread,
Mar 23, 2018, 3:52:46 PM3/23/18
to TiddlyWiki
Teething issues.

Test 1 - So having set up as explained at: https://groups.google.com/d/msg/tiddlywiki/I3naFCl37kc/nU75sR4iBAAJ I copied the whole install to J:\twMU\ (USB pen drive). Started the server. Clicked on one of the wikis (relative paths that in theory should work). The server crashes.

Test 2 - Same scenario but changed the working directory to J:\twMU\ first. Works as expected perfectly. This illustrates my initial point that for node and its cousins on Windows we need to wrap the app in a way that ensures that its start up place and executable file are in the same directory.

Best wishes
Josiah

Jed Carty

unread,
Mar 23, 2018, 4:18:44 PM3/23/18
to TiddlyWiki
I updated the stand-alone executables so they use the file location as the basis for relative paths now. I was able to put the three executables (for windows, linux and osx) on a thumb drive and then make a wiki on my linux desktop, then plug it into the MacBook and use the same wiki there and then I got a friend to bring over a windows laptop and it worked on there as well. There may be errors but the quick test worked.

All of the folders should be relative to the location of the file. The main wiki will be made in a folder called IndexWiki in the same folder as the executable and the others will be added inside a folder called Wikis in the same place.

@TiddlyTweeter

unread,
Mar 23, 2018, 4:40:53 PM3/23/18
to TiddlyWiki
Brilliant. Solves the problem.

J.

@TiddlyTweeter

unread,
Mar 23, 2018, 5:17:08 PM3/23/18
to TiddlyWiki
Jed

Since things are going well I thought to make some minor points.

IMO adding a starting line on the console ...



That says something like ...

" -- DON'T CLOSE THIS WINDOW UNTIL DONE --
         It is running TiddlyWiki in your browser"

I'm sure there could be a better way to phrase it. But you get the idea. its too easy to close that console window.

---

Your "Wiki  Edition" install is fantastic!

---

I don't think it matters that the way this works is .tid file based. Just so long as there is a way to export back content to standard single file TW (either file save or via JSON).

---

I think you demonstrated that it can be fully portable. That is great news for folk who might want to run it, create a bespoke assembly of TW and re-wrap it into an installer or zip. The point is you can be sure it will work, wherever it goes to.

Many thanks
Josiah
Auto Generated Inline Image 1

BurningTreeC

unread,
Mar 23, 2018, 6:02:55 PM3/23/18
to TiddlyWiki
As I'm a fan of pm2 - one can use it to start the single executable and close the terminal afterwards, pm2 keeps it running

pm2 start --name multiuser /path/to/executable

to stop it afterwards:

pm2 stop multiuser

to start it again:

pm2 start multiuser

reloading:

pm2 gracefulReload multiuser

deleting the pm2 process (does not delete files):

pm2 delete multiuser

showing statistics:

pm2 show multiuser


pm2 can be installed with nodejs:

npm -g install pm2 (depends on your system)


These are all commands I use
We can also make a desktop file that launches it, so that no terminal is needed

BTC

BurningTreeC

unread,
Mar 23, 2018, 6:10:35 PM3/23/18
to TiddlyWiki

We can also make a desktop file that launches it, so that no terminal is needed

... Or one could simply make it a keyboard shortcut

TonyM

unread,
Mar 23, 2018, 8:29:44 PM3/23/18
to TiddlyWiki
I love to hear all this talk, I am looking for the same holly-grail.

Here are some additions to the discussion.

TiddleyMultiUser single executable (Jeds is brilliant, and with the improvements mentioned hear is very cool) this is even before I have exploited the MultiUser features)
   As jed points out you can have it running in more than one tab or browser safely, but another advantage is you can spawn multiple sessions against the one wiki, to have multiple views of the same wiki
  A lot more will follow
TiddlyServer latest version allows folder wiki creation in the browser
  All it needs for single file wikis is to have the upload file make copies not overwrite, and point to a nominated list of editions
A possible much neglected solution of Windows (other platform?) is renaming a single file wiki to .hta hypertext application
  I am also working on renaming a singlefile wiki to *.aspx to use on sharepoint (Tip save in WebPages library)
NoteSelf is also very powerful allowing hosted solutions with data saved in each users browser. 
  Wikis can subsequently be saved or have user updated plugins exported.
  On thought is to allow user updates to be emailed as a json file from the noteself wiki as a submission process, to be imported into a consolidated wiki.

These are exciting times, and my not fully articulated dreams are coming true as new possibilities multiply, no increase exponentially.

Next? Members of the community collaborating to provide services even income on top of the open platform.

Regards
Tony


On Friday, 23 March 2018 23:34:18 UTC+11, @TiddlyTweeter wrote:
One of the upsides of the emergence of so many well thought through responses to the Firefox Apocalypse is we are closer to being able to deliver TW in "packages" that resemble the installation of normal applications.

This is something I'd like to explore more. In particular ...

1 -- What further steps are needed to, say, wrap TiddlyServer or TiddlyDesktop into auto-installers ...

TonyM

unread,
Mar 23, 2018, 8:34:07 PM3/23/18
to TiddlyWiki
Post Script

To Spawn a new instance of TiddlyWin use Spawn {{$:/info/url/full}}

Tony

TonyM

unread,
Mar 24, 2018, 5:06:18 AM3/24/18
to TiddlyWiki
Folks,

I just wanted to add the HTA version of Tiddlywiki has some limitations, However being able to download load it is only a matter of saving the current tiddlywiki with a hta extension rather than a html extension. This would save the extra step of uploading a renamed version to the host and providing a link to it (to download).

Is it possible to create a button to download (the Current TiddlyWiki) as a HTA file?

This of course may make sense in the core, if not a simple plugin.

Regards
Tony


On Saturday, 24 March 2018 11:29:44 UTC+11, TonyM wrote:

Mat

unread,
Mar 24, 2018, 5:38:57 AM3/24/18
to TiddlyWiki
Regarding Portableapps - which I don't think was commented on in this thread but in some other threads, but it seems relevant here:

People should know I proposed TW for Portable apps in their forum several years ago. The reply was basically that they only wanted apps that had specific purposes. So, if anyone considers proposing it for their suite, it is actually better to propose "TW editions", i.e customized TWs for specific applications.

Just sayin.

<:-)

TonyM

unread,
Mar 24, 2018, 6:00:47 AM3/24/18
to TiddlyWiki
I wonder if TiddlyServer or TiddlyDesktop could fit this especially when new TiddlyWikis can be created from within them.

The specific Purpose is making tiddlywikis?

The Same could be said for HTML editors etc... Perhaps under Development

However if someone packages something perhaps with a dedicate wiki eg; I am building one for building a list of "Advantages and Disadvantages" with a standard filename eg index.html then we could share the portableapps build info and build new portable apps by simply replacing the index.html with a new filebased tiddlywiki ?

Regards
Tony

@TiddlyTweeter

unread,
Mar 24, 2018, 8:29:02 AM3/24/18
to tiddl...@googlegroups.com
TonyM, regarding HTA

Maybe it still has a role for certain types of apps?

The problem is, as far as I know, that is its an abandoned approach. Docs at Microsoft indicates that it is only supported for legacy reasons in Internet Explorer 11 (using code from Explorer 8).

I think practically its too far, now, from universal working to be widely viable.

Josiah


@TiddlyTweeter

unread,
Mar 24, 2018, 8:41:47 AM3/24/18
to TiddlyWiki
That is interesting ...

For Windows usage IF you made a system that kept running after terminal termination it could be a piece of a "user-friendly" approach.

I'm talking here only about thoroughly debugged node (& relatives) based runners of TW. But for that it could bring things closer to seamless integration for ordinary users? Do you ever need to see a console in a self-contained install?

Josiah

@TiddlyTweeter

unread,
Mar 24, 2018, 9:28:12 AM3/24/18
to tiddl...@googlegroups.com
Mat and all

Regarding PortableApps.com

... first off I'm not sure everyone knows that a PortableApps.com portable application is NOT the same as most "portable applications" (which are mainly "portable enough" but can still leave residue on the host). PA.c requires not just proven portability but conversion to the PortableApps.com system to qualify fully (they never leave residue).

For OUR purposes I'm not sure its needed to go so far. Also, judging here on GG, we have a very high number of NON-Windows users. So WHO, would it be for, it being dominantly for Windows?

Regarding PortableApps.com response they "only wanted apps that had specific purposes". Dead right. An app. that does everything is not gonna work there. BUT a wrapped TW inside a "runner" like you can do in TiddlyDesktop, TiddlyServer or TiddlyWiki Multi-User could...

To take an example: Say Thomas wrapped his ToDoNow TW into a self contained "runner"? Well THAT could be a PortableApp.com app.  as "TiddlyOrganiser". The point is to promote apps for specific purposes. You don't have to expose folk to the full fright of TW to get people using it for simple purposes.

Please NOTE that the excellent PortableApps.com menuing system on Windows allows ANY executable to be included. I activate all my main TW from it...



In short, many ways of running TW could be easily made portable, wrapping TW into them as specific "apps", so they appear like ONE application and can be advertised as such.


Josiah
Auto Generated Inline Image 1

Mark S.

unread,
Mar 24, 2018, 1:01:52 PM3/24/18
to TiddlyWiki
I don't get that. Isn't "Personal Wiki" specific enough? Otherwise you should only have word processors that only do resumes, spreadsheets that only do taxes, MP3 players that only play classics, browsers that only visit Google, etc.

-- Mark

Mark S.

unread,
Mar 24, 2018, 1:06:30 PM3/24/18
to TiddlyWiki
Just curious. Will this version serve up external images like tiddly server does?

-- Mark

Jed Carty

unread,
Mar 24, 2018, 1:44:36 PM3/24/18
to TiddlyWiki
In theory yes, the wsserver command lets you serve images and other files that can be included in the wiki. Because of by how much trouble I have had making good documentation for the other features I haven't publicised that part yet.

The quick version is you add a key filePathRoot to the settings and give the path to a folder you want accessible to the server. Then inside the wikis you can access them you use the url localhost:8080/file/path/to/file to access the external files in the wiki.

Very quick example:

in the url /path/to/file starts at the place listed as filePathRoot, so if you set /home/inmysocks/Wikis as the root and wanted to access the file with the path /home/inmysocks/Wikis/foo/bar.jpg you would use the url localhost:8080/file/foo/bar.jpg

A note:

Right now you can only set one root for served files. Anything below the listed root can be served and are accessible to anyone who can access the wiki. This can be dangerous if you set the wrong path and make it accessible to other people.

@TiddlyTweeter

unread,
Mar 24, 2018, 2:04:29 PM3/24/18
to TiddlyWiki
Mark & Mat

I think the issue, at root, was more about "A web page is just a document" it is "NOT YET software". So your analogies are right but your conclusion misses that TW (html document) needs enfolding in a "runner" (executable) in order to be realised (application). In the same way that .docx needs Word to be. PortableApps is not a web-page host.

With recent developments in TW its become easier to create self-contained applications (i.e. encapsulated runnable software). These are TW wrapped into runners. TiddlyDesktop, getting better all the time, is I think the one that most looks like "software".

Best wishes
Josiah

@TiddlyTweeter

unread,
Mar 24, 2018, 3:52:50 PM3/24/18
to tiddl...@googlegroups.com
A great advantage of assembling TW as a packaged app is that, especially when the surface renderer is wrapped within it (e.g. TiddlyDesktop), is you can be surer it will work as you expect.

Say you get a TW working really well. That works well in TiddlyDesktop. Why not just wrap it into TiddlyDesktop and leave it there for a few years? Why bother with updateitis once you have a functioning good product?

Paul Hutchinson

unread,
Mar 25, 2018, 10:52:55 AM3/25/18
to TiddlyWiki
For me there are these reasons to do updates:
  1. Fixes for broken features due to OS updates
  2. Fixes for security problems in Tiddly Desktop
  3. New features in Tiddly Desktop
Making updates easier to find/install is a good reason to package up Tiddly Desktop for the PortableApps platform. I'm seriously considering doing it if I have a big enough chunk of free time someday. In case anyone else wants to try doing it here's the page to start learning how to do it. https://portableapps.com/development

No programming required it's basically just a matter of constructing a configuration definition file and running the creation tool. https://portableapps.com/apps/development/portableapps.com_launcher
The PortableApps.com Launcher™ allows developers, publishers and even technical end-user to portablize apps in PortableApps.com Format without needing to write any code.

Paul Hutch

@TiddlyTweeter

unread,
Mar 26, 2018, 5:05:50 AM3/26/18
to tiddl...@googlegroups.com
Ciao Paul Hutch & all....

Paul Hutchinson wrote:
... package up Tiddly Desktop for the PortableApps platform. I'm seriously considering doing it if I have a big enough chunk of free time someday. In case anyone else wants to try doing it here's the page to start learning how to do it. https://portableapps.com/development

No programming required it's basically just a matter of constructing a configuration definition file and running the creation tool. https://portableapps.com/apps/development/portableapps.com_launcher

I agree. ONCE someone does it once it would be easier to do it.

I think the question is whether to ...

1 - Just make a PortableApps version of TiddlyDesktop ...

or

2 - Makes a PortableApps version of TiddlyDesktop that enfolds specific TW for a purpose. For instance, NOT TiddlyDesktop alone but as a "TiddlyDesktop Organiser" --- that enfolds, say, Thomas' ToDoNow.

At the moment the default TiddlyDesktop install is not fully portable. (a) Its default placement of configuration files is into an OS' assigned directory. This can be overridden via command-line directives. (b) Is the addressing of local TW files portable? (i.e. relative).

The broader issues are: (a) whether a way to run TW in PortableApps makes sense without an enfolded TiddlyWiki that has a distinct purpose?; (b) whether linked TW should be part of it or separate?

In the case of TiddlyDesktop it might work as a standalone as a PA, I think. But it might, for end-users, work even better as an application for defined purposes (i.e. enfold TW that deliver precise functions users need).

Just thoughts
Josiah
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Greg Davis

unread,
Mar 26, 2018, 1:45:50 PM3/26/18
to tiddl...@googlegroups.com
Hi All,

Tried to make a PAc version of TiddlyDesktop back when node still ran in Windows XP. Command line allowed putting some files in the appropriate PAc Data directory but node still seemed to put some files in 'Appdata' on the PC's root drive. Need some way to specify put in PAc's Data folder, can move back and forth but not good for a lot of data. Also the TiddlyDesktop config seemed to hard code the drive letter, in settings, so if moved USB and got different drive letter it wouldn't work. That hard coding negated the PAc launchers ability to adjust drive letters. Ideally, the easiest way to make a PAc is if application has location of various data/config files specified in an ini file. If I remember correctly, ran once with command line to get the config files then copied them to Default Data to use in new installs.

The PAc packages are a zipped collection of files using NSIS to install. It specifies a folder structure where the application files should be placed and where the data files should be placed. This allows a standard configuration on how to do updates and, if desired, back up data. For easiest use, the application is installed within the Platforms folder structure. The platform provides a menu to select from the installed options it also check for updates of installed applications. It has some use, depending on the application, outside of Windows with WINE in Linux and possibly other options in OSX. The PAc packages can be installed without the Platform.

As for TiddlyDesktop as a PAc App, it would be for making or editing  TiddlyWikis. LibreOffice makes "Word" docs or spreadsheets, GIMP makes or edits pictures, Blender makes 3D models. Apps mostly make or edit something else, the only possible limitation is finding an audience that wants to use the App. PAc doesn't say you have to use their site to distribute an application packaged in the format. I think the only limitations come if you want to sell an application packaged in their format.

This might also be applied to TiddlyServer with similar problems to be overcome.

Greg

Doen't want to post with zip try to add later.

Found some old files from when I gave up, this is the basic structure without the TiddlyDesktop files. Not sure where I left off with this. After add TiddlyDesktop files run with TiddlyDesktopPortable.exe.

https://www.dropbox.com/s/8umpjmt5sdyair7/TiddlyDesktopPortable.zip?dl=0


@TiddlyTweeter

unread,
Mar 26, 2018, 4:22:35 PM3/26/18
to TiddlyWiki
Ciao Greg

Thanks for that and the download of the skeleton. Its really useful background and confirms my limited experience so far.

IMO getting TiddlyDesktop running portably (enough) is, I think, Step 1. Step 2 could be doing a PortableApps.com version.

Need some way to specify put in PAc's Data folder ...

I managed to get the App Settings directory in a portable place on Windows PC (a sub-dir of the install) by a command line @Jermolene suggested ... To get this to work you need ensure that the "current directory" is the same as the directory where nw.exe is when you run it.

nw.exe --user-data-dir=.\data

This gives basic portability to the APP.

Also the TiddlyDesktop config seemed to hard code the drive letter, in settings, so if moved USB and got different drive letter it wouldn't work.

Right. That first step on settings above doesn't portabilise the wikis which are located, by default, at absolute paths. That is understandable if TW is just on one desktop...

... But its an issue if you want to be able to take wikis with you set up correctly to use on a pen drive. Its also an issue if one wants to create "packages" of TiddlyDesktop with a TW that will install correctly anywhere. For both cases you need relative paths in the TW settings.

I looked at the settings files and could not figure out if you could manually edit the paths for relative links. I guess the easiest would be to ask Jeremy Ruston about that.


As for TiddlyDesktop as a PAc App, it would be for making or editing  TiddlyWikis. LibreOffice makes "Word" docs or spreadsheets, GIMP makes or edits pictures, Blender makes 3D models. Apps mostly make or edit something else, the only possible limitation is finding an audience that wants to use the App.

Right, I think there is great attraction in having it as ONE generic tool. On the other hand its an added step to get anything into it. So for some situations a finished product that includes a wiki could also be attractive (for instance a music editor that holds a thousand tunes). But, maybe, if a "packaged" approach took off auto-download and install of variant TW could be integrated?

---

BTW, Jed's TiddlyWiki-MultiUser (.tid file server) is now easily able to be made portable (see previous comments in this thread). I haven't looked at TiddlyServer, but assume could be made portable as easily, if it isn't already.

Best wishes
Josiah
Reply all
Reply to author
Forward
0 new messages