Why Tcl?
Hello, I have been working with TCL since 1993 and I'm still a big fan of it, even if Java has become more important in my new job at Gemplus, a smart card manufacturer. I have been working on a Java framework for using smart cards named OpenCard Framework (OCF), see the web site I have set-up for more details: http://www.gemplus.fr/developers/technologies/opencard/ and the official framework site: http://www.opencard.org/ . During three years, I have also been involved in OCF technical committee and have specified its process for work (see http://www.opencard.org/work/ ). My interests are (not much) detailed in my Advogato Personal info page: http://advogato.org/person/cmuller/
Now that I am working in a new project, I am back to using Tcl because I have set up an internal wiki for the project. I started from Jean-Claude Wippler's very good Wikit tool, written in Tcl and using his MetaKit database, and I have made a couple of changes. This is why I love Tcl actually, it's the language where you can take any piece of code written by anybody else and understand and modify it, I was already doing that 15 years ago and it still works! For me Tcl is the "Open Source" language, just try to do that with C++!
BTW, feel free to modify this page at will, especially in the following paragraphs, as it is a work in progress...
The big part of this page is devoted to the project of enhancing Wikit.
Wikit
News
Jean-Claude has recently posted a new version of wikit named nwikit (see the Wikit Home Page [L1 ]) and I'd like to finish working on my patches and then try to integrate everything in his new version.. (but some features are still being implemented at that time).
Rationale
One question one's might ask is Why not using a Perl or PHP wiki that is already much more developed than wikit?.
And my answer is that I'm very much concerned by the usability issue. I see other wikis with embedded HTML, %variables%, keywords, plugins, etc. and IMHO, they have many advantages but they also have a big drawback, their learning curve is slowly becoming as steep as HTML or LaTeX or even worse (Word!). Actually I even find the rendered HTML pages difficult to read and so difficult to use! with many links, tables, etc. KISS is a good principle in UI (still IMHO).
So yes, I would like more powerful features in wikit, and also a better looking CSS-ized HTML code with a few nice looking features but no I don't want Word at all. For this reason, I prefer to slowly modify wikit in a way that suits this philosophy rather than switch to Twiki, PHPWiki, or you-name-it.
A good example of this is that I have introduced the notion of headers in wikit but there is no new markup! :-)
Roadmap
Already implemented features are:
Plus the integration of two patches:
My roadmap is:
Still in progress are:
Suggestions (see also Suggestions for Wikit):
Wow... - After seeing all this, I'm now bent more than ever on placing nwikit into CVS. It will, as with MetaKit and TclKit, be essentially a reado-only setup. But in this case with eager interest in helping to consolidate things. There seem to be, right now, three people working on wikit improvements - not to ignore several who have helped in the past. The CVS setup is not intended to prevent anyone from going their own way and doing whatever they like with the wikit codebase - just an option for those who wish to see things come back full circle.
One last comment, *please* consider joining the TclersWiki discussion group on Yahoo. It's been dormant lately, but I suspect that'll change soon. I'll announce my nwikit progress there asap.
Anyway, great to see all these ideas... -JCW
PS. One of these day's I'll move my notes to the WiKit or Suggestions for Wikit page, or perhaps create a new page do discuss progress.
CM Thanks for your fast comment! I also agree that for three developers, a full-featured sourceforge site is really not worth the time to set it up!.. but a CVS with all the versions would be nice. I will try to finish the features that I am currently developing asap, in order to reach a stable state (hopefully). Then I will send a version to you and Brian, so that you can play with it, then I'll try to apply my patches to your new version (CVS might help me there.. :-). BTW, I am subscribed to the TclersWiki mailing-list (Larry put me in :-)
BTW, I am not sure that everything listed above will be desirable for the official version, even if some features are very necessary for us internally (I'm thinking about the export mechanism for instance), I'll leave it to you to decide what to integrate...
JCW Ah, but see, that's one of the things I'd like to refine a bit: the presence of packages will trigger functionality, i.e. plugins - in the nicest possible way I hope.
Ok. I have started to consolidate things. For now (pressed for time, leaving for a long weekend), I've brought it in line with Steve Landers' local mode embellishments (try it!). Still need to add a substantial amount of reshuffling and badly needed comments by AK, but I just won't have time to do it now. Here goes, the latest "nwikit" (which I'm calling "wikit" again, btw):
tclkit wikit.bin (or chmod, mv, and run as "wikit")
cvs -d:pserver:[email protected]:/home/cvs login (empty pw) cvs -d:pserver:[email protected]:/home/cvs co wikit
tclkit wikit/bin/main.tcl
ln -s wikit wikit.vfs (or "mv wikit wikit.vfs") sdx fs2sd wikit.bin
I'll tidy up and finish this work next week. Promise!
A few interesting links for people working on Wiki engines (there are so many! ;-)
Biblio
FWIW, kiwi contains another new rendering engine - nearly complete for the tcl'ers wiki, see it at work on an old snapshot [L4 ], and the source is in here [L5 ] -jcw
Christophe - I liked your "rationale" above - makes lots of sense. One goal I'd like to see for the markup language is the ability to support a Unix style "man" page + embedded images in local mode. The current markup is almost there - I'm interested in seeing how much further your patches take it. stevel