I just got blown away when I stumbled across Tiddlywiki and its many derivatives.
Two in particular caught my interest.
QWikiWeb
PHPTiddlywiki
QWikiWeb adds nice extra useability features, whilst PHPTiddlyWiki made me feel that this could be very straightforward to integrate into Drupal.
What Im thking is that I'd like to give members of drupal community site, the option to create as many Tiddlywiki's as they need. For themselves they could be used as planners (theres a GTDTiddlywiki too btw) or anthing else they want. But then I also wondered if the Tiddlywiki concept wouldnt be a good thing to apply to the "book" nodes, or forums or..etc etc. The neat thing that can be taken from Tiddlywiki is the ability to quickly move around a set of microcontent items within the main tiddlywiki very quickly and easily, whilst seeing each part in the context of the whole - no need to go to another page (all the contents in the same html. It may sound messy, but its not, the Tiddlywiki manages to compress a huge amount of info into a very compact view. Another aspect on the recent Tiddlywikis is that they can represent the views based on tagged content. Of course because its a wiki, all the content items can be edited double click edit , save.
There could be many ways of taking these features and applying them to drupal. If not for enhancing existing Drupal elements (such as a book or forum), then simply as an additional content item that a user can create. It would be another valuable additional personal tool over and above the users blog (or could even be used instead of). At the very least the simple scripts that make editing and other things happen so effortlessly are worth exploring. For example if we could edit drupal content so easily it would be wonderful. maybe it would mean separating out the base editing of a body of content out from all the other settings that go with a content item. One thing that came to mind was the My Workspace module which I use. If that could present and allow editing of the users content in a similar way it would be tremendous.
Finally, I came across something a little different, another very cool wiki called protopage,
Unfortunately this isnt opensource, but it is a pretty stunning example of how far the wiki concept has come, I dont feel like its a wiki at all. I have a sense that this may have a lot of emulators in know time at all.
Again I started thinking how it would be nice to give Drupal site members their own version. Then wondered about the diferences between that and the Tiddlywiki. Basically Protopage is more aestheically pleasing (cool), but other than that I actually feel that its the Tiddlywiki that offers more of a leap (A whole more flexible way of constructing and browsing a series of content items - nonlinearly). The one real thing that protopage had which Tiddlywiki didnt was the flexibility to place items anywhere, and to drag & resize them. So the space becomes like a huge unlimited canvas. Im sure though that that is something that could be done with Tiddlywiki eventually. In fact what Id love to see would be a tiddlywiki with an extra option setting that lets you either snap items to grid (ie standard 3 column tiddlywikilayout, or freeform, which would be as per protopage, floating blocks of content (tiddlers). Then what I'd do as an end user would be to have a top level Tiddlywiki with a freeform as a personal Start page (ala Protopage concept, and then have a load of Tiddlywiki's pointed to from there for each planner or document that I had). Maybe thats what the "My Workspace" interface should be, where each Tiddler represented just the body content of the actual item, and a link to then edit the rest of the settings. It would allow much more info to be squeezed into the workspace view, and allow fast quick text changes to body of content items. It would allow quick display in a variety of ways for the users information.
Whatever these are really neat developments and well worth checking them out. And Im sure they could be really well adapted in Drupal.
Comments
You mean .com
Is this the site you were trying to link to?
http://www.tiddlywiki.com/
- Robert Douglass
-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net
my Drupal book | Twitter | Senior Drupal Advisor, Acquia | Advisor ICanLocalize
Wow. Stunning.
I can see this type of web UI catching on really quickly. The first person to offer managed blog hosting based on this stuff could earn a ton of money. Very cool, thanks for pointing these out. I wish (once again) that I could clone myself into a team of 10 to go out an tackle this and bring it into Drupal. Or maybe there's an easier way.... "chx - go program this!" --- he'll be done with it in a couple hours ;-)
- Robert Douglass
-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net
my Drupal book | Twitter | Senior Drupal Advisor, Acquia | Advisor ICanLocalize
This has been possible for a very long time.
I've wanted to write something like this for a while, but I have this natural aversion to writing (or more accurately .. debugging) javascript.
=)
--
The future is so Bryght, I have to wear shades.
phptiddlywiki
Yes.. :-) and I think some already are.. there is serversidetiddly or something which is actually a ruby based tiddly, and they are charging, and then theres another one that has been setup for use from zope, I browsed so many of these I cant remember where I saw them now. and yes your url was the correct one using .com not .org
I think phptiddlywiki may be a good place to begin for looking at a drupal version as that was Patrick Currys variant which set the tiddlywiki to be served from a website using plain old php, Ive attached it here.
ok cant attach.. see the link instead
http://www.patrickcurry.com/tiddly/releases/PhpTiddlyWiki0.2b.zip
From his website..
"..PhpTiddlyWiki is a brand new kind of Wiki. It combines the awesome front-end of TiddlyWiki with a new PhP/MySql backend.
... We're still working on it, but you can DownloadCode of the beta version...Visit the SandBox to play around!"
and it turns out this is the one that drives www.tiddlywiki.com
Knowledge may be the door, but communication is the key
oh! yess... a WOW!
Suddenly a fresh breeze and a sight! I can see the light! :)
so simple and revolutionary. looking to hundreds of -how to questions on this side becomes irrelevant, with the way TiddlyWiki works.
It still lacks structural site building logic like Drupal and many other features because of non -liear wiki concept, yet can see perfect marriage of Drupal+TiddlyWiki somehow. But i guess much of the roadmap needs alteration if its the case.
i liked the lean, mean and yet so tiny code, naviagtion is a breeze, links tabs does not need refresing like with Drupal, result is faster site experience, edit site on the spot! no pages explanation, so the 'theme' alteration with css.
Potentially may take over many cms's when deriavated projects sprung from it.
And... even bigger WOW is http://www.protopage.com/ in terms of excellent UI with Ajax it may not be a GPL but some others will follow for sure. i also like the protopage theming on the fly feature (cloose colors) great!
Some Tiddly things aren't realistic to compare
Since the Tiddly Wiki is basically one document, you'd have to load the entire contents into your browser, if I'm not mistaken. This makes it worthless for big sites.
BUT the way content opens and fills up the content space, and the way you can close it away is cool. This also won't work very well in Drupal, in the end, because the whole Drupal page, not just the middle content, is dependent on what is being loaded. The blocks that appear, the theme, the menus; these all react to what content gets loaded and adjust themselves accordingly. That would be hard to emulate in Tiddly.
- Robert Douglass
-----
Rate the value of this post: http://rate.affero.net/robertDouglass/
I recommend CivicSpace: www.civicspacelabs.org
My sites: www.hornroller.com, www.robshouse.net
my Drupal book | Twitter | Senior Drupal Advisor, Acquia | Advisor ICanLocalize
dont load a whole site - dont emulate but incorporate
Hi Robert,
you were saying...
Yes but I dont think you'd want to load a whole drupal site in a tiddlywiki, that would definitely be overdoing it, instead I'd expect to have tiddlywiki based pages for specific purposes. or have tiddlywiki concepts leveraged more generally across Drupal.
also, as you point out
Which could be an issue, but consider if we created a new node type (a tiddlynode) and specified for tiddly nodes, blocks simply get inserted as Tiddly Default Menu or sidebar items (if you look at the tiddlywiki, there are default tiddlys that cant be changed. Like the main menu. It seems that it would be possible to transform a block into a default tiddly item/block. And so long as the tiddly is treated as a distinct node then the blocks/content wont need to react/change unless we exit that node. so once brought in on display of the tiddly node being accessed the page is self contained and can be browsed tiddlywiki style until a link to a different node/page is clicked. One interesting point that raises is that the tags in a tiddlywiki literally only belong to items inside its specific node I dont see this as a problem but in fact a nice feature, because it localises the applicability of the tags while in that node. (Maybe theyd have to be known as tiddlytags to be distinct from global tags, though they could still be added to the global pool, hence the tab bar in a tiddly might have another tab for alltags not just tiddly tags.
Anyway, Heres a section from the code for PHPTiddlywiki:
(let me know if Im wrong, but all these variables can be sucked from the drupal database and could be extended to populate any number of blocks or even blocks within tabs (even cooler), the only difference for the user is that when clicking on a link in a drupal derived block item they are likely going to be taken to a new node elsewhere on the drupal site rather than the current Tiddly node they are on - again the tiddlywiki allows external links.
// ---------------------------------------------------------------------------------
// Menu and sidebar functions
// ---------------------------------------------------------------------------------
var currentTab; // The id of the currently selected tab
// Refresh everything
function refreshAll()
{
refreshHeader();
refreshMenu();
refreshSidebar();
}
// Refresh all parts of the header
function refreshHeader()
{
// Get the site title and subtitle
var theTitle = getTiddlerText("SiteTitle");
if(!theTitle) theTitle = "SiteTitle";
var theSubtitle = getTiddlerText("SiteSubtitle");
if(!theSubtitle) theSubtitle = "SiteSubtitle";
// Set the page title
document.title = theTitle + " - " + theSubtitle;
// Do the title
var place = document.getElementById("siteTitle");
while(place.firstChild != null)
place.removeChild(place.firstChild);
place.appendChild(document.createTextNode(theTitle));
// Do the subtitle
var place = document.getElementById("siteSubtitle");
while(place.firstChild != null)
place.removeChild(place.firstChild);
wikify(theSubtitle,place,null,null);
}
// Refresh all parts of the main menu
function refreshMenu()
{
var place = document.getElementById("mainMenu");
while(place.firstChild != null)
place.removeChild(place.firstChild);
var menu = getTiddlerText("MainMenu");
if(!menu) menu = "MainMenu";
wikify(menu,place,null,null);
}
// Refresh all parts of the sidebar
function refreshSidebar()
{
switch(currentTab)
{
case "tabTimeline":
refreshTabTimeline();
break;
case "tabAll":
refreshTabAll();
break;
case "tabTags":
refreshTabTags();
break;
default:
refreshTabTimeline();
break;
}
}
creating a simple standalone nodetype for a tiddlywiki may be the best way to get a feel for things before leveraging the tiddlywiki concepts more broadly across drupal. For me Id like to see the "My Workspace" module remodelled as a Tiddlywiki first. (with collaborative books as a close second ) Because the "My Workspace" (or even just the "My Account") is meant to be a user centric view, which would fit well with what the tiddlywiki provides. The tiddliwiki concept would really make the workplace useful, fun and a central place for members to launch everything from.
Access and editing of content would be a snitch in a tiddlywiki node. (What Im thinking is that we would have an additional link when editing a tiddly for "advanced settings" so that usually editing would simply be making an update to the content body item of a node (so long as allowed), and only if they needed to would they hit advanced settings which could either take them to the full edit page to change author/publishing mode/images/attachments etc etc. This starts to cross the line where I think that once we see a simple tiddlywiki node in action, we will be much better placed to see the value of its concepts more broadly and integrally applied across drupal.
Ok Ive said too much already :-) sorry for being so longwinded
Knowledge may be the door, but communication is the key
RubyonRails + TiddlyWiki = ServerSideWiki
Drupal + Tiddlywiki?
she has got beauty and skills... no surprise other peple thinking the same as you! ;)
ServerSideWiki Powered by RubyonRails and TiddlyWiki
http://www.serversidewiki.com/
I looked at PhpTiddlywiki,
I looked at PhpTiddlywiki, but their use of creative commons to licence code restricts the possible uses.
Instead i found http://cctiddly.sourceforge.net/ , another serverside implementation -- and borrowed some db abstraction ideas from drupal to add postgresql support - which you can get here:
http://coffee.geek.nz/2007/04/29/serverside_tiddlywiki_postgresql.html
-------------------------------------------------------
http://coffee.geek.nz
-------------------------------------------------------
http://coffee.geek.nz
https://www.ohloh.net/accounts/Br3nda
....
Subscribing.
Subscribing. :)
Subscribing. :)
http://www.irrow.com/
Subscribing... (+ ref. Wikitools module)
btw, somewhat related:
http://drupal.org/project/wikitools
Writing TiddlyWiki content with WikklyText
Hi, I thought folks reading this thread might like to know about a module I wrote called WikklyText. It is a TiddlyWiki-compatible wikitext engine that plugs in to Drupal as an Input Format. It can also be used to create standalone (X)HTML documents.
Note that this is strictly a wikitext engine, converting TiddlyWiki markup to XML/HTML, not a full TiddlyWiki-inside-Drupal. It does not yet have any features such as linking to an existing TiddlyWiki, but tools like that can be written using the WikklyText core. It is written in Python for portability, and of course is free.
subscribing
subscribing