create new tag
, view all tags
Old closed topic. See KoalaSkinDev for current one

KoalaSkinDevV3 Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on KoalaSkinDevV3 contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

Koala Skin Dev discussion

For discussing issues on the KoalaSkin.

v2.13 15 Jan 2004 bugfixes

    • allowed size for attach comments increased 50->128
    • new template to put things above the search box in left margin: templates/ks_lefttopbox.koala.tmpl . Empty for default skin, but you can redefine it in your themes. Unused in NOMARGIN modes.
    • if an included template do not exist, issue a warning but do not abort anymore
    • fonts: websbar is in arial (less wide), rather than verdana
    • searchmulti updated to work with the new search from beta 18 Dec 2003 (fix by Nathan Neulinger). Automatically use old code on 01 Feb 2003 release.
    • documented that searchmulti should also be set for authentication via "valid user" in bin/.htaccess (otherwise search in read-protected web/topics will not work)
    • bugfix: 'Z' accesskey for cancel in preview view was broken
    • bugfix: Cancel in edit/preview and existing topic was returning to WebHome, not the topic
    • documented that we must use the GNU versions of grep, sed and cc. Can be setted in config file (Alexander Shugayev)
-- ColasNahaboo - 15 Jan 2004

Added a link to changedetection.com to provide an easy way to be notified on this page change.

-- ColasNahaboo - 25 Jan 2004

Forgot to actually upload 2.13. fixed now.

-- ColasNahaboo - 29 Jan 2004

It would be good to be able to add the web group into the PREFERENCES resolution process.

For example, I want to add a preference to all subwebs, at the moment I either have to put them in TWiki.TWikiPreferences (and have the same setting apply everywhere) or in Web.WebPreferences (and repeat the setting) - neither is optimal.

I'm not sure how you'd implement this though, but probably in here:

sub initializePrefs
    my( $theWikiUserName, $theWebName ) = @_;

    # (Note: Do not use a %hash, because order is significant)
    @prefsKeys = ();
    @prefsValues = ();
    @altPrefsKeys = ();
    @altPrefsValues = ();
    $defaultWebName = $theWebName;
    $altWebName = "";
    @finalPrefsKeys = ();
    getPrefsFromTopic( $TWiki::twikiWebname, $TWiki::wikiPrefsTopicname ); # site-level
getPrefsFromTopic( $TWiki::groupWebname, $TWiki::wikiPrefsTopicname ); # webgroup-level
    getPrefsFromTopic( $TWiki::mainWebname,  $TWiki::wikiPrefsTopicname ); # alternate site-level
    getPrefsFromTopic( $theWebName, $TWiki::webPrefsTopicname );           # web-level
    if( $theWikiUserName =~ /^(.*)\.(.*)$/ ) {
        getPrefsFromTopic( $1, $2 );                                       # user-level


-- MartinCleaver - 22 Feb 2004 CN: see #Answers_04_Aug_2004, 1

The link: [optional] TWiki:Codev/AttachementActionLinkBadName

points to:


that doesn't exist. It should be "Attachment" instead of "Attachement". I didn't read the "KoalaSkin" until the end so I went ahead and edit the page. Sorry...

-- RodrigoCurado - 24 Feb 2004 CN: see #Answers_04_Aug_2004, 2

Can I enlarge the "editbox/viewbox" in the raw-view mode?
I would be nice for it to follow the same configuration that we use for the real "editbox", following the edit cgi.

-- RodrigoCurado - 26 Feb 2004 CN: see #Answers_04_Aug_2004, 3

I'm working my way through the installation; here are my initial comments:

1. It is good practice to write installation scripts in a portable subset of the Bourne shell. This makes the installation simpler, more portable and more robust. The web site http://www.cs.huji.ac.il/support/docs/autobook/autobook_209.html#SEC209 has some guidelines for writing portable Bourne shell scripts; see also the book GNU Autoconf, Automake, and Libtool.

2. The standard format for an installation tar file is that untarring it should create a subdirectory with a name like TwikiKoalaSkin-2.13 in the current directory. The subdirectory TwikiKoalaSkin-2.13 normally contain a README text file, an INSTALL text file, a CHANGES text file, a LICENSE text file, the installation script (or better, makefile) and all the distribution files and subdirectories. The installation script or makefile should do the work of copying the distribution files and subdirectories to the proper location based on user input or a configuration file.

I realize this is not a full-blown open-source project; just wanted to throw my two cents in.

-- RichardGAnderson - 17 Mar 2004 CN: see #Answers_04_Aug_2004, 4

Hi Colas, current alpha versions of twiki break important parts, of SavemultiCgiScript (save and quicksave). Sven has committed to moving savemulti into the core; perhaps you could take a look and see if you can identify the source of the problem?


-- MattWilkie - 19 Mar 2004 CN: see #Answers_04_Aug_2004, 5

Any other installs out there using Koala for newbies? My users do not know (or want to know) what a Wiki Word is - they just want to describe their page. They wouldn't care if the name gets changed so long as it is readable.

It strikes me that the Javascript in the TWikiRegistration page is what is needed - has anyone written something to introduce this into the 'create page' dialog?


-- MartinCleaver - 19 Mar 2004 CN: see #Answers_04_Aug_2004, 6

I have a brand-new installation of TWiki on my ISP's Linux/Apache server (so I don't have root). I do not have basic authentication or any other access control enabled. TWiki appeared to be working before I began installation of the KoalaSkin, as far as editing and navigating pages goes.

I went through the installation instructions at http://twiki.org/cgi-bin/view/Plugins/KoalaSkin#Installing When I added Set SKIN = koala to TWikiWebPreferences and saved it, the skin appeared but I lost all ability to edit any pages in the wiki. When I try to save an edited page the browser shows the 404 file not found message and the page is unchanged. (Many of the %VARIABLES% were undefined when the KoalaSkin was applied, but I assume this is a minor problem.)

I used RCS to recover the old TWikiWebPreferences and continued with the installation procedure. I installed the patches, created the two new topics and edited koalaskin-generate to reflect the non-standard locations of the data and bin directories I am using (since I don't have root). When I ran koalaskin-generate it generated the error

./koalaskin-generate: line 1: /tmp/rgb2hsvhex: Permission denied

The permissions on the file /tmp/rgb2hsvhex are

-rwxr-xr-x 1 seaslug seaslug 12505 Mar 17 16:39 /tmp/rgb2hsvhex

so I don't understand this error.

Does the KoalaSkin require that I use basic authentication? What is going on?

P.S. The skin looks great!

-- RichardGAnderson - 19 Mar 2004 CN: see #Answers_04_Aug_2004, 7

The skin looks great. I am getting following error message when runing the bin/koalaskin-generate script:

./koalaskin-generate: line 811: syntax error near unexpected token `}'
./koalaskin-generate: line 811: `function is_in(){ case "$1" in *" $2"*) return 0;; *) return 1;; esac }'

My bash version is:

GNU bash, version 2.03.0(1)-release (sparc-sun-solaris)

cdable_vars     off          
cdspell         off          
checkhash       off          
checkwinsize    off          
cmdhist         on           
dotglob         off          
execfail        off          
expand_aliases  on           
extglob         off          
histreedit      off          
histappend      off          
histverify      off          
hostcomplete    on           
huponexit       off          
interactive_comments    on   
lithist         off          
mailwarn        off          
nocaseglob      off          
nullglob        off          
promptvars      on           
restricted_shell        off  
shift_verbose   off          
sourcepath      on           

I appreciate if any one could offer me some help. Many thanks.

-- XiuBao - 23 Mar 2004 CN: see #Answers_04_Aug_2004, 8

Xiu, I had the same problem. I tried changing
.. esac }

 .. esac
in the definitions of functions is_in and not_in in lines 810,811 of bin/koalaskin-generate (Koala v2.13, bash v2.04). After that, the script completed successfully (atlest, no syntax errors). Though it created the templates (templates/<web>/<xxx>.koala.tmpl files) correctly, it later (in the same run) made them zero bytes, during (what it calls) Expansing. I'm not sure if it was my editing of the script that caused the zerobyting.

What is Expansing, and why does it make the templates zero? As a makeshift, I've disabled expansing in the script for now. Any help would be greatly helpful (!).

BTW, Xiu, if I'm right, you should run it from the base directory, as bin/koalaskin-generate , and not after cd-ing to the bin directory.

-- RoopeshChander - 04 Apr 2004 CN: see #Answers_04_Aug_2004, 9

I'd like an option to remove the generated templates but not the install files. Thanks.

-- MartinCleaver - 12 Apr 2004 CN: see #Answers_04_Aug_2004, 10

Thank you Roopesh. I had another go following your advice. It runs, however this time I am getting sed segmentation fault error. two of those erros are

Koala Skin generator, v2.13
Webs: 6 in 2 groups:
  [0] Develop (00):  Know
  [1] TWiki (A8):  Main Sandbox Trash
Templates: Develop Know TWiki Main Sandbox Trash
Sitemaps:  Develop Know TWiki Main Sandbox Trash
Expansing: Developbin/koalaskin-generate: line 24: 28743 Segmentation Fault      sed -e "s%TMPL:INCLUDE{\"$iname\"}%${idata%}g" <$sr
c >$cachedir/$4$ext
bin/koalaskin-generate: line 24: 29020 Segmentation Fault      sed -e "s%TMPL:INCLUDE{\"$iname\"}%${idata%}g" <$src >$cachedir/$4$ex
bin/koalaskin-generate: line 21: 29574 Broken Pipe             tr '\\&\n' '' <$3
     29575 Segmentation Fault      | sed -e "s%TMPL:INCLUDE{\"$iname\"}%${idata%}g" >$cachedir/$4$ext
bin/koalaskin-generate: line 24: 29815 Segmentation Fault      sed -e "s%TMPL:INCLUDE{\"$iname\"}%${idata%}g" <$src >$cachedir/$4$ex

Again thanks for any suggestions given.

-- XiuBao - 21 Apr 2004

Added a space before the line continuation bask slash '\' near the offending line and turn off expansing flag, the script now runs without exeplicit error. However, the header-buttons-menu looks like this.

TWikiHome image                                                  Home
                                        Attach | New | Site Map | Help

Look at the HTML source rendering, I can see that "Home and Edit" is in one table while the rest is in another table. Any idea what I have missed and need to change to make them all in the same line?

TWikiHome image                   Home | Edit | Attach | New | Site Map | Help
Thank you for any help you may offer.

-- XB

Xiu, Seems like we are having exactly the same problems with Koala. I didn't face any seg faults though.

My Koala too showed the top buttons misaligned, as you've said. I tried removing all newlines in templates/ks_topbuttons.koala.tmpl and it looks fine now (weirdly miraculous). Just to make it easier to revert back, I copied it to templates/ks_topbuttons-dwo.koala.tmpl, set the theme as dwo in the WebList, and reran bin/koalaskin-generate. (dwo = Doesn't Work Otherwise.) Let me know if you need the files.

Since this doesn't seem to be an isolated problem, can one of the Koala developers (Colas?) comment on this? Please let me know if this is not the right forum (is there a separate Koala support page?)

-- RoopeshChander - 24 Apr 2004 CN: see #Answers_04_Aug_2004, 11

I like this skin - looks good and works well. Except the spacedtopic title bar doesn't work right - after applying both the patch and the plugin it still renders the %SPACEDTOPICP% in the title bar. Also, the pages lost their 'stretch' and 'shrink' feature - with the default template I could grow and shrink the page width and the words would wrap - even the tables would wrap. Now I have to scroll vertically. Any idea why this is happening? -- JoelRegen - 12 May 2004

Ok. I figured out the problem - at least on the surface. The use of 'verbatim' tag is causing the template to completely disable word/table wrapping. In the default skin the only things to not wrap were those verbatim lines that exceeded the page width. All other page items wrapped fined. -- JoelRegen - 12 May 2004 CN: see #Answers_04_Aug_2004, 12

Will there be a KoalaSkin for Cairo?!

-- FranzJosefSilli - 26 Jul 2004 CN: see #Answers_04_Aug_2004, 13

Bug or not? Please confirm or deny!

First off: I really like this skin and will use it when this issue gets sorted out. Here's the story:

TWiki ran well with KoalaSkin on a normal LAMPP system made of RedHat 9 Linux. When testing was almost done and the site was just about to go live, we changed to XAMPP for this package is easier to maintain. After the change (which included a reinstall of TWiki and all subcomponents), Save and Quicksave wouldn't work anymore! The changes would be written to the files but the redirect would fail and oopsnoweb would show up. Checkpoint, however, worked flawlessly.

I've tracked this nasty behaviour down to line 170 in savemulti. It says

TWiki::redirect( $query, &TWiki::getViewUrl( "", $topic ) );

Now, the sub TWiki::getViewUrl() expects two arguments to be handed over, $webName and $topic. For some reason, which I don't know, in the above line $webName isn't passed over to TWiki::getViewUrl(). The result is, that TWiki::getViewUrl() returns a false URL in which the name of the topic is standing where the name of the web should be! Of course TWiki::redirect doesn't like this and loads oopsnoweb instead.

My fix: I've changed the above line to

TWiki::redirect( $query, &TWiki::getViewUrl( $webName, $topic ) );

and it worked. What I need to know now is:

  • What was the intention behind the original code?
  • Does my fix do any harm?
  • Is this issue a bug or just a flaw that unluckily happened to come out on my special installation?
Thanks for your time.

-- JoachimBlum - 27 Jul 2004

Joachim, it was an unintentional bug. your fix seem the good one.


Colas: I guess the above answer came from you, so I signed it on your behalf ;-). Thanks for confirmation. Strange thing is, however, that it worked on the RedHat-LAMPP. Maybe the apache webserver and/or the Perl version which are included in XAMPP handle things a bit different... Anyway, it works now and that's the only thing that matters.

-- JoachimBlum - 05 Aug 2004

Answers 04 Aug 2004

Sorry for the delay in answering. here are my answer to the past questions: (I realize it is way too late, just for the record...)
  1. MartinCleaver: subwebs needs definitely to get into the Core for this. Guess for Dakar.
  2. RodrigoCurado: thx, noted for next update
  3. RodrigoCurado: No in current twiki as in view mode your are not identified so your preferences do not apply. maybe we could have something with some javascript code, to adapt to the window size.
  4. RichardGAnderson: koalsskin-generate is not an install script, it is a compilation script that you will call not only at install. And install is just done by overwriting files since KoalaSkin is designed to never require you to edit any distributed file. I could have made an install script copying the zip contents in place but it seems overkill.
  5. MattWilkie: didnt have time to, my fault.
  6. MartinCleaver: Koala Skin is not newbie-proof frown I hope Arthur's Pattern Skin will provide a better "newbie skin"
  7. RichardGAnderson: MartinCleaver provided a patch that I will upload as soon as my connection to work gets back up.
  8. XiuBao: I am sorry, some users seemed to have this problem but I couldnt find a solution
  9. RoopeshChander: expansing is optional, just to speed things up at runtime. disabling it should thus work as normal.
  10. MartinCleaver: just do a bin/koalaskin-generate -r and re-install, your local setting will be left unchanged.
  11. All: No idea yet
  12. JoelRegen: will have to look
  13. FranzJosefSilli: koalaskin for cairo? of course, I guess mid-september.

-- ColasNahaboo - 04 Aug 2004

Itīs not possible to delete a non-wiki-word topic by the oopsmore dialog. A simple line in the rename form will allow this. Maybe it is reasonable to split the form. The first form to rename and the second form to delete a topic. In the second form we should be able to delete non-wiki-word topics.

   <input type="hidden" name="nonwikiword" value="1" />

-- NorbertWindrich - 05 Aug 2004

  • CN: thanks, will be in next release

Hi all, Happy to see Colas's Back smile Well I just try to install KoalaSkin and take me a lot's of time, perhaps due to Debian way of Life :). Anyway, I get an error for the sed in the main (when parsing the weblist), with the 3rd expression :

 -e 's/^=[*] [[][[]%ATTACHURL%.*//' \
sed on debian didn't like it at all, preventing th generation of the Templates. Then, perhaps I'm missing something, but the
is not working, I was obliged to add a ln -s to the Main web :/[, and use "Twikikoala.txt" ] (BenoitHamet - 06 Aug 2004) Apart this, when trying the tricks to update the weblist, I get an internal Error due to echo in the script (headers are not valids). That's all smile Thanks for this great skin, I like to use the way of "sub web", because I have to handle at term more than 100 differents web, so ... not easy:)

-- BenoitHamet - 05 Aug 2004

  • CN: Strange, I develop on debian stable. Are you using debian testing or unstable? Or are you running on recent TWiki betas (Koalaskin is still untested by me on these)
    • BenoitHamet - 06 Aug 2004 : Debian Testing, with some kind of the twiki package from debian IIRC. (should be the FEB2003 release) (package version is : 20030201-5
    • try to replace the sed expression with the following and tell me if it works better:
            -e 's/^=[*] [[][[][%]ATTACHURL[%].*//' \
check also that there is no whitespace after the backslash
      • Maybe this works better with :
              -e 's/^=[*] \[\[%ATTACHURL%.*//' \
-- OlivierBerger - 19 Aug 2004
        • Ok the second one seems (given By OlivierBerger) to be ok with the 2.14 version. I don't know if it works when an ATTACHURL is here smile but at least the script is ok. -- BenoitHamet - 24 Aug 2004
  • CN: on the include{ATTACHURL/TwikiKoala.txt} not working, I think it does not work on twiki.org either, I didn't find out why (although it is really useful for "distributed" topics, to show that they should not be edited otherwise they will be clubbered on next update)
    • BenoitHamet - 06 Aug 2004 : The problems seems that the directory is not the good one, since you use a Plugins web which didn't exists. (not sure about that).
    • CN oops, of course, I was missing the obvious...
  • BenoitHamet - 24 Aug 2004 : More on the script : I get troubles when trying to regenerate the skin from the web. After some reading, I found that the problem is in my case that the echo 'Contents-type: test/us-ascii';echo is not valid (just after the init).
I found that the easiest solution was the following [this is not the best, but the parse_option use an echo :/ :
#near line 1777
#redirect stderr into stdout for our script
exec 2>&1

#Output the Content-type to allow the HTTP Server to be happy : (If you know a valid test to be sure use it here !)
echo 'Content-type: text/html' ; echo -e "\n\n" ;
You can of course remove the line in init() function which try to know if we are called from a HTTP Server and (I guess) try to output a wrong kind of header. it seems that in my case $PATH_INFO don't exist even if called by Apache. Small thing, in your config file, take care of having the line as this : (You need to modify the koalaskin-generate near line 20
if test ! -d data; then 
    export DIR=/var/www/htdocs/twiki/
    else DIR="$PWD"
and not :
if test ! -d data; then export DIR=/var/www/htdocs/twiki/
    else DIR="$PWD"

v2.14 12 Aug 2004 bugfix

  • Warning KoalaSkin is still untested on Cairo. The first KoalaSkin to work with Cairo will be labelled 3.0. In the meantime, I try to gather the fixed for Beijing in the 2.x series. Expect a 3.0 in mid-september. Also 3.x may not support obsolete browsers like Netscape 4.x. Also I will be in vacations till end of August, so in case of problem, just revert back to 2.13 until I get back.
  • KoalaSkin files migrated out of Plugins and into TWiki web
  • A new topic must be created: WebChangesGroup in each web. run once bin/koalaskin-generate -ccg to create them. This is linked by a new entry named "Group Changes" above "Changes" in the left margin. Can be redefined via the ks_changesgroup.koala.tmpl template. Actually the first generation will try to do it but you may not have the write permission in the data dirs in this case. Do it by hand with the relevant rights if you get an error trying to create the WebChangesGroup.txt files.
  • Theme XXX files can also be in a dir, like templates/_koalathemes/XXX/foo.tmpl instead of only as files templates/foo-XXX.koala.tmpl
  • made the generator script put CSS classes in all outputted html, and have html themselves redefinable: outputted strings moved to templates/ks_config, that is loaded then all templates/_koalathemes/XXX/ks_config or templates/ks_config-XXX for all used XXX themes in each web
  • Variants: theme writers can define "variants", such as "YYY", that is just (bash) code defined in functions in a ks_variants file that will be executed after creation of templates for the theme (but before their expansion of includes), that should perform postprocessing of generated files to create a new skin in the webs templates dirs named koala_YYY that users can use in their web or topics with a 'Set SKIN =" declaration, while keeping the efficiency of fully compiled/expansed skins. In each web, a $variants var is defined, then the main ks_variants and all the ks_variants for the themes in use in the web are loaded, and all the function names (blank-separated) listed afterwards in $variants are executed (this allows overriding a standard variant)
  • unknown KS... global vars are just exported as shell vars to be used by themes
  • WebSiteMap generated topics in TWiki webs for inclusion e.g. %INCLUDE{TWiki.WebSiteMap_Foo}% imports the site map for the group of webs of parent Foo
  • new web option URL=url, allows to have "fake" navigation tabs towards external urls, not only actual local webs
  • bugfix: link to text formatting rules help in edit view was broken on sites with non-standard bin/dir reported & fixed by Beat Doebeli
  • new shell scripts in bin/. first one is ks_lastchanges.sh used by the lastchanges theme
    if using mod_perl or mod_speedycgi (but it does no harm to add them anyways) you should add to your bin/.htaccess the 3 lines:
    <Files "*.sh">
    SetHandler cgi-script

    Normally the script will do it for you.
  • auxillary files (icons, css) migrated into a pub/_ks dir instead of the attachement dir of the KoalaSkin topic in Plugins.
  • CSS is no more included in topics but linked to a css file in pub/_ks/ to save bandwidth (identical csses are shared) and disk space
  • new THEMEINHERIT web option to inherit current themes
  • the name of the bin/view script is now a configuration variable, view (request from Beat Doebeli) in bin/koalaskin-generate.cfg for: TWiki:Codev/ShorterURLs
  • some hosted installs forbids you to execute code in /tmp (symptom: ./koalaskin-generate: line 1: /tmp/rgb2hsvhex: Permission denied ) now you can specify a directory where you cane xecute things as the exectmp var in bin/koalaskin-generate.cfg (thanks to Martin Cleaver)
  • bugfix: in savemulti: TWiki::redirect without web name, fix by Stephan Pulver and Joachim Blum
  • bugfix: some seds seemed to not like newlines (macintosh) should be better now (for Xiu Bao, Roopesh Chander, ...)


I try to generate new templates by koalaskin_generate on a windows 2003 server. I get the error message: "3 [exiting thread] bash 3156 cygthread::stub: erroneous thread activation". On cygwin I found discussions but no solution. Any help appreciated.

-- NorbertWindrich - 07 Oct 2004

  • Just a small "bug" report. When you get a word like : ThisWorDisNotParsedCorrectly in the description, Then the title="$tooltips" is totaly messed up in the sitemap. I need to modify the quote_attval function in order to work : the new patern for the sed expression is :
    quote_attval () {
      local r="${1//[[][[]*([^]])[]][[]/}"
      r="${r//<\/?[^ ]*([^>])>/}"
      echo "${r//[^-a-zA-Z0-9\!@#\$%^()_=+;:,.?\'   ]/}"| \
       sed -e 's/\([A-Z]*\)\([a-z]*\)\([A-Z]*\)\([A-Za-z0-9]*\)/\1\2 \3 \4/g' -e 's/   / /g'
    So using this, the words are ok and no more wiki words ... so title are working in a good way now. Regards.

-- BenoitHamet - 22 Dec 2004

Thanks. will be added to next release -- ColasNahaboo - 29 Dec 2004

Old closed topic. See KoalaSkinDev for current one

-- ColasNahaboo - 12 Jan 2005

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2005-07-06 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.