New to TiddlyWiki and Cardo

327 views
Skip to first unread message

Paul Lem

unread,
Feb 22, 2018, 5:16:16 AM2/22/18
to TiddlyWiki-GTD
Hello David and all Cardo users,

I'm completely new to TW and Cardo and struggling to find out where to start. I'm looking to get some help for my particular use case... which I don't think is particularly unusual but I'm finding that the he myriad options available in the TW world means that I can't even see my way through.

I'm trying to setup a family business GTD system with note taking abilities...hence Cardo. The problem comes with my additional requirements...cross platform and multi user...also I'm computer literate but my wife and son would be completely lost if there was anything other than a pretty simple interface.

Is it possible to serve Cardo/TW on Linux using node.js and have (near) synchronous edits from Windows/android...or an easy update/merge process. Or use the Dropbox/GDrive plugins.

Would love to be able to get to grips with Cardo/TW but don't have masses of time to play with it for weeks/months to find out if it suits my purposes.

Any help gratefully received.

Regards, Paul.

David Szego (Cardo)

unread,
Feb 22, 2018, 8:34:07 PM2/22/18
to TiddlyWiki-GTD
Hi Paul, thanks for writing and I'm glad to hear you're using Cardo!

Cross platform and multiuser aren't so hard... Cardo was written with as much multi-user use in mind as possible, considering TW is a strictly single-user system.

I'll explain multi-user Cardo use below. First, let's get the technical bits out of the way and look at serving TW on Linux for everyone to share. I'm assuming you've got a Linux (or node/apache capable) server that your family can access.

Install node:
apt-get install node
or whatever works for your distribution.

Then install TW,
npm install -g tiddlywiki
cd
/wherever/I/want/myTW
tiddlywiki NameOfMyNewTW --init server
For more details, see:
https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520on%2520Node.js.html

Then run it as a server, i.e.:

/usr/local/bin/tiddlywiki /wherever/I/want/myTW/NameOfMyNewTW --server 8001 "" "" "" SharedUserName PaSSw0rD 192.168.0.1

Make sure you put the IP of the interface you're connecting on, not 127.0.0.1. 8001 is the port I've used in the example. If you leave it out, you get 8080.

Now go to http://192.168.0.1:8001 (in this example), you'll be asked to log in with SharedUserName and PaSSw0rD.
Now you can install Cardo plugins and do your thing to customize your TW.

So, that's a shared TW you can let your family have access to. If you want it to be secure, you'll have to proxy with Apache (or NGINX), using a .conf file like this:

<IfModule mod_ssl.c>
<VirtualHost *:443>

        ServerName my.domain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

       
<Proxy *>
          Order Deny,Allow
          Require all granted
       
</Proxy>

        RewriteEngine On
        RewriteCond %{LA-U:REMOTE_USER} !^${TW5USER}$
        RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|PUT|DELETE|POST)
        RewriteRule .* - [R=405,L]

        Header merge Cache-Control no-cache
        Header set Access-Control-Allow-Origin "*"

        AllowEncodedSlashes On
        AllowCONNECT 443 8001
        ProxyRequests On
        ProxyPass "/" "http://192.168.0.1:8001/"
        ProxyPassReverse "/" "http://192.168.0.1:8001"
        ProxyVia On
        ProxyPreserveHost On

        SSLEngine On
        SSLCertificateFile /etc/letsencrypt/live/my.domain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.com/privkey.pem

</VirtualHost>
</IfModule>

It's beyond this post to teach you how to set up Apache, but if you can get that .conf file running, you can now connect to https://my.domain.com and it will proxy to http://192.168.0.1:8001 to reach your TW. That secures things for you, and gives you a nicer way to connect.

So how to use Cardo in your environment?

I would make a dashboard for each member of your family business. In your Cardo sidebar, click the "New" tab, and click the "Person" button (middle section, under "Information").

Give the person a name. "JohnLem". Make another person, "JaneLem".

Now when you make a task, you can assign it to JohnLem or JaneLem, and when Jane uses the TW, she can open the Tiddler called "JaneLem" and she will see the tasks assigned to her.
Same will go for adding people to projects, or to meetings, etc. etc.

The only thing that won't work is the "My Dashboard" button in the Cardo "Review" sidebar... It can (so far) only be mapped to one person, whomever is set up as the "Username for signing edits" in the TW ControlPanel.

That should take care of the bulk of your needs... I would love to hear how you manage with it after a few weeks, and please don't be shy to ask questions in the meantime!

I think if you walk them through the Cardo sidebar buttons, and the basics of tasks and projects, the family should get it fairly quickly. You don't need to get into meetings, agendas, project roles etc. right away.

Best regards,
David.


Paul Lem

unread,
Feb 24, 2018, 3:20:22 AM2/24/18
to TiddlyWiki-GTD
Thanks David. An incredibly detailed and comprehensive reply. I'll put some time aside over the next week or so and try to get Cardo up and running. I'll let you know how I get on.

Regards, Paul.

Paul Lem

unread,
Mar 4, 2018, 6:19:15 AM3/4/18
to TiddlyWiki-GTD
Morning David, (if it is morning where you are!), I've got TiddlyWiki installed ok but when I try to run it with the server command the process returns to the command line immediately..no errors, no status, seemingly no TW processes running at all (although I'm just making an educated guess at what they might be called). One thing I wanted to ask you from your instructions..the IP address in the server command is the IP of the server computer itself, ie the one we're trying to run the service from. Every instance I've seen in examples online has had either 127.0.0.1 or 0.0.0.0.

I'm using port 8001 but when I do a Jetstar it doesn't show up anywhere.

Thanks in advance.

Regards,

Paul.

Paul Lem

unread,
Mar 4, 2018, 6:21:28 AM3/4/18
to TiddlyWiki-GTD
Netstat, not Jetstar... autocorrect!?

David Szego (Cardo)

unread,
Mar 4, 2018, 9:17:35 AM3/4/18
to TiddlyWiki-GTD
Two quick network addressing FYIs -

127.0.0.1 means "myself", so if you go on your client computer and try to go to "myself", that's where it'll go!
If you went on the server and tried to go to "myself", you'd reach whatever is running on the server just fine.

"0.0.0.0" means "any interface I can find", so that would certainly work - "serve TW from any IP I can find", one of which you'll be able to reach from the client.

However, if you're running and it exits just like that, it's probably a typo in the command line. What exactly are you typing? (just xxx the password!)

D.

Paul Lem

unread,
Mar 4, 2018, 11:59:54 AM3/4/18
to TiddlyWiki-GTD
Hi David, nothing comes back from TiddlyWiki --version. I'm running on a raspberry pi, the distro is debian derived and "node" is an existing package in the distro. I got myself into a tangle w nodejs and node, also having to run certain installs as admin (sudo) and trying to run tw as a "normal" usr. I've scrubbed my distro and starting again. I suspect something went wrong w the installation...although the tiddlywiki.js script was there. Running it from the "node_modules/tiddlywiki" directory didn't help..

Thanks for the FYIs..knew abt localhost but not 0.0.0.0.

Will keep you posted..

Thanks again for your help.

Cheers Paul.

Paul Lem

unread,
Mar 4, 2018, 12:24:27 PM3/4/18
to TiddlyWiki-GTD
Sorry, didn't answer your question. I typed...

/usr/local/bin/tiddlywiki /home/pi/TW/LemWiki --server 8001 "" "" "" SharedUserName PaSSw0rD 192.168.0.15

Where the IP address is the one from my server, ie the raspberry pi. In your example you used 192.168.0.1 which on my network is the router.

Rgds Paul.

Paul Lem

unread,
Mar 4, 2018, 12:49:40 PM3/4/18
to TiddlyWiki-GTD
Hi David, success. Started again..think the "node" confusion in Debian caused the problem. Running now and can see the default wiki from my clients. I've also installed nginx and, with the minimal config out of the box, I can see the server from the client. Progress. Will do more nginx config tmrw and get the cardo plugins added to tw. Will let you know.

Regards Paul.

Paul Lem

unread,
Mar 14, 2018, 1:07:01 PM3/14/18
to TiddlyWiki-GTD
Hello David,

I'm still trying to get Cardo up and running but have come up against a problem - I'm not sure how to install the Cardo plugins when running on node.js. Plus, I can't find the Cardo .json files which you refer to in the release notes in this forum.

I've been trying to figure it out myself but can't seem to find a complete description online - mostly the plugins descriptions relate to stadalone tw, not node.js

My current understanding is that I need to import some .json files, put them in the plugins directory and alter the tiddlywiki.info file to invoke the plugins at runtime.

Any help appreciated.

Regards,

Paul.

Paul Lem

unread,
Mar 14, 2018, 4:20:11 PM3/14/18
to TiddlyWiki-GTD

Hi David,

I've got Cardo running on my installation now...shall play around with it, setting up a project and assigning tasks to persons etc, and let you know how I get on.

Regards,

Paul.
Reply all
Reply to author
Forward
0 new messages