%META:TOPICINFO{author="MikkoLaakso" date="1184371244" format="1.1" reprev="1.6" version="1.6"}%
%TOC%

%I% This is the preview of the final skin, with most of the planned functionality. It has been tested in most parts to function similarly in all browsers. To propose changes to this skin, feel free to do so in [[http://twiki.org/cgi-bin/view/Plugins/QuickMenuSkinDev][TWiki.org: QuickMenuSkinDev]].

---+ Quick Menu Skin 

A functional skin that replaces the left bar with a customizable Javascript menu system. 

---++ Screen Shot

%SEARCH{ "QuickMenuSkin" scope="topic" nosearch="on" nototal="on" format="$pattern(.*\| *Screenshot\:[^\|]*\|([^\|]*).*)" }%

---++ Installation

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

   * Download the ZIP file from the Skin Home page (see below)
   * Unzip ==QuickMenuSkin.zip== in your twiki installation directory
   * Test if installed: %SCRIPTURL{"view"}%/%WEB%/%TOPIC%?skin=quickmenu
   * For skin activation see %TWIKIWEB%.TWikiSkins

---++ Settings

The menu can behave in two ways. When =CLICKMENU= is set to 0 then the menu automatically shows when you hover the mouse over the menu. When it is set to 1 then the menu is activated by clicking on it. By default =CLICKMENU= is set to 0.

To add different menus to the menubar you can set =QUICKMENUBAR= to the topic containing the javascript for your own custom menus. By default =QUICKMENUBAR= is set to =%%NOP%TWIKIWEB%.QuickMenuBar=, have a look at %TWIKIWEB%.QuickMenuBar to see how the menus are created.

To customize width of TWiki pages, define QUICKMENUPAGEWIDTH. You can use standard css, e.g. 90%, 60em, 800px, etc. The default is 100%.

To change settings just add them to %MAINWEB%.TWikiPreferences, WebPreferences, or your personal page.%BR%
Eg:
<pre>
   * %NOP%Set CLICKMENU = 1
   * %NOP%Set QUICKMENUBAR = %%NOP%TWIKIWEB%.QuickMenuBar
   * %NOP%Set QUICKMENUPAGEWIDTH = 90%
</pre>

---++ Modifying Menus

The menu bar is built by default from %TWIKIWEB%.QuickMenuBar, which in turn includes %TWIKIWEB%.QuickMenuBarLogin (if login is enabled) and %TWIKIWEB%.QuickMenuBarWebs and %TWIKIWEB%.QuickMenuBarUtilities. If internationalisation is enabled, then %TWIKIWEB%.QuickMenuBarLanguage is also included. These files contain javascript commands that are included by the skin's templates. You can edit these files to customize the menu, but be sure to avoid unwanted linking by enclosing your code in =&lt;noautolink&gt;= ... =&lt;/noautolink&gt;= tags.


   * Options-menu can only be changed by editing =view.quickmenu.tmpl= -template.

<noautolink>
---+++ QuickMenu Javascript Reference

   * *To create a new menu* %BR%
   =mymenu = new QuickMenu.Menu(menuBar, "Menu Text", "", "/icons/icon.gif", "Menu Tip Information");= %BR%
   or just a link:%BR%
   =new QuickMenu.Menu(menuBar, "TWiki.org", "http://twiki.org/");= %BR%
   or a javascript function:%BR%
   =new QuickMenu.Menu(menuBar, "Say Hello", "js:alert('Hello')");=

   * *Add items to the menu* %BR%
   =mymenu.Add("Item Text", "%<nop>SCRIPTURLPATH{"view"}%/PageToView", "", "Item Tip");= %BR%
   =mymenu.Add("Text Formatting", "%<nop>SCRIPTURLPATH{"view"}%/TextFormattingRules", "%<nop>ICONURLPATH{"help"}%", "More formatting help");= %BR%
   =mymenu.Add("Disabled item");=

   * *Add a submenu* %BR%
   =mymenu.Add("Choose Colour", ":Colour");= %BR%
   =mymenu.Colour.Add(...= %BR%
   or%BR%
   =submenu = mymenu.Add("Choose Colour", ":");= %BR%
   =submenu.Add(...=

---+++ QuickMenu Examples

   * *A _cleaner_ interface* %N% %BR%
   <small>You don't need to store each menu &amp; submenu in variables.</small> %BR%
 =with (new QuickMenu.Menu(menuBar, "Menu")) { %BR%
   Add("Item1", "url"); %BR%
   Add(); // Separator %BR%
   with (Add("SubMenu", ":")) { %BR%
     Add("SubItem1", "url"); %BR%
     Add("SubItem2", "url"); %BR%
     Add(... %BR%
   } %BR%
 }=

   * *An _edit_ button on the menubar* %BR%
   =new QuickMenu.Menu(menuBar, "%%NOP%MAKETEXT{"Edit"}%", "%%NOP%SCRIPTURLPATH{"edit"}%/%%NOP%BASEWEB%/%%NOP%BASETOPIC%?t=%%NOP%GMTIME{"$epoch"}%", "%%NOP%ICONURLPATH{"edittopic"}%", "%%NOP%MAKETEXT{"Edit this topic text"}%");=

   * *A _recent changes_ menu* <small>(Thanx to TWiki:Main/PeterHuisken) %BR%
   Creates a list of the 10 most recently changed topics.</small> %BR%
 =with (new QuickMenu.Menu(menuBar,"%%NOP%MAKETEXT{"Changes"}%","","","%%NOP%MAKETEXT{"Latest Changes"}%")) { %BR%
   %%NOP%SEARCH{".*" web="%%NOP%BASEWEB%" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" limit="10" format="  Add(\"$topic\", \"%%NOP%SCRIPTURLPATH{view}%/$web/$topic\",\"\");"}% %BR%
 }=

   * *A _main topics_ menu* %BR%
   <small>Lists all the child topics of WebHome.</small> %BR%
 =with (new QuickMenu.Menu(menuBar,"Web Topics")){ %BR%
   Add("%%NOP%HOMETOPIC%", "%%NOP%SCRIPTURLPATH{view}%/%%NOP%BASEWEB%/%%NOP%HOMETOPIC%", "%%NOP%ICONURLPATH{"home"}%"); %BR%
   Add(); %BR%
  %%NOP%SEARCH{"\%META:TOPICPARENT\{name=\"%%NOP%HOMETOPIC%\"\}\%" type="regex" nonoise="on" format="  Add(\"$topic\", \"%%NOP%SCRIPTURLPATH{view}%/$web/$topic\");"}% %BR%
 }=
</noautolink>

---+ What is new in this development version?

---++ Autocomplete

QuickMenuSkin allows quick fetching of pages inside current web. Just click and start typing into the jump box, and the skin automatically starts suggesting pages as you type. 

To activate the autocomplete-feature, you only have to install the plugins mentioned in _Installation_ . 

---++ NatEditContrib

Templates are updated for full compatibility with NatEditContrib.


---++ Other new features:

   * New look
   * W3C compatible XHTML (with only minor exceptions)
   * %GREEN% NEW %ENDCOLOR% Adjustable page width, by standard css ( e.g. =Set QUICKMENUPAGEWIDTH = 80%= ). Default now set to 100%.

---++ Fixes:
   * Compatibility problems with oops templates
   * Mixed up search result page
   * Attachment tables
   * Twisty problems in help and other places (uses Plugins.TwistyPlugin now)
   * Compatible with Plugins.SectionalEditPlugin ( contains =editsection.quickmenu.tmpl= ).



---++ Issue history:
%EDITTABLE{format="| textarea, 5x30, | textarea, 1x20, | textarea, 1x20, | date, 1 |"}%
| *Issue* | *priority* | *state/problem* | *Fixed in version* |
| The autocomplete will download an empty topic list in restricted webs (e.g. =ALLOWWEBVIEW = XxxGroup= is set), TWikiAjaxContrib limitation? | normal | <font color="#008000">FIXED</font>  | 14 July 2007 |
| =attachtables= -template needs table fix for =attachagain=  | cosmetic | =attachtables.quickmenu.tmpl=  |  |
| Comments/docs in templates is lacking | low |  |  |
| Sectional edit template height messed up by NatEdit | normal | <font color="#008000">FIXED</font> | 14 July 2007 |
| Clicking on Jump-box doesn't start downloading pagelist on any pages with Plugins.TwistyPlugin. The same code on TWiki 4.0.5 works just fine with TWisty. | normal | <font color="#008000">FIXED</font><br />This was the bug in BehaviourContrib, please dowload the latest BehaviourContrib (1.2.1) | 14 July 2007 |
| Right margin of the page will display too large on IE7 | cosmetic | FIX AVAILABLE (attached style.css), further testing required | 14 July 2007 |
| Problems with attach, Main.KlaasHolwerda reports not being able to use attach-feature in all webs. | high | <font color="#008000">FIXED</font> | 14 July 2007 |
| Unable to use the bottom bar buttons in IE6 on viewing the page. | high | <font color="#008000">FIXED</font>, please download attached <code>twiki.quickmenu.tmpl</code> and copy to <code>templates</code> -folder. | 14 July 2007 |
| User page has thinner margins than other pages.  | cosmetic | <font color="#008000">FIXED</font>, please download attached <code>UserViewTemplate.txt</code> and copy to <code>data/Main</code> -folder. | 14 July 2007 |
| Attach-page always assumes Plugins.BatchUploadPlugin is available | cosmetic | <font color="#008000">FIXED</font>, please download attached <code>attach.quickmenu.tmpl</code> and copy to <code>templates</code> -folder. | 14 July 2007 |
| Problems saving a topic | high | <font color="#008000">FIXED</font>, please download attached <code>twiki.quickmenu.tmpl</code> and copy to <code>templates</code> -folder. | 14 July 2007 |
 
---++ Installation
To this day the install script is not used, only manual installation is available:
   * (Only applies if you have previously installed TWiki:QuickMenuSkin that was released before 29 Apr 2007: ) Delete all the templates from the possible previous TWiki:QuickMenuSkin install, they are located in =templates= folder. This means all the tmpl-filenames with =quickmenu= in them.
   * Extract the package to twiki root folder
   * Set user/group for CGI user normally  ( =chown -R <cgi-username here>:<cgi-username here> twiki/= )
   * Install dependencies: TWiki:Plugins.TwistyPlugin
   * Install recommended dependencies/optional: 
      * For editing: TWiki:Plugins.NatEditContrib
      * For autocomplete-jumpbox feature: TWiki:Plugins.AutoCompletePlugin, TWiki:Plugins.TWikiAjaxContrib (+the attached Twiki javascript, other dependencies), TWiki:Plugins.BehaviourContrib (>1.2.1)
      * For batch uploading: TWiki:Plugins.BatchUploadPlugin (QuickMenuSkin automatically detects this plugin)

---++ Skin Info

|  Description: | Functional skin that replaces the left bar with a customizable Javascript menu system |
|  Screenshot: | <a href="%ATTACHURL%/fullscreen.gif"><img src="%ATTACHURL%/screenshot.gif" alt="Click for full screen image" width="600" height="130" /></a> |
|  Preview: | [[%SCRIPTURL{"view"}%/%WEB%/%TOPIC%?skin=quickmenu][Preview with this topic]] |
|  Base Name: | quickmenu |
|  Skin Author: | TWiki:Main/VernonLyon, TWiki:Main/MikkoLaakso |
|  Skin Version: | 25 Apr 2007 (v1.30) |
| Change&nbsp;History: | <!-- specify latest version first -->&nbsp; |
|  14 Jul 2007: | Fixes all known issues, changed skin to use TWiki:Plugins.AutoCompletePlugin.  -- Main.MikkoLaakso |
|  25 Apr 2007: | 4.1.2 compatible version. Rewritten most of the skin templates, changed style, added autocomplete-feature, plus many fixes and compatibility improvements  -- Main.MikkoLaakso |
|  21 Nov 2006: | Added backlinks template, Fixed IE "select" bug, Menu items are actual links, Cleaner interface (v1.06) |
|  13 Sep 2006: | Fixed IE bug (v1.05) |
|  18 Jul 2006: | Added language support (v1.04) |
|  13 Jul 2006: | Added support for icons in the menubar (v1.03) |
|  4 Jul 2006: | Added =QUICKMENUBAR= setting (v1.02) |
|  21 Jun 2006: | Added "Account" menu (v1.01) |
|  13 Jun 2006: | Initial version (v1.00) |
|  Dependencies: |  |
|  Skin Home: | http://TWiki.org/cgi-bin/view/Plugins/QuickMenuSkin |
|  Feedback: | http://TWiki.org/cgi-bin/view/Plugins/QuickMenuSkinDev |
|  Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/QuickMenuSkinAppraisal |

__Related topic:__ %TWIKIWEB%.TWikiSkins, %TWIKIWEB%.TWikiSkinBrowser, %TWIKIWEB%.UserDocumentationCategory, %TWIKIWEB%.AdminDocumentationCategory

-- TWiki:Main/VernonLyon - 13 Jun 2006

%META:FILEATTACHMENT{name="screenshot.gif" attachment="screenshot.gif" attr="" comment="" date="1177516999" path="screenshot.gif" size="28137" stream="screenshot.gif" tmpFilename="/tmp/xEpMeATXaQ" user="Main.MikkoLaakso" version="1"}%
%META:FILEATTACHMENT{name="fullscreen.gif" attr="h" autoattached="1" comment="" date="1151935718" path="fullscreen.gif" size="24979" user="TWiki:Main/VernonLyon" version=""}%
