Stephan Matthiesen
Why am I interested in TWiki?
For project management
I work at the
School of GeoSciences at the University of Edinburgh as a project manager for
ABACUS (Arctic Biosphere Atmosphere Coupling at Multiple Scales), a research consortium of several different universities and research institutes to investigate the carbon cycle in the Arctic, its reactions due to global climate changes ("Global Warming"), and the feedbacks of the Arctic ecosystems with the global climate.
As our researchers are distributed throughout the country (and do fieldwork in Sweden and Finland), structured communication through a web-based management and communication system is essential. After having tried a few other solutions, we settled on TWiki, which combines the ability to create good structures (forms, revision control for collaboration on documents, attachments to handle data etc.) with the flexibility to adapt it to our specific needs.
In research, we often do not have pre-defined or well-established workflows, and many of the typical tasks for groupware solutions (scheduling meetings, workflow, etc.) don't apply in the same way as they do in companies: Every researcher basically works very independently and scientific developments are not easily predictible and plannable, so there is a need to have flexible space for scientific discussions, for unexpected results, etc. Therefore, we found other groupware solutions rather too unflexible for our needs.
As a work-space for notes and miscellaneous other stuff
Besides the scientific work, I work on many freelance editing and publishing projects (see
Science-Texts and
my website), and I have a number of interests and hobbies. It turned out to be very convenient to keep all my notes, ideas, literature lists, etc. in a TWiki installation on my own computer. All the stuff that one would traditionally write into paper notebooks, on pieces of scrap paper, on sticky notes, in a mass of text files in different formats etc. is much more accessible and can be sorted in a more structured way.
As a content management system for a public website
I'm also thinking of using TWiki as a content management system for a public website - not as a wiki system (where everybody can write), but as a convenient system to create a website. There are two approaches:
- install TWiki on a webserver, and only give myself write access, or
- have TWiki on an offline computer and export the pages as a static html to the server, for example with PublishContrib.
The first approach has the advantage that some interactive features can easily be included, but it only works when the webhosting provider supports perl with all necessary modules. The second approach produces only static pages (although, of course, dhtml and browser scripting are possible), but has the advantage that it doesn't need much hosting support.
TWiki Stuff
TWiki Documents to look at
These are documents that contain something that interests me, but I haven't had the time to look at in more details.
Multilingual content
I want to use TWiki as a content management system for a multilingual site. So the issue here is not the internationalization, localization and translation of all the system strings, but to have the topic contents in several languages so that the site visitor can switch between languages easily.
There are a couple of plugins that address this issue. Here is a quick comparison
The first one (
TopicTranslationsPlugin) seems the one that gives most flexibility. Having completely different TWiki installations for each language (
MultiLangPlugin) seems overkill.
To keep all language versions in one topic (
ForUserLanguagesPlugin) is a very good idea, e.g. because one can handle language-independent content (e.g. images) or missing translations more easily. But this plugin sadly misses the functionality that the user can change language (this is very important as one may be away from home using a computer with different language settings, or may just want to have a look at a version for some reason). The
TopicTranslationsPlugin tries to be intelligent about the language selection and uses the default browser language, but allows users to switch language.
Issue tracking, task management, notification
I need a system that helps users to assign individual tasks/issues/tickets to themselves or to others, or communicate something directly to another user (group of users), i.e. send each other messages. Typical use is something like a broadcast to colleagues A, B, C: please look at document X.
Requirements/wishlist:
- Creating new tasks/messages should be very easy for users, so I need some GUI functionality.
- Ideally then (open) tasks or new messages for the individual user should be listed on the start page.
- possible to assign the issue to several people
- each recipient should be able to close it for themselves, but it should remain open for the others
The last two are the difficult/unusual bits.
Here are some documents that are useful:
- Relevant Plugins
- ActionTrackerPlugin: the
%ACTIONSEARCH{}% interface is nice, but it is very difficult to create new tasks or to edit exisiting ones as you have to go into the edit mode and modify the %ACTION{}% variable directly.
- BugsContrib: Bug tracking system
- Examples
- Discussions about approaches:
Another idea would be to use the notification system. However, it is unconvenient that it's organised on a per-user-basis rather than per-topic-basis. It would be good if one could add a line in a topic of users that should be notified.
Possible way forward
- In a topic, add the line
Attention: UserName1 UserName2 UserName3 with the user names of the people who should look at this topic.
- On the start page, add a search for the line:
%SEARCH{"Attention:.*%WIKINAME%" regex="on" order="modified" reverse="on"}%
TWiki Support and Development
Support Questions
Open questions
- CacheChooserAddOnDev
- The CacheChooserAddOn doesn't seem to cache the start page.
Solved
- LatexModePluginNotLikedByLatex
- Problems installing the LatexModePlugin; it turned out that SELinux stopped it from working.
- PublishContribPDFProblem
- PublishContrib gives errors when trying to produce a PDF. It turned out that a file was missing.
Development Suggestions
- RandomQuotePluginDev
- Could the RandomQuotePlugin be modified to be more flexible?
- SearchEnginePluceneAddOnDev
- The SearchEnginePluceneAddOn doesn't seem to search form fields. Could that be added?
TWiki Plugins that I like and use
- LatexModePlugin
- Very useful plugin for writing mathematics.
- CacheChooserAddOn
- Addon to cache pages so that they don't have to be rendered every time you view them - essential for my poor old laptop on which I keep a twiki version for taking notes etc., without it Apache keeps swapping.
- SearchEngineKinoSearchAddOn
- Searches through attachments. (I used to use SearchEnginePluceneAddOn, but SearchEngineKinoSearchAddOn seems faster and has a nicer layout for the results page)
- ActionTrackerPlugin
- Assign and track actions.
- RandomQuotePlugin
- This plugin can be used for learning vocabulary; see above.
Things that I don't like
Performance
Performance is an issue, unfortunately. In particular as I use it on a laptop to keep my worknotes etc. Obviously it wasn't designed for that purpose, and its performance seems to be allright on a proper dedicated webserver, but the functionality is just so tempting that I am keen on having it on my laptop. It does work, however each operation seems to use 400Mb of memory for a minute or so, so it gets quickly to a limit that the system can handle. Here are some notes:
- Using a cache for page views is an enormous improvement. I use CacheChooserAddOn. Topics are now cached as static HTML pages and are displayed almost immediately. However, saving and other operations are still very slow.
- Plugins don't seem to be an issue, at least not the ones that I have installed. But it's worth keeping in mind that some plugins may add expensive operations (according to a number of comments in Support)
- FYI, pages load in around 3 second on my 3 year old laptop; using TWikiForWindowsPersonal, without any accelerator or caching -- PeterThoeny - 13 Jan 2007
- Thanks, Peter, that looks really useful. However, I'm running Linux on my Laptop... -- StephanMatthiesen - 13 Jan 2007
- I suspect that I experience something like the problems described in TWikiOnApache2dot0Hangs. In fact, the view script (without caching) renders the page in a few seconds but then stays active for another minute or two with enormous resource usage. Have to investigate further...
- A workaround is to set
RLimitMEM 268435456 and/or RLimitCPU 15 in httpd.conf. This limits memory usage and processor time and kills the process afterwards. Seems to have no adverse effects, but it's not a nice solution - I assume I must have an infinite loop somewhere...
- There seems to have been an issue with Fedora 5. After the update to Fedora 6, it is much faster, and the TWiki scripts exit correctly without hogging hundreds of Mb of memory and lots of CPU time for minutes. Still, it is useful to have the CacheChooserAddOn; on a Laptop power and resources are always limited.
Caching
I use
CacheChooserAddOn. See also
TWikiCache.
Tips and tricks
Learning vocabulary
When learning vocabulary in a foreign language, constant repetition is important. Here is a recipe that displays a foreign word, and to check its meaning you just place the mouse over it, like this:
Maus (see what happens when you place the mouse cursor over this word). How is this done? With the
RandomQuotePlugin and a table containing the vocabulary. Note that the plugin is not enabled on this site, so I can't show you a working example that actually shows a different word every time. Copy the following code to your own TWiki.
- In the text use the command
%RANDOMQUOTE{quotes_file="VocabularyList" format="$author"}%
- Create a topic
VocabularyList with a table containing the vocabulary like this:
%STARTINCLUDE%
| Hund | dog | animal |
| Katze | cat | animal |
| Maus | mouse | animal |
%STOPINCLUDE%
- You can use different topic names for different languages, or for different levels etc.
Miscellaneous small tips and tricks
- Performance tuning: To test the speed of your installation, the following command is useful:
time wget -qO /dev/null http://localhost/twiki/bin/view
My Links
Some personal links
Standard Links
- ATasteOfTWiki - view a short introductory presentation on TWiki for beginners
- WelcomeGuest - starting points on TWiki
- TWikiUsersGuide - complete TWiki documentation, Quick Start to Reference
- Sandbox - try out TWiki on your own
- StephanMatthiesenSandbox? - just for me
Personal Preferences
Uncomment preferences variables to activate them (remove the #-sign). Help and details on preferences variables are available in
TWikiPreferences.
- Show tool-tip topic info on mouse-over of WikiWord links, on or off:
- #Set LINKTOOLTIPINFO = off
- Horizontal size of text edit box:
- Vertical size of text edit box:
- Style of text edit box.
width: 99% for full window width (default), width: auto to disable.
- #Set EDITBOXSTYLE = width: 99%
Related Topics