
This is a short introductory training course for TWiki beginners.

%SLIDESHOWSTART{template="ATasteOfTWikiTemplate"}%

---++ A Taste of TWiki
<table cellspacing="10"><tr><td>
<img src="%ATTACHURL%/hula.gif" alt="Hula girl"  width="113" height="111" /></td>
<td>
The basic function of TWiki is a Wiki (if that helps!)

A Wiki is like a 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 [[http://www.hyperdictionary.com/computing/hypercard][Macintosh Hypercard]], via [[http://www.c2.com/cgi/wiki?WardCunningham][Ward Cunningham]]
   * In Ward's words, Wiki is _"the simplest online database that could possibly work"_
   * A Wiki is basically a shared, online, persistent whiteboard
</td></tr></table>

---++ TWiki Wiki
<table cellspacing="10"><tr><td>
<img src="%ATTACHURL%/whiteboard.gif" alt="Whiteboard" width="240" height="160" />
</td>
<td>TWiki implements the basic Wiki idea of a shared whiteboard

   * Anyone can add content<br />... or change what is written<br />... or change the organisation of the content
   * Whatever what you write is<br />... nicely presented<br />... remembered... and never forgotten
</td></tr></table>

TWiki also acts as an "application platform" to integrate a number of other functions.

TWiki is an Open-Source development on [[http://twiki.org/][TWiki.org]]
   * led by TWiki:Main.PeterThoeny
   * with over 100 regular contributors in many countries

---++ Where is it used?
TWiki is mainly used in commercial environments, often on corporate intranets
   * Examples: Disney, British Telecom, SAP, Wind River, Motorola, <a href="http://udn.epicgames.com/Main/WebHome">Epic Games</a><br />
     <table cellspacing="20"><tr>
     <td><img src="%ATTACHURL%/Disney_logo.gif" alt="Disney logo"  width="80" height="31" /></td>
     <td><img src="%ATTACHURL%/BT_logo.gif" alt="British Telecom logo"  width="80" height="41" /></td>
     <td><img src="%ATTACHURL%/SAP_logo.gif" alt="SAP logo"  width="80" height="40" /></td>
     <td><img src="%ATTACHURL%/Motorola_logo.gif" alt="Motorola logo"  width="80" height="65" /></td>
     <td><img src="%ATTACHURL%/EpicGames_logo.gif" alt="Epic Games logo"  width="80" height="65" /></td>
     </tr></table>

A number of public Wiki sites also use TWiki
   * Examples: <br /> https://twiki.cern.ch/twiki/bin/view/ <br /> http://csci.mrs.umn.edu/twiki/view

---++ TWiki Features
TWiki builds on the original Wiki concept and adds a number of features that make it very useful in a business environment.
   * TWiki pages are fully revision controlled, so a record of every change to every page is kept <table border="0" cellpadding="3" cellspacing="0"><tr><td bgcolor="#D0D0D0"><font color="black" size="-1">r6 <a>&lt;</a> r5 <a>&lt;</a> r4</font></td></tr></table>
   * The look-and-feel is highly configurable, through use of templates
<table width="100%"><tr><td valign="top">
   * A "plugins" interface eases
      * customisation
      * extension
      * application integration
</td><td align="right"><img src="%ATTACHURL%/lego.gif" alt="" /></td></tr></table>

---++ Applications of basic TWiki
Basic TWiki can be used as:
   * A whiteboard
   * A document repository
   * A collaborative authoring environment
   * A notebook / scrapbook
   * A chat room   

---++ Extended applications
TWiki-with-extensions has been used as:
   * A Content Management System (CMS) for websites
   * A presentation development tool
   * A Blog
   * A database
   * A project management system
   * A tracking tool
   * (<i>truth is, we don't really know its limits!</i>)

---++ Structure of a TWiki page
TWiki pages are usually organised into three parts:
   * A header
   * A body
   * A footer

   * The header and the footer are generated by the system
   * The body contains the text of the page, as entered by you
TWiki is very configurable, and the look can change. However the essentials will all be there on the page (somewhere!)

---++ 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.
<table width="90%" border="0" cellpadding="3" cellspacing="0" bgcolor="white">
 <tr>
  <td bgcolor="#D0D0D0" rowspan="2" valign="top" width="1%">
    <img src="%ATTACHURL%/myco.gif" width="62" height="63" border="0" alt="TWiki home" />
   </td><td>
   <font size="+0"> My<nop>Co.My<nop>Topic </font>
  </td><td align="right">
    <font size="-1" color="black">Webs:<br /> <a href="non">Myco</a> | <a href="non">Main</a> | <a href="non">TWiki</a> | <a href="non">Sandbox</a></font>
  </td>
 </tr>
 <tr bgcolor="#D0D0D0">
  <td colspan="2">
    <font size="-1" color="black">[[WebChanges][Changes]] | [[WebIndex][Index]] | [[WebSearch][Search]] | Go <input type="text" name="topic" size="16" /></font>
  </td>
 </tr>
</table>
It will also usually contain a number of 'links' that you can click on. You will generally see:
   * [[WebChanges][Changes]] - gives you a list of recent changes
   * [[WebIndex][Index]] - gives you a full index
   * [[WebSearch][Search]] - takes you to a search page, where you can search all the text
   * Go <input type="text" name="topic" size="16" /> - lets you type in the name of a page you already know

---++ The Page Header ... continued
<table width="90%" border="0" cellpadding="3" cellspacing="0" bgcolor="white">
 <tr>
  <td bgcolor="#D0D0D0" rowspan="2" valign="top" width="1%">
    <img src="%ATTACHURL%/myco.gif" width="62" height="63" border="0" alt="TWiki home" />
   </td><td>
    <font size="+0"> My<nop>Co.My<nop>Topic </font>
  </td><td align="right">
    <font size="-1" color="black">Webs:<br /> <a href="non">Myco</a> | <a href="non">Main</a> | <a href="non">TWiki</a> | <a href="non">Sandbox</a></font>
  </td>
 </tr>
 <tr bgcolor="#D0D0D0">
  <td colspan="2">
    <font size="-1" color="black">[[WebChanges][Changes]] | [[WebIndex][Index]] | [[WebSearch][Search]] | Go <input type="text" name="topic" size="16" /></font>
  </td>
 </tr>
</table>
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
   * For example, we might have a web called "Enemies", where we keep all we know about our enemies, and another called "Friends"
   * There's usually a safe play web called something like "Sandbox" or "Scratch", where you can create pages just to try things out
   * And some admin areas, like "%MAINWEB%" and "%TWIKIWEB%"

---++ 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.
<table bgcolor="white" width="90%" border="0" cellpadding="3" cellspacing="0">
 <tr bgcolor="#D0D0D0">
  <td valign="top" colspan="2">
    <font size="-1" color="black"> <a href="none"><b>Edit</b></a>
    |  <a href="none">Attach</a>
    |  <a href="none">Diffs</a>  | r2 <a href="none">&gt;</a> r1
    |  <a href="none">More</a> </font>
  </td>
 </tr>
 <tr>
  <td valign="top">
    <font size="-1" color="black">Revision r1.2 - 13 Feb 2004 - 09:09 GMT - <a href="none">TWikiPresenter</a> </font>
  </td>
  <td width="40%" valign="top">
   <font size="-2">%WEBCOPYRIGHT% </font>
  </td>
 </tr>
</table>
   * The <a>Edit</a> link takes you to an interactive page where you can change the page content
   * The <a>Attach</a> link lets you attach files
   * The other links invoke other, more complex, functions, mainly to do with revision tracking - they can safely be ignored for now

---++ Editing Pages
   * You've read a page, and you disagree with it violently! It says:<br /> _Everyone_ *knows* that =the world= is an <font color="blue"><u>OblateSpheroid</u></font><br />But you know for a fact it is flat! ;-)
   * You've clicked the edit link, and an edit page has appeared. But it doesn't look much like what was on the page before - it's full of strange hieroglyphics!
<code>_Everyone_ <nop>*knows* that <nop>=the world= is an Oblate<nop>Spheroid</code>
   * Now what?

---++ What's in a page
   * The hieroglyphics are what's known as "TWiki Markup" or "formatting"
   * They are a really simple way of telling the browser how you want the page to look
   * You don't have to use them
      * TWiki understands pages in plain text just fine.<br /><br /> <code>Actually it is perfectly and absolutely flat</code><br /><br /> appears as <br /><br /> Actually it is perfectly and absolutely flat

---++ Formatting just makes pages prettier
... and easier to read<br /><br />
<code>_Actually_ it is <nop>*perfectly* and <nop>__absolutely__ flat</code><br /><br /> appears as <br /><br /> _Actually_ it is *perfectly* and __absolutely__ flat
   * A full description of all the formatting can be found in the %TWIKIWEB%.TextFormattingRules and %TWIKIWEB%.TextFormattingFAQ
   * The best thing to do is just to type until you get stuck
      * then follow the link on the edit page to the help.

---++ Commonly used formatting
TWiki understands pages in plain text just fine, but you can %RED% __jazz__ %ENDCOLOR%%GREEN% _them_ %ENDCOLOR%%BLUE% *up* %ENDCOLOR% using some simple formatting shortcuts. Here are some of the more commonly used ones:
   * <nop>---+ indicates a heading. Add more +'s for a deeper heading.
    | *You type* | *You see* |
    | %BLACK%<code>---+ This is a heading</code>%ENDCOLOR% | <h1>%BLACK%This is a heading%ENDCOLOR%</h1> |
    | %BLACK%<code>---++ And so is this</code>%ENDCOLOR% | <h2>%BLACK%And so is this%ENDCOLOR%</h2> |
   * %<nop>TOC% will insert a table of contents<br />

---++ More common formatting
   * A blank line gives a paragraph break<br />
   * <nop>--- on a line of its own gives a horizontal bar
   * Text in stars <nop>*like this* looks *like this* <br />
   * Text in underscores <nop>_like this_ looks _like this_ <br />
   * Text in equals signs <nop>=like this= looks =like this= <br />
   * Bulleted lists use three spaces followed by an asterisk (<tt>*</tt>) at the start of the line
      * The depth of the bullet is given by the number of spaces, in multiples of three
| *You type* | *You see* |
| <font color="black"><code>&nbsp;&nbsp;&nbsp;* Bullet</code><br /><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* Sub-bullet</code></font> | <ul><li><font color="black">Bullet</font><ul><li><font color="black">Sub-bullet</font></li></ul></li></ul> |
   * Numbered lists use a number in place of the <tt>*</tt>.  The list is numbered automatically, so you can just use a =1=

---++ Even more.....
   * You can create a table using vertical bars:
<verbatim>
     | Cat | Feline |
     | Bear | Ursine |
     | Wolf | Vulpine |
</verbatim>
   * appears as
     | <font color="black">Cat</font> | <font color="black">Feline</font> |
     | <font color="black">Bear</font> | <font color="black">Ursine</font> |
     | <font color="black">Wolf</font> | <font color="black">Vulpine</font> |
   * %<nop>RED% .... %<nop>ENDCOLOR% will change the colour of the enclosed text. Lots of colours are available (%RED%%<nop>RED%%ENDCOLOR%, %GREEN%%<nop>GREEN%%ENDCOLOR%, %BLUE%%<nop>BLUE%%ENDCOLOR% etc)

---++ Wiki<nop>Words
   * One special hieroglyph that is *very important* is a BumpyWord
      * a word that starts with uppercase, then some lowercase, then more uppercase (a.k.a <nop>CamelCase)
   * This has a special meaning to TWiki; if it matches the name of another topic, TWiki will automatically create a link to that page for you.
   * If there is no such page, then the word is highlighted and a question mark is put after the word, LikeThis
   * If you click on the question mark, then TWiki will invite you to create that page.

   * This lets you enter the names of topics you _think_ should exist, but don't yet
      * You, or someone else, can always come along later and click on the question mark!

---++ Referencing other pages and URLs
   * BumpyWords automatically link to the target page
      * You can make these links easier to read using square brackets:
         * <code>[<nop>[BumpyWords][bumpy words]] appears as [[BumpyWords][bumpy words]]</code>
   * An ordinary URL pasted into text will appear as a link - http://www.google.com
      * You can also prettify URLs using square brackets:
         * <code>[<nop>[http://www.google.com/][Google]]</code> appears as [[http://www.google.com/][Google]]
   * Use %<nop>SEARCH. This is an interface to a sophisticated search engine that embeds the results of the search in your page. See %TWIKIWEB%.TWikiVariables for full details.

---++ More formatting
   * There's *lots* more formatting available, see %TWIKIWEB%.TextFormattingRules and %TWIKIWEB%.TextFormattingFAQ
   * _If you are a real masochist, you can even enter raw HTML tags!_
   * *Important* to _disable_ unwanted formatting, use =&lt;nop&gt;=
      * <code>&lt;nop&gt;_word_</code> appears as <nop>_word_

---++ Creating new pages
   * Alternative ways:
      * Click on the question mark after a BumpyWord
      * Type in the name of the topic in the "Go:" box
      * Type in the name of the topic in the URL
   * Any time you try to visit a page that doesn't exist, TWiki will invite you to create it.
   * Make sure the names of topics are always BumpyWords.

---++ Attachments
   * Attachments are files which have been uploaded and attached to a TWiki page using the 'Attach' function in the footer.
<table border="0" cellspacing="2" cellpadding="1" bgcolor="white">
 <tr>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99">Attachment</font> <img src="http://TWiki.org/p/pub/TWiki/TablePlugin/diamond.gif" border="0" alt="sort" /></a></th>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99"> Action</font></a> </th>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99"> Size</font></a> </th>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99"> Date</font></a> </th>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99"> Who</font></a> </th>
  <th align="center" valign="top" bgcolor="#0c2577"><a href="none"><font color="#FFFF99"> Comment</font></a> </th>
 </tr>
 <tr>
  <td valign="top" bgcolor="#F8F8F8">
   <img src="http://TWiki.org/p/pub/icn/zip.gif" width="16" height="16" align="top" alt="" border="0" />
   <font color="black"><a href="none">myco.gif</a></font>
  </td>
  <td align="center" valign="top" bgcolor="#F8F8F8">
   <font color="black"><a href="none">manage</a></font>
  </td>
  <td align="right" valign="top" bgcolor="#F8F8F8"><font color="black"> 9.6&nbsp;K </font></td>
  <td valign="top" bgcolor="#F8F8F8"> <font color="black"> 13 Feb 2004 - 18:41 </font></td>
  <td valign="top" bgcolor="#F8F8F8"> <font color="black"> <a href="none">MushroomMagicMan</a> </font></td>
  <td valign="top" bgcolor="#F8F8F8"> <font color="black">Attached image file </font></td></tr>
</table>
   * Attachments are simply files, in whatever format you want.
   * TWiki recognises some file formats, notably image files (.gif)
      * Write =%<nop>ATTACHURL%/myco.gif= to see this: %ATTACHURL%/myco.gif

---++ 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:
   * What can I edit?
      * Anything. But it's good etiquette to sign your contributions
      * If someone doesn't want you to edit a page, it's up to them to say so, clearly, on the page
   * But what if somebody doesn't like my edits?
      * In TWiki, they can always recover the old revision and re-instantiate it if they really want to
      * Otherwise they should regard your changes as an opportunity for discussion
   * Pages in wiki are (usually) in one of three "modes"
      * Document<nop>Mode
      * Thread<nop>Mode
      * Structured<nop>Mode
TWiki doesn't automatically distinguish between these modes; they are purely semantic.

---++ Document<nop>Mode
   * A page in Document<nop>Mode usually comprises a contribution which is written in the third person and left unsigned.
   * The piece of text is community property
      * It may have multiple and changing authors as it is updated to reflect the community consensus.

---++ Thread<nop>Mode
   * Thread mode is a form of discussion where the community holds a conversation
   * The discussion usually starts out with a statement, at the top of the page, that is subsequently discussed
   * The page may be periodically "refactored" (edited) to remove some of the comments
      * As long as the comment is accurately reflected in what replaces it, nobody usually minds.
      * Remember to always maintain a complete list of contributors, though!
You may see a comment box on a page in Thread<nop>Mode 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" ;-)
   * Thread<nop>Mode is rather like an e-mail thread
      * Except that new comments are usually added to the end
   * Thread<nop>Mode pages often get refactored into Document<nop>Mode

---++ Structured<nop>Mode
   * A page in Structured<nop>Mode follows some predefined structure for example
      * An agenda
      * A set of meeting minutes
      * A requirement description.
   * Pages in Structured<nop>Mode will usually have rules governing how they are edited.

---++ Other Wiki tricks - Categories
   * A Wiki trick for grouping pages together
   * Example: to group together a set of pages all relating to the weather:
      1 Create a page called 'Category<nop>Weather'
      1 Put a SEARCH that contains the word 'Category<nop>Weather' into it
         * <code>%<nop>SEARCH{"Category<nop>Weather" nosearch="on" nosummary="on"}%</code>
      1 Put the BumpyWord 'Category<nop>Weather' on all the pages relating to the weather<br />(usually at the bottom, below a horizontal bar)

---++ 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.
   * Action<nop>TrackerPlugin: Support *action tags* in topics, with *automatic notification* of action statii <code>%ACTION...</code>
   * Calendar<nop>Plugin: Show a *monthly calendar* with highlighted events <code>%CALENDAR...%</code>
   * Comment<nop>Plugin: Support *rapid entry of short comments* (also known as <b>blogging</b>) <code>%COMMENT...</code>
   * Chart<nop>Plugin: Create PNG or GIF *charts to visualize data in TWiki tables* <code>%CHART...</code>
   * Edit<nop>TablePlugin: Edit TWiki tables using *edit fields and drop down boxes* <code>%EDITTABLE...</code>
   * Interwiki<nop>Plugin: Define *shortcuts* for links to *common external sites*

---++ More plugins
   * Render<nop>ListPlugin: Render *bullet lists in a variety of formats* <code>%RENDERLIST...</code>
   * Slide<nop>ShowPlugin: *Create web based presentations* based on topics with headings <code>%SLIDESHOWSTART...</code>
   * Spread<nop>SheetPlugin: Add *spreadsheet calculations* like "$SUM( $ABOVE() )" to tables located in TWiki topics <code>%CALC...</code>
   * Table<nop>Plugin: Control *presentation and sorting of tables* <code>%TABLE...</code>
   * TWiki<nop>DrawPlugin: Add *quick sketches* to pages <code>%DRAWING...</code>
The following plugins are installed on this TWiki: %ACTIVATEDPLUGINS%

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

---++ Credits and Acknowledgements
   * This training was developed by TWiki:Main.CrawfordCurrie on behalf of [[http://www.oxamer.com/][Oxamer]], one of the companies in the [[http://www.ogt.co.uk/][Oxford Gene Technology]] group.
   * Valuable contributions were also received from the TWiki Open Source community; special mentions go to:
      * TWiki:Main.WalterMundt
      * TWiki:Main.SvenDowideit
   * The latest version of this presentation is available at TWiki:%WEB%.%TOPIC%, where you can also provide feedback
%SLIDESHOWEND%

__Related topics:__ WelcomeGuest, TWikiTutorial, ATasteOfTWikiTemplate

