Call me old fashioned, but I find it to be nice to know who I'm talking to or working with. I contribute to the TiddlyWiki GoogleGroups and enjoy it, but every now and then, I just wonder what l33tW1k1, Simon Baird, or Jeremy Ruston look like.

I grabbed a few photos from off the web an threw together a simple quiz. If you would like your photo in the next quiz, email me it. Lets see if you can guess who's who from a random couple of TW developers:

First of all, let me introduce pytw. Its motto is 'pytw - very simple'. Is so simple it avoids uppercase letters. You don't get much simpler than that.

The motto actually confused me at first. I though pytw was going to be incomplete or just aimed a copying a TiddlyWiki file to a server. I'm glad to be wrong. The simple ideal is to keep it agile and modular regarding development.

My personal knowledge of Python can be summarized by three words: non-existant. So installing pytw wasn't going to be easy (or so I thought). Since I'm still a novice with the command line, I'll show you how to install it without using the command line. (Okay I lie, I'll give you a tip or two on the command line)

Step 1: Acquire and Unzip

First of all go download the pytw package from its website. Then, you need to expand it, my prefered method is to use 7-zip, it takes two passes then you have a folder named pytw with all the necessary files.

Step 2: Alter the index.cgi file

Now in the pytw folder, edit the file called 'index.cgi' Change the first line from #!/usr/bin/env python2.4 to #!/usr/bin/python Notice how there are no spaces in there. None. Don't think about putting them (unless you know exactly what you are doing, unlike myself).

Here's the command line part: you can use the which python command on the server and if it has python, it should tell you where python in installed

Step 3: Upload everything

Save you 'index.cgi' then open a useful ftp program. I'm using Smart FTP though Filezilla works well too. Once it finishes uploading go to the 'index.cgi' file and change its permissions to 755.

(Command line equivalent: go to the directory its in and enter: chmod 755 index.cgi)

You can now access your site from the internet. It now totally works. Of course, there are pytw modules and other such things, but thats beyond my experience. Maybe I'll write about those kinds of things once I master them.

Step 4: You probably need to make the directory writable (I didn't have to though!)

On my dreamhost server the directory is automatically given permissions of 755, so the web server can write and store the tiddler stuff there without any help. If you have problems you probably need to do a chmod 755 store -R. This goes and make the store directory like it needs to be (the -R tell is to goe recursively and set it up with each subfolder and file as well.)

Feel free to offer comments, corrections, and compliments in the comments.

Lets say you have a WebDav server. Actually, you probably don't have a WebDav server, but you have an FTP server. (Lets also say that you have MS Windows) Okay so you can login, upload the TiddlyWiki files, and have somewhere where others can view yoursweet site, right?

Now lets say that you want to open you TiddlyWiki file from your server and edit it like its a local file within your browser. Impossible? Sure. Now, here's how you can do the impossible:

The solution is Novell NetDrive (5 MB). I found it here: http://www.acs.uwosh.edu/novell/netdrive.htm You can Google it to download also, its free and works great (at least it has for the full ten minutes that I've used it ).

Install it and run it. It will allow you to map a webdav folder or an ftp site as a local drive. Let me repeat this (as it is pretty cool)

Map an FTP server as local drive.

Map a WebDav server as local drive.

Then, you can just drag your TiddlyWiki over, open it in your browser and edit it. Nice? Right. Very. Now follow this link and show your gratitude: http://tiddlywiki.com/#ThankYou

Update: This technique only worked with Version 1.2 of TiddlyWiki. TW 2.0 uses templates for rearranging the structure. I'll try to clean this up noting 2.0 differences some time. The main thing is to edit the PageTemplate shadow tiddler and leave out the javascript.

Before we attempt to rearrange the page's layout, it is important to understand the page's structure. What is the page's structure? Think of a tree. The base element for a web page is the HTML element, like the trunk of a tree. Many elements branch out of the HTML element and even more elements branch out of those elements. So the page's structure branches out like a tree. Got it?

Now the elements that we are concerned with are the MainMenu and Sidebar. Here's how they sit in TiddlyWiki:

To move the sidebar under the MainMenu we have to move it in two ways: 1) we need to place the MainMenu before or at the top of the sidebar (using JavaScript) and 2) we have to change how it displays on the page (using CSS).

Create a tiddler and name it whatever you want. ('HTML Structure' is usually a good name.) Give it the tag of 'systemConfig'. This will make it execute the JavaScript in the tiddler the next time the page is refreshed. Now insert the following code:

This 'grabs' the sidebar then grabs the mainMenu element and moves it to be before the sidebarOptions element. Save your TiddlyWiki file and refresh it. This will execute the new HTML Structure tiddler and rearrange the page structure. Now the page's structure looks like this (notice where the mainMenu has moved to):

The first rule turns off a 'position: absolute;' rule. Absolute positioning is what make the mainMenu overlap the sidebar. 'Static' tells the sidebar to move on down and display after the mainMenu.

The second rule tells the sidebar to be zero pixels from the left side of the screen. It was set at 'right:0;' by TiddlyWiki before.

The final rule is actually not necessary but once we move the sidebar to the left side of the screen we want to let the tiddler's fill in the empty area again. So we remove the displayArea's right margin.

To keep the TiddlyWiki useable you'll probably want to keep the mainMenu realatively short. Next time I'll show you how to make your mainMenu horizontal and part of the header.