DISQUS

Peer Pressure: TiddlyWeb Plugin Tutorial. Part 1

  • erickofoid · 1 month ago
    Has ccTiddly been discarded in favor of TiddlyWeb? What are their essential differences?
  • cdent · 1 month ago
    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 the two 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) in a whole load of different representations, easy to extend by plugins; a straightforward system for storing tiddlers (and bags and recipes) in arbitrary storage systems, easy to extend by plugins; and 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 built in to it) on just about any computer that supports Python. 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.
  • erickofoid · 1 month ago
    Hi, Chris,

    Thanks for the detailed and very helpful response.

    I'm having a problem with the command "twanager instance jinx". When I
    run it, with or without sudo, it simply lists a variety of options,
    but does not create a directory anywhere. Am I doing something wrong?
    Elsewhere, I read that running any option with twanager will create an
    instance if it doesn't exist, but I'm reluctant to try this without
    more advice about how the instance directory will be named and
    located, etc.

    Also, once the instance is created, how do I set up the server so that
    it runs automatically, even after a reboot?

    Cheers,

    Eric.


    Eric Kofoid
    Microbiology/CBS, UC Davis
    Davis, CA 95616
    530-752-6788 (phone)
    530-752-7663 (FAX)
    eckofoid@ucdavis.edu

    CONFIDENTIALITY NOTICE: This communication with its contents may
    contain confidential or legally privileged information. It is solely
    for the use of the intended recipients. Unauthorized interception,
    review, use or disclosure is prohibited and may violate applicable
    laws including the Electronic Communications Privacy Act. If you are
    not the intended recipient, please contact the sender and destroy all
    copies of this communication.
  • cdent · 1 month ago
    No problem on the many questions Eric. As you may have noticed you're more likely to get prompt answers (from more people than just me) by posting to the tiddlyweb google group at http://groups.google.com/group/tiddlyweb

    Also, some of the issues you are having come from this blog posting not been up to date with some of the latest ways of doing things in TiddlyWeb. I'll use this as an opportunity to clean it up.
  • erickofoid · 1 month ago
    Hi, Chris,

    I was able to answer some of the questions I asked earlier today. I
    have a bare-bones TiddlyWeb wiki running. I have a few other questions.

    1. How do I enable the TW server automatically after system reboot?

    2. When I copied my style sheet from my ccTiddly wiki to the new
    setup, it seemed to layer the skin over the default, creating a fairly
    ugly mess. What is the proper way to reset the theme?

    3. How do I call the logout, login or help tiddlers? They don't seem
    to be present.

    4. If I have a stand-alone TiddlyWiki or a ccTiddly wiki, is there any
    easy way to recreate it as an instance under TiddlyWeb?

    Cheers,

    Eric.
  • erickofoid · 1 month ago
    Hi, Chris,

    I'm afraid I'm going to drive you nuts, asking questions and then
    answering them for myself!

    I solved the theme problem by also manually copying the PageTemplate,
    ViewTemplate and EditTemplate from my ccTiddly wiki to the new
    TiddlyWeb setup. Looks pretty now!

    Cheers,

    Eric.
  • Simon · 1 month ago
    I think Chris sums up the differences quite well.

    ccTiddly thinks in terms of workspaces which are effectively TiddlyWiki files. While it does allows you to include tiddlers from multiple workspaces in the same TiddlyWiki file it does not provide the same flexibility as provided by the bag/recipe model.

    While ccTiddly does provide access to tiddler resources through a HTTP API there remains some functionality that is not exposed.

    ccTiddly tries to make it as simple as possible for PHP types to allow multiple users to edit and share their TiddlyWiki files.

    I'm currently working on ccTiddly 1.9 which aims to enhance the plugin infrastructure. Some of the changes in 1.9 also make it much easier to share clientside code/content between ccTiddly, TiddlyWeb and other TiddlyWiki serversides.
  • Jeremy Ruston · 1 month ago
    Chris's answer is correct. ccTiddly will continue to exist, and be supported, as a convenient entry point to TiddlyServers, particularly for people already familiar with PHP and MySQL. TiddlyWeb is Osmosoft's strategic choice of platform for our activities, but one of the important characteristics of TiddlyWiki from our point of view is the diversity it engenders - having different choices for the serverside has tended to make TiddlyWiki attractive to a broader range of developers.