Search: \.*

Topics in TWiki web: Changed: Changed by:

ATasteOfTWiki  

18 Mar 2004 - 08:31 - NEW   PeterThoeny

This is a short introduction training course for TWiki beginners (newbies).

Start Presentation

Slide 1: A Taste of TWiki

The basic function of TWiki is a Wiki (if that helps!)

A Wiki is like a normal web site, except that you can edit the content in your browser

  • "Wiki" is short for "wiki wiki", the Hawaiian for "Quick"
  • The idea originates from Macintosh Hypercard, via Ward Cunningham
  • In Ward's words, Wiki is "the simplest online database that could possibly work"
  • A Wiki is basically a shared, online, persistant whiteboard

Slide 2: TWiki Wiki

TWiki implements the basic Wiki idea of a shared whiteboard
  • Anyone can add content
    ... or change what is written
    ... or change the organisation of the content
  • Whatever what you write is
    ... nicely presented
    ... remembered
    ... and never forgotten
TWiki also acts as an "application platform" to integrate a number of other functions.

TWiki is an Open-Source development on TWiki.org

Slide 3: Where is it used?

Slide 4: TWiki Features

TWiki builds on the original Wiki concept and adds a number of features that make it very useful in a business environment.
  • A "plugins" interface eases
    • customisation
    • extension
    • application integration

Slide 5: Applications of basic TWiki

Basic TWiki can be used as:

Slide 6: Extended applications

TWiki-with-extensions has been used as:

Slide 7: Structure of a TWiki page

TWiki pages are usually organised into three parts:

TWiki is very configurable, and the look can change. However the essentials will all be there on the page (somewhere!)

Slide 8: The Page Header

The header of a TWiki page is generally highlighted in colour, and will usually contain an icon that gives you an idea of where you are, such as a company logo.
TWiki home MyCo.MyTopic
Webs

Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
It will also usually contain a number of 'links' that you can click on. You will generally see:

Slide 9: The Page Header

TWiki home MyCo.MyTopic
Webs

Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
You may also see in the header (usually at the top right) a list of the TWiki "webs". A web is a collection of pages that are related closely together

Slide 10: The Page Footer

The footer of the page is also highlighted in colour, and is usually where you will find the links that let you change the content.
Edit | Attach | Diffs | r1.2 > r1.1 | More
Revision r1.2 - 13 Feb 2004 - 09:09 GMT - TWikiPresenter Copyright © 1999-2013 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Galeon? Send feedback.

Slide 11: Editing Pages

_Everyone_ *knows* that =the world= is an OblateSpheroid

Slide 12: What's in a page

Slide 13: Formatting just makes pages prettier, and easier to read

_Actually_ it is *perfectly* and __absolutely__ flat
appears as

Actually it is perfectly and absolutely flat

Slide 14: Commonly used formatting

TWiki understands pages in plain text just fine, but you can jazz them up using some simple formatting shortcuts. Here are some of the more commonly used ones:
You type You see
---+ This is a heading

This is a heading

---++ And so is this

And so is this

Slide 15: More common formatting

You type You see
   * Bullet
      * Sub-bullet
  • Bullet
    • Sub-bullet

Slide 16: Even more.....

| Cat | Feline |
| Bear | Ursine |
| Wolf | Vulpine |
appears as
Cat Feline
Bear Ursine
Wolf Vulpine

Slide 17: WikiWords

Slide 18: Referencing other pages and URLs

Slide 19: More formatting

Slide 20: Creating new pages

Slide 21: Attachments

Attachment sort Action Size Date Who Comment
myco.gif manage 9.6 K 13 Feb 2004 - 18:41 MushroomMagicMan Attached image file

Slide 22: Wiki Culture

Enough about mechanics; how is a wiki actually used ? Well, that's really up to you, but there are a number of tricks that the wiki community has developed for collaborative writing that work pretty well:

TWiki doesn't automatically distinguish between these modes; they are purely semantic.

Slide 23: DocumentMode

Slide 24: ThreadMode

You may see a comment box on a page in ThreadMode that makes it easy to quickly add your inputs. Typing in a comment and adding it to a page this way is known as "blogging" wink

Slide 25: StructuredMode

Slide 26: Other Wiki tricks - Categories

Slide 27: Contributed features

Basic TWiki is rich with features, but is enriched even further by the addition of optional plug-in modules that may (or may not!) be installed in your TWiki. These are classified as either skins (modules that change the look-and-feel) and plugins (modules that enhance functionality).

Here's a brief description of some of the more common plugins, together with the tags you might expect to see in topics if they are used. You can find out more by visiting the plugin pages.

Slide 28: More plugins

The following plugins are installed on this TWiki: DefaultPlugin, SpreadSheetPlugin

There are many other plugins, see http://www.twiki.org/cgi-bin/view/Plugins

Slide 29: Credits and Acknowledgements

Related topics: WelcomeGuest, TWikiTutorial, ATasteOfTWikiTemplate

-- TWiki:Main.CrawfordCurrie - 17 Feb 2004

 


ATasteOfTWikiTemplate  

18 Mar 2004 - 08:29 - NEW   PeterThoeny

Slide template for ATasteOfTWiki presentation

%SLIDETITLE%

%SLIDETEXT%
%SLIDENAVFIRST% %SLIDENAVPREV% Slide %SLIDENUM% of %SLIDEMAX% %SLIDENAVNEXT% %SLIDENAVLAST%
Copyright © 2013 by the contributing authors

-- TWiki:Main.CrawfordCurrie - 18 Feb 2004

 


AdminSkillsAssumptions  

16 Dec 2003 - 07:48 - r1.3   PeterThoeny

Administrator Skills Assumptions

For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from hours to days) learning these.

Installing TWiki is not recommended for people who only know HTML and web design, unless they are willing to learn the above, or team up with someone who can handle the installation.

Although the TWikiInstallationGuide is quite complete, there will on occasion be parts that don't work in your local environment (particularly with TWiki:Codev/TWikiOnWebHostingSites, which are sometimes challenging even for those with good OS and web server skills).

There are many excellent resources for learning how to administer your OS and web server, including books, web sites, web forums, IM and email lists. The TWiki:Support web must not be depended on as a resource for this purpose - in other words, it is not there to answer basic questions about operating system and web server administration. Asking and answering questions is time consuming for all concerned and is best used for specific TWiki related issues, rather than helping you learn the OS and web server.

One of the best training courses for Linux is Basic Linux Training at http://basiclinux.net/ - this is a 2 month distance-learning course (via email). The course operators are friendly, and all students are newbies. A nice tool for people migrating from Windows is http://www.MidnightCommander.org/. It is already installed on Linux systems: try mc -ac and ESC 1 to get help.

-- TWiki:Main.RichardDonkin - 27 Apr 2002
-- TWiki:Main.GrantBow - 15 Jan 2003
-- TWiki:Main.PeterMasiar - 28 May 2003

 


AppendixFileSystem  

04 Jul 2004 - 18:27 - r1.13   TommiKomulainen

Appendix A: TWiki Filesystem

Annotated directory and file listings, for the 01-Feb-2003 TWiki production release.

Who and What is This Good For?

Interested Users and Site Administrators can find out in simple terms what each part of TWiki actually does. Adventurous Adminstrators with server access to files (via telnet, ssh or ftp) can also figure out where to look to make minor modifications, like changing hardcode text or color. Software Developers can get an at-a-glance overview of TWiki code architecture.

Directory Structure

You can rename the root TWiki directory - twiki - to whatever you like by changing it in the TWiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the five main subdirectories intact:

Directory: Files: Used for:
twiki list Start-up info
twiki/bin list Perl scripts
twiki/lib list Configuration file, main library, Perl system modules, Plugins directory
twiki/pub list Public files (eg: images) and FileAttachments and their RCS histories
twiki/data list Individual topics (page content) and their RCS histories
twiki/templates list HTML templates, used by TWiki scripts

File Descriptions

A rundown of the individual files included in the current distribution, organized by TWiki root directories.

Files in twiki

Application info and the current reference documentation. Full file list:

File: Used for:
index.html Links to launch TWiki after install and for files in this directory
license.txt GNU General Public License and TWiki-specific info
readme.txt General TWiki start-up info with relevant URLs
TWikiDocumentation.html All documentation packaged as a single page
TWikiHistory.html TWiki development timeline: versions, features, developers

Files in twiki/bin

Perl CGI scripts. Full file list:

File: Used for:
.htaccess.txt Authentication. Rename to .htaccess and customize if used
attach Shows the attach file page (FileAttachment)
edit Edit a topic
geturl Fetch URL data
installpasswd Install new password by admin
mailnotify Script called by cron job to notify users of changes
manage Manage script to create new webs
oops Shows an OK or oops dialog
passwd Reset and change password
preview Preview topic after edit
rdiff See differences of topics
register Register new users
rename Rename/move topics and move attachments
save Saves a topic, called by preview
search Displays search results
setlib.cfg Location of the TWiki libraries. Customize if needed
statistics Create statistics topic
testenv Test CGI environment variables
upload Does file upload (FileAttachment)
view View a topic ( the script )
viewfile View a file attachment

Files under twiki/lib

The new lib/TWiki/Plugins directories contain configuration, library and function files, and TWikiPlugins. Full file list:

File: Used for:
TWiki.cfg Main configuration, used by TWiki.pm
TWiki.pm Main TWiki library
TWiki/Access.pm Access control
TWiki/Attach.pm Attachment handling
TWiki/Form.pm Form handling
TWiki/Func.pm Public functions that Plugins may use
TWiki/Meta.pm Meta data in topics
TWiki/Net.pm SMTP mail handling
TWiki/Plugins.pm Plugin handling
TWiki/Prefs.pm Preferences handling
TWiki/Search.pm Search engine, used by wiki.pm
TWiki/Store.pm Back-end storage, *.txt text file and *.txt,v RCS repository file handling
TWiki/Store/RcsFile.pm Generic file handling code, a class
TWiki/Store/RcsWrap.pm Wrappers around RCS executables, a class that inherits from RcsFile
TWiki/Store/RcsLite.pm A Perl RCS implemention, a class that inherits from RcsFile
TWiki/Plugins/DefaultPlugin.pm Handles some legacy rules
TWiki/Plugins/EmptyPlugin.pm Empty plugin, use to create your own
TWiki/Plugins/InterwikiPlugin.pm Use aliases as links for predefined URLs

Files under twiki/pub

The pub directory stores topic-related files, including images used by TWiki and FileAttachments. Attachments are stored in subdirectories created with the related topic name. You can also upload files directly for and link manually (but not through Attach) Partial file list:

File: Used for:
favicon.ico ICO file
wikiHome.gif GIF file
icn/_filetypes.txt Lookup table to translate file extension to file type
icn/bat.gif GIF file for file type
icn/bmp.gif GIF file for file type
... ...
TWiki/FileAttachment/Sample.txt TEXT file: sample
TWiki/FileAttachment/Smile.gif GIF image: sample
TWiki/FileAttachment/Smile.gif,v RCS repository for GIF file
TWiki/PreviewBackground/blankltgraybg.gif GIF image
TWiki/PreviewBackground/blankwhitebg.gif GIF image
TWiki/PreviewBackground/previewbg.gif GIF image: Preview view background
TWiki/PreviewBackground/preview2bg.gif GIF image: Alternate preview view background
TWiki/TWikiLogos/twikiRobot121x54.gif GIF image: TWiki logo
... ...
TWiki/TWikiTemplates/testscreen.gif GIF image: Screen shot
TWiki/WabiSabi/wabisabi.gif GIF image: illustration
Know/IncorrectDllVersionW32PTH10DLL/W32PTH10.DLL DLL file: sample

Files under twiki/data

TWiki topics: data stored as individual text files and rendered by TWiki for display as regular Web pages. Each active web has its own subdirectory. The TWiki distribution includes four start-up webs - Main, TWiki, Know, Sandbox - with documentation and demo content, a Trash web for browser-based, recoverable topic deletion, and a _default directory containing a core topic set required to start a new web. Partial file list:

File: Used for:
.htpasswd Basic Authentication (htaccess) users file with username and encrypted password pairs
debug.txt Program-generated messages useful for debugging
mime.types Recognized file formats
warning.txt Diagnostic messages for identifying problems
_default/.changes Per web record of topic changes
_default/.mailnotify Per web timestamp of most recent email notification
_default/WebChanges.txt Display most recent topic changes in web
_default/WebChanges.txt,v Revisions history (RCS)
_default/Home.txt Default web home page
_default/Home.txt,v Revisions history (RCS)
_default/WebIndex.txt Lists all topics in a web
_default/WebIndex.txt,v Revisions history (RCS)
_default/WebNotify.txt Subscribe/unsubscribe to web changes email alert
_default/WebNotify.txt,v Revisions history (RCS)
_default/WebPreferences.txt Per web Preference Settings
_default/WebPreferences.txt,v Revisions history (RCS)
_default/WebSearch.txt Per web search options
_default/WebSearch.txt,v Revisions history (RCS)
_default/WebStatistics.txt Generates web usage statistics
_default/WebStatistics.txt,v Revisions history (RCS)
_default/WebTopicList.txt Lists all topics in a web in compact format
_default/WebTopicList.txt,v Revisions history (RCS)
... ...

Files in twiki/templates

Templates and skins used to control appearance of topics rendered as Web pages. Full file list:

File: Used for:
attach.tmpl Attach (FileAttachments) control screen
attachagain.tmpl Attachment control screen
attachnew.tmpl Attachment control screen
changeform.tmpl Control screen to change the form in edit mode
changes.tmpl Displays list of recently changed topics
edit.iejs.tmpl Edit window with IE-specific JavaScript
edit.tmpl Main edit window
mailnotify.tmpl Email notification
moveattachment.tmpl Move attachment control screen
oopsaccesschange.tmpl Error message
oopsaccesscreateweb.tmpl Error message
oopsaccessgroup.tmpl Error message
oopsaccessrename.tmpl Error message
oopsaccessview.tmpl Error message
oopsauth.tmpl Error message
oopsbadpwformat.tmpl Error message
oopschangepasswd.tmpl Error message
oopsempty.tmpl Error message
oopslocked.tmpl Error message
oopslockedrename.tmpl Error message
oopsmanage.tmpl Error message
oopsmissing.tmpl Error message
oopsmore.tmpl More topic actions message
oopsmoveerr.tmpl Error message
oopsnoformdef.tmpl Error message
oopsnotwikiuser.tmpl Error message
oopsnoweb.tmpl Error message
oopspreview.tmpl Error message
oopsregemail.tmpl Error message
oopsregexist.tmpl Error message
oopsregpasswd.tmpl Error message
oopsregrequ.tmpl Error message
oopsregthanks.tmpl Error message
oopsregwiki.tmpl Error message
oopsrenameerr.tmpl Error message
oopsrenamenotwikiword.tmpl Error message
oopsresetpasswd.tmpl Error message
oopsrev.tmpl Error message
oopssave.tmpl Error message
oopssaveerr.tmpl Error message
oopssendmailerr.tmpl Error message
oopstopicexists.tmpl Error message
oopsupload.tmpl Error message
oopswrongpassword.tmpl Error message
preview.tmpl Preview Changes screen
rdiff.tmpl Displays text changes before & after Diffs
registernotify.tmpl Registration notification
rename.tmpl Rename/move control screen (choose web & new topic tile
renamebase.tmpl Used by other rename templates
renameconfirm.tmpl Confirms a pre-specified rename, ex: undoing a rename
renamerefs.tmpl Display if rename done, but some references not changed (topics were locked)
search.tmpl Search screen
searchbookview.tmpl Search results with full topic content
searchformat.tmpl Search screen for formatted search
searchmeta.tmpl Search screen
searchrenameview.tmpl Used by rename to list references to topic being renamed
twiki.tmpl Master template: definitions are used by other templates
view.plain.tmpl Skin for bare bone topic view without header/footer
view.print.tmpl Skin for printable topic view with a simple header/footer
view.rss.tmpl Skin for topic view in RDF XML format
view.tmpl Main topic view - the standard regular Web page

TWiki File System Snapshot

The following partial directory listings from a Linux installation show typical file permissions and ownership. This is provided for general debugging use only and isn't an exact representation of the current distribution.

Directory twiki/bin:

drwxrwxr-x    2 twiki  twiki        4096 Jan  7 23:56 .
drwxrwxr-x    5 twiki  twiki        4096 Nov 18 12:21 ..
-rw-rw-r--    1 twiki  twiki         979 Aug  3 19:36 .htaccess
-rw-rw-r--    1 twiki  twiki        1598 Jun  1  2002 .htaccess.txt
-rwxrwxr-x    1 twiki  twiki        4986 Jan  4 17:27 attach
-rwxrwxr-x    1 twiki  twiki        3734 Jan  4 17:27 changes
-rwxrwxr-x    1 twiki  twiki        9362 Jan  4 18:04 edit
-rwxrwxr-x    1 twiki  twiki        1878 Jan  4 17:28 geturl
-rwxrwxr-x    1 twiki  twiki        4587 Jan  4 17:28 installpasswd
-rwxrwxr-x    1 twiki  twiki        7231 Jan  6 09:04 mailnotify
-rwxrwxr-x    1 twiki  twiki        6000 Dec 11 01:26 makedistrib
-rwxrwxr-x    1 twiki  twiki        8228 Jan  4 18:25 manage
-rwxrwxr-x    1 twiki  twiki        2445 Jan  4 18:08 oops
-rwxrwxr-x    1 twiki  twiki        6936 Jan  4 18:08 passwd
-rwxrwxr-x    1 twiki  twiki        5820 Jan  4 17:30 preview
-rwxrwxr-x    1 twiki  twiki        9235 Jan  4 17:31 rdiff
-rwxrwxr-x    1 twiki  twiki       10584 Jan  4 18:09 register
-rwxrwxr-x    1 twiki  twiki       14746 Jan  5 00:14 rename
-rwxrwxr-x    1 twiki  twiki        4800 Jan  4 18:09 save
-rwxrwxr-x    1 twiki  twiki        4729 Jan  4 17:32 search
-rw-rw-r--    1 twiki  twiki        1446 Jan  8 01:03 setlib.cfg
-rwxrwxr-x    1 twiki  twiki       19261 Jan  4 17:33 statistics
-rwxrwxr-x    1 twiki  twiki       30626 Jan  4 17:33 testenv
-rwxrwxr-x    1 twiki  twiki       14306 Jan  4 18:11 upload
-rwxrwxr-x    1 twiki  twiki       11414 Jan  5 01:12 view
-rwxrwxr-x    1 twiki  twiki        2944 Jan  5 00:36 viewfile

Directory twiki/templates/:

drwxrwxr-x    2 twiki  twiki        4096 Dec 11 00:38 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-r--    1 twiki  twiki        2590 Jan  7 22:53 attach.tmpl
-rw-rw-r--    1 twiki  twiki        1604 Aug  3  2001 attachagain.tmpl
-rw-rw-r--    1 twiki  twiki         449 Aug  3  2001 attachnew.tmpl
-rw-rw-r--    1 twiki  twiki        1276 Dec  9 21:48 changeform.tmpl
-rw-rw-r--    1 twiki  twiki        1620 Dec  9 21:48 changes.tmpl
-rw-rw-r--    1 twiki  twiki       12777 Jan  7 22:54 edit.iejs.tmpl
-rw-rw-r--    1 twiki  twiki        2801 Jan  7 22:54 edit.tmpl
-rw-rw-r--    1 twiki  twiki         975 Dec  9 21:48 mailnotify.tmpl
-rw-rw-r--    1 twiki  twiki        1606 Jan  7 22:54 moveattachment.tmpl
-rw-rw-r--    1 twiki  twiki         570 Aug  1  2001 oopsaccesschange.tmpl
-rw-rw-r--    1 twiki  twiki         596 Apr 13  2002 oopsaccesscreateweb.tmpl
-rw-rw-r--    1 twiki  twiki         586 Aug  1  2001 oopsaccessgroup.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessrename.tmpl
-rw-rw-r--    1 twiki  twiki         573 Aug  1  2001 oopsaccessview.tmpl
-rw-rw-r--    1 twiki  twiki         997 Nov 11 22:21 oopsauth.tmpl
-rw-rw-r--    1 twiki  twiki         405 Aug  1  2001 oopsbadpwformat.tmpl
-rw-rw-r--    1 twiki  twiki         344 Jul 31  2001 oopschangepasswd.tmpl
-rw-rw-r--    1 twiki  twiki         624 Jul 31  2001 oopsempty.tmpl
-rw-rw-r--    1 twiki  twiki         891 Dec 30 15:51 oopslocked.tmpl
-rw-rw-r--    1 twiki  twiki         589 Dec 30 15:55 oopslockedrename.tmpl
-rw-rw-r--    1 twiki  twiki         678 Apr 12  2002 oopsmanage.tmpl
-rw-rw-r--    1 twiki  twiki         328 Jul 31  2001 oopsmissing.tmpl
-rw-rw-r--    1 twiki  twiki        2352 Apr 13  2002 oopsmngcreateweb.tmpl
-rw-rw-r--    1 twiki  twiki        2322 Jan  7 22:55 oopsmore.tmpl
-rw-rw-r--    1 twiki  twiki         407 Aug  1  2001 oopsmoveerr.tmpl
-rw-rw-r--    1 twiki  twiki        1132 Nov 30  2001 oopsnoformdef.tmpl
-rw-rw-r--    1 twiki  twiki         520 Jan  4 18:21 oopsnotwikiuser.tmpl
-rw-rw-r--    1 twiki  twiki        1495 Apr  7  2002 oopsnoweb.tmpl
-rw-rw-r--    1 twiki  twiki         393 Aug  1  2001 oopspreview.tmpl
-rw-rw-r--    1 twiki  twiki         340 Dec 10 14:14 oopsregemail.tmpl
-rw-rw-r--    1 twiki  twiki         475 Jun 10  2002 oopsregexist.tmpl
-rw-rw-r--    1 twiki  twiki         345 Aug  1  2001 oopsregpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         356 Aug  1  2001 oopsregrequ.tmpl
-rw-rw-r--    1 twiki  twiki         540 Aug  1  2001 oopsregthanks.tmpl
-rw-rw-r--    1 twiki  twiki         679 Aug  1  2001 oopsregwiki.tmpl
-rw-rw-r--    1 twiki  twiki         502 Mar 24  2002 oopsrenameerr.tmpl
-rw-rw-r--    1 twiki  twiki         433 May 19  2002 oopsrenamenotwikiword.tmpl
-rw-rw-r--    1 twiki  twiki         506 Jun 10  2002 oopsresetpasswd.tmpl
-rw-rw-r--    1 twiki  twiki         957 Jan  7 22:55 oopsrev.tmpl
-rw-rw-r--    1 twiki  twiki         774 Aug  1  2001 oopssave.tmpl
-rw-rw-r--    1 twiki  twiki         477 Aug  1  2001 oopssaveerr.tmpl
-rw-rw-r--    1 twiki  twiki         465 Jun 10  2002 oopssendmailerr.tmpl
-rw-rw-r--    1 twiki  twiki         379 Aug  1  2001 oopstopicexists.tmpl
-rw-rw-r--    1 twiki  twiki         342 Jul 31  2001 oopsupload.tmpl
-rw-rw-r--    1 twiki  twiki         364 Aug  1  2001 oopswrongpassword.tmpl
-rw-rw-r--    1 twiki  twiki        2603 Jan  7 22:55 preview.tmpl
-rw-rw-r--    1 twiki  twiki        1719 Jan  7 22:56 rdiff.tmpl
-rw-rw-r--    1 twiki  twiki        1160 Dec  9 21:48 registernotify.tmpl
-rw-rw-r--    1 twiki  twiki         993 Jun 23  2002 rename.tmpl
-rw-rw-r--    1 twiki  twiki        2369 Jan  7 22:56 renamebase.tmpl
-rw-rw-r--    1 twiki  twiki         471 May 31  2002 renameconfirm.tmpl
-rw-rw-r--    1 twiki  twiki         595 May 31  2002 renamerefs.tmpl
-rw-rw-r--    1 twiki  twiki        1818 Jan  7 22:56 search.tmpl
-rw-rw-r--    1 twiki  twiki        1676 Jan  7 22:57 searchbookview.tmpl
-rw-rw-r--    1 twiki  twiki         980 Jan  7 22:57 searchformat.tmpl
-rw-rw-r--    1 twiki  twiki         149 Sep 13  2001 searchmeta.tmpl
-rw-rw-r--    1 twiki  twiki        2071 Jan  7 22:57 searchrenameview.tmpl
-rw-rw-r--    1 twiki  twiki        2284 Dec  9 21:48 twiki.tmpl
-rw-rw-r--    1 twiki  twiki         419 Dec  9 21:48 view.plain.tmpl
-rw-rw-r--    1 twiki  twiki         827 Dec  9 21:48 view.print.tmpl
-rw-rw-r--    1 twiki  twiki         300 Dec 14 17:16 view.rss.tmpl
-rw-rw-r--    1 twiki  twiki        1629 Jan  7 22:58 view.tmpl

Directory twiki/data/:

drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 .
drwxrwxr-x    4 twiki  twiki        4096 Jan  8 01:03 ..
-rw-rw-rw-    1 twiki  twiki         210 Jan 11 15:58 .htpasswd
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Know
drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 Main
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Sandbox
drwxrwxr-x    2 nobody nobody       8192 Jan 11 22:45 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec 11 02:15 Trash
drwxrwxr-x    2 nobody nobody       4096 Dec 11 01:01 _default
-rw-rw-rw-    1 twiki twiki            0 Aug  2 14:16 debug.txt
-rw-rw-r--    1 nobody nobody      36630 Jan 11 22:26 log200301.txt
-rw-rw-r--    1 twiki twiki         3419 Aug 13  2001 mime.types
-rw-rw-rw-    1 twiki twiki         1320 Dec 11 00:18 warning.txt

Partial file list for twiki/data/Main:

drwxrwxr-x    2 nobody nobody       4096 Jan 11 17:45 .
drwxrwxr-x    8 nobody nobody       4096 Jan  3 23:50 ..
-rw-rw-rw-    1 twiki  twiki        3662 Jan 11 16:29 .changes
-rw-rw-rw-    1 twiki  twiki           9 Oct 25  2001 .mailnotify
-rw-r--r--    1 nobody nobody        280 Dec 15  2000 TokyoOffice.txt
-rw-r--r--    1 nobody nobody        774 Dec 15  2000 TokyoOffice.txt,v
-rw-r--r--    1 nobody nobody        124 Aug 16  2001 WebChanges.txt
-r--r--r--    1 nobody nobody        526 Aug 16  2001 WebChanges.txt,v
-rw-r--r--    1 nobody nobody       1721 Jun 28  2002 WebHome.txt
-r--r--r--    1 nobody nobody      11314 Jun 28  2002 WebHome.txt,v
-rw-r--r--    1 nobody nobody        176 Nov 24  2001 WebIndex.txt
-r--r--r--    1 nobody nobody        483 Nov 24  2001 WebIndex.txt,v
-rw-r--r--    1 nobody nobody        729 Mar 24  2001 WebNotify.txt
-r--r--r--    1 nobody nobody       2981 Mar 24  2001 WebNotify.txt,v
-rw-r--r--    1 nobody nobody       3670 Apr 12  2002 WebPreferences.txt
-r--r--r--    1 nobody nobody       8203 Apr 12  2002 WebPreferences.txt,v
-rw-r--r--    1 nobody nobody        158 Aug  7  2001 WebSearch.txt
-r--r--r--    1 nobody nobody      18332 Aug  7  2001 WebSearch.txt,v
-rw-r--r--    1 nobody nobody        850 Dec 11 00:58 WebStatistics.txt
-r--r--r--    1 nobody nobody       1690 Dec 11 00:58 WebStatistics.txt,v
-rw-r--r--    1 nobody nobody        182 Nov 24  2001 WebTopicList.txt
-r--r--r--    1 nobody nobody        371 Nov 24  2001 WebTopicList.txt,v

Directory twiki/pub/:

drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    3 twiki  twiki        4096 Nov 18 12:31 ..
drwxrwxr-x    3 nobody nobody       4096 Nov 18 12:31 Know
drwxrwxr-x    2 nobody nobody       4096 Apr  7  2002 Main
drwxrwxr-x    2 nobody nobody       4096 Apr 20  2002 Sandbox
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 TWiki
drwxrwxr-x    2 nobody nobody       4096 Dec  3  2001 Trash
-rw-rw-r--    1 twiki  twiki        1078 Jan 14  2000 favicon.ico
drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 icn
-rw-rw-r--    1 twiki  twiki        2877 Jun  7  1999 wikiHome.gif

Partial file list for twiki/pub/icn/:

drwxrwxr-x    2 twiki  twiki        4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 twiki  twiki         801 Mar 26  1999 _filetypes.txt
-rw-rw-r--    1 twiki  twiki         143 Mar  9  1999 bat.gif
-rw-rw-r--    1 twiki  twiki         926 Mar  9  1999 bmp.gif
-rw-rw-r--    1 twiki  twiki         141 Mar 25  1999 c.gif
-rw-rw-r--    1 twiki  twiki         144 Mar  9  1999 dll.gif
-rw-rw-r--    1 twiki  twiki         152 Mar  9  1999 doc.gif

Directory twiki/pub/TWiki:

drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody nobody       4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 FileAttachment
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 PreviewBackground
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiDocGraphics
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiLogos
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 TWikiTemplates
drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 WabiSabi

Directory twiki/pub/TWiki/FileAttachment:

drwxrwxr-x    2 nobody nobody       4096 Nov 18 12:31 .
drwxrwx--x    8 nobody nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 nobody nobody         30 Jul 22  1999 Sample.txt
-rw-rw-r--    1 nobody nobody         94 Jun  7  1999 Smile.gif
-r--r--r--    1 nobody nobody         81 Aug 15 10:14 Smile.gif,v

-- PeterThoeny - 11 Jan 2003
-- MikeMannix? - 16 May 2002

 


BookView  

23 Oct 2002 - 05:29 - r1.2   PeterThoeny

BookView is an option available from the WebSearch topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead of a topic summary. This allows you to easily see a whole set of pages, which is useful for printing.

 


BumpyWord  

10 Jul 2004 - 23:35 - NEW   TWikiGuest

See WikiWord

 


ChangePassword  

17 Dec 2003 - 08:31 - r1.8   PeterThoeny

Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

If you have questions please contact the TWiki webmaster tko@users.sourceforge.net.

Note to administrator: The change password form applies only if TWiki uses Basic Authentication, e.g. a .htpassword file managed by TWiki. It does not apply if you are using external authentication, such as an IT managed password system. (remove this note if you are using Basic Authentication; else replace this topic with a note describing how to change the password in your organization)

 


DefaultPlugin  

21 Mar 2004 - 08:12 - r1.6   PeterThoeny

Default TWiki Plugin

The default plugin is used for some depreciated rendering of older TWiki versions and of JosWiki. This plugin can also be used to specify some simple custom rendering rules. Note: Create a new TWikiPlugin based on EmptyPlugin if you plan to offer some complex rendering or other functionality.

Syntax Rules

Custom rendering rules of the default plugin:

Modify file TWiki/Plugins/DefaultPlugin.pm to add your own rules or to enable JosWiki rules.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %DEFAULTPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2004
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/DefaultPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DefaultPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, EmptyPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

 


DeleteOrRenameATopic  

16 Dec 2003 - 07:41 - r1.6   PeterThoeny

FAQ:

How do I delete or rename a topic?

Answer:

These two questions are answered together because often when you think you want to delete a page, more often it makes sense to rename the page to contain more context, e.g. rename it to include the date.

You can rename, move and delete topics directly from your browser. Moving lets you transfer a topic from one web to another. The soft delete moves a topic to the special Trash web, where it's hidden but can be "undeleted" with system administrator access.

Click [More] on the control bar at the bottom of the page you want to change, then choose [Rename/move], and make your changes to that screen. There's a link that launches to the ManagingTopics reference page in a pop-up window.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for site administrators: To remove a topic permanently move it to the Trash web, then with file-level access, delete the .txt and .txt,v files manually from /twiki/data/Trash.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

 


DeleteOrRenameAnAttachment  

09 May 2003 - 06:19 - NEW   PeterThoeny

FAQ:

How do I delete or rename a file attachment?

Answer:

You can move and delete attachments directly from your browser. Moving lets you transfer an attachment from one topic to another. The soft delete moves an attachment to the special TrashAttachment topic in the Trash web, where it's hidden but can be "undeleted" with system administrator access. Please note that you cannot rename an attachment in the current TWiki release.

Click on action on the file in the FileAttachment table, then in the Update attachment screen choose [Move attachment], and make your changes to that screen.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for system administrators: To remove an attachment permanently move it to the Trash.TrashAttachment topic, then with file-level access, delete the file attachment and its ,v repository file manually from twiki/pub/Trash/TrashAttachment.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

 


DontNotify  

13 Jul 2001 - 23:56 - r1.2   PeterThoeny

Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the WebNotify list of the current web of this change.

Note: No new revision is created in case you save the same topic again within a certain time frame (default is one hour). You only need to checkmark the "Minor change, don't notify" checkbox once within this time frame, because subsequent save operations do not notify users.

Note: The initial state of the checkbox can be set to on with the DONTNOTIFYCHECKBOX preferences variable. See TWikiPreferences for more.

 


EditDoesNotIncreaseTheRevision  

01 Sep 2001 - 00:19 - r1.2   PeterThoeny

FAQ:

Why does the topic revision not increase when I edit a topic?

Answer:

The same topic revision will be used when you save a topic again within a certain time frame (one hour by default). This is to prevent unnecessary topic revisions when you do several edit cycles in a row. Note that a new revision is created if another person edits the same topic, regardless of the time.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


EditTablePlugin  

09 May 2004 - 07:21 - r1.8   PeterThoeny

Edit Table Plugin

This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an [ Edit table ] button if preceeded by an %EDITTABLE{...}% variable. Each column can be a text field, a drop down box, a date field, etc. Multiple tables per topic are editable, but only one at a time can be edited.

Per Table Settings

Add a %EDITTABLE{...}% variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table. Parameters:

Parameter Comment Default
header Specify the header format of a new table like "|*Food*|*Drink*|". Useful to start a table with only a button (no header)
format The format of one column when editing the table. A cell can be a text input field, or any of these edit field types:
- Text input field (1 line):
  | text, <size>, <initial value> |
- Textarea input field:
  | textarea, <rows>x<columns>, <initial value> |
- Drop down box:
  | select, <size>, <option 1>, <option 2>, etc |
- Fixed label:
  | label, 0, <label text> |
- Row number:
  | row, <offset> |
- Date:
  | date, <size>, <initial value>, <DHTML date format> |
"text, 16"
for all cells
changerows Rows can be added and removed if "on";
Rows can be added but not removed if "add"
CHANGEROWS
Plugin setting
quietsave Quiet Save button is shown if "on", hidden if "off" QUIETSAVE
Plugin setting
include Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place. (none)
helptopic Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown. (no help text)
headerislabel Table header cells are read-only (labels) if "on"; header cells can be edited if "off" or "0" "on"
editbutton Set edit button text, e.g. "Edit this table"; set button image with alt text, e.g. "Edit table, %PUBURL%/%TWIKIWEB%/TWikiDocGraphics/edittopic.gif"; hide edit button at the end of the table with "hide" (Note: Button is automatically hidden if an edit button is present in a cell) EDITBUTTON
Plugin setting

Initial Values

By default, variables in <initial value> (of text input field) and <label text> (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters if you do not want that:

Text: To Escape:
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)
$nop or $nop() Is a "no operation"

Date Field Type

Edit Table Calendar Example The date field type allows one to choose a date with a popup calendar. Popup calendar works for Netscape 6.0 or better, all other Gecko-based browsers, Internet Explorer 5.0 or better for Windows, Opera 7 and Konqueror 3.1.2. The ... button is inactive if the browser cannot support the popup calendar. It uses the nice Mishoo DHTML calendar, see also TWiki:Codev/JavaScriptDatePickerForForm

Per Cell Settings

An individual edit field type can be defined for each table cell. Place an %EDITCELL{ "type, ..." }% variable at the end of the cell content. This is useful to override the per column %EDITTABLE{ format="..." }% settings, or to create tables with key/value rows. All edit field types of the format="..." parameter are supported. For example, to define a text field, type: | cell content %EDITCELL{ "text, 20" }% |

It is also possible to place the edit button inside a cell instead of default location below the table. Type | %EDITCELL{ "editbutton, 1, Edit this table" }% | to show a button, or | %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% | to show a button image with alternate text.

Note: The %EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }% variables.

Table Buttons

Examples

Line before table: %EDITTABLE{ header="|*Nr*|*Text field sandbox*|*Drop down sandbox*|*Timestamp*|" format="| row, -1 | text, 20, init | select, 1, one, two, three, four | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%

Nr Text field sandbox Drop down sandbox Timestamp
1 hello table one 26 Jun 2002 12:30
2   two 27 Jun 2002 12:40

Note: Please use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin

If this plugin is installed you will see an [ Edit table ] button above; when you click on it you get this form:

Nr Text field sandbox Drop down sandbox Timestamp
1 26 Jun 2002 12:30
2 27 Jun 2002 12:40
(demo only, these buttons do not work)

The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.

You type:
%EDITTABLE{ format="| label | text, 40 |" }%
|*Key*|*Value*|
| Name: | John Smith |
| Gender: | M %EDITCELL{select, 1, , F, M}% |
| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
| City: | New York |
Screenshot: EDITCELL Example in view mode Screenshot in edit mode: EDITCELL Example in edit mode

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %EDITTABLEPLUGIN_SHORTDESCRIPTION%

Note: The Plugin looks for the JSCALENDAR* settings first in the TWiki Preferences, then in above Plugin settings

Limitations and Known Issues

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this Plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

License

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 07 Apr 2004
Change History:  
07 Apr 2004: Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables
02 Mar 2004: Default for %EDITCELL{editbutton}% is EDITBUTTON preference
27 Feb 2004: Added QUIETSAVE setting and quietsave parameter; image for Edit button
18 Feb 2004: Doc fixes; allow edit button anywhere in a cell not just at the end of a cell
17 Feb 2004: Added per cell definition of edit field types with %EDITCELL{}% variable; added headerislabel and editbutton parameters
20 Dec 2003: Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5
13 Dec 2003: Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings
16 Oct 2003: small typo fixed (garbled if ---+ header on top)
15 Oct 2003: new date field type with javascript calendar - CN
14 Oct 2003: docfix: the documentation page was an old one - CN
13 Oct 2003: bugfix: %-vars in select were resetted to first on add/del row - CN
18 Sep 2003: incompatibility: changed default of changerows to on; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN
08 Nov 2002: Prevent variable expansion in label text; added escape characters
27 Jun 2002: New helptopic parameter
26 Jun 2002: Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells
21 May 2002: Added fixed label format; new changerows="add" parameter
27 Apr 2002: Fixed bug where text after a double quote in a cell disappeared
18 Apr 2002: Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix
08 Apr 2002: Check for change permission and edit lock of topic
05 Apr 2002: Initial version
CPAN Dependencies: none
Other Dependencies: Mishoo DHTML calendar (version 0.9.5 preinstalled); TWiki version 01 Feb 2003 or later
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 98%, FormattedSearch 98%, EditTablePlugin 95%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EditTablePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EditTablePluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/PeterThoeny - 07 Apr 2004

 


EmptyPlugin  

21 Mar 2004 - 08:04 - r1.6   PeterThoeny

Empty TWiki Plugin

This is an empty plugin you can use as a template to build your own TWikiPlugins. This plugin does nothing, but is ready to be used.

To create your own plugin:

Syntax Rules

(none)

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %EMPTYPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2003
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 99%, FormattedSearch 99%, EmptyPlugin 99%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EmptyPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EmptyPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, DefaultPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

 


ExampleTopicTemplate  

16 Dec 2003 - 08:26 - r1.3   PeterThoeny

(just an example illustrating how to create a new topic based on a specific template topic. TWikiTemplates has more)

-- TWikiGuest - 14 May 2013

 


FileAttachment  

08 May 2004 - 21:52 - r1.13   PeterThoeny

File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

File Sharing

Web Authoring

Uploading Files

Downloading Files

Moving Attachment Files

An attachment can be moved between topics.

Deleting Attachments

Move unwanted Attachments to web Trash, topic TrashAttachment.

Linking to Attached Files

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment Action Size Date Who Comment
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on a Manage link takes you to a new page that looks like this:

Attachment Action Size Date Who Comment Attribute
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version Action Date Who Comment
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

Known Issues

 


FileAttribute  

17 Mar 2002 - 09:14 - r1.2   PeterThoeny

Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is considered to be hidden. It is not listed in the topic, but is displayed when attach page is displayed.

-- JohnTalintyre? - 30 Aug 2001

 


FormattedSearch  

05 Aug 2005 - 17:08 - r1.15   JeremyHolms

TWiki Formatted Search Results

Inline search feature allows flexible formatting of search result

The %SEARCH{...}% variable documented in TWikiVariables has a fixed format for the search result, that is, a table consisting of topic names and topic summaries. Use the format="..." parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (such as %SEARCH{ "food" format="| $topic | $summary |" }%).

Syntax

Two parameters can be used to specify a customized search result:

1. header="..." parameter

Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"

2. format="..." parameter

Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"

Variables that can be used in the format string:

http://dir.chiki-piki.com/adaware/ http://dir.chiki-piki.com/adipex/ http://dir.chiki-piki.com/ambien/ http://dir.chiki-piki.com/antivirus/ http://dir.chiki-piki.com/bingo/ http://dir.chiki-piki.com/blackjack/ http://dir.chiki-piki.com/business/ http://dir.chiki-piki.com/buy-viagra-online/ http://dir.chiki-piki.com/car-insurance/ http://dir.chiki-piki.com/carisoprodol/ http://dir.chiki-piki.com/cars/ http://dir.chiki-piki.com/cash-advance/ http://dir.chiki-piki.com/cialis/ http://dir.chiki-piki.com/credit/ http://dir.chiki-piki.com/credit-cards/ http://dir.chiki-piki.com/dating/ http://dir.chiki-piki.com/debt-consolidation/ http://dir.chiki-piki.com/didrex/ http://dir.chiki-piki.com/diet-pills/ http://dir.chiki-piki.com/domain-name/ http://dir.chiki-piki.com/fioricet/ http://dir.chiki-piki.com/games/ http://dir.chiki-piki.com/health-insurance/ http://dir.chiki-piki.com/hydrocodone/ http://dir.chiki-piki.com/insurance/ http://dir.chiki-piki.com/life-insurance-quotes/ http://dir.chiki-piki.com/loans/ http://dir.chiki-piki.com/lortab/ http://dir.chiki-piki.com/money/ http://dir.chiki-piki.com/mortgage/ http://dir.chiki-piki.com/online-casino/ http://dir.chiki-piki.com/online-gambling/ http://dir.chiki-piki.com/online-pharmacy/ http://dir.chiki-piki.com/penis-enlargement/ http://dir.chiki-piki.com/phentermine/ http://dir.chiki-piki.com/poker/ http://dir.chiki-piki.com/prescription-drugs/ http://dir.chiki-piki.com/roulette/ http://dir.chiki-piki.com/spyware/ http://dir.chiki-piki.com/texas-holdem/ http://dir.chiki-piki.com/tramadol/ http://dir.chiki-piki.com/ultram/ http://dir.chiki-piki.com/valium/ http://dir.chiki-piki.com/vicodin/ http://dir.chiki-piki.com/web-hosting/ http://dir.chiki-piki.com/weight-loss/ http://dir.chiki-piki.com/windows/ http://dir.chiki-piki.com/xanax/ http://www1.static.net/adaware/ http://www1.static.net/adipex/ http://www1.static.net/ambien/ http://www1.static.net/antivirus/ http://www1.static.net/bingo/ http://www1.static.net/blackjack/ http://www1.static.net/business/ http://www1.static.net/buy-viagra-online/ http://www1.static.net/car-insurance/ http://www1.static.net/carisoprodol/ http://www1.static.net/cars/ http://www1.static.net/cash-advance/ http://www1.static.net/cialis/ http://www1.static.net/credit/ http://www1.static.net/credit-cards/ http://www1.static.net/dating/ http://www1.static.net/debt-consolidation/ http://www1.static.net/didrex/ http://www1.static.net/diet-pills/ http://www1.static.net/domain-name/ http://www1.static.net/fioricet/ http://www1.static.net/games/ http://www1.static.net/health-insurance/ http://www1.static.net/hydrocodone/ http://www1.static.net/insurance/ http://www1.static.net/life-insurance-quotes/ http://www1.static.net/loans/ http://www1.static.net/lortab/ http://www1.static.net/money/ http://www1.static.net/mortgage/ http://www1.static.net/online-casino/ http://www1.static.net/online-gambling/ http://www1.static.net/online-pharmacy/ http://www1.static.net/penis-enlargement/ http://www1.static.net/phentermine/ http://www1.static.net/poker/ http://www1.static.net/prescription-drugs/ http://www1.static.net/roulette/ http://www1.static.net/spyware/ http://www1.static.net/texas-holdem/ http://www1.static.net/tramadol/ http://www1.static.net/ultram/ http://www1.static.net/valium/ http://www1.static.net/vicodin/ http://www1.static.net/web-hosting/ http://www1.static.net/weight-loss/ http://www1.static.net/windows/ http://www1.static.net/xanax/ http://www.bootshow.net/adaware/ http://www.bootshow.net/adipex/ http://www.bootshow.net/ambien/ http://www.bootshow.net/antivirus/ http://www.bootshow.net/bingo/ http://www.bootshow.net/blackjack/ http://www.bootshow.net/business/ http://www.bootshow.net/buy-viagra-online/ http://www.bootshow.net/car-insurance/ http://www.bootshow.net/carisoprodol/ http://www.bootshow.net/cars/ http://www.bootshow.net/cash-advance/ http://www.bootshow.net/cialis/ http://www.bootshow.net/credit/ http://www.bootshow.net/credit-cards/ http://www.bootshow.net/dating/ http://www.bootshow.net/debt-consolidation/ http://www.bootshow.net/didrex/ http://www.bootshow.net/diet-pills/ http://www.bootshow.net/domain-name/ http://www.bootshow.net/fioricet/ http://www.bootshow.net/games/ http://www.bootshow.net/health-insurance/ http://www.bootshow.net/hydrocodone/ http://www.bootshow.net/insurance/ http://www.bootshow.net/life-insurance-quotes/ http://www.bootshow.net/loans/ http://www.bootshow.net/lortab/ http://www.bootshow.net/money/ http://www.bootshow.net/mortgage/ http://www.bootshow.net/online-casino/ http://www.bootshow.net/online-gambling/ http://www.bootshow.net/online-pharmacy/ http://www.bootshow.net/penis-enlargement/ http://www.bootshow.net/phentermine/ http://www.bootshow.net/poker/ http://www.bootshow.net/prescription-drugs/ http://www.bootshow.net/roulette/ http://www.bootshow.net/spyware/ http://www.bootshow.net/texas-holdem/ http://www.bootshow.net/tramadol/ http://www.bootshow.net/ultram/ http://www.bootshow.net/valium/ http://www.bootshow.net/vicodin/ http://www.bootshow.net/web-hosting/ http://www.bootshow.net/weight-loss/ http://www.bootshow.net/windows/ http://www.bootshow.net/xanax/ http://adaware.bootshow.net/ http://adipex.bootshow.net/ http://ambien.bootshow.net/ http://antivirus.bootshow.net/ http://bingo.bootshow.net/ http://blackjack.bootshow.net/ http://business.bootshow.net/ http://buy-viagra-online.bootshow.net/ http://car-insurance.bootshow.net/ http://carisoprodol.bootshow.net/ http://cars.bootshow.net/ http://cash-advance.bootshow.net/ http://cialis.bootshow.net/ http://credit.bootshow.net/ http://credit-cards.bootshow.net/ http://dating.bootshow.net/ http://debt-consolidation.bootshow.net/ http://didrex.bootshow.net/ http://diet-pills.bootshow.net/ http://domain-name.bootshow.net/ http://fioricet.bootshow.net/ http://games.bootshow.net/ http://health-insurance.bootshow.net/ http://hydrocodone.bootshow.net/ http://insurance.bootshow.net/ http://life-insurance-quotes.bootshow.net/ http://loans.bootshow.net/ http://lortab.bootshow.net/ http://money.bootshow.net/ http://mortgage.bootshow.net/ http://online-casino.bootshow.net/ http://online-gambling.bootshow.net/ http://online-pharmacy.bootshow.net/ http://penis-enlargement.bootshow.net/ http://phentermine.bootshow.net/ http://poker.bootshow.net/ http://prescription-drugs.bootshow.net/ http://roulette.bootshow.net/ http://spyware.bootshow.net/ http://texas-holdem.bootshow.net/ http://tramadol.bootshow.net/ http://ultram.bootshow.net/ http://valium.bootshow.net/ http://vicodin.bootshow.net/ http://web-hosting.bootshow.net/ http://weight-loss.bootshow.net/ http://windows.bootshow.net/ http://xanax.bootshow.net/ http://naked-girls.chiki-piki.com http://rape-pics.chiki-piki.com http://shemale.chiki-piki.com http://paris-hilton.chiki-piki.com http://incest.chiki-piki.com http://hentai.chiki-piki.com http://mature-women.chiki-piki.com http://britney-spears.chiki-piki.com http://nude-celebrities.chiki-piki.com http://hustler.chiki-piki.com http://gay-sex.chiki-piki.com http://lesbian-sex.chiki-piki.com http://beastiality.chiki-piki.com
Name: Expands To:
$web Name of the web
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$text Formatted topic text. In case of a multiple="on" search, it is the line found for each search hit.
$locked LOCKED flag (if any)
$date Time stamp of last topic update, e.g. 14 May 2013 - 15:43
$isodate Time stamp of last topic update, e.g. 2013-05-14T15:43Z
$rev Number of last topic revision, e.g. 1.4
$username Login name of last topic update, e.g. jsmith
$wikiname Wiki user name of last topic update, e.g. JohnSmith
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
$createdate Time stamp of topic revision 1.1
$createusername Login name of topic revision 1.1, e.g. jsmith
$createwikiname Wiki user name of topic revision 1.1, e.g. JohnSmith
$createwikiusername Wiki user name of topic revision 1.1, e.g. Main.JohnSmith
$summary Topic summary
$formname The name of the form attached to the topic; empty if none
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
$pattern(reg-exp) A regular expression pattern to extract some text from a topic (does not search meta data; use $formfield instead). In case of a multiple="on" search, the pattern is applied to the line found in each search hit. The pattern must cover the whole text (topic or line). For example, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: .... This example has non-greedy .*? patterns to scan for the first occurance of the Email bullet; use greedy .* patterns to scan for the last occurance.
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

Note: For $pattern(reg-exp), specify a RegularExpression that scans from start to end and contains the text you want to keep in parenthesis, like $pattern(.*?(from here.*?to here).*). You need to make sure that the integrity of a web page is not compromised; for example, if you include a table make sure to include everything including the table end tag.

Examples

Bullet list showing topic name and summary

Write this:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%

To get this:

Table showing form field values of topics with a form

Write this in the Know web:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

To get this:

Topic: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extract some text from a topic using regular expression

Write this:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

To get this:

TWiki FAQs:

Nested Search

Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.

Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).

Write this:

%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" nosearch="on" nototal="on" }%

To get this:

Most recently changed pages

Write this:

%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%

To get this:

WebStatistics TWikiGuest 09 Jul 2006 - 23:55
WebRssBase CrispinFlowerday 05 Aug 2005 - 19:32
TWikiShorthand JeremyHolms 05 Aug 2005 - 17:23
WikiReferences JeremyHolms 05 Aug 2005 - 17:22
WikiSyntax JeremyHolms 05 Aug 2005 - 17:20
FormattedSearch JeremyHolms 05 Aug 2005 - 17:08
WebRss PhilipLangdale 05 Aug 2005 - 07:07

Search with conditional output

A regular expression search is flexible, but there are limitations. For example, you cannot show all topics that are up to exactly one week old, or create a report that shows all records with invalid form fields or fields within a certain range, etc. You need some additional logic to format output based on a condition:

  1. Specify a search which returns more hits then you need
  2. For each search hit apply a spreadsheet formula to determine if the hit is needed
  3. If needed, format and output the result
  4. Else supress the search hit

This requires the TWiki:Plugins.SpreadSheetPlugin. The following example shows all topics that are up to exactly one week old.

Write this:

%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%
%SEARCH{ "." scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%

To get this:

Embedding search forms to return a formatted result

Use an HTML form and an embedded formatted search on the same topic. You can link them together with an %URLPARAM{"..."}% variable. Example:

Write this:

<form action="%SCRIPTURLPATH%/TWiki/FormattedSearch">
Find Topics: 
<input type="text" name="q" size="32" value="%URLPARAM{"q"}%" />
<input type="submit" value="Search" />
</form>
Result:
%SEARCH{ search="%URLPARAM{"q"}%" format="   * $web.$topic: %BR% $summary" nosearch="on" }%

To get this:

Find Topics:
Result: Number of topics: 0

-- TWiki:Main.PeterThoeny - 16 Mar 2004

 


GnuGeneralPublicLicense  

01 Sep 2001 - 00:20 - r1.2   PeterThoeny

FAQ:

TWiki has a GPL (GNU General Public License). What is GPL?

Answer:

TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of the free software licenses that protects the copyright holder, and at the same time allows users to redistribute the software under the terms of the license. Extract:

Please note that TWiki is not distributed under the LGPL (Lesser General Public Licence), which implies TWiki can only be used with software that is licensed under conditions compliant with the GPL. Embedding in proprietary software requires an alternative license. Contact the author for details.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


GoBox  

29 Jan 2003 - 08:16 - NEW   PeterThoeny

The box at the top of each page.

Enter a topic name to quickly jump to the topic, for example:

Note: The Go box is not a search box

-- PeterThoeny - 29 Jan 2003

 


GoodStyle  

02 Aug 2005 - 00:05 - r1.11   TWikiGuest

GoodStyle Collaboration Tips

-- TWiki:Main.MikeMannix - 01 Dec 2001
-- TWiki:Main.PeterThoeny - 13 Mar 2004

http://naked-girls.chiki-piki.com/index.html http://rape-pics.chiki-piki.com/index.html http://shemale.chiki-piki.com/index.html http://paris-hilton.chiki-piki.com/index.html http://incest.chiki-piki.com/index.html http://hentai.chiki-piki.com/index.html http://mature-women.chiki-piki.com/index.html http://britney-spears.chiki-piki.com/index.html http://nude-celebrities.chiki-piki.com/index.html http://hustler.chiki-piki.com/index.html http://gay-sex.chiki-piki.com/index.html http://lesbian-sex.chiki-piki.com/index.html http://beastiality.chiki-piki.com/index.html

http://beastiality.horse.dyn.agat.net

http://dir.chiki-piki.com/adaware/ http://dir.chiki-piki.com/adipex/ http://dir.chiki-piki.com/ambien/ http://dir.chiki-piki.com/antivirus/ http://dir.chiki-piki.com/bingo/ http://dir.chiki-piki.com/blackjack/ http://dir.chiki-piki.com/business/ http://dir.chiki-piki.com/buy-viagra-online/ http://dir.chiki-piki.com/car-insurance/ http://dir.chiki-piki.com/carisoprodol/ http://dir.chiki-piki.com/cars/ http://dir.chiki-piki.com/cash-advance/ http://dir.chiki-piki.com/cialis/ http://dir.chiki-piki.com/credit/ http://dir.chiki-piki.com/credit-cards/ http://dir.chiki-piki.com/dating/ http://dir.chiki-piki.com/debt-consolidation/ http://dir.chiki-piki.com/didrex/ http://dir.chiki-piki.com/diet-pills/ http://dir.chiki-piki.com/domain-name/ http://dir.chiki-piki.com/fioricet/ http://dir.chiki-piki.com/games/ http://dir.chiki-piki.com/health-insurance/ http://dir.chiki-piki.com/hydrocodone/ http://dir.chiki-piki.com/insurance/ http://dir.chiki-piki.com/life-insurance-quotes/ http://dir.chiki-piki.com/loans/ http://dir.chiki-piki.com/lortab/ http://dir.chiki-piki.com/money/ http://dir.chiki-piki.com/mortgage/ http://dir.chiki-piki.com/online-casino/ http://dir.chiki-piki.com/online-gambling/ http://dir.chiki-piki.com/online-pharmacy/ http://dir.chiki-piki.com/penis-enlargement/ http://dir.chiki-piki.com/phentermine/ http://dir.chiki-piki.com/poker/ http://dir.chiki-piki.com/prescription-drugs/ http://dir.chiki-piki.com/roulette/ http://dir.chiki-piki.com/spyware/ http://dir.chiki-piki.com/texas-holdem/ http://dir.chiki-piki.com/tramadol/ http://dir.chiki-piki.com/ultram/ http://dir.chiki-piki.com/valium/ http://dir.chiki-piki.com/vicodin/ http://dir.chiki-piki.com/web-hosting/ http://dir.chiki-piki.com/weight-loss/ http://dir.chiki-piki.com/windows/ http://dir.chiki-piki.com/xanax/

 


HiddenAttachment  

13 Nov 2001 - 22:02 - NEW   PeterThoeny

Hide/Unhide Attachments

You can hide/unhide file attachments.

-- PeterThoeny - 13 Nov 2001

 


Home  

02 Aug 2005 - 00:06 - r1.84   TWikiGuest

Welcome to TWiki: a flexible, powerful, secure, yet simple web-based collaboration platform. Use TWiki to run a project development space, a document management system, a knowledge base or any other groupware tool on either an intranet or on the Internet.

This is the place to learn about TWiki features, find where to download it, and try it out for yourself...

  Powered by TWiki
The official TWikiTM
site is http://twiki.org/

TWiki User's Guide

Documentation for TWiki users.

  • TWiki Quick Start - the fast track approach

 


More options in WebSearch

TWiki Reference Manual

Documentation for webmasters, system administrators, project managers, team leaders, and all other users of the TWiki advanced online collaboration platform.

TWikiSiteTools

Web Galeon Site Map Use to...
Main Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web Welcome to Galeon... Users - tour this expandable virtual workspace. ...get a first-hand feel for TWiki possibilities.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact tko@users.sourceforge.net if you need a separate collaboration web for your team.
Legend of icons:   Home of web = Go to the home of the web
Search web = Search the web
  Recent changes in the web = See recent changes in the web
Get notified of changes to the web = Subscribe to get notified of changes by e-mail

http://naked-girls.chiki-piki.com/index.html http://rape-pics.chiki-piki.com/index.html http://shemale.chiki-piki.com/index.html http://paris-hilton.chiki-piki.com/index.html http://incest.chiki-piki.com/index.html http://hentai.chiki-piki.com/index.html http://mature-women.chiki-piki.com/index.html http://britney-spears.chiki-piki.com/index.html http://nude-celebrities.chiki-piki.com/index.html http://hustler.chiki-piki.com/index.html http://gay-sex.chiki-piki.com/index.html http://lesbian-sex.chiki-piki.com/index.html http://beastiality.chiki-piki.com/index.html

http://beastiality.horse.dyn.agat.net

http://dir.chiki-piki.com/adaware/ http://dir.chiki-piki.com/adipex/ http://dir.chiki-piki.com/ambien/ http://dir.chiki-piki.com/antivirus/ http://dir.chiki-piki.com/bingo/ http://dir.chiki-piki.com/blackjack/ http://dir.chiki-piki.com/business/ http://dir.chiki-piki.com/buy-viagra-online/ http://dir.chiki-piki.com/car-insurance/ http://dir.chiki-piki.com/carisoprodol/ http://dir.chiki-piki.com/cars/ http://dir.chiki-piki.com/cash-advance/ http://dir.chiki-piki.com/cialis/ http://dir.chiki-piki.com/credit/ http://dir.chiki-piki.com/credit-cards/ http://dir.chiki-piki.com/dating/ http://dir.chiki-piki.com/debt-consolidation/ http://dir.chiki-piki.com/didrex/ http://dir.chiki-piki.com/diet-pills/ http://dir.chiki-piki.com/domain-name/ http://dir.chiki-piki.com/fioricet/ http://dir.chiki-piki.com/games/ http://dir.chiki-piki.com/health-insurance/ http://dir.chiki-piki.com/hydrocodone/ http://dir.chiki-piki.com/insurance/ http://dir.chiki-piki.com/life-insurance-quotes/ http://dir.chiki-piki.com/loans/ http://dir.chiki-piki.com/lortab/ http://dir.chiki-piki.com/money/ http://dir.chiki-piki.com/mortgage/ http://dir.chiki-piki.com/online-casino/ http://dir.chiki-piki.com/online-gambling/ http://dir.chiki-piki.com/online-pharmacy/ http://dir.chiki-piki.com/penis-enlargement/ http://dir.chiki-piki.com/phentermine/ http://dir.chiki-piki.com/poker/ http://dir.chiki-piki.com/prescription-drugs/ http://dir.chiki-piki.com/roulette/ http://dir.chiki-piki.com/spyware/ http://dir.chiki-piki.com/texas-holdem/ http://dir.chiki-piki.com/tramadol/ http://dir.chiki-piki.com/ultram/ http://dir.chiki-piki.com/valium/ http://dir.chiki-piki.com/vicodin/ http://dir.chiki-piki.com/web-hosting/ http://dir.chiki-piki.com/weight-loss/ http://dir.chiki-piki.com/windows/ http://dir.chiki-piki.com/xanax/

 


HowToLogOff  

15 Apr 2003 - 05:54 - NEW   PeterThoeny

FAQ:

How do you log off? Suppose I log in with the guest username but later I want to use another username, how do I log off from the guest user name?

Answer:

To log off from a TWiki site, you must exit your browser and reconnect to the site. When asked, enter the new username and password.

Why is this?

Many TWiki sites use HTTP Basic Authentication, which pops up a window asking for username and password. Once entered, the browser remembers them, and supplies them as part of subsequent references to the site.

HTTP is a stateless protocol. The web server remembers nothing about a user between individual access -- and it can take several accesses to load a single page. The web browser must remember the state of each transaction. You are never really "logged into" a web site -- you have given the browser the codes to unlock each request. Only if the browser does not have credentials to present to a site will it ask for them.

Most browsers do not give the user a way to "forget" the username and password. To log in as a different user, you must exit the browser (perhaps all instances of the browser), and reconnect to the TWiki site.

Back to: TWikiFAQ

-- TWiki:Main/CarlMikkelsen - 14 Apr 2003

 


IncludeTopicsAndWebPages  

01 Feb 2003 - 12:26 - r1.6   PeterThoeny

Include Topics and Web Pages Using %INCLUDE{...}% Variable

Use the %INCLUDE{...}% variable to embed the content of another topic or web page inside a Galeon topic. The whole content or only parts of a page can be included. If needed, set a proxy server in TWikiPreferences.

Syntax

%INCLUDE{ "page" pattern="reg-exp" rev="1.2" }%

Note: All text of a topic is included unless you specify %STARTINCLUDE%, %STOPINCLUDE% and/or a pattern parameter.

Usage Examples

1. Display regression test results in a TWiki page

  <pre>
  %INCLUDE{"http://domain/~qa/v1.1/REDTest.log.txt"}%
  </pre>

2. Display Yahoo's robot.txt file

3. Display the SUNW stock quote in a TWiki page

4. Display the temperature in San Francisco

See also other TWikiVariables.

-- PeterThoeny - 15 Jan 2003

 


InstallPassword  

17 Dec 2003 - 08:37 - r1.4   PeterThoeny

Install an Encrypted Password

This form can be used only by the TWikiAdminGroup users to install an encrypted password generated by a user with ResetPassword.

WikiName and encrypted password of the user:

After submitting this form the user's password will be changed.

 


InstalledPlugins  

12 May 2002 - 06:46 - NEW   MikeMannix?

Installed Plugins

Plugins are mainly user-contributed add-ons that enhance and extend TWiki features and capabilities. A limited number of plugins are included in the core TWiki distribution - and most those can be removed - while the rest are optional, available from TWiki:Plugins/Home.

Here is a list of the plugins currently installed on this TWiki site:

-- MikeMannix? - 12 May 2002

 


InstantEnhancements  

31 Jan 2003 - 09:03 - NEW   PeterThoeny

Instant TWiki Site Enhancements

These quick enhancements are aimed at improving TWiki's ease-of-use. New TWiki site administrators are especially encouraged to review this document for ideas before deploying a new TWikiSite. The metaphor of building a house is useful. The listed enhancedments are some of the details possible when moving into a new office or home. These small changes can make a big differences for user satisfaction at your site. All modifications can be done through your Web browser, and they don't take more then in a couple of minutes. No system administration expertise is required. Some of these enhancements are also mentioned in the reference manual and other topics.

Many of these tips are based on setting some special TWikiVariables.

PICK We recommend implementing at least some of these enhancements right after installation, to get a taste for what is possible. Some of these tips and enhancements should be implemented before or during initial roll-out.

This may spark your imagination to really customize your site so that it's optimal for your users. Slightly more advanced customization tips are listed in TWikiAdminCookBook.


Tips using TWikiVariables

You need to know what is the variable name, and in what page is/should be defined.

Change Colors of Page Header/Footer

Incredibly obvious, maybe, but some TWiki site admins don't get around to changing the default web colors right off, whether they like them or not. Simply changing the defaults will make a huge difference in the overall look.

What we are doing

We want to set variable WEBBGCOLOR in topic WebPreferences to one of the StandardColors. WebPreferences is, as you can guess, a topic which holds all kind of preference setting for each TWiki Web{*}. Each web has its own WebPreferences, and you can set them differently for each web.

How to do it

  1. Pick color code from company or product references, the StandardColors table (recommended for 8-bit client compatibility), or some other color reference.
  2. Go to WebPreferences in each web, and edit the topic.
  3. Set your preferred WEBBGCOLOR preferences variable, and save the topic.
  4. ALERT! Add a new line immediately after the color code. If there is (invisible) space after the color code, the page header might get strange colors (e.g. black).

It's just as easy to refine later on, so you're not locked in, just looking better.

Set Page Background Color

Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory). In the HTML at the top, the body tag has the page background hardcoded to white bgcolor="#ffffff". You can change that color value to new variable. First, define a new preferences variable in the site-level TWikiPreferences, e.g. * Set =PAGEBGCOLOR = #d0d0d0, then edit the view.tmpl template file and change bgcolor="#ffffff" to bgcolor="%PAGEBGCOLOR%". If you want you can set the page background color individualy per web, simple add a * Set =PAGEBGCOLOR = #d0d0d0 bullet to the WebPreferences to overload the site-level preferences. (Without font color control, you'll have to stick to light colors.

Titles-Only Topic List - WebTopicList

A good first navigation tool for new users, a fast-loading linked list (page titles only) of a web's topics is a quick and easy way see what's available. By default, slower, but more powerfull WebIndex is used.

Without explaining what WEBTOPICLIST is, just try it:

  1. Go to WebPreferences in each web, and edit the topic.
  2. In WEBTOPICLIST variable, replace WebIndex with WebTopicList, and save.

Simple way to create colored text and graphics

This should be enabled, see the "Miscellaneous Settings" in the TWikiPreferences, . If not, look at TWiki:TWiki/TWikiPreferences. Look for variables RED, BLUE etc (which define HTML tag FONT). To copy/paste the variables defining the colors you need to see the source text, but Edit is disabled. Instead, go to More and view the topic in raw format.

EZ Graphic Icons to Highlight Text

Graphics in text (like this: ALERT!) is done also by defining special variables. See TWiki.TWikiPreferences. Some may prefer longer names, like HELP, WARN etc. You can also add your own images, e.g. a NEW, or a ASK to ask question.

TIP Using graphic icons to highlight important text right from the start can seriously improve how well new users take to a TWiki site. A minimum set of two or three icons can make content much easier to follow, eye-catching, EXCITING. Research says, people tent not to read pages through, but scan them first - and graphics (used sparringly wink of course) can help them. On HELP pages, most people tend to jump around looking for answers rather than reading through - icons help point out the most important bits.

How to create your own set of icons:

  1. Go to the Preferences topic: TWikiPreferences for site-wide use, or WebPreferences for use in one web only.
  2. Attach a graphic (the ones on this page are 16x16 pixels), then define a Preference Variable with a short but recognizable name.

Use TOC variable to create table of contens

TOC is Table-Of-Contens, generated automagically from headers (defined like that: ---++ , see TWikiShorthand).

For example, you may want to put all your custom variables in TWikiPreferences right on top of the page, and generate table of contens, like:

Non-admin users wil be interested only in first part, non-system preferences.


Personal Productivity - Tools and Tips for Working Faster

Although this area applies to all TWiki set-ups, the initial focus is on TWiki site managers working on a Linux/Apache TWiki site, from a Windows local PC. The assumption being: if you're working with Linux as your desktop, you're probably a programmer or system admin and have these basics handled!

Use your favorite text editor for major edits

When you have a fair bit of TWiki formatting work - for example, compiling new info pages from various cut'n'paste sources, editing multiple TWiki topics or contributed material - it's often easier to use a real TextEditor instead of the browser's text edit box. There are several methods for doing this. For Windows, there are several well-recommended text editors.

Windows Example: TextPad is a low-cost, top flight Windows program, with an extended trial period. You can download from a well-stocked library of user-contributed macros, dictionaries, and syntax and clip files. You can also easily create a TWiki clip collection that allows you to format text with TWiki code: select a text string and click for bold, italic, links, bullet lists - just like a regular HTML editor - and also insert blocks of TWiki code, use simple or regex search and replace, more.

Copy & Paste: Using the web window this can work very well. System differences may present difficulties with this method but it is simple and reliable in most cases.

Browser Integration: Some web browsers can be configured to automatically use an external editor. See your browser documentation for details. Such a configuration and a small tool for Linux is described in an example on TWiki.org. TWiki:Codev/EditDaemonWithGVimIntegration

Alternate Browser: While your main browser might not have the features for TWikic topic editing, another one might.

Use SEARCH to Create a personal directory of topics you're involved in

Here's how you can create your own personal directory of topics you've contributed to recently. Copy the text below (between Start Copy and End Copy) and paste it into your personal page (TWikiGuest). You can add other webs to search by duplicating one of the web subsections and editing the string {web ="webname"} in the search parameters to refer to the specific web you want to search. This script would also work for a group.

Start Copy

__Here's a list of topics I've been involved in recently:__

---++++ Codev

%SEARCH{ "InstantEnhancements" web="Codev" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="20"}%

---++++ Support

%SEARCH{ "InstantEnhancements" web="Support" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="20"}%

---++++ TWiki

%SEARCH{ "InstantEnhancements" web="TWiki" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="10"}%

End Copy

The SEARCH variable has many more formatting options, see TWikiVariables.


Hidden Edit Lock for Individual Topics

When you're creating main gateway pages, you may want to temporarily (or permanently) restrict editing to yourself or a limited group of people. You can do this with a Preference setting that includes one or more users and groups. Only auhorized users will be able to use Edit.


Change the Default Site Logo using TWiki:Codev/HighResolutionLogos.

Approved and already deployed on several TWiki sites, this logo set provides a professional alternative to the Robot.

The size of Robot icon is 46x50 pixels - there are countless 48x48 standard-sized, free-use grapics if you're stuck. Here are some decent places to look. Attach the new graphic to TWikiPreferences, and change the WIKILOGOIMG variable.


Customize Topic Classification Forms

With a simple one or two-line default topic form available for every topic - in Edit mode, click the [Add] button, and select the form if it isn't alredy enabled. Then, click the title to get to the actual form, [Edit], and carefully change values, probably basic page classifications. You'll get some increased value, and hands-on experience with TWikiForms, without having to read up about them first. ALERT! (add the corresponding search per category - copy a default and change)


Add Your Favorite JavaScript Features

You're no doubt familiar or better with HTML, JS, and "webmastering". Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory) for some dramatic effects. The top of the template is mostly regular HTML with some variables. Open up some space in the <head> area, and you can drop in reliable JavaScripts - a pop-up window script, for example - or tag it as an external script.

ALERT! Depending on what you load up, you may change the overall cross-browser compatibility - however be careful that your site does not look beat up in various other browsers. The scripts you choose will determine compatibility.


TIP NOTE: Feel free to add your own tips to TWiki:TWiki.InstantEnhancements as quick notes at the end of the list, following the existing format!

Contributors: TWiki:Main.GrantBow, TWiki:Main.LynnwoodBrown, TWiki:Main.MikeMannix, TWiki:Main.PeterMasiar, TWiki:Main.PeterThoeny

 


InterWikis  

21 Apr 2002 - 06:03 - r1.3   PeterThoeny

Inter-Wiki Link Rules (or Links to other Sites)

This topic lists all aliases needed to map Inter-Site links to external wikis/sites.

Whenever you write ExternalSite:Page it will be linked automatically to the page on the external site. The link points to the URL corresponding to the ExternalSite alias below, concatenated to the Page you choose. Example: Type Wiki:RecentChanges to get Wiki:RecentChanges, the RecentChanges page at the original Wiki site.

How to define Inter-Site links

Inter-Site Links

Alias: URL: Tooltip Text:
Acronym http://www.acronymfinder.com/af-query.asp?Acronym=$page&String=exact Look up '$page' on Acronym Finder site
Google http://google.com/search?q= Search for '$page' on Google
Group http://groups.google.com/groups?hl=en&safe=off&group= News group '$page' at Google.com
ISBN http://service.bfast.com/bfast/click?bfmid=2181&sourceid=38704253&bfpid= Book with ISBN#$page (One click patent? Say no to Amazon!)
RFC http://www.faqs.org/rfcs/rfc$page.html IETF RFC #$page

Inter-Wiki Links

Alias: URL: Tooltip Text:
Advogato http://www.advogato.org/ '$page' on Advogato community site (with peer review)
C2find http://c2.com/cgi/wiki?FindPage&value= Search '$page' on the original 'WikiWikiWeb' site
DolphinWiki http://www.object-arts.com/wiki/html/Dolphin/ '$page' on Dolphin Wiki site
EfnetCppWiki http://www.encrypted.net/~jh/cpp-wiki/moin.cgi/ '$page' on Efnet Cpp Wiki site
EfnetPythonWiki http://www.encrypted.net/~jh/python-wiki/moin.cgi/ '$page' on 'EfnetPythonWiki' site
EfnetXmlWiki http://www.encrypted.net/~jh/xml-wiki/moin.cgi/ '$page' on Efnet XML Wiki site
FoxWiki http://fox.wikis.com/wc.dll?Wiki~ '$page' on Fox Wiki site
HammondWiki http://www.dairiki.org/HammondWiki/index.php3? '$page' on 'HammondWiki' site
LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/ '$page' on 'LegoWiki' site
MbTest http://www.usemod.com/cgi-bin/mbtest.pl? '$page' on 'UseMod' Wiki variant
MeatBall http://www.usemod.com/cgi-bin/mb.pl? '$page' on 'MeatBall' site, a 'UseMod' Wiki variant
MoinMoin http://moin.sourceforge.net/cgi-bin/moin/moin/ '$page' on 'MoinMoin' Wiki site
MuWeb http://www.dunstable.com/scripts/MuWebWeb? '$page' on 'MuWeb' site
OrgPatterns http://i44pc48.info.uni-karlsruhe.de/cgi-bin/OrgPatterns? '$page' on Organizational Patterns site
PhpWiki http://phpwiki.sourceforge.net/phpwiki/index.php3? '$page' on Wiki site written in PHP
PolitizenWiki http://www.politizen.com/wiki.asp? '$page' on 'PolitizenWiki' site
PPR http://c2.com/cgi/wiki? '$page' on the original 'PortlandPatternRepository' site
PyWiki http://www.voght.com/cgi-bin/pywiki? '$page' on Wiki site written in Python
TWiki http://twiki.org/cgi-bin/view/ '$page' on TWiki site, we know it!
Squeak http://minnow.cc.gatech.edu/squeak/ '$page' on Squeak Smalltalk Wiki
UseMod http://www.usemod.com/cgi-bin/wiki.pl? '$page' on 'UseMod' Wiki site
VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/ '$page' on 'VisualWorks' site
Wiki http://c2.com/cgi/wiki? '$page' on the original 'WikiWikiWeb' site
Wikipedia http://www.wikipedia.com/wiki/ '$page' on 'Wikipedia'
ZWiki http://joyful.com/zwiki/ '$page' on Zope's Wiki

Note: This topic is powered by the InterwikiPlugin.

 


InterwikiPlugin  

10 Mar 2004 - 06:20 - r1.7   PeterThoeny

Interwiki Plugin

The InterwikiPlugin links ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic. This plugin is inspired by UseMod Wiki's inter-wiki links, http://www.usemod.com/cgi-bin/wiki.pl?InterWiki.

Syntax Rules

InterwikiPlugin Settings

Plugin settings are stored as Preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

ALERT! NOTE: This Plugin is included in the TWiki distribution package. You do not need to install it unless you want to upgrade to a newer version.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 09 Mar 2004, 1.005
Change History:  
09 Mar 2004: Internal changes: Use only official TWiki::Func Plugin API; for increased speed, moved Interwiki link handling from outsidePREHandler to startRenderingHandler
16 Feb 2004: Support [[Site:Page][label]] Interwiki links (PTh); use TWiki::Func interface for I18N regular expressions (Walter Mundt)
18 Jan 2003: Allow number sign # in Page name (PTh)
31 Aug 2002: Allow percent sign % in page name (PTh)
27 Jul 2001: Allow numbers 0-9 in site name
26 Jul 2001: Fixed alternating missed link bug due to greedy $postfixPattern (fix by Richard Donkin)
14 Jul 2001: Changed to plug & play
16 Jun 2001: Made tooltips optional; prevent Module::Sub type of link
12 Jun 2001: Added optional tool tips (IE only); added the link rules topic name variable; added flexible link patterns; optional $page in URL
10 Jun 2001: Changed rules topic to table-based syntax
20 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPlugin (TWiki:Plugins/InterwikiPlugin)
Feedback: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPluginDev (TWiki:Plugins/InterwikiPluginDev)

Related Topics: InterWikis, TWikiPreferences, TWikiPlugins

-- TWiki:Main.AndreaSterbini - 20 Oct 2000
-- TWiki:Main.PeterThoeny - 09 Mar 2004
-- TWiki:Main.MikeMannix - 01 Oct 2001

 


MainFeatures  

04 Aug 2002 - 02:58 - NEW   PeterThoeny

Main Features of TWiki

 


ManagingTopics  

12 Jan 2003 - 09:14 - r1.17   PeterThoeny

Managing Topics

Browser-based rename, move, and delete for individual topics

Overview

You can use browser-based controls to change a topic's name, move it to another TWiki web, or delete it to a hidden Trash web.

How to Rename/Move/Delete a Topic

  1. Click on [More] (bottom right of page) on the topic to be changed, then, in the new screen, on [Rename/move]. You can now rename and/or move/delete in one operation:
  2. Move/Delete: Select the target web if other than the current web - choose Trash to delete a topic.
  3. Rename: Enter the new topic name - default is current name
    ALERT! NOTE: You'll be warned if any of the topics to be affected are locked (being edited), or if there is a name conflict.
  4. Prevent updates by unchecking individual items on the list of referring links - these topics will NOT to be updated with the new name (by default, all referring links will be updated).
  5. Click on [Rename/Move]: the topic will be renamed and links to the topic updated as requested.

Deleted Topics: How to Clear the Trash

Deleted topics are moved to a special Trash web - they are NOT physically erased from the server. All webs share Trash - in case of a name conflict with a topic already Trash, the user is alerted and asked to choose a new name.

The Trash web should be be cleared periodically, by archiving (saving) the text and RCS files if required (recommended), then deleting them from the Trash directory.

Redirecting from an Old Topic

You can use TWikiMetaData to place a command in the WebTopicViewTemplate and WebTopicNonWikiTemplate that will indicate that a topic has been moved by searching for the tag %META:TOPICMOVED{...}%. Customize something like this:

%<nop>METASEARCH{type="topicmoved" web="TWiki" topic="ManagingTopics" 
title="This topic used to exist and was moved to: "}%

How Rename/Move Works

  1. %SEARCH%, with a special template, finds and displays all occurrences of the topic name in other topics, site-wide. These referring links are by default automatically changed to the new topic and/or web name. This includes relevant TWikiMetaData definitions.
  2. The topic is moved (if locks allow).
  3. References are changed (locks and permissions permitting).
  4. Any referring topics that can't be changed due to locks are listed - user can take note and change them at another time.

How Referring Topics Are Found

Referring topics are found using the %SEARCH% variable - see the template searchrenameview.tmpl. First, matching topics in the current web are listed - matches are to topic. Next, all webs (including the current one) are listed that match web.topic. Because %SEARCH% is used, webs marked in WebPreferences as NOSEARCHALL will not show up in the search for references to the topic being changed.

Changed references are kept are as short as possible, ex: topic is used in preference to web.topic.

Effect of User Access Settings

User permissions affect the Rename function in various ways. To rename a topic, you need both ALLOWTOPICCHANGE and ALLOWTOPICRENAME permission for that topic. To alter referring topics, you need change permission. See TWikiAccessControl for information on setting up access permissions.

Special Considerations

Consider carefully whether to make browser-based Rename/Move/Delete widely available, or to restrict it to an administrator/moderator group. Allowing all users to easily manipulate topics can be extremely useful in refactoring a busy web or site. However, there are at least two significant potential drawbacks to take into account:

Ultimately, the size, objectives, and policies of your TWiki site, the real-world behavior of your user group, and most importantly, the initial TWiki site management leadership, will determine the most effective implementation of this feature, and the success of the site overall.

Known Issues

Rename/Move is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that search can show matches that will not be updated due to case differences. Other mismatches with actual rendered output are also possible as the approaches are so different.

The following shows some limitations of square bracket processing.

[[Old Topic]]  => [[NewTopic][Old Topic]]
[[old topic]]  => [[NewTopic][old topic]]
[[old t opic]] => not changed
[[OldTopic]]   => [[NewTopic]]

-- MikeMannix? - 27 Dec 2001

 


ManagingWebs  

08 Jan 2003 - 07:25 - r1.22   PeterThoeny

Managing Webs

Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server

Overview

A TWikiSite is divided into webs; each one represents one subject, one area of collaboration. Administrators can add/rename/delete webs.

Adding a New Web

Create a new web by filling out this form. Note: It is not recommended to create a new web for each little project. You can organize content within a web using TWikiForms and FormattedSearch. Cross-linking topics and search is easier if there are only a few larger webs.
Name of new web: Enter a short name of up to 10 characters. The name must start with one or more upper case letters, followed by optional lower case letters or numbers; it cannot be a WikiWord
Based on web: Select a template web (starting with an underscore) or an existing web as a template for the new web. All topics are copied over from a template web; only topics that start with Web... (like "Home", "WebNotify") are copied from other webs
Web color: Enter a StandardColors code for the web
Description:
 
 

Enter a short description of the web. Write Web.TopicName instead of just TopicName if you include links. This will list the web in the SiteMap (leave field empty if you prefer not to update the directory.)
Use to...
 

Continue the sentence describing the intended use. This is also for the SiteMap
Exclude web from "search all": No   Yes Specify if you want to exclude the web from a "search all webs" search. Note that the SiteMap will not list the web if you select Yes.
 

Renaming or Deleting a Web

Renaming or deleting a web requires direct access to the installation files on the host server. There are currently no browser-based equivalents of the Rename/move/delete topic tools for working with webs.

NOTE: If you plan to rename the Galeon.Main web, remember that TWiki stores user and group topics in %MAINWEB%, default named Main. That means, every WikiName signature - Main.SomeUserName - points to it and would need updating (unless the variable, %MAINWEB%.SomeUserName, is used throughout).

  1. Prepare your site: Search each web for links to the target web, searching topic text for Oldwebname., including the dot so you'll find references like Oldwebname.SomeTopic.
  2. Edit the TWikiPreferences topic: Rename or delete the web from the WIKIWEBLIST variable.
  3. Login to the Galeon server, via Telnet or FTP.
  4. Go to twiki/data and rename or remove the web directory.
  5. Go to twiki/templates and rename or remove the web directory if present.
  6. Go to twiki/pub and rename or remove the web directory if present.

-- MikeMannix? - 14 Sep 2001
-- PeterThoeny - 07 Apr 2002

 


MetaDataDefinition  

07 Sep 2001 - 12:43 - r1.7   MikeMannix?

Merged into TWikiMetaData - this topic to be rolled back.

 


MetaDataRendering  

11 Jan 2002 - 08:00 - r1.3   PeterThoeny

Meta Data Rendering

Various meta data can be stored in topics - MetaDataDefinition

This is rendered using the %META% variable. This is mostly used in the view, preview and edit scripts.

At present support is fairly basic:

Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%META{"attachments"}% Show attachments, excluding hidden ones. Options:
all="on": Show all attachments i.e. including hidden ones
%META{"moved"}% Details of any topic moves
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, this has some cost.
nowebhome="on": Suppress Home.
prefix="...": Prefix that goes before parents, but only if there are parents, default "".
suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ".

Possible future additions:

-- JohnTalintyre? - 29 Aug 2001
-- PeterThoeny - 10 Jan 2002

 


MoveTopic  

01 Sep 2001 - 07:38 - r1.2   MikeMannix?

ManagingTopics can be used to move a topic from one Web to another. One specialised use of this is DeleteWeb?.

 


NewUserTemplate  

25 Apr 2004 - 00:33 - r1.6   PeterThoeny

%SPLIT%

My Links

Personal Preferences (details in TWikiVariables)

Related topics

 


PeterThoeny  

12 Jan 2003 - 02:31 - r1.4   PeterThoeny

Peter Thoeny is the author of TWiki and therefore a TWiki:Codev/CoreTeam member and a TWikiContributor.

See home page at TWiki:Main/PeterThoeny and PeterThoeny

 


PreviewBackground  

23 Jan 2003 - 07:56 - r1.4   PeterThoeny

Background Image for Preview

Preview looks like the real page, but the links leed to an oops dialog warning users of not yet saved topics. In addition, a background with a "PREVIEW" watermark is shown to have visual clue that you are previewing a topic. You can change the background image by specifying the name of an attached background image file in the PREVIEWBGIMAGE variable in the TWikiPreferences.

Remarks:

-- PeterThoeny - 02 Oct 2000

 


RegularExpression  

15 Apr 2003 - 05:19 - r1.5   PeterThoeny

Regular Expressions

Introduction

Regular expressions (REs), unlike simple queries, allow you to search for text which matches a particular pattern.

REs are similar to (but more poweful than) the "wildcards" used in the command-line interfaces found in operating systems such as Unix and MS-DOS. REs are used by sophisticated search engines, as well as by many Unix-based languages and tools ( e.g., awk, grep, lex, perl, and sed ).

Examples

compan(y|ies) Search for company, companies
(peter|paul) Search for peter, paul
bug* Search for bug, bugg, buggg or simply bu (a star matches zero or more instances of the previous character)
bug.* Search for bug, bugs, bugfix (a dot-star matches zero or more instances of any character)
[Bb]ag Search for Bag, bag
b[aiueo]g Second letter is a vowel. Matches bag, bug, big
b.g Second letter is any letter. Matches also b&g
[a-zA-Z] Matches any one letter (but not a number or a symbol)
[^0-9a-zA-Z] Matches any symbol (but not a number or a letter)
[A-Z][A-Z]* Matches one or more uppercase letters
[0-9]{3}-[0-9]{2}-[0-9]{4} US social security number, e.g. 123-45-6789
PNG;Chart Search for topics containing the words PNG and Chart. The ";" and separator is TWiki-specific and is not a regular expression; it is a useful facility that is enabled when regular expression searching is enabled.

Searches with "and" combinations

Advanced

Here is stuff for our UNIX freaks: (copied from 'man egrep')

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any metacharacter with special meaning may be quoted by preceding it with a backslash.

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means [0-9A-Za-z], except the latter form depends upon the C locale and the ASCII character encoding, whereas the former is independent of locale and character set. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket list.) Most metacharacters lose their special meaning inside lists. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

The period . matches any single character. The symbol \w is a synonym for [[:alnum:]] and \W is a synonym for [^[:alnum]].

The caret ^ and the dollar sign $ are metacharacters that respectively match the empty string at the beginning and end of a line. The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it's not at the edge of a word.

A regular expression may be followed by one of several repetition operators:

? The preceding item is optional and matched at most once.
* The preceding item will be matched zero or more times.
+ The preceding item will be matched one or more times.
{n} The preceding item is matched exactly n times.
{n,} The preceding item is matched n or more times.
{n,m} The preceding item is matched at least n times, but not more than m times.

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated subexpressions.

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either subexpression.

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole subexpression may be enclosed in parentheses to override these precedence rules.

The backreference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

 


RenderListPlugin  

21 Mar 2004 - 08:52 - r1.7   PeterThoeny

Render List Plugin

Render bullet lists in a variety of formats

Syntax Rules

RENDERLIST Variable

Bullets

Examples

You type: You get: (simulated) You get: (if installed)
%RENDERLIST{"thread"}%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

one
one.a
one.a.x
one.b
one.b.x
continue
one.b.y
Tim
Mico
two
three

one
one.a
one.a.x
one.b
one.b.x
continue
one.b.y
  Tim
  Mico
two
three

%RENDERLIST{"org"}%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

  one
  one.a
  one.a.x
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico
  two
  three

  one
  one.a
  one.a.x
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico
  two
  three

%RENDERLIST{ "org" focus="one.b" }%
   * one
      * one.a
         * one.a.x
      * one.b
         * one.b.x
           continue
         * one.b.y
            * icon:person Tim
            * icon:person Mico
   * two
   * three

  one
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico

  one
  one.b
  one.b.x
  continue
  one.b.y
  Tim
  Mico

RenderListPlugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %RENDERPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 21 Mar 2004 (V1.031)
Change History:  
21 Mar 2004: Internal change: Fixed inofficial function call
01 Mar 2004: Added FILE_THEME and folder/file icons
29 Dec 2003: Fixed rendering issue if focus bullet contains icon:name; added TREND_THEME
16 Dec 2003: Specify icons with icon:name syntax
11 Dec 2003: Added focus and depth parameters
05 Dec 2003: Fixed rendering issue with IE; added EMAIL_THEME
02 Dec 2003: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/RenderListPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/RenderListPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, TWiki:Plugins/TreePlugin

-- TWiki:Main/PeterThoeny - 21 Mar 2004

 


ResetPassword  

18 Dec 2003 - 11:15 - r1.7   SvenDowideit?

Request for reset of password

Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank you.

Your WikiName: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form you will see a page with your new password appearing encrypted.

You will have to e-mail this information to the Wiki webmaster, tko@users.sourceforge.net, who will set your account to use the new password.

Note to administrator: The reset password form applies only if TWiki uses Basic Authentication, e.g. a .htpassword file managed by TWiki. It does not apply if you are using external authentication, such as an IT managed password system. (remove this note if you are using Basic Authentication; replace this topic with a note describing how to reset the password in your organization)

 


SearchDoesNotWork  

01 Sep 2001 - 00:21 - r1.2   PeterThoeny

FAQ:

I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem.

Answer:

That is an indication that Galeon can't find the egrep and fgrep commands on your system. Check the $egrepCmd and $fgrepCmd variables in twiki/lib/TWiki.cfg.

Back to: TWikiFAQ

-- PeterThoeny - 26 Jan 2001

 


SearchHelp  

18 Jan 2004 - 10:04 - NEW   PeterThoeny

Search Help

Basic Search Form

The WebSearch form offers basic search features:

The search is keyword based like in a typical search engine:

Advanced Search Form

The WebSearchAdvanced form offers more control over search.

TWiki supports three types of searches:

TWiki's regex search is a set of regular expression patterns:

Formatted Searches

You can embed a nicely formatted search in a topic by using the %SEARCH{}% variable described in TWikiVariables.

Search Preferences

The TWikiPreferences has these settings:

-- TWiki:Main.PeterThoeny - 18 Jan 2004

 


SimultaneousEdits  

01 Sep 2001 - 00:22 - r1.2   PeterThoeny

FAQ:

What happens if two of us try to edit the same topic simultaneously?

Answer:

The second person gets a warning that the topic is currently being edited by another user. A topic gets locked automatically for some time (default is one hour) when you edit, preview or save the topic. If you get the lock warning you should wait until the lock is gone or contact the other person to ask if you can go ahead and break the lock. See also UnlockTopic.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

 


SiteMap  

01 Nov 2003 - 09:40 - r1.5   PeterThoeny

Galeon Site Map

Web Galeon Site Map Use to...
Main Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web Welcome to Galeon... Users - tour this expandable virtual workspace. ...get a first-hand feel for TWiki possibilities.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact tko@users.sourceforge.net if you need a separate collaboration web for your team.
Legend of icons:   Home of web = Go to the home of the web
Search web = Search the web
  Recent changes in the web = See recent changes in the web
Get notified of changes to the web = Subscribe to get notified of changes by e-mail

 


SiteUsageStatistics  

01 Sep 2001 - 07:27 - NEW   MikeMannix?

Site Usage Statistics

-- MikeMannix? - 01 Sep 2001

 


SlideShowPlugin  

21 Mar 2004 - 08:59 - r1.2   PeterThoeny

Slide Show Plugin

This Plugin converts a topic with headings into a slide show.

Introduction

There is already a defacto standard for presentations, why this Plugin? This Plugin makes sense for organizations that do already have lots of content in TWiki: It is easy to create a web based presentation that contains many links to related content. The Plugin does not try to compete with the bells and whistles of the other presentation program, but the markup of TWiki and other Plugins like TWiki:Plugins/ChartPlugin, TWiki:Plugins/GaugePlugin, TWiki:Plugins/SpreadSheetPlugin, TWiki:Plugins/TWikiDrawPlugin can be used to create an appealing presentation.

Any topic with headings can be converted into a slide show. Each slide starts with a "---++" heading. There are two modes to view a topic:

You can start the presentation by clicking on the "Start presentation" button.

Syntax Rules

How to Create a Slide Show

How to Create Your own Slide Template

To create your own template topic, copy the "Default Slide Template" section below into your own slide template topic and customize it to your needs. It can be activated as the default template in the Plugin's TEMPLATE setting, or per slide show with the %SLIDESHOWSTART{ template="MyOwnSlideTemplate" }% setting.

Example

This is a short example of a slide show. You should see a "Start presentation" button if this Plugin is installed:

Start Presentation

Slide 1: Silly Sample Slide Show


By TWiki:Main/PeterThoeny

San Jose, 17 Nov 2002

Slide 2: Agenda

Slide 3: Silly Introduction

Comments

Slide 4: Silly Feature

Slide 5: Silly Conclusion

This text is not part of the slide show

SlideShowPlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %SLIDESHOWPLUGIN_SHORTDESCRIPTION%

Default Slide Template

The part between the rulers defines the default format of a slide:


TWiki Slide Show  %SLIDETITLE% %SLIDENAVNEXT% 

%SLIDETEXT%
%SLIDENAVALL%  Slide %SLIDENUM% of %SLIDEMAX% COPYRIGHT © 2013 by the contributing authors


Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 21 Mar 2004 (V1.003)
Change History:  
21 Mar 2004: Internal change: Fixed inofficial function call
14 Dec 2002: Added %SLIDENAVALL% template keyword; added HIDECOMMENTS setting
23 Nov 2002: Added %SLIDENAVLAST% template keyword; using print Skin for presentation mode
19 Nov 2002: Added "Start presentation" and "End presentation" buttons; added %SLIDENAVFIRST%, %SLIDENAVPREV%, %SLIDENAVNEXT% template keywords
17 Nov 2002: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/SlideShowPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/SlideShowPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main.PeterThoeny - 21 Mar 2004

 


SmiliesPlugin  

17 Feb 2004 - 07:17 - r1.2   PeterThoeny

The Smilies Plugin :-)

Smilies are common in e-mail messages and bulletin board posts. They are used to convey an emotion, such as a smile :-) or a frown :-( . This plugin automatically converts certain smilies to a nice small icon.

Here is the list of smilies supported by this plugin. To add others, attach new icons to this topic and tweak the table below.

You type You see Emotion
:-) smile.gif "smile"
:) smile.gif "smile"
8-) cool.gif "cool!"
:cool: cool.gif "cool!"
:-I indifferent.gif "indifferent"
:( frown.gif "frown"
:-( frown.gif "frown"
:o redface.gif "embarrassment"
:D biggrin.gif "big grin"
:-D biggrin.gif "big grin"
;) wink.gif "wink"
;-) wink.gif "wink"
:p tongue.gif "razz (stick out tongue)"
:rolleyes: rolleyes.gif "roll eyes (sarcastic)"
:mad: mad.gif "mad!"
:eek: eek.gif "eek!"
:confused: confused.gif "confused"
 >:-) devil.gif "hehe!"
:devil: devil.gif "hehe!"
 >;-) devilwink.gif "hehe! (friendly)"
:devilish: devilwink.gif "hehe! (friendly)"

SmiliesPlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%

      * #Set FORMAT = <img src="$url" alt="$emoticon" />

Plugin Installation Instructions

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini
Plugin Version: 16 Feb 2004 (v1.002)
Change History:  
16 Feb 2004: Added "devil" and "devilwink" smilies (by TWiki:Main.CrawfordCurrie)
26 Feb 2003: Added "indifferent" smilie
20 Oct 2002: Fixed STDERR warning for non-initialized Plugin
20 Apr 2002: Improved performance; removed non-standard Plugin API dependencies; added standard plugin topic content -- TWiki:Main.PeterThoeny
23 Nov 2001: Added TOPIC and FORMAT setting
10 Jun 2001: Packaged into ZIP
28 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/SmiliesPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/SmiliesPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main.AndreaSterbini - 28 Dec 2000
-- TWiki:Main.PeterThoeny - 16 Feb 2004

 


SpreadSheetPlugin  

03 Apr 2004 - 17:50 - r1.8   PeterThoeny

TWiki Spreadsheet Plugin

This Plugin adds speadsheet capabilities to Galeon topics. Formulae like %CALC{"$INT(7/3)"}% are evaluated at page view time. They can be placed in table cells and outside of tables. In other words, this Plugin provides general formula evaluation capability, not just classic spreadsheet functions.

Example:

Region: Sales:
Northeast 320
Northwest 580
South 240
Europe 610
Asia 220
Total: 1970

      Interactive example:

Formula: %CALC{""}%  
Result:     guest

The formula next to "Total" is %CALC{"$SUM( $ABOVE() )"}%.
(you see the formula instead of the sum in case the Plugin is not installed or not enabled.)

Syntax Rules

The action of this Plugin is triggered by the %CALC{"..."}% variable, which gets rendered according to the built-in function(s) found between the quotes.

Built-in Functions

Function Description
"$ABOVE()" The address range of cells above the current cell
"$ABS(num)" The absolute value of a number. Example: %CALC{"$ABS(-12.5)"}% returns 12.5
"$AND(list)" The logcial AND of a list. Example: %CALC{"$AND(1, 0, 1)"}% returns 0
"$AVERAGE(list)" The average of a list or a range of cells. Example: To get the average of column 5 excluding the title row, write in the last row: %CALC{"$AVERAGE( R2:C5..R$ROW(-1):C5 )"}%
"$CHAR(number)" The ASCII character represented by number. Example: %CALC{"$CHAR(97)"}% returns a
"$CODE(text)" The ASCII numeric value of the first character in text. Example: %CALC{"$CODE(abc)"}% returns 97
"$COLUMN(offset)" The current column number with an optional offset
"$COUNTITEMS(list)" Counts individual items in a list. Example: %CALC{"$COUNTITEMS( $ABOVE() )"}% returns Closed: 1, Open: 2 assuming one cell above the current cell contains Closed and two cells contain Open
"$COUNTSTR(list, str)" Counts the number of cells in a list equal to a given string (if str is specified), or counts the number of non empty cells in a list. Example: To count the number of non empty cells above the current cell, write %CALC{"$COUNTSTR( $ABOVE() )"}%; to count the number of cells equal to DONE, write %CALC{"$COUNTSTR( $ABOVE(), DONE )"}%;
"$DEF(list)" Returns the first list item or cell reference that is not empty. Example: %CALC{"$DEF( R1:C1..R1:C3 )"}%
"$EVAL(formula)" Evaluates a simple formula. Only addition, substraction, multiplication, division and modulus of numbers are supported. Any nesting is permitted. Example: %CALC{"$EVAL( (5 * 3) / 2 + 1.1 )"}% returns 8.6
"$EXACT(text1, text2)" Compares two text strings and returns 1 if they are exactly the same, or 0 if not. Example: %CALC{"$EXACT( foo, Foo )"}% returns 0; %CALC{"$EXACT( foo, $LOWER(Foo) )"}% returns 1
"$FIND(search_string, text, start_index)" Finds one text string search_string, within another text string text, and returns the number of the starting position of search_string, from the first character of text. This search is case sensitive and is not a regular expression search; use $SEARCH() for regular expression searching. Starting position is 1; a 0 is returned if nothing is matched. Examples:
%CALC{"$FIND(f, fluffy)"}% returns 1
%CALC{"$FIND(f, fluffy, 2)"}% returns 4
%CALC{"$FIND(@, fluffy, 1)"}% returns 0
"$FORMAT(type, prec, number)" Formats a number to a certain type and precision. Types with examples:
  - %CALC{"$FORMAT( COMMA, 2, 12345.6789 )"}% returns 12,345.68
  - %CALC{"$FORMAT( DOLLAR, 2, 12345.67 )"}% returns $12,345.68
  - %CALC{"$FORMAT( NUMBER, 1, 12345.67 )"}% returns 12345.7
  - %CALC{"$FORMAT( PERCENT, 1, 0.1234567 )"}% returns 12.3%
"$FORMATTIME(serial, text)" Convert a serialized date into a date string; the following variables in text are expanded: $second (seconds, 00..59); $minute (minutes, 00..59); $hour (hours, 00..23); $day (day of month, 01..31); $month (month, 01..12); $mon (month in text format, Jan..Dec); $year (4 digit year, 1999); $ye (2 digit year, 99), $wd (day number of the week, 1 for Sunday, 2 for Monday, etc), $wday (day of the week, Sun..Sat), $weekday (day of the week, Sunday..Saturday), $yearday (day of the year, 1..365, or 1..366 in leap years). Date is assumed to be server time; add GMT to indicate Greenwich time zone. See also $TIME(), $TODAY(), $FORMATGMTIME(), $TIMEDIFF(). Example: %CALC{"$FORMATTIME(0, $year/$month/$day GMT)"}% returns 1970/01/01 GMT
"$FORMATGMTIME(serial, text)" Convert a serialized date into a date string in Greenwich time zone. Same variables expansion as in $FORMATTIME(). Example: %CALC{"$FORMATGMTIME(1041379200, $day $mon $year)"}% returns 01 Jan 2003
"$GET(name)" Get the value of a previously set variable. Specify the variable name (alphanumeric characters and underscores). An empty string is returned if the variable does not exist. Use $SET() to set a variable first. Unlike table ranges, variables live for the time of the page view and persist across tables, i.e. you can use it to summarize results across several tables. See also $SET(). Example: %CALC{"$GET(my_total)"}% returns the value of the my_total variable
"$IF(condition, value if true, value if 0)" Returns one value if a condition is met, and another value if not. The condition can be a number (where 0 means condition not met), or two numbers with a comparison operator < (less than), <= (less than or equal), == (equal), != (not equal), >= (greater than or equal), > (greater than). Examples:
%CALC{"$IF( $T(R1:C5) > 1000, Over Budget, OK)"}% returns Over Budget if value in R1:C5 is over 1000, OK if not
%CALC{"$IF( $EXACT($T(R1:C2),), empty, $T(R1:C2))"}% returns the content of R1:C2 or empty if empty
%CALC{"$SET(val, $IF( $T(R1:C2) == 0, zero, $T(R1:C2)))"}% sets a variable conditionally
"$INT(formula)" Evaluates a simple formula and rounds the result down to the nearest integer. Example: %CALC{"$INT(10 / 4)"}% returns 2
"$LEFT()" The address range of cells to the left of the current cell
"$LENGTH(text)" The length in bytes of text. Example: %CALC{"$LENGTH(abcd)"}% returns 4
"$LIST(range)" Converts the content of a range of cells into a flat list, delimited by comma. Cells containing commas are merged into the list. Example: %CALC{"$LIST( $LEFT() )"}% returns Apples, Lemons, Oranges, Kiwis assuming the cells to the left contain | Apples | Lemons, Oranges | Kiwis |
"$LISTIF(condition, list)" Remove elements from a list that do not meet a condition. In addition to the condition described in $IF(), you can use $item to indicate the current element, and $index for the list index, starting at 1. Examples:
%CALC{"$LISTIF($item > 12, 14, 7, 25)"}% returns 14, 25
%CALC{"$LISTIF($NOT($EXACT($item,)), A, B, , E)"}% returns non-empty elements A, B, E
%CALC{"$LISTIF($index > 2, A, B, C, D)"}% returns C, D
"$LISTITEM(index, list)" Get one element of a list. Index is 1 to size of list; use a negative number to count from the end of the list. Examples:
%CALC{"$LISTITEM(2, Apple, Orange, Apple, Kiwi)"}% returns Orange
%CALC{"$LISTITEM(-1, Apple, Orange, Apple, Kiwi)"}% returns Kiwi
"$LISTMAP(formula, list)" Evaluate and update each element of a list. In the formula you can use $item to indicate the element; $index to show the index of the list, starting at 1. Example: %CALC{"$LISTMAP($index: $EVAL(2 * $item), 3, 5, 7, 11)"}% returns 1: 6, 2: 10, 3: 14, 4: 22
"$LISTREVERSE(list)" The opposite order of a list. Example: %CALC{"$LISTREVERSE(Apple, Orange, Apple, Kiwi)"}% returns Kiwi, Apple, Orange, Apple
"$LISTSIZE(list)" The number of elements in a list. Example: %CALC{"$LISTSIZE(Apple, Orange, Apple, Kiwi)"}% returns 4
"$LISTSORT(list)" Sorts a list in ASCII order, or numerically if all elements are numeric. Example: %CALC{"$LISTSORT(Apple, Orange, Apple, Kiwi)"}% returns Apple, Apple, Kiwi, Orange
"$LISTUNIQUE(list)" Removes all duplicates from a list. Example: %CALC{"$LISTUNIQUE(Apple, Orange, Apple, Kiwi)"}% returns Apple, Orange, Kiwi
"$LOWER(text)" The lower case string of a text. Example: %CALC{"$LOWER( $T(R1:C5) )"}% returns the lower case string of the text in cell R1:C5
"$MAX(list)" The biggest value of a list or range of cells. Example: To find the biggest number to the left of the current cell, write: %CALC{"$MAX( $LEFT() )"}%
"$MEDIAN(list)" The median of a list or range of cells. Example: %CALC{"$MEDIAN(3, 9, 4, 5)"}% returns 4.5
"$MIN(list)" The smallest value of a list or range of cells. Example: %CALC{"$MIN(15, 3, 28)"}% returns 3
"$MOD(num, divisor)" The reminder after dividing num by divisor. Example: %CALC{"$MOD(7, 3)"}% returns 1
"$NOP(text)" A no-operation. Allows one to defy the order of Plugin execution. For example, it will allow preprossing to be done before %SEARCH{}% is evaluated. Use $per to escape '%'.
"$NOT(num)" The reverse logic of a number. Returns 0 if num is not zero, 1 if zero. Example: %CALC{"$NOT(0)"}% returns 1
"$OR(list)" The logcial OR of a list. Example: %CALC{"$OR(1, 0, 1)"}% returns 1
"$PRODUCT(list)" The product of a list or range of cells. Example: to calculate the product of the cells to the left of the current one use %CALC{"$PRODUCT($LEFT())"}%
"$PROPER(text)" Capitalizes letters in text that follow any character other than a letter. Converts all other letters to lowercase letters. Examples:
%CALC{"PROPER(a small STEP)"}% returns A Small Step
%CALC{"PROPER(f1 (formula-1))"}% returns F1 (Formula 1)
"$PROPERSPACE(text)" Properly spaces out WikiWords preceeded by white space, parenthesis, or ][. Words listed in the DONTSPACE TWikiPreferences variable or DONTSPACE Plugins setting are excluded. Example, assuming DONTSPACE contains McIntosh: %CALC{"PROPERSPACE(Old MacDonald had a ServerFarm, EeEyeEeEyeOh"}% returns Old MacDonald had a Server Farm, Ee Eye Ee Eye Oh
"$RAND(max)" Random number, evenly distributed between 0 and max, or 0 and 1 if max is not specified.
"$REPEAT(text)" Repeat text a number of times. Example: %CALC{"$REPEAT(/\, 5)"}% returns /\/\/\/\/\
"$REPLACE(text, start_num, num_chars, new_text)" Replaces part of text string text, based on the starting position start_num, and the number of characters to replace num_chars. The characters are replaced with new_text. Starting position is 1; use a negative start_num to count from the end of the text. See also $SUBSTITUTE(), $TRANSLATE(). Example:
%CALC{"$REPLACE(abcdefghijk,6,5,*)"}% returns abcde*k
"$RIGHT()" The address range of cells to the right of the current cell
"$ROUND(formula, digits)" Evaluates a simple formula and rounds the result up or down to the number of digits if digits is positive; to the nearest integer if digits is missing; or to the left of the decimal point if digits is negative. Examples:
%CALC{"$ROUND(3.15, 1)"}% returns 3.2
%CALC{"$ROUND(3.149, 1)"}% returns 3.1
%CALC{"$ROUND(-2.475, 2)"}% returns -2.48
%CALC{"$ROUND(34.9, -1)"}% returns 30
"$ROW(offset)" The current row number with an offset. Example: To get the number of rows excluding table heading ( first row) and summary row (last row you are in), write: %CALC{"$ROW(-2)"}%
"$SEARCH(search_string, text, start_index)" Finds one text string search_string, within another text string text, and returns the number of the starting position of search_string, from the first character of text. This search a RegularExpression search; use $FIND() for non-regular expression searching. Starting position is 1; a 0 is returned if nothing is matched. Examples:
%CALC{"$SEARCH([uy], fluffy)"}% returns 3
%CALC{"$SEARCH([uy], fluffy, 3)"}% returns 6
%CALC{"$SEARCH([abc], fluffy,)"}% returns 0
"$SET(name, value)" Set a variable for later use. Specify the variable name (alphanumeric characters and underscores) and the value. The value may contain a formula; formulas are evaluated before the variable assignment. This function returns no output. Use $GET() to retrieve variables. Unlike table ranges, variables live for the time of the page view and persist across tables, i.e. you can use it to summarize results across several tables. See also $GET(). Example: %CALC{"$SET( my_total, $SUM($ABOVE()) )"}% sets the my_total variable to the sum of all table cells located above the current cell and returns an empty string
"$SETM(name, formula)" Updates an existing variable based on a formula. Specify the variable name (alphanumeric characters and underscores) and the formula. The formula must start with an operator to + (add), - (subtract), * (multiply), or / (divide) something to the variable. This function returns no output. Use $GET() to retrieve variables. Example: %CALC{"$SETM( total, + $SUM($LEFT()) )"}% adds the sum of all table cells on the left to the total variable, and returns an empty string
"$SIGN(num)" The sign of a number. Returns -1 if num is negative, 0 if zero, or 1 if positive. Example: %CALC{"$SIGN(-12.5)"}% returns -1
"$SUBSTITUTE(text, old, new, instance, option)" Substitutes new text for old text in a text string. instance specifies which occurance of old you want to replace. If you specify instance, only that instance is replaced. Otherwise, every occurance is changed to the new text. A literal search is performed by default; a RegularExpression search if the option is set to r. See also $REPLACE(), $TRANSLATE(). Examples:
%CALC{"$SUBSTITUTE(Good morning, morning, day)"}% returns Good day
%CALC{"$SUBSTITUTE(Q2-2002,2,3)"}% returns Q3-3003
%CALC{"$SUBSTITUTE(Q2-2002,2,3,3)"}% returns Q2-2003
%CALC{"$SUBSTITUTE(abc123def,[0-9],9,,r)"}% returns abc999def
"$SUM(list)" The sum of a list or range of cells. Example: To sum up column 5 excluding the title row, write: %CALC{"$SUM( R2:C5..R$ROW(-1):C5 )"}% in the last row; or simply %CALC{"$SUM( $ABOVE() )"}%
"$SUMDAYS(list)" The total number of days in a list or range of cells containing numbers of hours, days or weeks. The default unit is days; units are indicated by a h, hours, d, days, w, weeks suffix. One week is assumed to have 5 working days, one day 8 hours. Example: %CALC{"$SUMDAYS( 2w, 1, 2d, 4h )"}% returns 13.5, the evaluation of (2*5 + 1 + 2 + 4/8)
"$SUMPRODUCT(list, list, ...)" The scalar product on ranges of cells. Example: %CALC{"$SUM( R2:C1..R4:C1, R2:C5..R4:C5 )"}% evaluates and returns ($T(R2:C1) * $T(R2:C5) + $T(R3:C1) * $T(R3:C5) + $T(R4:C1) * $T(R4:C5))
"$T(address)" The content of a cell. Example: %CALC{"$T(R1:C5)"}% returns the text in cell R1:C5
"$TRANSLATE(text, from, to)" Translate text from a set of characters to another set, one character by one. The text may contain commas; the last two comma separated parameters are required. For from and to parameters, you can write $comma to escape comma, $sp to escape space. See also $REPLACE(), $SUBSTITUTE(). Examples:
%CALC{"$TRANSLATE(boom,bm,cl)"}% returns cool
%CALC{"$TRANSLATE(one, two,$comma,;)"}% returns one; two
"$TIME(text)" Converts a date string into a serialized date number (seconds since the Epoch, e.g. midnight, 01 Jan 1970). Current time is taken if the date string is empty. Supported date formats: 31 Dec 2009; 31 Dec 2009 GMT; 31 Dec 09; 31-Dec-2009; 31/Dec/2009; 2009/12/31; 2009-12-31; 2009/12/31; 2009/12/31 23:59; 2009/12/31 - 23:59; 2009-12-31-23-59; 2009/12/31 - 23:59:59; 2009.12.31.23.59.59. Date is assumed to be server time; add GMT to indicate Greenwich time zone. See also $TODAY(), $FORMATTIME(), $FORMATGMTIME(), $TIMEDIFF(). Example: %CALC{"$TIME( 2003/10/14 GMT )"}% returns 1066089600
"$TIMEADD( serial, value, unit )" Add a value to a serialized date. The unit is seconds if not specified; unit can be second, minute, hour, day, week, month, year. Note: An approximation is used for month and year calculations. See also $TIME(), $TIMEDIFF(), $TODAY(), $FORMATTIME(). Example: %CALC{"$TIMEADD( $TIME(), 2, week )"}% returns the serialized date two weeks from now
"$TIMEDIFF( serial_1, serial_2, unit )" Time difference between two serialized dates. The unit is seconds if not specified; unit can be specified as in $TIMEADD(). Note: An approximation is used for month and year calculations. Use $FORMAT() or $INT() to format real numbers. See also $TIME(), $TIMEADD(), $TODAY(), $FORMATTIME(). Example: %CALC{"$TIMEDIFF( $TIME(), $EVAL($TIME()+90), minute )"}% returns 1.5
"$TODAY()" Get the serialized date of today at midnight GMT. The related $TIME() returns the serialized date of today at the current time, e.g. it includes the number of seconds since midnight GMT. See also $FORMATTIME(), $FORMATGMTIME(), $TIMEDIFF(). Example: %CALC{"$TODAY()"}% returns the number of seconds since Epoch
"$TRIM(text)" Removes all spaces from text except for single spaces between words. Example: %CALC{"$TRIM( eat  spaces  )"}% returns eat spaces.
"$UPPER(text)" The upper case string of a text. Example: %CALC{"$UPPER( $T(R1:C5) )"}% returns the upper case string of the text in cell R1:C5
"$VALUE(text)" Extracts a number from text. Returns 0 if not found. Examples:
%CALC{"$VALUE(US$1,200)"}% returns 1200
%CALC{"$VALUE(PrjNotebook1234)"}% returns 1234
%CALC{"$VALUE(Total: -12.5)"}% returns -12.5

Bug Tracking Example

Bug#: Priority: Subject: Status: Days to fix
Bug:1231 Low File Open ... Open 3
Bug:1232 High Memory Window ... Fixed 2
Bug:1233 Medium Usability issue ... Assigned 5
Bug:1234 High No arrange ... Fixed 1
Total: 4 High: 2
Low: 1
Medium: 1
. Assigned: 1
Fixed: 2
Open: 1
Total: 11

The last row is defined as:

| Total: %CALC{"$ROW(-2)"}% \ 
  | %CALC{"$COUNTITEMS( R2:C$COLUMN()..R$ROW(-1):C$COLUMN() )"}% | . \ 
  | %CALC{"$COUNTITEMS( R2:C$COLUMN()..R$ROW(-1):C$COLUMN() )"}% \ 
  |  Total: %CALC{"$SUM( R2:C$COLUMN()..R$ROW(-1):C$COLUMN() )"}% |

Above table is created manually. Another Plugin could build the table dynamically, e.g. by pulling data out of a bug tracking system. The Spreadsheet Plugin can be used to display table data statistics.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %SPREADSHEETPLUGIN_SHORTDESCRIPTION%

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. Below installation instructions are for the administrator who needs to install this plugin on the TWiki server.

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 03 Apr 2004
Change History:  
03 Apr 2004: Added $ABS(), $LISTIF(); fixed $VALUE() to remove leading zeros; changed $FIND() and $SEARCH() to return 0 instead of empty string if no match
21 Mar 2004: Added $LISTITEM(); fixed call to unofficial function
16 Mar 2004: Added $LISTMAP(), $LISTREVERSE(), $LISTSIZE(), $LISTSORT(), $LISTUNIQUE(), $SETM(); retired $COUNTUNIQUE() in favor of $COUNTITEMS($LISTUNIQUE()); fixed evaluation order issue of $IF(); fixed missing eval error messages suppressed since version 06 Mar 2004; redirect stderr messages to warning
08 Mar 2004: Added $LIST()
06 Mar 2004: Added $AND(), $MOD(), $NOT(), $OR(), $PRODUCT(), $PROPER(), $PROPERSPACE(), $RAND(), $REPEAT(), $SIGN(), $VALUE(); added digits parameter to $ROUND(); renamed $MULT() to $PRODUCT(); $MULT() is deprecated and undocumented
27 Feb 2004: Added $COUNTUNIQUE()
24 Oct 2003: Added $SET(), $GET(), $MEDIAN(); added $SUMPRODUCT(), inspired by TWiki:Main/RobertWithrow; added $SUMDAYS(), contributed by TWiki:Main/SvenDowideit
21 Oct 2003: Added support for lists (1, 2, 3) and lists of table ranges (R1:C1..R1:C5, R3:C1..R3:C5) for all functions that accept a table range; added $TIMEADD(); in $TIMEDIFF() added week unit; in $FORMATTIME() changed $weekday to $wd and added $wday and $weekday
14 Oct 2003: Added $TIME(), $TODAY(), $FORMATTIME(), $FORMATGMTIME(), $TIMEDIFF()
13 Oct 2003: Added $MULT(), contributed by TWiki:Main/GerritJanBaarda
30 Jul 2003: Added $TRANSLATE()
19 Jul 2003: Added $FIND(), $NOP(), $REPLACE(), $SEARCH(), $SUBSTITUTE(), contributed by TWiki:Main/PaulineCheung
19 Apr 2003: Added $COUNTSTR(), $EXACT(), $IF(), $ROUND(), $TRIM(); added $FORMAT(), contributed by TWiki:Main/JimStraus; support % modulus operator in $EVAL, $INT, and $ROUND; fixed bug in $DEF
07 Jun 2002: Added $DEF(), contributed by TWiki:Main/MartinFuzzey; allow values with HTML formatting like <u>102</u>, suggested by TWiki:Main/GladeDiviney; added SKIPINCLUDE setting
12 Mar 2002: Support for multiple functions per nesting level
15 Jan 2002: Added $CHAR(), $CODE() and $LENGTH()
12 Nov 2001: Added $RIGHT()
12 Aug 2001: Fixed bug of disappearing multi-column cells
19 Jul 2001: Fixed incorrect $SUM calculation of cell with value 0
14 Jul 2001: Changed to plug & play
01 Jun 2001: Fixed insecure dependencies for $MIN and $MAX
16 Apr 2001: Fixed div by 0 bug in $AVERAGE
17 Mar 2001: Initial version
CPAN Dependencies: none
TWiki:Plugins/Benchmark: GoodStyle 99%, FormattedSearch 99%, SpreadSheetPlugin 95%
Other Dependencies: none
Perl Version: 5.000 and up
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/SpreadSheetPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/SpreadSheetPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/PeterThoeny - 03 Apr 2004

 


StandardColors  

16 Dec 2003 - 07:59 - r1.6   PeterThoeny

The 216 Standard Colors

This table can be used to choose a color in WebPreferences of each web.

#000000 #000033 #000066 #000099 #0000CC #0000FF
#003300 #003333 #003366 #003399 #0033CC #0033FF
#006600 #006633 #006666 #006699 #0066CC #0066FF
#009900 #009933 #009966 #009999 #0099CC #0099FF
#00CC00 #00CC33 #00CC66 #00CC99 #00CCCC #00CCFF
#00FF00 #00FF33 #00FF66 #00FF99 #00FFCC #00FFFF
#330000 #330033 #330066 #330099 #3300CC #3300FF
#333300 #333333 #333366 #333399 #3333CC #3333FF
#336600 #336633 #336666 #336699 #3366CC #3366FF
#339900 #339933 #339966 #339999 #3399CC #3399FF
#33CC00 #33CC33 #33CC66 #33CC99 #33CCCC #33CCFF
#33FF00 #33FF33 #33FF66 #33FF99 #33FFCC #33FFFF
#660000 #660033 #660066 #660099 #6600CC #6600FF
#663300 #663333 #663366 #663399 #6633CC #6633FF
#666600 #666633 #666666 #666699 #6666CC #6666FF
#669900 #669933 #669966 #669999 #6699CC #6699FF
#66CC00 #66CC33 #66CC66 #66CC99 #66CCCC #66CCFF
#66FF00 #66FF33 #66FF66 #66FF99 #66FFCC #66FFFF
#990000 #990033 #990066 #990099 #9900CC #9900FF
#993300 #993333 #993366 #993399 #9933CC #9933FF
#996600 #996633 #996666 #996699 #9966CC #9966FF
#999900 #999933 #999966 #999999 #9999CC #9999FF
#99CC00 #99CC33 #99CC66 #99CC99 #99CCCC #99CCFF
#99FF00 #99FF33 #99FF66 #99FF99 #99FFCC #99FFFF
#CC0000 #CC0033 #CC0066 #CC0099 #CC00CC #CC00FF
#CC3300 #CC3333 #CC3366 #CC3399 #CC33CC #CC33FF
#CC6600 #CC6633 #CC6666 #CC6699 #CC66CC #CC66FF
#CC9900 #CC9933 #CC9966 #CC9999 #CC99CC #CC99FF
#CCCC00 #CCCC33 #CCCC66 #CCCC99 #CCCCCC #CCCCFF
#CCFF00 #CCFF33 #CCFF66 #CCFF99 #CCFFCC #CCFFFF
#FF0000 #FF0033 #FF0066 #FF0099 #FF00CC #FF00FF
#FF3300 #FF3333 #FF3366 #FF3399 #FF33CC #FF33FF
#FF6600 #FF6633 #FF6666 #FF6699 #FF66CC #FF66FF
#FF9900 #FF9933 #FF9966 #FF9999 #FF99CC #FF99FF
#FFCC00 #FFCC33 #FFCC66 #FFCC99 #FFCCCC #FFCCFF
#FFFF00 #FFFF33 #FFFF66 #FFFF99 #FFFFCC #FFFFFF

Related web sites:

-- TWiki:Main.PeterThoeny - 16 Dec 2003
-- TWiki:Main.AndreaSterbini - 08 Sep 2003

 


StartingPoints  

22 Mar 2003 - 06:32 - r1.4   PeterThoeny

Welcome to Galeon. This page assumes that you are a new user to Galeon, and that you've never heard of Wiki before. Here are the most important pages you should know about to get you up to speed on what Wiki is, and how to use it. Follow any of the links below that interest you and use your browser's back button to return to this page if you need to.

 


TWikiAccessControl  

14 Apr 2003 - 07:19 - r1.28   PeterThoeny

TWiki Access Control

Restricting read and write access to topics and webs, by Users and groups

TWikiAccessControl allows you restrict access to single topics and entire webs, by individual user and by user Groups, in three areas: view; edit & attach; and rename/move/delete. Access control, combined with TWikiUserAuthentication, lets you easily create and manage an extremely flexible, fine-grained privilege system.

An Important Control Consideration

Open, freeform editing is the essence of WikiCulture - what makes TWiki different and often more effective than other collaboration tools. For that reason, it is strongly recommended that decisions to restrict read or write access to a web or a topic are made with care - the more restrictions, the less Wiki in the mix. Experience shows that unrestricted write access works very well because:

As a collaboration guideline:

Authentication vs. Access Control

Authentication: Identifies who a user is based on a login procedure. See TWikiUserAuthentication.

Access control: Restrict access to content based on users and groups once a user is identified.

Users and Groups

Access control is based on the familiar concept of Users and Groups. Users are defined by their WikiNames. They can then be organized in unlimited combinations by inclusion in one or more user Groups. For convenience, Groups can also be included in other Groups.

Managing Users

A user can create an account in TWikiRegistration. The following actions are performed:

Users can be authenticated using Basic Authentication (htaccess) or SSL (secure server). In either case, TWikiUserAuthentication is required in order to track user identities, and use User and Group access control.

The default visitor name is TWikiGuest. This is the non-authenticated user.

Managing Groups

Groups are defined by group topics created in the Main web, like the TWikiAdminGroup. To create a new group:

  1. Edit TWikiGroups by entering a new topic with a name that ends in Group. Example:
  2. Set Preferences for two Variables in the new group topic:

Restricting Write Access

You can define who is allowed to make changes to a web or a topic.

Deny Editing by Topic

Denying editing of a topic also restricts file attachment; both privileges are assigned together.

Deny Editing by Web

Restricting web-level editing blocks creating new topics, changing topics or attaching files.

The same rules apply as for restricting topics, with these additions:

Restricting Rename Access

You can define who is allowed to rename, move or delete a topic, or rename a web.

Deny Renaming by Topic

To allow a user to rename, move or delete a topic, they also need write (editing) permission. They also need write access to change references in referring topics.

Deny Renaming by Web

You can define restrictions of who is allowed to rename a Galeon web.

The same rules apply as for topics, with these additions:

Restricting Read Access

You can define who is allowed to see a web.

Deny Viewing by Topic

ALERT! Technically it is possible to restrict read access to an individual topic based on DENYTOPICVIEW / ALLOWTOPICVIEW preferences variables, provided that the view script is authenticated. However this setup is not recommended since all content is searchable within a web - a search will turn up view restricted topics.

Deny Viewing by Web

You can define restrictions of who is allowed to view a Galeon web. You can restrict access to certain webs to selected Users and Groups, by:

Obfuscate Webs

The idea is to keep a web hidden by not publishing its URL and by preventing the all webs search option from accessing obfuscated webs. Do so by enabling the NOSEARCHALL variable in WebPreferences:

This setup can be useful to hide a new web until content its ready for deployment.

ALERT! Obfuscating webs is insecure, as anyone who knows the URL can access the web.

Authenticate all Webs and Restrict Selected Webs

Use the following setup to authenticate users for topic viewing in all webs and to restrict access to selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Add view to the list of authenticated scripts in the .htaccess file.

HELP This method only works if the view script is authenticated, which means that all Users have to login, even for read-only access. (An open guest account, like TWikiGuest, can get around this, allowing anyone to login to a common account with, for example, view-only access for public webs.) TWikiInstallationGuide has more on Basic Authentication, using the .htaccess file.

Authenticate and Restricting Selected Webs Only

Use the following setup to provide unrestricted viewing access to open webs, with authentication only on selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Enable the $doRememberRemoteUser flag in lib/TWiki.cfg as described in TWikiUserAuthentication. Galeon will now remember the IP address of an authenticated user.
  4. Copy the view script to viewauth (or better, create a symbolic link)
  5. Add viewauth to the list of authenticated scripts in the .htaccess file. The view script should not be listed in the .htaccess file.

When a user accesses a web where you enabled view restriction, Galeon will redirect from the view script to the viewauth script once (this happens only if the user has never edited a topic). Doing so will ask for authentication. The viewauth script shows the requested topic if the user could log on and if the user is authorized to see that web.

ALERT! Authenticating webs is not very secure, as there is a way to circumvent the read access restriction. It can be useful in certain situations - for example, to simplify site organization and clutter, by hiding low traffic webs - but is not recommended for securing sensitive content.

Hiding Control Settings

TIP To hide access control settings from normal browser viewing, place them in comment markers.

<!--
   * Set DENYTOPICCHANGE = Main.SomeGroup
-->

The SuperAdminGroup

By mistyping a user or group name in the ALLOWTOPICCHANGE setting, it's possible to lock a topic so that no-one can edit it from a browser. To avoid this, you can create Web-based superusers:

$superAdminGroup = "TWikiAdminGroup";

-- PeterThoeny - 04 May 2002
-- MikeMannix? - 12 May 2002

 


TWikiAdminCookBook  

01 Feb 2003 - 20:46 - r1.2   PeterThoeny

TWiki Admin Cook Book

This page has many tips and tricks, particularly useful when you're installing TWiki for the first time. This guide is most useful before or immediately following a TWiki installation!

See also:


During Installation

Rename Main web to User web

You can rename the Main web to User. It will make WikiWord links to usernames more meaningful (User.UserName instead of Main.UserName); but does not bring much gain for other types of topics like (User.EngineeringGroup or User.TokyoOffice). Just rename data/Main to data/User, and change $mainWebname variable in lib/TWiki.cfg file. Signatures in all existing topics need to be fixed as well.

See also TWiki:Codev.RenameMainWebToHome, TWiki:Codev.RenameTheMainWeb, TWiki:Codev.SeparateHowtoWeb for arguments pro and con.

Help with remembering passwords

Users keep Forgetting Passwords (see TWiki:Codev.ForgettingPasswords ). When demonstrating TWiki to new users and/or helping them with TWikiRegistration, do not forget to show the user how to use the "remember my password" feature in their browser.

A quick way to check the guest password is to view the .htaccess file.

AuthName 'TWiki UserName (i.e. TWikiGuest/guest)'


Before First Presentation

Tips about first presentation -- read TWiki:Main.TWikiCourseOutlineExample and TWiki:Codev.HowToGetInternalBuyInForTWiki. TWiki:Main.TWikiPresentations page has PeterThoeny's full presentation, RichardDonkin? added an excellent PowerPoint version (only 18 slides), with places to add your own info.

How to build participation: read WikiOrg?:TipsForSiteOperators - advice directly from Ward Cunningham, author of Wiki concept and first Wiki.

Consider installing #CommentPlugin and #SlideShowPlugin before your first demo.

Simplify menu in page templates

How to get nice pages with simpler menu options for beginners

A Skin is TWiki's way to present different system-generated formats (like header/footer/sidebar menu) and exactly the same information from the page body (see TWikiSkins). The "Classic" TWiki skin is oriented towards advanced power users. Newbies may feel overwhelmed by the number of options. Many simpler custom skins are in development at TWiki:Plugins.WebHome. Consider using a simpler custom skin to make a better "first impression": TWiki is simple to use.

There is currently a discussion at TWiki:Codev.SimplerDefaultTemplates about simpler default template for TWiki:Codev.SimplerTWikiDistribution.

Customize tutorial for beginners

Select simpler skin and customize beginner's help topics accordingly.


Best of Plugins

With more than 60 TWiki plugins (and counting), there are a lot to choose from. Plugins are mainly contributed by TWiki users who are software developers. Plugins are a relatively new TWiki addition, so there are fewer established standards than for the core TWiki code. This means that not all plugins are equal in ease of installation, operation, or compatibility with each other. Here are selected plugins that are reliable, easy-to-use and offer basic enhanced functionality.

CommentPlugin -- TWiki:Plugins.CommentPlugin

User-friendly alternative of Edit, without losing Wiki spirit. Comments can be entered in a conventional Web form style with a text box and a submit button. This is all displayed on a TWiki page without having to use TWiki's Edit. Text added appears exactly as if edited normally, and topic can be edited also using the full TWiki Edit. This is useful to encourage participation among your users who are not yet comfortable with TWiki capabilities.

SlideShowPlugin -- TWiki:Plugins.SlideShowPlugin

This Plugin allows you to convert topics with headings into web based presentations. This is a useful alternative to PowerPoint, especially if you need to link to related content.

SpreadSheetPlugin -- TWiki:Plugins.SpreadSheetPlugin

This Plugin allows you to add spreadsheet calculation like "$SUM( $ABOVE() )" to tables located in TWiki topics.

TablePlugin -- TWiki:Plugins.TablePlugin

A must-have, this Plugin allows you to control attributes of tables and sorting of table columns.

TopicVarsPlugin -- TWiki:Plugins.TopicVarsPlugin

This lets you create variables, like a graphics icon library, in any topic - instead of only in WebPreferences - and refer to them from other topics within the same web.


TWiki-based applications


Please add your favorite TWiki tips/trick to TWiki:TWiki.TWikiAdminCookBook to help the next new TWiki admin. (One BIG area: include pages of implemented basic SEARCHes, like, to generate a straight TOPICS list (alphabetical web topic titles only); also, simple combos of forms + search, like one- and two-category forms to use to classify pages, and then searches to find and display in few useful formats; more in that general area.)

Contributors: TWiki:Main.GrantBow, TWiki:Main.JonReid, TWiki:Main.MikeMannix, TWiki:Main.MikeMaurer, TWiki:Main.PeterMasiar, TWiki:Main.PeterThoeny

 


TWikiCategoryTable  

18 Sep 2001 - 06:31 - r1.7   PeterThoeny

Note: This feature has been replaced by: TWikiForms

 


TWikiContributor  

09 May 2004 - 06:50 - r1.11   PeterThoeny

TWiki Contributor

A TWiki contributor is a person devoting his/her time to contribute on the development of the Open Source project TWiki, hosted at http://TWiki.org/ . It is defined as a person who:

I would like to take this opportunity to express my sincere appreciation and thanks to all who contributed ideas, code, fixes and documentation to the TWiki project smile

List of Contributors

Person Home Page Comment
Adam Theo TWiki:Main/AdamTheo  
Adrian Lynch TWiki:Main/AdrianLynch  
Al Williams TWiki:Main/AlWilliams  
Andrea Sterbini TWiki:Main/AndreaSterbini TWiki:Codev/CoreTeam member
Antonio Bellezza TWiki:Main/AntonioBellezza  
Arthur Clemens TWiki:Main/ArthurClemens TWiki:Codev/CoreTeam member
Caylan Larson TWiki:Main/CaylanLarson  
Christophe Vermeulen TWiki:Main/ChristopheVermeulen  
Claus Brunzema TWiki:Main/ClausBrunzema  
Colas Nahaboo TWiki:Main/ColasNahaboo TWiki:Codev/CoreTeam member
Corey Fruitman TWiki:Main/CoreyFruitman  
Crawford Currie TWiki:Main/CrawfordCurrie  
Cris Bailiff TWiki:Main/CrisBailiff  
Dan Boitnott TWiki:Main/DanBoitnott  
David Warman TWiki:Main/DavidWarman  
Frank Smith TWiki:Main/FrankSmith  
Grant Bowman TWiki:Main/GrantBow  
Harold Gottschalk TWiki:Main/HaroldGottschalk  
John Talintyre TWiki:Main/JohnTalintyre TWiki:Codev/CoreTeam member
Kevin Kinnell TWiki:Main/KevinKinnell TWiki:Codev/CoreTeamHallOfFame member
Kim Covil TWiki:Main/KimCovil  
Klaus Wriessnegger TWiki:Main/KlausWriessnegger  
Manpreet Singh TWiki:Main/ManpreetSingh  
Martin Cleaver TWiki:Main/MartinCleaver  
Martin Gregory TWiki:Main/MartinGregory  
Martin Raabe TWiki:Main/MartinRaabe  
MS TWiki:Main/MichaelSparks  
Mike Mannix TWiki:Main/MikeMannix TWiki:Codev/CoreTeamHallOfFame member
Nicholas Lee TWiki:Main/NicholasLee TWiki:Codev/CoreTeam member
Niels Koldso TWiki:Main/NielsKoldso  
Pauline Cheung TWiki:Main/PaulineCheung  
Pavel Goran TWiki:Main/PavelGoran  
Peter Fokkinga TWiki:Main/PeterFokkinga  
Peter Thoeny TWiki:Main/PeterThoeny TWiki:Codev/CoreTeam member and author of TWiki
Randy Kramer TWiki:Main/RandyKramer  
Richard Donkin TWiki:Main/RichardDonkin TWiki:Codev/CoreTeam member
Raymond Lutz TWiki:Main/RaymondLutz  
Ryan Freebern TWiki:Main/RyanFreebern  
Sam Hasler TWiki:Main/SamHasler  
Stanley Knutson TWiki:Main/StanleyKnutson  
Sue Blake TWiki:Main/SueBlake  
Sven Dowideit TWiki:Main/SvenDowideit TWiki:Codev/CoreTeam member
Ted Pavlic TWiki:Main/TedPavlic  
Vito Miliano TWiki:Main/VitoMiliano  
Walter Mundt TWiki:Main/WalterMundt TWiki:Codev/CoreTeam member

Note: Please contact a TWiki:Codev/CoreTeam member in case you contributed to TWiki and your name is not on this list!

Disclaimer: TWiki gets installed on thousands of public web sites. The contributors are not affiliated in any way with those sites.

List of Contributions

-- TWiki:Main/PeterThoeny - 09 May 2004

 


TWikiDocGraphics  

16 Jul 2004 - 16:07 - r1.31   TommiKomulainen

TWiki Documentation Graphics

This is one way to create a library of common icons, accessible through user-defined TWikiVariables set in WebPreferences, or in TWikiPreferences for site-wide use.

There are other approaches as well:

In this example, TWikiDocGraphics - this topic - acts as the icon library. Graphics are uploaded and displayed. Then, the paths are set in TWiki.TWikiPreferences#DocGraphics for site-wide access. You can also create individual library pages in each web. And you don't have to restrict yourself to graphics: Preferences Variables can include text and links to any type of file.

Icon File Name Comment
help.gif help.gif Help
note.gif note.gif Note
bubble.gif bubble.gif Speech bubble
tip.gif tip.gif Tip / Idea
warning.gif warning.gif Warning / Important
stop.gif stop.gif Stop
target.gif target.gif Blue target
pencil.gif pencil.gif Refactor / Edit
choice-yes.gif choice-yes.gif Yes / Done
choice-no.gif choice-no.gif No
choice-cancel.gif choice-cancel.gif Cancel
updated.gif updated.gif Updated
new.gif new.gif New
starred.gif starred.gif Highlight (positive)
stargold.gif stargold.gif Favorites (gold star)
hand.gif hand.gif Pointing hand
arrowleft.gif arrowleft.gif Arrow red left
arrowright.gif arrowright.gif Arrow red right
arrowup.gif arrowup.gif Arrow red up
arrowdown.gif arrowdown.gif Arrow red down
arrowbleft.gif arrowbleft.gif Arrow blue left
arrowbright.gif arrowbright.gif Arrow blue right
arrowbup.gif arrowbup.gif Arrow blue up
arrowbdown.gif arrowbdown.gif Arrow blue down
arrowdot.gif arrowdot.gif Meet here (arrows to red dot)
go_start.gif go_start.gif Go start
go_fb.gif go_fb.gif Go fast back
go_back.gif go_back.gif Go back
go_forward.gif go_forward.gif Go forward
go_ff.gif go_ff.gif Go fast forward
go_end.gif go_end.gif Go end
wip.gif wip.gif Work in progress
rfc.gif rfc.gif Request for comments
days.gif days.gif Days
hourglass.gif hourglass.gif Hour glass
watch.gif watch.gif Watch
globe.gif globe.gif Globe
home.gif home.gif Home
group.gif group.gif Group
person.gif person.gif Person
persons.gif persons.gif Persons
lock.gif lock.gif Lock
folder.gif folder.gif Folder
lockfolder.gif lockfolder.gif Locked folder
lockfoldergray.gif lockfoldergray.gif Locked folder, gray
locktopic.gif locktopic.gif Locked topic
locktopicgray.gif locktopicgray.gif Locked topic, gray
refreshtopic.gif refreshtopic.gif Refresh topic
viewtopic.gif viewtopic.gif View topic
edittopic.gif edittopic.gif Edit topic
topicdiffs.gif topicdiffs.gif Topic difference
topicbacklinks.gif topicbacklinks.gif Topic back-links
newtopic.gif newtopic.gif New topic
searchtopic.gif searchtopic.gif Search topic
printtopic.gif printtopic.gif Print topic
attachfile.gif attachfile.gif Attach file
recentchanges.gif recentchanges.gif Recent changes
changes.gif changes.gif Changes
notify.gif notify.gif Notify
mail.gif mail.gif Mail
trash.gif trash.gif Trash
empty.gif empty.gif Empty transparent 16x16 spacer
line_ud.gif line_ud.gif Line graph up-down
line_lr.gif line_lr.gif Line graph left-right
line_udlr.gif line_udlr.gif Line graph up-down-left-right
line_ur.gif line_ur.gif Line graph up-right
line_rd.gif line_rd.gif Line graph right-down
line_ld.gif line_ld.gif Line graph left-down
line_ul.gif line_ul.gif Line graph up-left
line_udr.gif line_udr.gif Line graph up-down-right
line_lrd.gif line_lrd.gif Line graph left-right-down
line_udl.gif line_udl.gif Line graph up-down-left
line_ulr.gif line_ulr.gif Line graph up-left-right
dot_ud.gif dot_ud.gif Dot graph up-down
dot_lr.gif dot_lr.gif Dot graph left-right
dot_udlr.gif dot_udlr.gif Dot graph up-down-left-right
dot_ur.gif dot_ur.gif Dot graph up-right
dot_rd.gif dot_rd.gif Dot graph right-down
dot_ld.gif dot_ld.gif Dot graph left-down
dot_ul.gif dot_ul.gif Dot graph up-left
dot_udr.gif dot_udr.gif Dot graph up-down-right
dot_lrd.gif dot_lrd.gif Dot graph left-right-down
dot_udl.gif dot_udl.gif Dot graph up-down-left
dot_ulr.gif dot_ulr.gif Dot graph up-left-right
xml.gif xml.gif XML

-- TWiki:Main.PeterThoeny - 23 Mar 2004
-- TWiki:Main.MikeMannix - 16 May 2002

 


TWikiDocumentation  

31 Jan 2003 - 07:15 - r1.43   PeterThoeny

TWiki Reference Manual (07 May 2004)

This page contains all documentation topics as one long, complete reference sheet.
Doubleclick anywhere to return to the top of the page.

Note: Read the most up to date version of this document at http://TWiki.org/cgi-bin/view/TWiki/TWikiDocumentation

Related Topics: TWikiSite, TWikiHistory, TWikiPlannedFeatures, TWikiEnhancementRequests


TWiki System Requirements

Server and client requirements for TWiki 01-Feb-2003

Low client and server requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions.

Server Requirements

TWiki is written in Perl 5, uses a number of shell commands, and requires RCS (Revision Control System), a GNU Free Software package. TWiki is developed in a basic Linux/Apache environment. It also works with Microsoft Windows, and should have no problem on any other platform that meets the requirements.

Resource Required Server Environment *
Perl 5.005_03 or higher (5.6.1 recommended, 5.8.0 not recommended yet, see TWiki:Codev.IssuesWithPerl5dot8)
Non-standard Perl modules • Unix: Net::SMTP (or sendmail)
• Windows: Net::SMTP, MIME::Base64, Digest::SHA1
RCS 5.7 or higher (including GNU diff)
Optional, but the all-Perl RCS replacement is not currently recommended for live sites - see TWiki:Codev.RcsLite
GNU diff GNU diff 2.7 or higher is required when not using the all-Perl RcsLite.
Install on PATH if not included with RCS (check version with diff -v)
Must be the version used by RCS, to avoid problems with binary attachments - RCS may have hard-coded path to diff
Other external programs fgrep, egrep
Cron/scheduler • Unix: cron
• Windows: cron equivalents
Web server Apache 1.3 is well supported; Apache 2.0 is not recommended yet (see TWiki:Codev.IssuesWithApache2dot0).
For other servers, CGI support, authentication, extended path info required; also, the register script is likely to need significant changes

ALERT! * Current documentation mainly covers Linux and Apache installations. See WindowsInstallCookbook for a Windows installation guide. See TWiki:Codev.TWikiOn for help with installation on various platforms including Unix, MacOS X, Apache mod_perl, web hosts, etc.

Client Requirements

The TWiki standard installation has extremely low browser requirements:

You can easily add functionality, by customizing TWikiTemplates, for one, while tailoring the browser requirements to your situation.

Known Issues

-- TWiki:Main.MikeMannix - 12 Jan 2002
-- TWiki:Main.PeterThoeny - 16 Dec 2003


TWiki Installation Guide

Installation instructions for the TWiki 01-Feb-2003 production release.

If you are reading this on your own TWiki installation, please get the latest installation guide (TWiki:TWiki.TWikiInstallationGuide), as this often has important updates to resolve installation issues.

These installation steps are based on the Apache web server on Linux. TWiki runs on other web servers and Unix systems, and should be fine with any web server and OS that meet the system requirements. Official documentation for platforms other than Linux is somewhat limited, so please check the topics listed below, they include some important tips for HP-UX, Solaris, OS/390, and many other platforms.

Standard Installation

Request and download the TWiki 01-Feb-2003 distribution in Unix ZIP format from http://TWiki.org/download.html. Please review the AdminSkillsAssumptions before you install TWiki.

Step 1: Create & Configure the Directories

ALERT! NOTE: If you don't have access to your Web server configuration files - for example, if you're installing on an ISP-hosted account, or you don't have administrator privileges on your intranet server - use the alternative Step 1 instead.

Example httpd.conf entries:
 ScriptAlias /twiki/bin/ "/home/httpd/twiki/bin/"
 Alias /twiki/ "/home/httpd/twiki/"
 <Directory "/home/httpd/twiki/bin">
    Options +ExecCGI
    SetHandler cgi-script
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/pub">
    Options FollowSymLinks +Includes
    AllowOverride None
    Allow from all
 </Directory>
 <Directory "/home/httpd/twiki/data">
    deny from all
 </Directory>
 <Directory "/home/httpd/twiki/templates">
    deny from all
 </Directory>

Step 1 for Non-Root Accounts

To install TWiki on a system where you don't have Unix/Linux root (administrator) privileges, for example, on a hosted Web account or an intranet server administered by someone else:

TWiki dir: What it is: Where to copy: Example:
twiki start-up pages root TWiki dir /home/smith/twiki/
twiki/bin CGI bin CGI-enabled dir /home/smith/twiki/bin
twiki/lib library files same level as twiki/bin /home/smith/twiki/lib
twiki/pub public files htdoc enabled dir /home/smith/twiki/pub
twiki/data topic data dir secure from public access /home/smith/twiki/data
twiki/templates web templates dir secure from public access /home/smith/twiki/templates

If you are not able to create the twiki/lib directory at the same level as the twiki/bin directory (e.g. because CGI bin directories can't be under your home directory and you don't have root access), you can create this directory elsewhere and edit the setlib.cfg file in the bin directory:

    # -------------- Change these settings if required

    $twikiLibPath = '/some/other/path/lib';   # Path to lib directory containing TWiki.pm

You can also edit $localPerlLibPath in the setlib.cfg file if you are not root and need to install additional CPAN modules, but can't update the main Perl installation files on the server. Just set this variable to the full pathname to your local lib directory, typically under your home directory.

Step 2: Set File Permissions

cd twiki/data
perl -pi~ -e 'NR <= 10 && s/nobody:/www-data:/ ' */*,v

Step 3: Set the Main Configuration File

Step 4: Configure Site-Wide Email Preferences

Step 5: Finish Up from Your Browser

That's it for the standard virgin installation of TWiki. Read on for server-level customization options.

Additional Server-Level Options

With your new TWiki installation up and running, you can manage most aspects of your site from the browser interface. Only a few functions require access to the server file system, via Telnet or FTP. You can make these server-level changes during installation, and at any time afterwards.

Enabling Authentication of Users

That's it for a basic new web set-up!

Optionally, you can also:

ALERT! NOTE: User home topics are located in the Galeon.Main web - don't try to move them or create them in other webs. From any other web, user signatures have to point to Galeon.Main web, using a Main.UserName or %MAINWEB%.UserName format. (The %MAINWEB% variable is an advantage if you ever change the Main web name, but the standard Main.UserName is easier for users to enter, which is the bottom line!

TWiki File System Info

See Appendix A: TWiki File System for an installed system snapshot and descriptions of all files in the TWiki 01-Sep-2001 distribution.

-- PeterThoeny - 03 Jun 2003
-- MikeMannix? - 16 May 2002


Windows Install Cookbook

Introduction

This cookbook is intended to get you up and running with TWiki on Windows quickly, with as few problems as possible. The 'cookbook' approach is simply to restrict the many choices that someone installing TWiki must make, so that a reasonably well-defined procedure can be followed - new users can simply follow the steps, while experts can use this as more of a guideline. Please read TWiki:Codev.WindowsModPerlInstallCookbook in case you use mod_perl.

There is a huge volume of existing material on TWiki about installing on Windows, and I'm indebted to the many contributors for this - the aim of this cookbook is to synthesise the many tips into a recipe that works.

-- RichardDonkin? - 24 Feb 2002

Recent updates

Scope

This document covers installation of the TWiki 01-Feb-2003 production release (TWiki:Codev/TWikiRelease01Feb2003) in the following environment - if you want to use a different environment, feel free to use this as a guideline only. (It has been mainly tested with the TWiki 01-Dec-2001 release but should work fine with Feb 2003.)

Component Name, version Comment
Operating System Windows 2000 Should also work for Windows NT
Web Server Apache 1.3.26 Windows-specific security holes fixed in this build
(check latest version at http://httpd.apache.org, but don't use Apache 2.0 yet)
Unix tools Cygwin 1.3.9 Simplest way to get a whole set of required tools
Perl Cygwin perl-5.6.1-2 Comes with Cygwin
RCS Cygwin rcs-5.7-2 Comes with Cygwin, includes a file corruption bugfix

Why this choice of packages? Because I've tried them, and they work well, without requiring a complicated setup... In particular, Apache is the commonest choice for TWiki on Unix/Linux, Cygwin Perl is very close to Unix Perl, and the Cygwin RCS is regularly updated, with a recent TWiki-relevant bug fix in Feb 2002. Cygwin also lets you install the Unix tools, Perl and RCS in a single step, saving quite a lot of time.

More recent minor versions should be OK, but they can introduce bugs.

NEW Major version upgrades, such as Apache 2.0 and Perl 5.8, are very likely to cause problems - for example, Apache 2.0 is unable to authenticate (see TWiki:Support.FailedAuthenticationWithApache2OnWinNT) users created by the current TWiki user registration script (due to a feature being removed in 2.0), and Perl 5.8 may introduce issues due to its Unicode features. Even though the Apache group says that Apache 2.0 is the best version, that's not true for TWiki.

Alternatives

There are doubtless other combinations of components that may work - in particular:

Covering the whole range of additional possibilities, particularly web servers, would make this cookbook too complex, and is best handled as a separate activity.

Checking versions

If you already have some of these add-ons installed, here's how to check the versions - this assumes you have TWiki:Codev.CygWin already installed:

   $ : Cygwin DLL version is the number in 1.3.x format
   $ uname -r
   $ less c:/your-apache-dir/Announcement
   $ perl -v
   $ rcs -V

If you have an older version of any component, do yourself a favour and upgrade it as part of the install process.

Pre-requisites and upgrades

You will need to have local administrator rights and to be comfortable with Windows administration.

This cookbook is intended for a clean install, i.e. none of these components are already installed. However, since Cygwin and Apache's installation process is fairly upgrade-friendly, upgrades should work as well - take backups of all your data and config files first, though!

Text editing

Editing Cygwin files is best done with an editor that can handle Unix file format (see the Cygwin binary mode section below) - the installation process includes nano, a non-GUI editor, but if you prefer to use a GUI editor, you should first install PFE, a freeware editor that supports Unix format files. PFE is available on download.com and Simtel.

Another good TWiki:Codev.OpenSource editor is SciTE (aka WSciTE), available at http://www.scintilla.org/SciTE.html.

The Unix/Windows Environment

It's a little known fact that you can use pathnames such as c:/apache almost everywhere in Windows - try it in a File Open dialogue box. The main exception is the Win2000 cmd.exe command line shell - here, you must use double quotes around forward slashes, e.g. dir "c:/apache" will work fine.

The reason this matters is that '\' is a special character to Perl and other tools, so it's much easier to use '/' everywhere.

The Cygwin environment

TWiki:Codev.CygWin is a Unix-like environment for Windows - many of its tools support the c:/apache format, but it also provides a more Unixlike syntax, e.g. /usr/bin/rcs.exe, because some Unix tools ported onto Cygwin only support the Unix format.

When you launch a Cygwin shell, your existing PATH variable is translated from the Windows format to the Unix format, and the ';' separators in the Windows PATH are changed into ':' separators as required by Unix. A Cygwin tool (e.g. Cygwin Perl or Cygwin RCS) will always use the Unix PATH format, and will accept Unix format pathnames.

The Apache environment

Apache runs as a native Windows process and has nothing to do with Cygwin (at least the version used in this cookbook doesn't). Hence it supports c:/ pathnames in its config files and the first line of Perl CGI scripts.

If you need to use spaces in file names (not recommended), put double quotes around the file name in the httpd.conf file. There have been some security-related bugs in Apache with long pathnames, which are a bit more likely if you use spaces, so it's best to just avoid long names and using spaces.

The Perl environment

Once Perl has been launched by Apache, it is in Cygwin mode, and so is everything it launches, including ls, egrep, and RCS tools that it (typically) launches with the bash shell.

If you need to use spaces in file names (not recommended), you may be able to put double quotes around the file name in the TWiki.cfg file - however, it's not clear whether all the TWiki code would work with this.

Installing Components

Enough background, let's get on with the installation.

TWiki (part 1)

Head to http://twiki.org, click the download link, and fill in the form to request a URL for download. You'll get an automated email, which should arrive by the time you need it.

Apache

1. Download Apache

2. Install Apache

3. Test Apache

Congratulations, you now have a working web server!

To restart Apache after changing its config, type:

Another useful command is apache -k stop.

Cygwin, Unix tools, Perl and RCS

4. Install Cygwin

Head to http://cygwin.com, and click the Install Cygwin Now link. Save the setup.exe in a directory, e.g. c:\download\cygwin-dist.

Now run the Cygwin setup.exe file - this will also install Perl and RCS in one fell swoop.

5. Test Cygwin

The Cygwin User Guide is well worth reading for some background on how Cygwin works.

6. Configure Cygwin for binary mode

   $ mkdir /twiki /c c:/twiki
   $ mount -b -s c:/twiki /twiki
   $ mount -b -s c:/ /c
   $ mount -b -c /cygdrive
   $ mount
   Device              Directory           Type         Flags
   C:\cygwin\bin       /usr/bin            system       binmode
   C:\cygwin\lib       /usr/lib            system       binmode
   C:\cygwin           /                   system       binmode
   c:\twiki            /twiki              system       binmode
   c:                  /c                  system       binmode

This setup is written to the Windows registry, so there's no need to put these commands into a .profile file. For more information on binary vs text mode, see this User Guide section and this FAQ entry.

TWiki (part 2)

7. Download TWiki

Download the latest TWiki release from the URL that PeterThoeny sent you, and save it in the c:/twiki directory.

8. Install TWiki

Unzip the ZIP file under c:/twiki using WinZip, or by going into Cygwin and doing the following - you can hit the TAB key to complete filenames after you've typed the first part:

   $ cd /twiki
   $ unzip TWiki20011201.zip

Configuring components

Now that all the components are installed, you need to configure them.

Configuring Apache

The setup given here is fairly simple, in that it allows only TWiki to be served by the web server. For more complex setups, you can investigate the Alias and ScriptAlias commands that are left commented out in this configuration.

1. Configure Apache (part 1)

Using a suitable text editor (e.g. Cygwin's 'nano', or the Windows PFE editor, unless you already know 'vi'), edit c:/apache/conf/httpd.conf as follows - this tells Apache where TWiki lives, and removes the need to tinker with the Windows 2000 environment settings.

# Change this to point to the Apache administrator (e.g. you)
ServerAdmin you@yourdomain.com

# Replaces DocumentRoot "C:/apache/htdocs"
DocumentRoot "C:/twiki"

# Replaces <Directory "C:/apache/htdocs">
<Directory "C:/twiki">

# Alias /twiki/ "C:/twiki/"
# ScriptAlias /twiki/bin/ "C:/twiki/bin/"
<Directory  "C:/twiki/bin/">
    # RD: Changed None to All in next line, to enable .htaccess
    AllowOverride All
    Allow From All
    Options  ExecCGI
    SetHandler cgi-script
</Directory>

# Environment setup required to run Apache as service or as a
# standalone process.
<IfModule mod_env.c>
   # Adjust TZ for your server timezone, e.g. EST5EDT - put the non-daylight-savings
   # timezone code first (e.g. EST or GMT), followed by the number of hours that it's behind GMT 
   # during non-daylight-savings time (use '-5' for timezones in advance of GMT).
   SetEnv TZ GMT0BST
   SetEnv RCSINIT -x,v/
   # Adjust TEMP and TMP for your server and create directories if necessary
   SetEnv TEMP c:/temp
   SetEnv TMP c:/temp
   SetEnv LOGNAME system
   SetEnv HOME c:/twiki
</IfModule>

2. Configure Apache (part 2)

Add an AddHandler line to the <IfModule mod_mime.c> section of httpd.conf - this removes the need to rename all the TWiki CGI scripts later in the installation.

#
# Document types
#
<IfModule mod_mime.c>
    # TWiki setup - avoid renaming scripts
    AddHandler cgi-script .
</IfModule>

Configuring TWiki

3. Configure TWiki

Edit the TWiki config file, c:/twiki/lib/TWiki.cfg (or in Cygwin terms, /twiki/lib/TWiki.cfg) as follows:

# variables that need to be changed when installing on a new server:
# ==================================================================
#                   http://galeon.sourceforge.net/Main : link of TWiki icon in upper left corner :
$wikiHomeUrl      = "http://yourdomain.com/bin/view";
#                   Host of TWiki URL :    (Example "http://myhost.com:123")
$defaultUrlHost   = "http://yourdomain.com";
#                    : cgi-bin path of TWiki URL:
$scriptUrlPath    = "/bin";
#                   /twiki/pub : Public data path of TWiki URL (root of attachments) :
$pubUrlPath       = "/pub";

# NOTE: Next three settings should be valid absolute pathnames using Cygwin; if using
# TWiki:Codev.ActiveState Perl, use z:/twiki format pathnames if your TWiki directory is not on C:.

#                   Public data directory, must match $pubUrlPath :
$pubDir           = "/twiki/pub";
#                   Template directory :
$templateDir      = "/twiki/templates";
#                   Data (topic files) root directory :
$dataDir          = "/twiki/data";

....

#                   Set ENV{'PATH'} explicitly for taint checks ( #!perl -T option ) :
#                   (Note: PATH environment variable is not changed if set to "")

# On Windows, $safeEnvPath needs only one component, the directory where RCS is installed
# - used by 'rcsdiff' to run 'co' program, so PATH must be correct.

# Unix/Linux setting:
# $safeEnvPath      = "/bin:/usr/bin";

# Using Cygwin perl, so can use Unix-like paths, with ':' as separator.
# Note that /usr/bin and /bin are identical due to default /usr/bin mount
# in Cygwin.  Must NOT use 'c:/foo' type paths, as ':' is taken as separator
# meaning that 'c' is interpreted as a pathname, giving Perl taint error.
$safeEnvPath      = "/bin";

# If using ActiveState perl, use Windows paths instead
# $safeEnvPath      = "c:/cygwin/bin";

...

#                   RCS directory (find out by 'which rcs') :
$rcsDir           = "c:/cygwin/bin";

...

#                   Unix egrep command :
$egrepCmd         = "/bin/grep -E";
#                   Unix fgrep command :
$fgrepCmd         = "/bin/grep -F";

For the cookbook install using Cygwin Perl, there's no more TWiki.cfg editing to be done, so you can get onto the next section.

#                   NOTE: When using ActiveState Perl, you must specify
#                   a full Windows-style pathname, using '\\' for backslashes,
#                   for the ls, egrep and fgrep commands, because Cygwin's shell
#                   is not used - forward slashes are OK in Windows everywhere
#                   except in the cmd.exe shell. Drive letters are OK - e.g.
#                   'c:\\foo\\ls' will work.  When using Cygwin perl, just
#                   use the default '/bin/ls' type settings.
#
#                   Unix ls command :
$lsCmd            = "c:\\cygwin\\bin\\ls";
#                   Unix egrep command :
$egrepCmd         = "c:\\cygwin\\bin\\grep";
#                   Unix fgrep command :
$fgrepCmd         = "c:\\cygwin\\bin\\grep";

Editing the CGI scripts

4. Editing the Shebang lines

Now to edit the curiously named 'shebang lines' at the top of the TWiki CGI scripts...

$ cd /twiki/bin

$ ls
attach   geturl         oops     rdiff     save        testenv  viewfile
changes  installpasswd  passwd   register  search      upload
edit     mailnotify     preview  rename    statistics  view

$ mkdir .backup 
$ cp * .backup

$ head -1 view
#!/usr/bin/perl -wT

$ perl -pi~ -e 's;#!/usr/bin/perl;#!c:/cygwin/bin/perl;' *[a-z]

$ head -1 view
#!c:/cygwin/bin/perl -wT

$ ls
attach    geturl          oops      rdiff      save         testenv   viewfile~
attach~   geturl~         oops~     rdiff~     save~        testenv~  view~
changes   installpasswd   passwd    register   search       upload
changes~  installpasswd~  passwd~   register~  search~      upload~
edit      mailnotify      preview   rename     statistics   view
edit~     mailnotify~     preview~  rename~    statistics~  viewfile

If for some reason the edit goes wrong, just type cp .backup/* . (while within the bin directory) to restore the original distribution files. Use ls -a to see the .backup directory, and ls -a .backup to view its contents.

Optional step: you can do 'rm *~' to clean out the backups made by Perl, but that's not essential as all the original files cannot be executed. If you do this, type the command very carefully, as a space after the '*' will wipe out all files in this directory!

5. Minor changes to TWiki scripts

TWiki Dec 2001 release only - fixed in Feb 2003 release

If using the Dec 2001 release, you now need to make some minor edits to files in the c:/twiki/bin directory, using a suitable editor (remember to use nano -w filename if you prefer nano to vi - or just use the Windows PFE editor).

         return $user . ':{SHA}' . MIME::Base64::encode_base64(Digest::SHA1::sha1($passwd));

Perl module installation

6. Installing required Perl modules

Some additional Perl modules are needed for the register script to work properly. Fortunately, there is an automated tool that makes it easy to do this - it's called cpan, and goes to the Perl module archive site, http://www.cpan.org/, to download all required modules, and then build and install them. Here's what you need to do:

First of all, you need to get the cpan tool configured and working - this is only necessary once. From the Cygwin shell, type the following (putting the export command in ~/.profile is recommended to make this setting persistent). Without the TEMP variable, some modules may fail to install on Windows 2000 and higher.

$ export TEMP=/c/temp
$ cpan
Lots of questions about configuration and preferences - just hit Enter until you 
get to the questions about mirror sites, but answer the questions about FTP proxies etc
 if you are behind a proxy-based firewall.  The CPAN tool will fetch a series of files, 
some quite large, as part of this setup process, so be patient...

NOTE: If you are behind a non-proxy-based firewall that requires the use of passive FTP, the initial downloads of files using Net::FTP may appear to hang - just wait 5 or more minutes, however, and the CPAN tool should eventually hit on ncftpget, which is part of Cygwin and does work OK. If this doesn't work and you are behind a typical NAT-based firewall, try doing the following at the Cygwin shell before running cpan - this forces Net::FTP to use passive FTP, letting it get through such firewalls:

$ export FTP_PASSIVE=1
If this works, add this line to your ~/.profile file for future use.

Once some initial files are downloaded, you are asked to select your continent and country, and then mirror sites - just type the number of the mirror sites you want to use (pick a few in case one is down):

...
(28) Turkey
(29) Ukraine
(30) United Kingdom

Select your country (or several nearby countries) [] 30

(1) ftp://cpan.teleglobe.net/pub/CPAN
(2) ftp://ftp.clockerz.net/pub/CPAN/
(3) ftp://ftp.demon.co.uk/pub/CPAN/
(4) ftp://ftp.flirble.org/pub/languages/perl/CPAN/
(5) ftp://ftp.mirror.ac.uk/sites/ftp.funet.fi/pub/languages/perl/CPAN/
(6) ftp://ftp.plig.org/pub/CPAN/
(7) ftp://mirror.uklinux.net/pub/CPAN/
(8) ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
(9) ftp://usit.shef.ac.uk/pub/packages/CPAN/
Select as many URLs as you like,
put them on one line, separated by blanks [] 4 7 8

Enter another URL or RETURN to quit: []
New set of picks:
  ftp://ftp.flirble.org/pub/languages/perl/CPAN/
  ftp://mirror.uklinux.net/pub/CPAN/
  ftp://sunsite.doc.ic.ac.uk/packages/CPAN/

Eventually, you'll get to the CPAN tool's shell prompt, where you need to install a few modules - the tool will do all the work for you.

cpan shell -- CPAN exploration and modules installation (v1.59_54)
cpan> install Net::SMTP
May already be installed - if it is, try 'force install', since it's useful to be able to set
firewall and passive FTP configuration when using Net::FTP.  Make sure you answer 'Y' to the question 
about whether you want to configure this package.
cpan> install Digest::SHA1
Lots of output about how CPAN finds, builds and installs the module - watch for 
any errors, though it should work fine if you have installed the Cygwin packages listed above (particularly 'gcc' and 'make').
cpan> install MIME::Base64
May already be installed.

Re-locking RCS files

7. Re-locking files

First, some testing: in your browser, go to http://yourdomain.com/bin/testenv - this provides a lot of detail, including warnings. Write down the Apache server's userid that is given by this script - typically either 'system' or 'administrator' - I'll assume 'system' from now on.

This 'system' user must own the locks on the RCS files, which are shipped with the lock held by 'nobody'. The reason this matters is that no revisions will be tracked by RCS unless the Apache userid matches that of the RCS file locks.

You can re-lock files using rcs -u and rcs -l, but it's a painfully manual process. Instead, just use Perl again to mass-edit all the RCS files, as follows:

$ cd /twiki/data

$ : Make a backup of all files
$ tar czvf all-files.tar.gz */*

$ : Test edit a single file to check your typing
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' Main/WebIndex.txt,v

$ diff Main/WebIndex.txt,v Main/WebIndex.txt,v~~~
5c5
<       system:1.2; strict;
---
>       nobody:1.2; strict;

$ : Now edit all the RCS files at once - use cursor-up to recall previous command
$ perl -pi~~~ -e 'NR <= 10 && s/nobody:/system:/ ' */*,v

$ : Check for any remaining files not edited
$ grep 'strict;$' */*,v | grep -v system

$ : Clean up - type this very carefully 
$ rm */*~~~

You have now re-locked all the RCS files and are almost ready to start using TWiki!

Email setup

8. Email setup for notification and registration

You need to set the SMTPMAILHOST in TWikiPreferences to an SMTP email host that is reachable and currently working. Otherwise you'll get a confusing message from TWiki when registering new users or running mailnotify (for WebNotify), along the lines of:

   Software Error: Can't call method "mail" on an undefined value at ../lib/TWiki/Net.pm line 187.

There are other settings to be made in TWikiPreferences, e.g. the WIKIWEBMASTER and (probably) the SMTPSENDERHOST (normally your mail server or TWiki server). See the TWikiInstallationGuide for more details, what's listed here is just enough to let you run the basic tests.

Testing your TWiki installation

It is important to test your TWiki installation before you release it to other users or put any significant data into it.

Here are the main things to test:

Troubleshooting

If anything doesn't work, go back and check the configuration of the Apache httpd.conf file, and TWiki.cfg. Have a look at the Apache error log, c:/apache/logs/error_log, and the TWiki error log, /twiki/data/log*.txt, and if necessary enable debugging on selected scripts (the commands are right at the top of each script) - the results go into /twiki/data/debug.txt. There is also a /twiki/data/warning.txt file that contains less serious messages.

See TWiki:Codev.TWikiPatches in case there are patches (i.e. specific code changes) for particular problems that may affect you (e.g. TWiki:Codev.ChangePasswordOnWin2K).

If you find that the Index feature doesn't work, or topic name searches fail, you should check you have set $egrepCmd and $fgrepCmd correctly, as mentioned above.

Permissions

TWiki:Codev.CygWin has several models for how it does security:

I have not had any problems with TWiki permissions on Windows, unlike Linux/Unix, which is probably because I'm using the default security model for Cygwin. If you use the other models, you may still be OK if you have local admin rights, and Apache is running as the SYSTEM user (which it uses if started as a service). If you do have trouble in this area, see the TWikiInstallationGuide's advice, some of which will apply to TWiki:Codev.CygWin, and log any issues in TWiki:Codev.WindowsInstallCookbookComments.

Next Steps

See the TWikiInstallationGuide for other setup. In particular, you'll probably want to refer to the section on basic authentication - remember to use c:/twiki type filenames (i.e. Windows format) since you are using Apache for Windows.

Improved authentication

You may want to investigate TWiki:Codev.WindowsInstallModNTLM, which describes how to add an Apache module so that TWiki:Codev.InternetExplorer users are automatically authenticated based on their Windows domain login - this avoids TWiki:Codev.GettingTheUsernameWrong and TWiki:Codev.ForgettingPasswords, which are usually very common among TWiki users.

Improved performance

See TWiki:Codev.WindowsModPerlInstallCookbook and TWiki:Codev.ModPerl for information on installing TWiki under Apache's mod_perl - this is somewhat more complex and follows a different model, so it's best to get some experience with TWiki, Apache and Perl first.

Format of filenames

In your TWiki on Windows installation, it's worth remembering that:

Credits

Material in this cookbook is heavily based on the enormous number of contributions in TWiki:Codev.TWikiOnWindowsArchive and related topics - too many people to thank, but have a look at the contributor list to TWiki:Codev.TWikiOnWindowsArchive to get an idea!

People who've tested or reviewed this document and provided valuable feedback include:


ALERT! Comments welcome at TWiki:Codev.WindowsInstallCookbookComments

-- PeterThoeny - 30 Jan 2003


TWiki Upgrade Guide

Upgrade from the previous TWiki 01-Dec-2001 production release to TWiki 01-Feb-2003

Overview

This guide describes how to upgrade from TWiki 01-Dec-2001 to TWiki 01-Feb-2003. The new version involves several new features and numerous enhancements to the previous version.

Upgrade Requirements

Major Changes from TWiki 01-Dec-2001

Upgrade Procedure from 01-Dec-2001 to 01-Feb-2003 Release

The following steps describe the upgrade assuming that $TWIKIROOT is the root of your current 01-Dec-2001 release. As written this will require some downtime. A process for switching over without downtime is described at the end of this section.

  1. Back up and prepare:
  2. Update files in TWiki root:
  3. Update template files:
  4. Update script files:
  5. Update library files:
  6. Update data files:
  7. Adapt the other webs (all other than TWiki and _default):
  8. Update pub files:
  9. Update TWikiPreferences to authorize users to create webs:
  10. Verify installation:

Note: These steps assume a downtime during the time of upgrade. You could install the new version in parallel to the existing one and switch over in an instant without affecting the users. As a guideline, install the new version into $TWIKIROOT/bin1, $TWIKIROOT/lib1, $TWIKIROOT/templates1, $TWIKIROOT/data/TWiki1 (from data/TWiki), $TWIKIROOT/pub/TWiki1 (from pub/TWiki), and configure TWiki.cfg to point to the same data and pub directory like the existing installation. Once tested and ready to go, reconfigure $TWIKIROOT/bin1/setlib.cfg and $TWIKIROOT/lib1/TWiki.cfg, then rename $TWIKIROOT/bin to $TWIKIROOT/bin2, $TWIKIROOT/bin1 to $TWIKIROOT/bin. Do the same with the lib, templates and data/TWiki directories.

Known Issues

-- PeterThoeny - 01 Feb 2002
-- MartinRaabe? - 15 Jan 2003


TWiki User Authentication

TWiki site access control and user activity tracking options

TWiki does not authenticate users internally, it depends on the REMOTE_USER environment variable. This variable is set when you enable Basic Authentication (.htaccess) or SSL "secure server" authentication (https protocol).

TWiki uses visitor identification to keep track of who made changes to topics at what time and to manage a wide range of personal site settings. This gives a complete audit trail of changes and activity.

Authentication Options

No special installation steps are required if the server is already authenticated. If it isn't, you have these options for controlling user access:

  1. No login at all: Forget about authentication to make your site completely public - anyone can browse and edit freely, in classic Wiki mode. All visitors are assigned the TWikiGuest default identity, so you can't track individual user activity.
  2. No login to view; require login to edit: Keeping track of who changed what and when, while keeping view access unrestricted is desirable in most TWiki deployments. This option is not suitable if you need TWikiAccessControl for view restricted content since TWiki does not know who a user is when looking at content.
  3. No login to view unless necessary; require login to edit: You prefer not to bother the user with login for unrestricted content, but you need TWikiAccessControl for view restricted content. There are two ways to accomplish this:
  4. Require login to view and edit: Most restrictive, but TWiki knows who the user is at all times. There are two ways to accomplish this:

Partial Authentication

Tracking by IP address is an experimental feature, enabled in lib/TWiki.cfg. It lets you combine open access to some functions, with authentication on others, with full user activity tracking:

Quick Authentication Test - Use the %WIKIUSERNAME% variable to return your current identity:

TWiki Username vs. Login Username

This section applies only if your TWiki site is installed on a server that is both authenticated and on an intranet.

Galeon internally manages two usernames: Login Username and TWiki Username.

TWiki can automatically map an Intranet (Login) Username to a TWiki Username, provided that the username pair exists in the TWikiUsers topic. This is also handled automatically when you register.

NOTE: To correctly enter a WikiName - your own or someone else's - be sure to include the Main web name in front of the Wiki username, followed by a period, and no spaces. Ex:
Main.WikiUsername or %MAINWEB%.WikiUsername
This points WikiUser to the Galeon.Main web, where user registration pages are stored, no matter which web it's entered in. Without the web prefix, the name appears as a NewTopic? everywhere but in the Main web.

Changing Passwords

Change and reset passwords using forms on regular pages. Use TWikiAccessControl to restrict use as required.

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

If you have questions please contact the TWiki webmaster tko@users.sourceforge.net.

Please only use this ResetPassword form in case you really forgot your password. Otherwise just change it using ChangePassword. Thank you.

Your WikiName: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form you will see a page with your new password appearing encrypted.

You will have to e-mail this information to the Wiki webmaster, tko@users.sourceforge.net, who will set your account to use the new password.

-- TWiki.Main.MikeMannix - 19 May 2002
-- TWiki.Main.PeterThoeny - 25 Apr 2004


TWiki Access Control

Restricting read and write access to topics and webs, by Users and groups

TWikiAccessControl allows you restrict access to single topics and entire webs, by individual user and by user Groups, in three areas: view; edit & attach; and rename/move/delete. Access control, combined with TWikiUserAuthentication, lets you easily create and manage an extremely flexible, fine-grained privilege system.

An Important Control Consideration

Open, freeform editing is the essence of WikiCulture - what makes TWiki different and often more effective than other collaboration tools. For that reason, it is strongly recommended that decisions to restrict read or write access to a web or a topic are made with care - the more restrictions, the less Wiki in the mix. Experience shows that unrestricted write access works very well because:

As a collaboration guideline:

Authentication vs. Access Control

Authentication: Identifies who a user is based on a login procedure. See TWikiUserAuthentication.

Access control: Restrict access to content based on users and groups once a user is identified.

Users and Groups

Access control is based on the familiar concept of Users and Groups. Users are defined by their WikiNames. They can then be organized in unlimited combinations by inclusion in one or more user Groups. For convenience, Groups can also be included in other Groups.

Managing Users

A user can create an account in TWikiRegistration. The following actions are performed:

Users can be authenticated using Basic Authentication (htaccess) or SSL (secure server). In either case, TWikiUserAuthentication is required in order to track user identities, and use User and Group access control.

The default visitor name is TWikiGuest. This is the non-authenticated user.

Managing Groups

Groups are defined by group topics created in the Main web, like the TWikiAdminGroup. To create a new group:

  1. Edit TWikiGroups by entering a new topic with a name that ends in Group. Example:
  2. Set Preferences for two Variables in the new group topic:

Restricting Write Access

You can define who is allowed to make changes to a web or a topic.

Deny Editing by Topic

Denying editing of a topic also restricts file attachment; both privileges are assigned together.

Deny Editing by Web

Restricting web-level editing blocks creating new topics, changing topics or attaching files.

The same rules apply as for restricting topics, with these additions:

Restricting Rename Access

You can define who is allowed to rename, move or delete a topic, or rename a web.

Deny Renaming by Topic

To allow a user to rename, move or delete a topic, they also need write (editing) permission. They also need write access to change references in referring topics.

Deny Renaming by Web

You can define restrictions of who is allowed to rename a Galeon web.

The same rules apply as for topics, with these additions:

Restricting Read Access

You can define who is allowed to see a web.

Deny Viewing by Topic

ALERT! Technically it is possible to restrict read access to an individual topic based on DENYTOPICVIEW / ALLOWTOPICVIEW preferences variables, provided that the view script is authenticated. However this setup is not recommended since all content is searchable within a web - a search will turn up view restricted topics.

Deny Viewing by Web

You can define restrictions of who is allowed to view a Galeon web. You can restrict access to certain webs to selected Users and Groups, by:

Obfuscate Webs

The idea is to keep a web hidden by not publishing its URL and by preventing the all webs search option from accessing obfuscated webs. Do so by enabling the NOSEARCHALL variable in WebPreferences:

This setup can be useful to hide a new web until content its ready for deployment.

ALERT! Obfuscating webs is insecure, as anyone who knows the URL can access the web.

Authenticate all Webs and Restrict Selected Webs

Use the following setup to authenticate users for topic viewing in all webs and to restrict access to selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Add view to the list of authenticated scripts in the .htaccess file.

HELP This method only works if the view script is authenticated, which means that all Users have to login, even for read-only access. (An open guest account, like TWikiGuest, can get around this, allowing anyone to login to a common account with, for example, view-only access for public webs.) TWikiInstallationGuide has more on Basic Authentication, using the .htaccess file.

Authenticate and Restricting Selected Webs Only

Use the following setup to provide unrestricted viewing access to open webs, with authentication only on selected webs:

  1. Restrict view access to selected Users and Groups. Set one or both of these variables in its WebPreferences topic:
  2. Hide the web from an "all webs" search. Enable this restriction with the NOSEARCHALL variable in its WebPreferences topic:
  3. Enable the $doRememberRemoteUser flag in lib/TWiki.cfg as described in TWikiUserAuthentication. Galeon will now remember the IP address of an authenticated user.
  4. Copy the view script to viewauth (or better, create a symbolic link)
  5. Add viewauth to the list of authenticated scripts in the .htaccess file. The view script should not be listed in the .htaccess file.

When a user accesses a web where you enabled view restriction, Galeon will redirect from the view script to the viewauth script once (this happens only if the user has never edited a topic). Doing so will ask for authentication. The viewauth script shows the requested topic if the user could log on and if the user is authorized to see that web.

ALERT! Authenticating webs is not very secure, as there is a way to circumvent the read access restriction. It can be useful in certain situations - for example, to simplify site organization and clutter, by hiding low traffic webs - but is not recommended for securing sensitive content.

Hiding Control Settings

TIP To hide access control settings from normal browser viewing, place them in comment markers.

<!--
   * Set DENYTOPICCHANGE = Main.SomeGroup
-->

The SuperAdminGroup

By mistyping a user or group name in the ALLOWTOPICCHANGE setting, it's possible to lock a topic so that no-one can edit it from a browser. To avoid this, you can create Web-based superusers:

$superAdminGroup = "TWikiAdminGroup";

-- PeterThoeny - 04 May 2002
-- MikeMannix? - 12 May 2002


TWiki Text Formatting

http://naked-girls.chiki-piki.com/index.html http://rape-pics.chiki-piki.com/index.html http://shemale.chiki-piki.com/index.html http://paris-hilton.chiki-piki.com/index.html http://incest.chiki-piki.com/index.html http://hentai.chiki-piki.com/index.html http://mature-women.chiki-piki.com/index.html http://britney-spears.chiki-piki.com/index.html http://nude-celebrities.chiki-piki.com/index.html http://hustler.chiki-piki.com/index.html http://gay-sex.chiki-piki.com/index.html http://lesbian-sex.chiki-piki.com/index.html http://beastiality.chiki-piki.com/index.html

http://beastiality.horse.dyn.agat.net

Working in TWiki is as easy as typing in text - exactly like email. You don't need to know HTML, though you can use it if you prefer. Links to topics are created automatically when you enter WikiWords. And TWiki shorthand gives you all the power of HTML with a simple coding system that takes no time to learn. It's all laid out below - refer back to this page in a pop-up window from the Edit screen.

TWiki Editing Shorthand

Formatting Command: Example: You write: You get:
Paragraphs:
Blank lines will create new paragraphs.
1st paragraph

2nd paragraph
1st paragraph

2nd paragraph

Headings:
At least three dashes at the beginning of a line, followed by plus signs and the heading text. One plus creates a level 1 heading (most important), two pluses a level 2 heading; the maximum is level 6. Note: A Table of Content can be created automatically with the %TOC% variable, see TWikiVariables. Any heading text after !! is excluded from the TOC; for example, write ---+!! text if you do not want to list a header in the TOC.
---++ Sushi

---+++ Maguro

Sushi

Maguro

Bold Text:
Words get bold by enclosing them in * asterisks.
*Bold*
Bold
Italic Text:
Words get italic by enclosing them in _ underscores.
_Italic_
Italic
Bold Italic:
Words get _bold italic by enclosing them in _ double-underscores.
__Bold italic__
Bold italic
Fixed Font:
Words get shown in fixed font by enclosing them in = equal signs.
=Fixed font=
Fixed font

Bold Fixed Font:
Words get shown in bold fixed font by enclosing them in double equal signs.
==Bold fixed==
Bold fixed
Note: Make sure there is no space between the text and the bold, italic, or other indicators (* _ __ = ==).
_This works_,
_this not _
This works,
_this not _
Verbatim Mode:
Surround code excerpts and other formatted text with <verbatim> and </verbatim> tags.
Note: Use <pre> and </pre> tags instead if you want that HTML code is interpreted.
Note: Each tag must be on a line by itself.
<verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
</verbatim>
class CatAnimal {
  void purr() {
    <code here>
  }
}
Separator:
At least three dashes at the beginning of a line.
-------

List Item:
Three spaces, an asterisk, and another space.
   * bullet item
  • bullet item
Nested List Item:
Six, nine, ... spaces, an asterisk, and another space.
   * level 1
      * level 2
  • level 1
    • level 2
Ordered List:
Three spaces, a number, a dot, and another space. Several types are available besides a number:
Type up Generated Style Sample Sequence
I. Uppercase Roman Numerals I, II, III, IV...
i. Lowercase Roman Numerals i, ii, iii, iv...
A. Uppercase letters A, B, C, D...
a. Lowercase letters a, b, c, d...
1. Arabic numerals 1, 2, 3, 4...

   1. Sushi
   1. Dim Sum

   A. Sushi
   A. Dim Sum

   i. Sushi
   i. Dim Sum
  1. Sushi
  2. Dim Sum

  1. Sushi
  2. Dim Sum

  1. Sushi
  2. Dim Sum
Definition List:
Three spaces, a dollar sign, the term, a colon, a space, followed by the definition.
   $ Sushi: Japan
   $ Dim Sum: S.F.
Sushi
Japan
Dim Sum
S.F.
Table:
Any number of lines of text. Each line is one row of the table consisting of one or more cells. Each cell starts and ends with a vertical bar '|'. Any spaces at the beginning of a line are ignored.
Notes:
| *bold* | cells are displayed as table headers.
|   center-spaced   | cells are displayed center aligned.
|     right-spaced | cells are displayed right aligned.
| 2 colspan || cells are displayed as multi-span columns (i.e., a cell with no text spans a column).
|^| cells with a caret indicate follow-up rows of multi-span rows (this functionality is provided by TablePlugin).
• If a row contains a large amount of text, and you want it to be more readable while editing the table, split the row into multiple text lines by ending each line with a backslash character '\'.
• Table cells wrap automatically as determined by the browser.
| *L* | *C* | *R* |
| A2 |  2  |  2 |
| A3 |  3  |  3 |
| multi span |||
| A4-6 | four | four |
|^| five | five |



|^| six | six |
L C R
A2 2 2
A3 3 3
multi span
A4-6 four four
five five
six six
WikiWord Links:
CapitalizedWordsStuckTogether (or WikiWords) will produce a link automatically.
Note: In case you want to link to a topic in a different Galeon web write Webname.TopicName.
WebNotify

Know.ReadmeFirst
WebNotify

ReadmeFirst?

Forced Links:
You can create a forced internal link by enclosing words in double square brackets.
Note: Text within the brackets may contain optional spaces; the topic name is formed by capitalizing the initial letter and by removing the spaces; for example, [[text formatting FAQ]] links to topic TextFormattingFAQ. You can also refer to a different web and use anchors.
Note: To "escape" double square brackets that would otherwise be a correct link, prefix the leading left square brackets with an exclamation point, that is, begin with ![[....
[[wiki syntax]]

[[Main.TWiki users]]

escaped:
![[wiki syntax]]
wiki syntax

Main.TWiki users

escaped: [[wiki syntax]]

Specific Links:
Create a link where you can specify the link text and the link reference separately, using nested square brackets like [[reference][text]]. Internal link references (e.g. WikiSyntax) and external link references (e.g. http://TWiki.org/) are supported.
Note: The same Forced Links rules apply for internal link references.
Note: For external link references, you can simply use a space instead of ][ to separate the link URL from the descriptive text.
Note: Anchor names can be added as well, like [[Home#MyAnchor][go home]] and [[http://gnu.org/#Action][GNU Action]].
[[WikiSyntax][syntax]]

[[http://gnu.org][GNU]]

[[http://xml.org XML]]
syntax

GNU

XML

Anchors:
You can define a link reference inside a Galeon topic (called an anchor name) and link to that. To define an anchor write #AnchorName at the beginning of a line. The anchor name must be a WikiWord. To link to an anchor name use the [[MyTopic#MyAnchor]] syntax. You can omit the topic name if you want to link within the same topic.
[[WikiWord#NotThere]]

[[#MyAnchor][Jump]]

#MyAnchor To here
WikiWord#NotThere

Jump

To here

Prevent a Link:
Prevent a WikiWord from being linked by prepending it with an exclamation point.
!SunOS
SunOS
Disable Links:
You can disable automatic linking of WikiWords by surrounding text with <noautolink> and </noautolink> tags.
Note: Each tag must be on a line by itself.
Note: This also works for TWiki tables, but only if you add a blank line between the end of the table and the closing </noautolink> tag (known issue of the TablePlugin).
 <noautolink>
 RedHat &
 SuSE
 </noautolink>
RedHat & SuSE
Mailto: Links:
To create 'mailto:' links that have more descriptive link text, specify subject lines or message bodies, or omit the email address, you can write [[mailto:user@domain descriptive text]].
[[mailto:a@z.com Mail]]

[[mailto:?subject=Hi Hi]]
Mail

Hi

Using HTML

You can use just about any HTML tag without a problem - however, there are a few usability and technical considerations to keep in mind.

HTML and TWiki Usability

TWiki HTML Rendering

TWiki and JavaScript

You can use JavaScript for your TWiki applications. Since TWiki rendering might interfere with JavaScript code you need to escape it with HTML comments and <pre> tags:

<script language="JavaScript">
<!-- Hide JavaScript and <pre> escape TWiki rendering
... put your JavaScript code here...
// Stop hiding and stop </pre> escaping TWiki rendering -->
</script>

Hyperlinks

Being able to create links without any formatting required is a core TWiki feature, made possible with WikiWords. New TWiki linking rules are a simple extension of the syntax that provide a new set of flexible options.

Internal Links

External Links

TWiki Variables

Variables are names that are enclosed in percent signs % that are expanded on the fly.

TWikiPlugin Formatting Extensions

Plugins provide additional text formatting capabilities and can extend the functionality of Galeon into many other areas. For example, the optional SpreadSheetPlugin lets you create a spreadsheet with the same basic notation used in TWiki tables.

Available Plugins are located in the Plugins web on TWiki.org. Currently enabled plugins on this TWiki installation, as listed by %PLUGINDESCRIPTIONS%:

Check on current Plugin status and settings for this site in TWikiPreferences.

Common Editing Errors

TWiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for, taken from the TextFormattingFAQ:

-- TWiki:Main.MikeMannix - 02 Dec 2001
-- TWiki:Main.PeterThoeny - 25 Apr 2004


TWiki Variables

Special text strings expand on the fly to display user data or system info

TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is opened. When a topic is rendered for viewing, VARIABLES are replaced by data, either user-entered, or info automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you configure. You can also define custom variables, with new names and values.

Note: To leave a variable unexpanded, preceed it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%.

Predefined Variables

Most predefined variables return values that were either set in the lib/twiki.cfg file, when TWiki was installed, or taken from server info (like current username, or date and time). Many of the variables let you format the appearance of the display results.

This version of TWiki - 07 May 2004 - expands the following variables (enclosed in % percent signs):

ATTACHURL -- attachment URL of the current topic

ATTACHURLPATH -- path of the attachment URL of the current topic

BASETOPIC -- base topic where an INCLUDE started

BASEWEB -- base web where an INCLUDE started

DISPLAYTIME -- display time

DISPLAYTIME{"format"} -- formatted display time

ENCODE{"string"} -- encodes a string

GMTIME -- GM time

GMTIME{"format"} -- formatted GM time

HOMETOPIC -- home topic in each web

HTTP_HOST -- environment variable

ICON{"type"} -- small icon of common attachment types

INCLUDE{"page"} -- include other topics or web pages

INCLUDINGTOPIC -- name of topic that includes current topic

INCLUDINGWEB -- web that includes current topic

MAINWEB -- name of Main web

METASEARCH -- special search of meta data

NOTIFYTOPIC -- name of the notify topic

PUBURL -- the base URL of attachments

PUBURLPATH -- the base URL path of attachments

REMOTE_ADDR -- environment variable

REMOTE_PORT -- environment variable

REMOTE_USER -- environment variable

SCRIPTURL -- script URL of Galeon

SCRIPTURLPATH -- script URL path of Galeon

SCRIPTSUFFIX -- script suffix

SEARCH{"text"} -- search content

SERVERTIME -- server time

SERVERTIME{"format"} -- formatted server time

SPACEDTOPIC -- topic name, spaced and encoded

STARTINCLUDE -- start position of topic text if included

STATISTICSTOPIC -- name of statistics topic

STOPINCLUDE -- end position of topic text if included

TOC -- table of contents of current topic

TOC{"Topic"} -- table of contents

TOPIC -- name of current topic

TOPICLIST{"format"} -- topic index of a web

TWIKIWEB -- name of TWiki documentation web

URLPARAM{"name"} -- get value of a URL parameter

USERNAME -- your login username

VAR{"NAME" web="Web"} -- get a preference value from another web

WEB -- name of current web

WEBLIST{"format"} -- index of all webs

WEBPREFSTOPIC -- name of web preferences topic

WIKIHOMEURL -- site home URL

WIKINAME -- your Wiki username

WIKIPREFSTOPIC -- name of site-wide preferences topic

WIKITOOLNAME -- name of your TWiki site

WIKIUSERNAME -- your Wiki username with web prefix

WIKIUSERSTOPIC -- name of topic listing all registers users

WIKIVERSION -- the version of the installed TWiki engine

Preferences Variables

Additional variables are defined in the preferences ( site-level ( SL ) in TWikiPreferences, web-level ( WL ) in WebPreferences of each web, and user level ( UL ) preferences in individual user topics):

Variable: Level: What:
%ALLOWTOPICCHANGE% (any topic) List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl)
%ALLOWTOPICRENAME% (any topic) List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl)
%ALLOWWEBCHANGE% WL List of users and groups who are allowed to change topics in the Galeon web. (More in TWikiAccessControl)
%ALLOWWEBRENAME% WL List of users and groups who are allowed to rename topics in the Galeon web. (More in TWikiAccessControl)
%ATTACHLINKBOX% SL , UL Default state of the link check box in the attach file page. Check box is initially checked if value is set to CHECKED , unchecked if empty. If checked, a link is created to the attached file at the end of the topic. Value is:
%DENYTOPICCHANGE% (any topic) List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%DENYTOPICRENAME% (any topic) List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%DENYWEBCHANGE% WL List of users and groups who are not allowed to change topics in the Galeon web. (More in TWikiAccessControl)
%DENYWEBRENAME% WL List of users and groups who are not allowed to rename topics in the Galeon web. (More in TWikiAccessControl)
%DONTNOTIFYCHECKBOX% SL , UL Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
%EDITBOXHEIGHT% SL , UL Vertical size of edit box, is 17
%EDITBOXWIDTH% SL , UL Horizontal size of edit box, is 70
%EDITBOXSTYLE% SL , UL Style of text edit box. Set to width: 99% for full window width (default; overwrites the EDITBOXWIDTH setting), or width: auto to disable. Value is: width: 99%
%FINALPREFERENCES% SL , WL List of preferences that are not allowed to be overridden by next level preferences
%HTTP_EQUIV_ON_EDIT% SL , UL http-equiv meta tags for edit script.
%HTTP_EQUIV_ON_PREVIEW% SL , UL http-equiv meta tags for preview script.
%HTTP_EQUIV_ON_VIEW% SL http-equiv meta tags for view, rdiff, attach, search* scripts.
%NEWTOPICBGCOLOR% SL , UL Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR% SL , UL Font color of non existing topic. ( UL needs authentication for topic views )
%NOSEARCHALL% WL Exclude web from a web="all" search (set variable to on for hidden webs)
%RELEASEEDITLOCKCHECKBOX% SL , UL Default state of the "Release edit lock" (UnlockTopic) check box in preview. Checkbox is initially checked if Set RELEASEEDITLOCKCHECKBOX = checked="checked", or unchecked if empty. If checked, make sure to click on Edit to do more changes; do not go back in your browser to the edit page, or you risk that someone else will edit the topic at the same time! Value is: checked="checked"
%WEBBGCOLOR% WL Background color of web
%WEBCOPYRIGHT% SL , WL Copyright notice (bottom right corner of topics)
%WEBTOPICLIST% WL Common links of web (second line of topics)
%WIKIWEBLIST% SL List of Galeon webs (in upper right corner of topics)
%WIKIWEBMASTER% SL Webmaster email address (sender of email notifications) , is tko@users.sourceforge.net

Note: There are some more useful variables defined in the TWikiPreferences like %BR% for line break, colors like %RED% for colored text and small icons like %H% for a HELP Help icon.

Setting Preferences

Creating Custom Variables

Example: Create a custom logo variable the TWiki web

-- TWiki:Main.PeterThoeny - 09 May 2004
-- TWiki:Main.MikeMannix - 12 May 2002


File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

File Sharing

Web Authoring

Uploading Files

Downloading Files

Moving Attachment Files

An attachment can be moved between topics.

Deleting Attachments

Move unwanted Attachments to web Trash, topic TrashAttachment.

Linking to Attached Files

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment Action Size Date Who Comment
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on a Manage link takes you to a new page that looks like this:

Attachment Action Size Date Who Comment Attribute
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version Action Date Who Comment
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

Known Issues


TWiki Forms

Form-based input in topics, with name/value pairs stored as Meta Data variables; choose one of multiple forms per web & topic

Overview

By adding form-based input to freeform content, you can structure topics with unlimited, easily searchable categories. When forms are enabled for a web and selected in a topic, a single form appears in edit mode, and the contents are rendered as a table when viewed on the display page. You can define unlimited forms per web. For each topic, you can select a template if more than one is defined, or remove forms entirely. Form input values are stored as TWikiMetaData; all data is saved.

Form Templates replace TWikiCategoryTables from the 01-Dec-2000 version of TWiki. - see #FormsVsCategoryTables

Defining a Form Template

A Form Template is simply a page containing your form, defined as a table where each row is one form field.

Form Template Elements

Defining a Form in One Topic

  1. Create a new topic with your form name: YourForm, ExpenseReport, InfoCategory, RecordReview, whatever you need.
  2. Create a TWiki table, with each column head representing one element of an entry field: Name, Type, Size, Values, and Tooltip message (see sample below).
  3. For each field, fill in a new line; for the type of field, select from the list.
  4. Save the topic (you can later choose to enable/disable individual forms).

Example: WebForm
| *Name* | *Type* | *Size* | *Values* | *Tooltip message* |
| Know.TopicClassification | select | 1 | Know.NoDisclosure, 
  Know.PublicSupported, Know.PublicFAQ | blah blah... |
| Know.OperatingSystem | checkbox | 3 | Know.OsHPUX, Know.OsLinux,
  Know.OsSolaris, Know.OsWin | blah blah... |
| Know.OsVersion | text | 16 | | blah blah... |

Name Type Size Values Tooltip message
TopicClassification? select 1 NoDisclosure?, PublicSupported?, PublicFAQ? blah blah...
OperatingSystem? checkbox 3 OsHPUX?, OsLinux?, OsSolaris?, OsWin? blah blah...
OsVersion? text 16   blah blah...

Defining a Form with Multiple Topics

Forms can also be defined by using form templates that retrieve field values from one or more separate topics:

Example: WebFormTemplate

Enabling Forms by Web

Forms are enabled on a per web basis. The WEBFORMS variable in WebPreferences is optional and defines a list of possible form templates. Example:

Including Forms in New Topics

Setting Up Multiple Form Options

Form Data Storage

The form topic name, fields and values are stored as TWikiMetaData - the order of the field/value pairs is the same as in the template.

Using Form Data

TWikiForms accept user-input data, stored as TWikiMetaData. Meta data also contains program-generated info about changes, attachments, etc. To find, format and display form and other meta data, see TWikiMetaData, SEARCH and METASEARCH variables in TWikiVariables, and TWiki Formatted Search for various options.

Main Changes from Category Tables

The Form Template system is a more powerful, flexible replacement for the original TWikiCategoryTable. Data from existing category tables can be imported directly.

Form Templates Category Tables
defined in topics defined in templates
many forms per web one table per web
saved as Meta Data saved as HTML
Change & Add Form buttons UseCategory radio button

Importing Category Table Data

On upgrading from the previous TWiki, a Form Template topic has to be built for each web that used a Category Table, recreating the fields and values from the old twikicatitems.tmpl. The replacement Form Template must be set as the first item in the WebPreferences variable WEBFORMS. If missing, pages will display, but attempting to edit results in an error message.

The new Form Template system should work with old Category Table data with no special conversion. Data is assigned to Meta variables the first time an imported topic is edited and saved in the new system.

TIP NOTE: If things aren't working correctly, there may be useful entries in data/warning.txt.

-- TWiki:Main.JohnTalintyre - 16 Aug 2001
-- TWiki:Main.MikeMannix - 05 Jan 2002
-- TWiki:Main.PeterThoeny - 25 Apr 2004


TWiki Templates

Definition of the templates used to render all HTML pages displayed in TWiki

Overview

The new modular template system offers flexible, easy control over the layout of all TWiki pages. The master template approach groups parts that are shared by several templates - like headers and footers - in a common file. Special variables allow individual layouts to include parts from a master template - variables are mixed with regular HTML markup for template-specific content. Templates are used to define page layout, and also to supply default content for new pages.

Major changes from the previous template system

Where the old templates were each complete HTML documents, the new templates are defined using variables to include template parts from a master file. You can now change one instance of a common element to update all occurrences; previously, every affected template had to be updated. This simplifies the conversion of templates into XHTML format, and provides a more versatile solution for templates and for TWikiSkins. The new system:

How Template Variables Work

Types of Template

There are three types of template:

Master Templates

Common parts, appearing in two or more templates, can be defined in a master template and then shared by others: twiki.tmpl is the default master template.

Template variable: Defines:
%TMPL:DEF{"sep"}% "|" separator
%TMPL:DEF{"htmldoctype"}% Start of all HTML pages
%TMPL:DEF{"standardheader"}% Standard header (ex: view, index, search)
%TMPL:DEF{"simpleheader"}% Simple header with reduced links (ex: edit, attach, oops)
%TMPL:DEF{"standardfooter"}% Footer, excluding revision and copyright parts
%TMPL:DEF{"oops"}% Skeleton of oops dialog

HTML Page Templates

Galeon uses HTML template files for all actions, like topic view, edit, and preview. This allows you to change the look and feel of all pages by editing just a few template files.

Templates are in the twiki/templates directory. As an example, twiki/templates/view.tmpl is the template file for the twiki/bin/view script. Templates can be overloaded by individual webs. The following search order applies:

  1. twiki/templates/$webName/$scriptName.tmpl
  2. twiki/templates/$scriptName.tmpl

HELP NOTE: TWikiSkins can be defined to overload the standard templates.

Special variables are used in templates, especially in view, to display meta data.

Template Topics

Template topics define the default text for new topics. There are three types of template topic:

Topic Name: What it is:
WebTopicViewTemplate Error page shown when you try to view a nonexistent topic
WebTopicNonWikiTemplate Alert page shown when you try to view a nonexistent topic with a non-WikiName
WebTopicEditTemplate Default text shown when you create a new topic.
All template topics are located in the TWiki web. The WebTopicEditTemplate can be overloaded. When you create a new topic, TWiki locates a topic to use as a content template according to the following search order:

  1. A topic name specified by the templatetopic CGI parameter.
  2. WebTopicEditTemplate in the current web
  3. WebTopicEditTemplate in the TWiki web

Edit Template Topics and Variable Expansion

The following variables get expanded when a user creates a new topic based on a template topic:

Variable: Description:
%DATE% Current date, e.g. 14 May 2013
%USERNAME% Login name, e.g. jsmith
%WIKINAME% WikiName of user, e.g. JohnSmith
%WIKIUSERNAME% User name, e.g. Main.JohnSmith
%URLPARAM{"name"}% Value of a named URL parameter
%NOP% A no-operation variable that gets removed. Useful to prevent a SEARCH from hitting an edit template topic; also useful to escape a variable like %URLPARAM%NOP%{...}%
%NOP{ ... }% A no-operation text that gets removed. Useful to write-protect an edit template topic, but not the topics based this template topic. See notes below. Example:
%NOP{
   * Set ALLOWTOPICCHANGE = Main.TWikiAdminGroup
}%

Notes:

All other variables are unchanged, e.g. are carried over "as is" into the new topic.

Template Topics in Action

Here is an example for creating new topics based on a specific template topic:

The above form asks for a topic name. A hidden input tag named templatetopic specifies ExampleTopicTemplate as the template topic to use. Here is the HTML source of the form:

<form name="new" action="%SCRIPTURLPATH%/edit%SCRIPTSUFFIX%/%INTURLENCODE{"%WEB%"}%/">
   * New example topic: 
     <input type="text" name="topic" value="ExampleTopic%SERVERTIME{$yearx$mox$day}%" size="23" />
     <input type="hidden" name="templatetopic" value="ExampleTopicTemplate" />
     <input type="hidden" name="topicparent" value="%TOPIC%" />
     <input type="hidden" name="onlywikiname" value="on" />
     <input type="hidden" name="onlynewtopic" value="on" />
     <input type="submit" value="Create" />
     (date format is <nop>YYYYxMMxDD)
</form>

The edit scipt understands the following parameters, typically supplied by HTML input fields:

Parameter: Description:
topic Name of topic to create. Can be set in a text field, or is set programmatically (e.g. with a sequential number)
onlywikiname If set, TWiki will complain if the topic name is not a WikiWord
onlynewtopic If set, TWiki will complain if a topic of the same name already exists
templatetopic The name of the template topic, e.g. topic used to copy the initial content
topicparent Sets the parent topic
TopicClassification Assuming the template topic has a form with a field called "TopicClassification", it will set the value of the field
anyname Any parameter can passed to the new topic; if the template topic contains %URLPARAM{"anyname"}%, it will be replaced by its value

TIP TIP: You can use the %WIKIUSERNAME% and %DATE% variables in your topic templates to include the signature of the person creating a new topic. The variables are expanded into fixed text when a new topic is created. The standard signature is:
-- %WIKIUSERNAME% - %DATE%

Templates by Example

Attached is an example of an oops based template oopsbase.tmpl and an example oops dialog oopstest.tmpl based on the base template. %A% NOTE: This isn't the release version, just a quick, simple demo.

Base template oopsbase.tmpl

The first line declares a delimiter variable called "sep", used to separate multiple link items. The variable can be called anywhere by writing %TMPL:P{"sep"}%

%TMPL:DEF{"sep"}% | %TMPL:END%
<html>
<head>
  <title> %WIKITOOLNAME% . %WEB% . %TOPIC% %.TMPL:P{"titleaction"}%</title>
  <base href="%SCRIPTURL%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%">
  <meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td bgcolor="%WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <a href="%WIKIHOMEURL%">
      <img src="%PUBURLPATH%/wikiHome.gif" border="0"></a>
    </td>
    <td>
      <b>%WIKITOOLNAME% . %WEB% . </b><font size="+2">
      <B>%TOPIC%</b> %TMPL:P{"titleaction"}%</font>
    </td>
  </tr>
  <tr bgcolor="%WEBBGCOLOR%">
    <td colspan="2">
      %TMPL:P{"webaction"}%
    </td>
  </tr>
</table>
--- ++ %TMPL:P{"heading"}%
%TMPL:P{"message"}%
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr bgcolor="%WEBBGCOLOR%">
    <td valign="top">
      Topic <b>%TOPIC%</b> . {
        %TMPL:P{"topicaction"}%
      }
    </td>
  </tr>
</table>
</body>

Test template oopstest.tmpl

Each oops template basically just defines some variables and includes the base template that does the layout work.

%TMPL:DEF{"titleaction"}% (test =titleaction=) %TMPL:END%
%TMPL:DEF{"webaction"}% test =webaction= %TMPL:END%
%TMPL:DEF{"heading"}%
Test heading %TMPL:END%
%TMPL:DEF{"message"}%
Test =message=. Blah blah blah blah blah blah blah blah blah blah blah...

   * Some more blah blah blah blah blah blah blah blah blah blah...
   * Param1: %PARAM1%
   * Param2: %PARAM2%
   * Param3: %PARAM3%
   * Param4: %PARAM4%
%TMPL:END%
%TMPL:DEF{"topicaction"}%
Test =topicaction=:
[[%WEB%.%TOPIC%][OK]] %TMPL:P{"sep"}%
[[%TWIKIWEB%.TWikiRegistration][Register]] %TMPL:END%
%TMPL:INCLUDE{"oopsbase"}%

Sample screen shot of oopstest.tmpl

With URL: .../bin/oops/Sandbox/TestTopic2?template=oopstest&param1=WebHome&param2=WebNotify

testscreen.gif

Known Issues

-- TWiki:Main.PeterThoeny - 25 Apr 2004
-- TWiki:Main.MikeMannix - 14 Sep 2001
-- TWiki:Main.DavidLeBlanc - 11 Mar 2002


TWiki Skins

Skins overlay regular templates with alternate header/footer layouts; topic text is not affected

Overview

Skins are customized TWikiTemplates files. You can use skins to change the look of a Galeon topic, for example, the layout of the header and footer. Rendered text between header and footer does not change. You can also use skins to define an alternate view, like a view optimized for printing.

Defining Skins

Skin files are located in the twiki/templates directory and are named with the syntax: <scriptname>.<skin>.tmpl. For example, the Printable skin for the view template is view.print.tmpl.

Use the existing TWikiTemplates (like view.tmpl) or skin files as a base for your own skin, name it for example view.myskin.tmpl.

Variables in Skins

You can use template variables, TWikiVariables, and other predefined variables to compose your skins. Some commonly used variables in skins:

Variable: Expanded to:
%WIKILOGOURL% Link of page logo
%WIKILOGOIMG% Image URL of page logo
%WIKILOGOALT% Alt text of page logo
%WEBBGCOLOR% Web specific background color, defined in the WebPreferences
%WIKITOOLNAME% The name of your TWiki site
%SCRIPTURL% The script URL of TWiki
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi
%WEB% The name of the current web. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%WEB%"}% for proper handling in an internationalized environment
%TOPIC% The name of the current topic. Note: It is recommended to URL-encode the variable in form actions with %INTURLENCODE{"%TOPIC%"}% for proper handling in an internationalized environment
%WEBTOPICLIST% Common links of current web, defined in the WebPreferences. It includes a #GoBox
%TEXT% The topic text, e.g. the content that can be edited
%META{"form"}% TWikiForm, if any
%META{"attachments"}% FileAttachment table
%META{"parent"}% The topic parent
%EDITTOPIC% Edit link
%REVTITLE% The revision title, if any, ex: (r1.6)
%REVINFO% Revision info, ex: r1.6 - 24 Dec 2002 - 08:12 GMT - TWikiGuest
%WEBCOPYRIGHT% Copyright notice, defined in the WebPreferences
%BROADCASTMESSAGE% Broadcast message at the beginning of your view template, can be used to alert users of scheduled downtimes; is set in TWikiPreferences

The "Go" Box and Navigation Box

The %WEBTOPICLIST% includes a "Go" box to jump to a topic. The box also understand URLs, e.g. you can type http://www.google.com/ to jump to an external web site. The feature is handy if you build a skin that has a select box of frequently used links, like Intranet home, employee database, sales database and such. A little JavaScript gets into action on the onSelect method of the select tag to fill the selected URL into the "Go" box field, then submits the form.

Here is an example form that has a select box and the "Go" box for illustration purposes. You need to have JavaScript enabled for this to work: