TWiki Terminolgy
A quorum of
TWikiContributors got together and thrashed out the following terminology. The terms are chosen to reflect accepted usage, but also to nail down the definitions in such a way as to make them generally useful.
The following terms are
base terms and everything else should be defined using these terms.
TWiki Core
The TWiki Core is the set of code modules, webs, templates, and pub data, that make up the minimum essential functionality for TWiki. For the uninitiated, that means:
- all the .pm files under
lib in SVN, but not including any files under the Plugins or Contribs directories
- the scripts in
bin.
- all files in the data/TWiki web except *Plugin.txt, *Contrib.txt
- other default webs (Sandbox, Main, _default)
- associated pub directories
TWiki Extensions
An umbrella term for:
TWikiFor Releases
Refers to a package put together to address a specific application or target market segment. For example, TWikiForRedHatEnterprise, TWikiForSmallBusinesses, TWikiForContentManagement, TWikiForHandheldDevices, TWikiForScientists, TWikiForSchools. A related term is
TWikiRelease, which is the standard, generic TWikiFor release.
Contrast with
TWikiOn, which mostly describes how standard
TWikiReleases can be installed in various environments.
TWikiFor releases sometimes try to address ease of installation on specific platforms.
List of TWikiFor Releases
TWiki Applications
Web applications with forms and reports that resides in TWiki pages.... They are realized as integrated sets of TWiki topics (and sometimes
TWikiExtensions) that together implement a particular functionality. See
introduction and how-to, and see some
sample applications in Sandbox web.
How they relate
Here's a
BNF that shows clearly how the base terms relate.
TWikiCore ::= code* topic* template* ;
TWikiExtension ::= plugin* addon* contrib* topic* template* patch* ;
TWikiFor ::= TWikiCore TWikiExtension* ;
TWikiApplication ::= TWikiExtension* ;
Additional common usage
- CookBook
- a set of instructions targeted at a specific configuration e.g. WindowsInstallCookBook
- TWikiAppliance
- an installation CD (or netboot image, etc.) which is used to install a complete OS + TWiki + other applications onto a bare box
Discussions
(Pre-Cairo)
This attempt to define terms is specifically intended to clarify my comments in
TWikiDeploymentPath.
- Tool - Something that serves a simple, usually singular purpose. Examples include pre-defined searches, templates (page and topic), forms, most plugins.
- Application - A combination of elements that provide a more complex functionality. In this case of TWiki, one application might include forms, formated searches, one or more HTML page templates and topic templates, and specific plugins. Some examples include ItemToDo, a Bug tracking system, project/task tracker, a pseudo-threaded discussion forum, a customer-support/help desk, a vacation-request-and-approval system. (I could go on and on here and would love to hear of others people have created or dreamed of. To me, this is THE most exciting and under-represented development front in the TWiki.org site. It's the interface between code and content which is, for me, an intriging hallmark of Wikis.)
- Cook Book - Basically "How to" instructions to achieve some goal (which could run from pretty simple to quite complex). Could be organized as a single page, or better (in my mind) a main index of "recipies" to suit different purposes.
- Tips and Tricks (or what I've called TWiki-Tweaks) - Simple one-or- few-step actions or customizations that enhance usability. Usually only needs 1-3 sentence of explanation, plus, in some cases, some code presented "verbatim" that can be copy and pasted. Could be organized on one page or grouped in several pages of related tricks (e.g. formatting, navigation, searches, etc.)
- Tool Chest (or Toolbox, or perhap even just Add-ons) - A repository of tools and applications that can be used as needed. Includes a simple description of that the tool or application does and instructions for installing into one's own site. Probably requires a whole web (perhaps the Plugins).
In my own mind at least, these each represent distinctively different "things" although in some cases they overlap or have shades a grey. However, when we compare one to another, I think that their distinctive nature becomes apparent. The more we use terms consistently, the more easily we will see where particular pieces fit. BTW, I'm not at all attached to these particular names. The important thing is the functional definitions.
Suggestions for other terms or refinements and alternative names for these?
--
LynnwoodBrown - 09 May 2002
Tool Chest is the Plugins web, IMHO. And
Cookbook is just list of simple tricks.
Plugin has own docs. Feature (like SEARCH) has docs. Both can have pages with examples beside docs. So link to them. Cookbook will hint (and link) how mix ingredients together.
Prototype might be nice: couple of example webs for more complex, dynamic features. For example, for
Sandbox.ItemsToDo "application" to have webs:
-
Items: clean, only needed pages, without possibility to update,
-
Itemstest: updateable playground
So, potential twiki users/admins with less unix admin skills (like me

) will easier visualize how to buils twiki-based applications.
Maybe this is too complicated. Maybe all what is needed is better out-of-the-box
SimplerTWikiDistribution with
SimplerDefaultTemplates, some more examples in docs,
TWikiAdminCookBook, and then suggest would-be-admins that they need to improve admin skills first. I am doing just that. Basic Linux Training from
Wikilearn.WebHome is good link!
--
PeterMasiar - 11 May 2002
First of all, I've realized that most of what I originally posted in this topic should probably have been posted under the Glossary topic I saw somewhere recently. Perhaps I'll move it over there some time soon.
In response to some of Peter's comments about the content of my terminology:
- Tool Chest could be incorporated into Pluggins web but it would change the character of that web significantly. I'd include applications (which is essentially same as your term "prototype" which I like).
- If I follow your thought about
items and itemstest, I don't think that it would really be necessary to have that split. Using Sandbox.ItemsToDo as an example, people have added a bunch of "test" items to try out the application (or prototype) but you can still copy just the essential topics and transfer them "clean" over to your own TWiki web.
- I don't think that this is too complicated! SimplerTWikiDistribution will (hopefully) make the basic installation and set up easier and more user friendly, but it won't help people get through learning curve of setting up applications. Why do we feel that people should have to suffer through this so much?! Are we trying to build character or just help people get up and running with TWiki?
--
LynnwoodBrown - 14 May 2002
(Dakar and beyond)
/me nods and bows (good work CC)
--
TravisBarker - 05 Jul 2005