Peer Pressure

Stuff to look at about looking at stuff. From Chris Dent. What?

Archive

Nov
19th
Thu
permalink

TiddlyWeb and ccTiddly

In the comments to TiddlyWeb Plugin Tutorial Part 1 Eric asked:

Has ccTiddly been discarded in favor of TiddlyWeb? What are their essential differences?

I wrote a long answer as another comment which I’ve now copied (with some edits) up as a proper entry to give it a bit more visibility. It helps explains a bit more about the whys of TiddlyWeb.


Short answer is: No ccTiddly has not been discarded. ccTiddly has a large and still growing user base. TiddlyWeb exists as an alternative, with some benefits and some disadvantages. As the author of TiddlyWeb, I’m biased in favor of it.

The general design of TiddlyWeb comes from conversations between Jeremy Ruston (the original author of TiddlyWiki) and me. The basic idea was “If we were to create a TiddlyWiki server side from scratch, what would it look like?”

From my perspective the essential difference between TiddlyWeb and ccTiddly is that TiddlyWeb was designed from the ground up as a fully HTTP compliant web service for the storage and management of tiddlers. That is, in TiddlyWeb, tiddlers are first-class, primary entities: the basic thing with which you want to work. Not TiddlyWikis.

Tiddlers as first class entities leads to bags and recipes which are containers and builders for collections of tiddlers that are subsets of the entire body of tiddlers stored by the TiddlyWeb.

While TiddlyWeb was being developed ccTiddly has evolved as well, so it now has greater access to individual tiddlers and combinations of tiddlers. I don’t know the details of that, but as far as I can tell it is not as flexible as bags and recipes nor as accessible via the HTTP API.

The “I am a web server for tiddlers” nature of TiddlyWeb also leads to other things:

  • A simple system for serializing tiddlers (and bags and recipes) into a whole load of different representations (wikis, HTML, text, JSON, Atom, etc) that is easy to extend by plugins.
  • A straightforward system for storing tiddlers (and bags and recipes) in arbitrary storage systems (text on disk, on a remote webserver, in an RDBMS, in IMAP, etc) that is easy to extend by plugins.
  • A simple plugin system for changing just about anything else on the system.

TiddlyWeb is built with Python as a WSGI application and relies upon Python packaging and distribution solutions for installation and configuration. This means it can be run with just about any web server (including the one that is built in) on just about any computer that supports Python (it’s been made to work on an iPhone). However it also means that if your computer does not have Python or does not provide a way for you to install Python or Python modules you are out of luck.

This last problem is common on some shared hosting services, where Python can be considered a bit special. In these situations ccTiddly has an advantage because it uses PHP and PHP is commonly available on shared hosting services. Often ccTiddly can just be ftp’d or scp’d to the shared host into a web directory and it will work.

From my perspective the good long bet is to go with TiddlyWeb. It’s very flexible, very powerful, and very much designed for and by the web: it is built with every hope that people will use it in unexpected ways, building new stuff on top of it.

From http://tiddlyweb.com/ lots of additional stuff can be found.

Comments (View)
blog comments powered by Disqus