This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

CamelCase is a way of writing, WithEveryWordInCapitalLetter and MashedTogether. It's commonly used in many programming languages, and in Wikis, it defines a WikiWord.

JSPWiki supports CamelCase linking from 1.9.2 onwards.

Here is the relevant discussion from Ideas, with a couple of additional thoughts.


Be careful! There are some ProblemsWithAutolinking using CamelCase. --DanHoward, 2003-nov13

AlainRavet: CamelCase is very useful, but we need a way to escape it, like Twiki's <nop>.
Example: JasperReport is only a product name, not a page link.

Good idea --OliBye

Agreed. Should we still copy PhpWiki and use "!" as the escape character, or perhaps something else? Use "\"? Or "~"? --JanneJalkanen

I find <nop> more obvious, and less error prone. --AlainRavet

Automatic CamelCase linking is not good when it comes to software documentation or filenames. See TableTemplate.
I don't like the idea of automatic linking as default. It's not that much trouble to write the squarebrackets. --Mortena September 25, 2002

Must say I agree with Mortena. Bad default, at least for Java developers... --ebu

I disagree. WikiWords have been THE standard Wiki way of linking since day 1. I think making it configurable would be good (if it isn't already). --Kelzer

CamelCase links are actually not on by default in the JSPWiki distribution. :-) Alain, I wonder how writing five characters is less error prone than a single character? --JanneJalkanen

We already have to remember that

* #  ! !! !!! __ \\ " '  ; (more to come)
have a special meaning, in a special context. Now, you want to add or reuse a special character? My brain it too small. :-)

<nop> = No operation Why do I feel you already knew it? I didn't even have to tell you. See?


I know it because I use TWiki extensively at some other places :-). TWiki uses <nop> to stop the parsing. And no, I don't think it's a good thing.

Adding new special characters is not necessarily a bad though. Those that need them are typically Java programmers who can deal with such issues anyway. In that sense, using "!" for negation might not be a bad idea. However, using the same special character for two different purposes is a bit of a problem, though.


Since 1.9.27 it's possible to escape CamelCase links by using a (aka tilde, worm) directly in front of the word (like this: CamelCase). The change is now live on this server - let's see how this works out.


Mph. An irritation: CamelCased words, like JSPWiki, appear separately in titles, like J S P Wiki. (OK, confusion here.. JSPWiki seems to behave exceptionally: it's decamelized by default, and a prepended tilde is visible: ~JSPWiki. Huh?)


May 3, 2002 -- MattMower#


I had this notion that JSPWiki should automagically turn text into links. After some text has been made a link using:


and the corresponding page has been created, JSPWiki should automatically turn that text into a link wherever it is found, even when it isn't included inside the markers.

I'm not sure of the implications of this but I thought it might be interesting....

JanneJalkanen: Actually, most wikis just make all words ThatHaveBeenWrittenInCamelCase to links, and you're supposed to just write your text using CamelCase whenever you think might be necessary. This allows you to do automatical linking with ease. We require []s everywhere, but I'm slowly starting to think that perhaps allowing CamelCase is quite okay. For now, just write everything you think might be useful as a link later on inside square brackets. It doesn't matter if the link does not exist - someone will create them at some point. If you're bored, you can always go to UndefinedPages and make some =).

MattMower: Now I think about it I'm less certain I want it. I seem to remember it was one of the things I found irritating about my early experiences with Wiki. I think what maybe I want is a way to insert the links easily where I want them. Hmmm.... now I'm not sure what I want :)

GarethSB (after discussion with DuncanMcGregor): Supporting CamelCase in addition to the [] mechanism would be very unlikely to break anything that exists already on any JSPWiki -- there isn't going to be much CamelCase that shouldn't be a link right? It would make transfer from other WikiClones much easier too. Go for it, I say! (OliBye said more or less the same thing on xpdeveloper too:

JanneJalkanen: Actually, I had a sort-of-working version of using plain CamelCase running already. Then I accidentally deleted the entire source tree (before I was able to put it into CVS). I got so miffed by it that I haven't bothered to hack it back up again. (I am using the word "hack" because the current TranslatorReader structure cannot really do the CamelCase link detection cleanly.) Anyway, it's on the TODOList.

JanneJalkanen: Yap. I wrote a much better implementation and support for plain CamelCase is now in 1.9.2, available from cvs. It was a bit tricky because we did not want to break any existing code ([HyperLink] should not match, neither should []. :-)

OliBye thanks guys. I can upgrade now (after testing ofcourse). OliBye would like to help testing but I can't find a version 1.9.2x to download. Could I get it from anonymous CVS?

There has not been an official release yet. 1.9.2x is available through JSPWikiDownload, and now also through AnonymousCVSAccess. --JanneJalkanen

CirrusShakeri: Suggestions: Use <notwiki> to prefix non-wiki but wiki-looking words. Use <linkit> to explicitly link to a wiki topic: Default linking to a topic is not a good idea, in my opinion.

Which is exactly why it's off by default in JSPWiki distribution :-). It was originally done so that people who need it (for example when switching from some other version of Wiki) would not have to do so many modifications. It's on here so that we could test it... But you're right, the "normal" way of linking by using [square brackets] is much better and confuses people less. Use square brackets - they're good for you. :-)


Is CamelCase working in 1.9.37-cvs ? I have: jspwiki.translatorReader.camelCaseLinks = true in my but cannot get CamelCase to function.

You can see at: that it's enabled, then visit: to see that it's not quite functioning. At the bottom I say WikiWiki ... That's a valid CamelCase right? The page even exists: Any input would be greatly appriciated.

Oh, by the way, I think CamelCase is an essential Wiki feature. Their could be 1,000 people updating one site, how does each person know what is already defined and what should be []'d or not? This way if someone enter's OceanWave and it's defined, it'll show up. However, without CamelCase, if they enter OceanWave and it is defined, a link will not exist to it because this user did not know that it was one of the 300,000 Wiki pages that exist so they did not [] it.


No, it was not working in 1.9.37. This was documented in the ChangeLog, which really is the best place to look for change information of the CVS version.

However, thanks to JeffPhillips, we got it up and running in 1.9.39 :-).


Latest (1.9.42) builds have a problem with CamelCase, when CamelCase is used in a table, heading or lists, it is not working. In previous builds worked fine. -- SeshJalagam

You mean 1.9.41 worked? That is odd - there was no change to the CamelCase routine in 1.9.41... Which was the latest version you tried?


The build I used before 1.9.42 was 1.9.39 I think. -- SeshJalagam

Please try the current build. All known problems with CamelCase has been fixed in 1.9.48. It wasn't exactly easy to fix, though... But I figured out the answer finally after three beers and a sauna, the real secret of all Finnish coders... :-)

-- JanneJalkanen, 07-Dec-2002. this is a test Andrey

Add new attachment

Only authorized users are allowed to upload new attachments.
« This particular version was published on 02-Mar-2005 19:46 by