You are here: Foswiki>Extensions Web>NatSkin (revision 37) Edit this topic text (e) Attach an image or document to this topic; manage existing attachments (a) View sequential topic history View without formatting (v) Create new topic Printable version of this topic (p) More: delete or rename this topic; set parent topic; view and compare revisions (m)
ALERT! This release of NatSkin is not compatible with the current DBCachePlugin. If you are experiencing broken attachment tables as described in Tasks.Item10035, please downgrade DBCachePlugin to its previous version (instructions at the top of the DBCachePlugin topic).

The Natural Skin


Powered by
WikiRing Consultants
NatSkin offers a decent appearance that increases usability and customizability in several respects to quickly accomplish a personalized wiki experience.

NatSkin allows you to switch between several kinds of page layouts. All of the predefined themes come with support for a 1,2 and 3 columns designs. To get a first impression check out the NatSkinStyleBrowser:
  • select one of the predefined styles
  • alter the header art by selecting a style variation
  • flip the sidebar from the left to the right
  • select different page framing by switching on/off page borders or enable a thin blog-like layout
  • switch on/off navigations tabs above the main area, the so called WebButtons
  • the position of the search box can be set to one of four predefined positions

Feature Overview

Conditional markup and skin states:

The NatSkinPlugin maintaines an internal representation of different ways to render the NatSkin concerning
  • the skin style,
  • style variants,
  • the sidebar location,
  • the page border decoration,
  • the web buttons in the topbar and
  • the positioning of the search box
and provides the infrastructure to get, set and display the skin style that is currently active as well as rendering different content depending on the skin state. This, for example, allows to switch the sidebar navigation from the left to the right with a single click.

Componentized templates:

The underlying templates that generate the pages are arranged in a flexible and manageable way to facilitate easy "skin mix-in", that is overriding specific parts of the templates by using the NatSkin as a base skin to create template modifications.

Customizing webs using WebComponents:

  • WebSideBar: a configurable navigation bar
  • WebLinks: component used by the standard navigation scheme to plug in more navigation links
  • WebButtons: navigation tabs above the topic area
  • MySideBar: every user can extend the sidebar with a personalized navigation
  • WebHtmlHead: additional stuff to be put into the html head
  • WebJavaScript: additional javascript code per web
  • WebTopicActions: actions to manipulate topics
  • WebMoreTopicActions: actions when clicking on "More"

Search & GO

NatSearch: a search+go box that combines advanced search with the GO feature. Compared to the standard WebSearch NatSearch is trying to maximize usability and minimizing workflow disruption. In addition, NatSearch can be customized on an application level to specify the scope of search (using include/exclude rules) as well as the appearance of listed search hits.

Wikiwyg editor:

javascript enabled wikiwyg editor

Email Obfuscation:

Optionally, all email addresses can be obfuscated by use of javascript. Email links are still clickable while automatic email extraction is hampert.

External link detection:

All offsite links are marked and a nice icon is added. Clicking on them will allways open an extra window.


Installation Instructions

You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See for more help.

  • Test if installed: click here
  • Edit Main.SitePreferences and change the SKIN variable to "nat"; customize the default style adding the variables SKINSTYLE, STYLEBORDER, STYLEBUTTONS and STYLESIDEBAR (see NatSkin)
  • If you have set up ssl for your server add the following variable to your SitePreferenecs:
     * Set HTTPSLOGON = on 
    This will prevent passwords being sent in clear-text over a possibly insecure net.
  • To switch on external link detection add
     * Set EXTERNALLINKS = on 
  • To obfuscate email addresses in the case they appear online use:
     * Set OBFUSCATEEMAILS = on 
  • To enable ssl as soon as you logged in use the following rewrite rules in bin/.htaccess:
     RewriteEngine On
     RewriteCond %{SERVER_PORT} !443
     RewriteCond %{QUERY_STRING} template=oopslogon
     RewriteRule ^(.*)$ https://%{HTTP_HOST}/bin/$1 [R,L]
    Note, that you might need to accommodate the /bin url path above to your installation!
  • If you are running Foswiki using Foswiki:Extensions/FastCGIEngineContrib or any other stand-alone engine, you will have to add the following line to your LocalSite.cfg
    $Foswiki::cfg{SwitchBoard}{natsearch} = ['Foswiki::Plugins::NatSkinPlugin::Search', 'searchCgi', {natsearch => 1}];



Skin Info

Skin Author: Michael Daum
Copyright ©: 2003-2010, Michael Daum
License: GPL (GNU General Public License)
Release: 3.96
Version: 6288 (2010-02-12)
Description: Userfriendly Foswiki skin providing a flexible theming engine for professional webdesigns
Base Name: nat
Change History:  
12 Feb 2010: displaying attachment revisions in a small twisty now; minifying and compressing all css and js now; fixed and improved attachment tables; removed support for T*/cairo; improved MySideBar wizard; support for Foswiki:Extensions/ActionTrackerPlugin; some visual improvements of form elements
24 Nov 2009: Item2403: Improve SubscribePlugin support
18 Nov 2009: Item2373: Improve XHTML validation
17 Nov 2009: fixed print cover; fixed jazzyblue for ie6; added autocomplete for reparenting; fixed webbuttons for latest jQuery superfish; added jQuery-ui theme matching jazzyblue; added WebTopicListViewTempalte using MAKEINDEX; added support for tag renaming in latest ClassificationPlugin; maketext fixes
14 Sep 2009: fixing css for tinymce where reset classes where too eager; fixes due to latest TablePlugin; support for Foswiki:Extensions/MetaCommentPlugin
20 Aug 2009: Item1931: made it SafeWikiPlugin compatible, fixed xhtml issues; Item1844: fixed WebCreateNewTopicTemplate; reworked all of the typography using a 40x18 grid; added natskin javascript initialization via foswiki.NatSkin; disabled image previews in tooltips on internet exploders; fixed "Permissions" tab in edit; added a new WebComponent "BottomBar"; componentized the more screen; fixed links to attachments with umlaute
15 Jan 2009: more IE6 workarounds; fixed "placing" topics into the Trash web; fixed and improved backlinks to topic; natsearch docu updates; copied the NatSkinPlugin DEPENDENCIES up the food chain to NatSkin
13 Jan 2009: fixed web topic creator
08 Jan 2009: fixed the IE6 PNG fix; fixed login screen for IE6
07 Jan 2009: added tape-recorder-like history browser; added suppport for CompareRevisionsAddOn; added support for twiki and foswiki css classes; improved typographics in BlueNoteStyle; removed copies of famfamfam icons - using FamFamFamContrib instead; moved all javascript from template to js file; added hover tios to improve usability of topic actions; fixed oopsmore; added IE6 png workaround; improved login screen; added "show on screen" feature
18 Nov 2008: fixes for IE6; new interim logo for foswiki; using jquery buttons where possible
12 Nov 2008: rendering data forms as tables in view again; integrated css fixes by Carlo Schulz; moving revinfo to first h1 in content area
11 Nov 2008: rewrite of data forms using divs instead of tables; lots of usability fixes
05 Nov 2008: redesigned header bar using a default foswiki logo; redesigned topic actions making it all icons ; added superfish dropmenu support to webbuttons ; moved user actions out of the topbar and placing them above it; reworked default sidebar navigation
04 Nov 2008: moved all default styles to a separate NatSkinClassicsContrib package; added a new default theme, called "bluenote" together with CarloSchulz; added support for SearchEngineKinoSearchAddOn;
03 Jul 2008: added support for Foswiki:Extensions/OpenOffice2TWikiAddOn; added support for Foswiki:Extensions/EmployeePortalPlugin; various improvements on all default themes; improvements wrt latest release of Foswiki:Extensions/NatEditContrib; support for TOPICTITLE feature of Foswiki:Extensions/DBCachePlugin ; fixed oops errors showing html entities instead of readable error msg; improved usability in error messages; shrinking urls in attachments to prevent bloating the attachments table; improved login screen; added support for the new universal edit button's link relation; improved help texts for user actions; putting attachments comments in an extra line of the table to prevent bloating it; improved usability of natsearch dialog; using a google-like SEARCH result; added more body classes to indicate the skin state on the css level
13 Nov 2007: reworking templates to use context instead of skin state, fixed initialization if NatEdit toolbar, improved usability of selecting a diff pair in HistoryPlugin, improved usability of renaming/trashing topics and attachments, also autoadding a overflow wrapper for MediaWikiTables, improved usability of selecting/changing DataForms using the new NATFORMLIST tag, woring around text not being hidden when editing the DataForm with TinyMCE
02 Oct 2007: added support for HistoryPlugin, TinyMCEPlugin
21 Sep 2007: removed own NatEdit implementation, improved move/rename usability, improved searching usability, added suport for plucene addon, improved sidebar navigation, simplified templating, reworked font sizing, improved default theme (Clean), removed workarounds for legacy TablePlugins, fixed css for IE7, fixed empty line in weblinks component, fixed reparenting issue in edit dialog, reworked javascript to use jquery instead, numerous markup and css fixes, better attachment table at bottom of topics
21 May 2007: Bugs:Item3969 - 8bit email fix (Foswiki:Main.WillNorris)
08 Mar 2007: fixed sidebar navigation in IE; fixed page forms width for FF
06 Mar 2007: fixed renameweb; nicened all rename dialogs; don't stretch tables to 100% width by default; added some default styles (twikiLeft, twikiRight, etc); some javascript fixes calculating the height of the edit textarea; simplified topic actions using the new USERACTIONS tag
05 Feb 2007: removed ...ForAdmins components again; natedit is now the default; natedit detects the screen height and adusts the height of the textarea automatically now; edit is fullscreen now; removed reparenting from oopsmore and integrated it to edit; moved editsidebar content into a twisty under the textarea; new templates to customize the login screen; new JotSpot theme; increased the skin's css priority for the DataTable layout to counter newer versions of the TablePlugin that inlines css by default; repositoned broadcast area above the main area and put it into a twisty ; fixed sidebar navigation within hierarchical webs; added presets to the NatSkinStyleBrowsers to switch the look&feel to that of some well-known CMS systems; added support for SectionalEditPlugin; added support for redirectto urlparam of TMwiki-4.1.1; disabled css in print view as firefox can't print pages otherwise; added support for the forthcomming PageCache; fixed templates for renaming a web; fixed lease conflict template's use of QUERYPARAMS; new variable %TWIKIREGISTRAION% to make the registration form customizable (should go into the core); lots of css font and spacing improvements to default themes; made oopsmore a WEBCOMPONENT
13 Oct 2006: improved usability of natedit toolbar; fixed broadcast message for IE; improved subweb-parentweb navigation in sidebar; more separation of admin from non-admin navigation; added help text to edit screens; added support to alter the topic parent during edit and removed it from the oopsmore dialog
02 Oct 2006: hide links for admins in the sidebar navigation; don't include the WebSideBar twice; added css classes to the <body> to distinguish different cgi actions (view, edit, preview, ...)
18 Sep 2006: removed private registerconfirm template which whas broken anyway; fixed breadcrumbs on edit page; some minor formtable cleanups
29 Aug 2006: removed spaghetti template code for beijing and cairo; removed NATSCRIPTURL; fixed MySideBar localization; adjusted usage of IFSKINSTATE due to its new evaluation priority
25 Aug 2006: first release dropping beijing and cairo support; major documentation rewrite; added a default WebRightBar to exemplify 3 columns layout; added 3 columns layout switch to NatSkinStyleBrowser; fixed template messages used in oopsaccessdenied and oopsattention; normalized some css class naming; added ImagePlugin css support
21 Aug 2006: complete rework of fonts in all styles not to rely on font preference settings in browsers; enhanced tables appearance; added support for Foswiki:Extensions.ImagePlugin in natedit; fixed sidebar in PatternStyle + searchbox in position 1; fixed oopsmore's button style on different locales; more IE hacks; more i18n fixes
15 Aug 2006: interface internationalization (Foswiki:Main.OliverKrueger, Foswiki:Main.AndreUlrich); adjusted css to cope waith possibly long strings in i18n; added "Change Language" dialogue to oopsmore; replaced most em based widths with px based ones to cope with different font presets; removed *Right.css files and added nat(SideBar,Main)(Left,Right) classes instead; reworked meta data creation: renamed KEYWORDS to METAKEYWORDS, added METAAUTHOR and METADESCRIPTION; moved blog related stuff to BlogPlugin; added strings.nat.tmpl template defining strings used in NatSkinPlugin; lots of css and template fixes; only load those javascript snippets that are really used
7 Aug 2006: removed natWikiInfo from the bottom bar containing the "Powered by" prose; fixed USEWYSIWYG (again)
3 Aug 2006: first 3 dot O prerelease, 3.0-final will be a TMwiki V4 only skin; addded NatEdit templates; restructured edit and preview templates to allow NatEdit to "mix in" its toolbar; make use of the new NATSCRIPTURL variables to support short urls; make use of new FLEXWEBLIST features; added FireVariation
31 Jul 2006: added renameweb templates; rename topic usability improvements; some css alignment corrections
28 Jul 2006: improved navigation in hierarchical webs by using the new Foswiki:Extensions/FlexWebListPlugin and Foswiki:Extensions/BreadCrumbPlugin; dropped usage of the Foswiki:Extensions/FilterPlugin as using FORMATLIST{WEBLIST} has been superseeded by FLEXWEBLIST; using the FlexWebListPlugin + GluePlugin to generate a better sidebar navigation showing subwebs in a twisty; dropped the natWebLocation thing in the headerbar (commented out for now) in favour of a real breadcrumbs navigation; added a new template macro "contentheader" to contain the breadcrumbs by default; increased flexibility in default WebTopicActions using NATLOG(IN/OUT)URL instead of NATLOGON,NATLOGOUT tags; removed leading space char in mailnotify.nat.tmpl which may bust mail servers not sending out notifications; added missing feed-icon-12x12-gray.png in package; lots of css fixes to style the new breadcrumbs navigation
15 Jun 2006: added WEBTOOLNAME to customize the name displayed in the header bar; minor usability improvements in the NatSkinStyleBrowser
25 May 2006: added advanced diff options available on twiki4; improved diff dialogue; added css classes for ok/cancel buttons on oops dialogues; lots of css improvements, mostly diff related
24 May 2006: spacing and font improvements; added example SiteCcss; removed focusing the search box on every view; if there's an WEBLOGOIMAGE then use it in the title bar instead of the WIKITOOLNAME; fixed bug in save actions that could have caused data loss ; added missing save parameters in editform.nat.tmpl
9 May 2006: fixed error in preview template that triggered an internal server error on twiki4
6 May 2006: provide customised CSS support using WebComponent WebCss (
5 May 2006: minor css cleanup; display default WebLinks and WebButton for a current non-public web
19 Apr 2006: added support for KEYWORDS per topic
11 Apr 2006: fixed oops dialogue leaping off the page; be nicer to non-css browers
5 Apr 2006: added support for dakar's TemplateLogin; preventing an empty line in WebButtons in case there are no public webs; added WebComponent WebTopicActions; simplified topicactions templates; simplified TemplateLogin templates to match natlogon
27 Mar 2006: moved MySideBar templates from plugin into the skin; fixed page layout of Kubrick style using borders for geckos; added HTTPSLOGON variable to get around install hassle on non-ssl servers; enabled edit and preview upper right topic actions again; added support for three-column layout using STYLESIDEBAR = both; fixed html error in topbar
20 Mar 2006: several blog css fixes; added bottom topic actions to edit and preview; only display web.topic in the web locator no recursive parents anymore; natsearch docu
13 Mar 2006: fixed WebLinks components; fixed atom feed link at the page bottom
11 Mar 2006: reworked sidebar using the new WEBCOMPONET logic; docu restructuring - more needed; using messages.tmpl as far as possible
1 Mar 2006: fixed DataForm not showing certain row values (uuh); added more css for the most recent stuff added to the BlogPlugin; removed html from mailnotification; replaced SCRIPTURL{} with SCRIPTURL+SCRIPTSUFFIX again for legacy platforms; minor css fixes
20 Feb 2006: removed empty lines in templates; css fixes for lists in the sidebar; unified font size in attachment tables; using percentage instead of em size for the thin page layout
14 Feb 2006: added variable %WEBSYNDICATION%; removed TablePlugin patch; made BaseStyle usable; added syndiation feeds; don't use dotted lines on IE; don't use transparent borders on IE; added gif version for cite background for IE; fixed content area of PatterStyle on IE; don't use Lucida Grande in KubrickStyle; added rss feed icons; added plain view template
3 Feb 2006: compute even/odd search hits for WebSearch using CALC so that css-2.1 expressions aren't needed anymore; lots of css font and size fixes, i.e. blog related
27 Jan 2006: fixed blog css for all styles
26 Jan 2006: lots of css fixes
23 Jan 2006: added forgotten IE decorations; fixed layout problems in the WebButtons; replaced ICONPATH with ICONURL; added email_changed oopsattention message
9 Jan 2006: more IE fixes; fixed search template: every hit must be a table of its own :(; fontsize fixes
20 Dec 2005: fixed collapsing tables in firefox < 1.5
5 Dec 2005: componentized template system adding javascript and styles components; removed inline-styles and -javascript and moved it to the respective components being inserted into the html header properly now; surpressing final skin state switches in the NatSkinStyleBrowser; removed absolute urls; removed EDITURL; fixed sidebar help for cairo and beijing; fixed squeezed main page; added the concept of WebComponents, that is the WebSideBar and the WebButtons; the WebButtons are customizable the way the WebSideBar already is
1 Dec 2005:: added transparent borders and corners to the Kubrick style; improved PlasticLoveVariation; added a custom "cite" style inside blog texts; some minor IE fixes; w3c validation fixes to the style browser; more form fixes in the preview and editform pages; replaced every launchWindow() javascript with a proper a href using a _blank target; added tooltips to topicactions
23 Nov 2005: added nops in expensive IFSKINSTATETHEN, i.e. to prevent the sidebar to be computed multiple times
22 Nov 2005: moved basic blogging css to the BlogPlugin
16 Nov 2005: added PatternStyle emulating cairo's PatternSkin
10 Nov 2005: improved NatSkinStyleBrowser
8 Nov 2005: firefox layout fixes
7 Nov 2005: more safari fixes
2 Nov 2005: fixed javascript problems combined with the Foswiki:Extensions.TwistyPlugin; trigger printing when clicking on "Print"
31 Oct 2005: safari fixes where content leaps out of the main area
24 Oct 2005: added UserView templates; standardised favicon handling
18 Oct 2005: workaround crash due to recursive accessdenied-exceptions
13 Oct 2005: preliminary css support for header art; added some default headers
10 Oct 2005: added skin style cycling to the NatSkinStyleBrowser; fixed way how the oops dialogues switch off the sidebar
9 Oct 2005: new release NatSkin-2.51: reinvention of the NatSkinStyleBrowser; reworked the standard WebSideBar; extensive usage of the new conditional content tags interfacing the skin state machine, i.e. switch the sidebar from the left to the right etc.; removed hard-coded links to a Support web; lots of fixes to catch up with the evolving dakar engine; support for the Foswiki:Extensions.TwistyPlugin; support for the Foswiki:Extensions.AliasPlugin; skin state support for the Foswiki:Extensions.TablePlugin; new webbuttons in the topbar; componentized style sheets for different skin states; improved css of forms and tables; better support for the upcomming BlogPlugin in every skin style; plus the usual small css fixes
30 Aug 2005: lots of css fixes for IE and Opera; fixed topicactions for IE; different cancel actions per engine
26 Aug 2005: final NatSkin-2.0
12 Aug 2005: first round of pre-releases numbered 1.91 upwards
24 Jul 2005: rewritten the templates, renamed the CSS classes
25 Jun 2003: Initial version
Home: Foswiki:Extensions/NatSkin
Support: Foswiki:Support/NatSkin

I Attachment Action Size Date Who Comment
NatSkin.md5md5 NatSkin.md5 manage 0.1 K 17 Feb 2010 - 14:45 MichaelDaum  
NatSkin.sha1sha1 NatSkin.sha1 manage 0.2 K 17 Feb 2010 - 14:45 MichaelDaum  
NatSkin.tgztgz NatSkin.tgz manage 299.7 K 17 Feb 2010 - 14:45 MichaelDaum  
NatSkin.zipzip manage 377.1 K 17 Feb 2010 - 14:45 MichaelDaum  
NatSkin_installerEXT NatSkin_installer manage 14.9 K 17 Feb 2010 - 14:45 MichaelDaum  
Edit | Attach | Print version | History: r58 | r38 < r37 < r36 < r35 | Backlinks | View wiki text | Edit WikiText | More topic actions...
Topic revision: r37 - 17 Nov 2010, PaulHarvey

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. see CopyrightStatement. Creative Commons License