Hi Jonathan

Have you had a look at Electron <http://electron.atom.io/>? The framework 
looks to be more suitable than node webkit for this project.

regards

On Sunday, 28 August 2016 20:04:47 UTC+2, Jonathan Doughty wrote:
>
>
> Any further thoughts on this?
>
> I was recently motivated to begin the switch from using several single TW5 
> files to node-served WikiFolders of tid files via tiddlywiki --server. 
> Now that I have started that process I am beginning to encounter the issues 
> of running separate tiddlywiki --server instances on separate ports and 
> the desire to share portions of my collection of tid files between those 
> while keeping the content segregated into folders.  Using REST path 
> prefixes and WikiFolders seems like an ideal way to accomplish that and 
> Matt's efforts seemed to be headed in that direction. But the promising 
> beginning does not seem to have advanced.
>
> (FWIW, I can get TiddlyServer to present its GUI but not actually serve 
> any WikiFolder contents.)
>
>
> On Monday, May 16, 2016 at 4:57:39 PM UTC-4, Matthew Lauber wrote:
>>
>> All,
>>    I am pleased to announce the initial public offering of software I've 
>> taken to calling TiddlyServer <https://github.com/mklauber/TiddlyServer>. 
>>  TiddlyServer is a NW.js desktop application that can be used to setup a 
>> local server serving  multiple Wikifolders.
>>
>> *To start off with, here's a quick look at the current UI.  *
>>
>>
>> <https://lh3.googleusercontent.com/-JAci075PzQM/Vzou22n4goI/AAAAAAAAATU/FlMnG_d3bqQr6ZueT4-FZnPVrS7C8HuxACLcB/s1600/Screenshot%2Bfrom%2B2016-05-16%2B16%253A33%253A51.png>
>>
>> The top Row is how you add additional wiki folders.  Using the "Choose 
>> File" button you can select the root folder of your WikiFolder instance.
>> The text box is the prefix you want the site to be available at.  
>> The Add button has a click event that adds the path and prefix to the 
>> config, starts the server, and then refreshes the UI.
>>
>> Below that are multiple rows of Individual wikis.  Right now they're very 
>> sparse, grabbing just the title from the wiki itself, then listing the 
>> prefix for that wiki.  Clicking anywhere on the row for a wiki opens it in 
>> your default browser.
>> The Delete word is a button that stops the server and removes the wiki 
>> from the config file, then updates the UI.
>>
>> *Now a quick look at how this is designed.*
>>
>> This application is basically a big wrapper around being able to start 
>> multiple instances of TW5.  the code here 
>> <https://github.com/mklauber/TiddlyServer/blob/master/source/js/server.js> 
>> contains most of the logic.  
>>
>>    1. Upon starting up, it loads a config file if it exists, 
>>                            instantiates a TW5 instance for each wikifolder 
>> in the list.
>>                            1. The instance of TW5 is running a custom 
>>                               TW5 command "unixserver 
>>                               
>> <https://github.com/mklauber/TiddlyWiki5/blob/multiserver/core/modules/commands/unixserver.js>"
>>  
>>                               that basically uses a unix socket file instead 
>> of a port number.
>>                               2. Each instance of TW5 starts listening 
>>                               on it's socketPath.
>>                            2. It also starts up a proxyServer listening 
>>                            on port 8080.  This proxyServer looks at the path 
>> part of the url, and uses 
>>                            that to proxy the request to the correct Socket.
>>                               1. If the wiki path does not match any 
>>                               prefix it'll respond saying that path doesn't 
>> match any wikis, please 
>>                               choose from the list below... and lists the 
>> wikis
>>                            3. Finally, the UI starts up.  The UI allows 
>>                            the end user to add or remove the wikis and 
>> prefixes available.  
>>                         
>> *A few notes at present.*
>>
>>    - This likely only works on Unix and OSX.  I'm currently relying on 
>>    Unix Socket files to communicate between the proxy server.  AFAIK, unix 
>>    socket files are not supported on Windows.  It would be possible to 
>> change 
>>    this to use multiple ports.
>>    - This does not support WikiFiles, yet.  Only WikiFolders.
>>    - The UI was hacked together via React in an afternoon to demonstrate 
>>    that this was feasible.  It does not provide basically any error handling.
>>
>>
>> *Installing:*
>>
>>    1. Download the stable release of nw.js from http://nwjs.io/
>>    2. extract nw.js
>>    3. Clone the repository at 
>>    https://github.com/mklauber/TiddlyServer.git
>>    4. cd to the `source` directory of the cloned repo
>>    5. run `npm install`
>>
>> *Running: *
>>
>>    1. run `/path/to/nw.js-vx.x.x-.../nw .`
>>
>>
>> I was inspired to tackle this based on some comments Jeremy made on the 
>> direction that he'd like to take TiddlyDesktop.  Hopefully the community 
>> finds it interesting, if not yet actually useful.  I would appreciate 
>> feedback, suggestions, and especially Pull Requests.
>>
>> Thanks,
>> Matt Lauber
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/98fb4542-1548-4bee-9864-f4f31b76f605%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to