UseModWiki | WikiSuggestionsResolved | RecentChanges | Preferences

Non WikiName links:

I'd like to be able to create/reference new pages by another means than using WikiNames?. For example, for setting up a FAQ it would be nice to have something like [Is this a question or what?] be a link to page which answers that question. Of course I could write this as Is_this_a_question_or_What? but it is cumbersome to enter the underscores and requires capitalizing one of more random words. If the [] syntax is already used for numbered URLs, maybe use [[]]? --DanielHernandez

I'm not sure what I'm going to do with non-WikiName pages. Multiple people have requested this feature, but it isn't a very high priority to me. Right now in UseModWiki there is a lot of code that relies on a pagename->filename direct mapping. If one allows arbitrary text, this would have to change. Also, the portable way to handle special characters (%xx) is rather ugly in URLs.

Aside from the "technical" considerations, MeatBall:AccidentalLinking has several arguments that the restrictions of the MeatBall:LinkPattern is a good thing. I have seriously considered a user display option to render wiki links with spaces inbetween words, but this doesn't work well with some links (and causes problems if one enables the HTML cache option).

Another possibility would be links with alternate text, maybe something like [link text to be displayed]. One would still have pages like SomeQuestionName?, but one could link more freely. I've thought of something like this a few times, and it is beginning to sound like a good idea. I don't think it should be the default setting, but some sites might like the extra control. Any comments? --CliffordAdams

Thanks for the pointers to the discussions of this issue at MeatBall. I can see that for regular linking there are good arguments for sticking to the LinkPattern. However, for applications such as FAQ-lists something like the [link|text to be displayed] you suggest would be better. (As an aside in languages with nouns regularly capitalized as in German longish WikiNames? look even stranger...IMHO). --DanielHernandez

After more thinking, I think I will enable these bracket links by default. I was thinking of using links like [Burry Holms Research] which would be rendered as a link like [Burry Holms Research] (with the brackets as part of the link). This is very similar to the existing practice of the MoinMoin wiki (see MoinMoin:HelpOnLinking). Since the brackets would be part of the link, one could always distinguish these links from ordinary wiki links. (I might include an option to turn off the brackets in the rendered links, for those sites that do not worry about hostile relinking.) --CliffordAdams [This feature is in the 0.90 release, enabled by default.]

[months later] The 0.91 release includes Free Links which are entered like [[Free Links]]. --CliffordAdams

Fast CGI packages:

Is anybody else using SpeedyCGI to run their UseModWiki? It's simple to set up, and by just changing the first line of wiki.pl I am getting radically better performance, even without any page cache preference setting. -- DaveBaker

You are probably the first. In some testing I did several weeks ago, the startup overhead was about 50% of the total time needed to serve a page. See more comments on the SpeedyCGI page. --CliffordAdams

I'm using SpeedyCGI with our internal Wiki site. It works great, it definitely made the site usable without having to install PerlMod?. The only problem I've had is that if someone doesn't set their Preferences, it looks like wiki thinks they're whoever last edited a page. Or something like that. Thanks for posting this reference to SpeedyCGI, Dave. -- DanMuller

See PersistentCGI for even more information. Release 0.92 includes even more features for persistent environments.


Some kind of Wiki visualisation, along the lines of http://www.graphviz.org would be *really* cool...

...and really CPU-expensive. :-( Right now usemod.com is running on a shared server so it can't use such features. The visualization could be useful for private wikis, although I think most of the people who are really interested wouldn't need the visualization tools. --CliffordAdams

...no problems. Its one of those extra frilly features that users often request willy nilly that requires a huge amount of time to implement.

I also like a visualisation... Isn't it possible to offer it, add another checkbox in the Preferences to turn in on (by default off), so others may use it? -- HansDonner

Unfortunately, right now I don't have enough time to write a good visualization system for the wiki. There are a lot of more basic things like searching, logins, and all the other suggestions on this page to do first. If someone would like to contribute code to the wiki, I could make it an option for the server. --CliffordAdams

It looks like it might not be too hard to write something that took the link list and turned it into input for WebDot? (http://www.graphviz.org/webdot/) which is already built. Then all you're doing is a simple data export of the page relationships, and it's doing all of the clever visualization.

-- LairdPopkin

Changing page names:

There is a lot of pressure on people who first create a new page name, because that page name is hard to change once a lot of people start referring to it. But it seems to me (not having done a lot of Wiki yet) that as a page evolves, the name may become very out of date, and due for a change. Have I missed soemthing or is there no way to do this? It would be nice to have a way to do it.


There is no way for an ordinary to change a page name in the wiki. The current workaround is to create the new page name, then either redirect the old page (see PageRedirect) or delete it. (Deletion is now (0.91) available to admins--see the "editlinks" action on AdminFeatures.) --CliffordAdams

Would it be possible to get some sort of PageNameTutorial on this? It doesn't look like redirects are exactly what I'm looking for (seems like it needs to keep the old version around as a pointer to the new), and I'm not sure I grok what goes on with a page deletion. Do you just create a copy of the old text on the new page, delete the old page, and manually update all links to the old page so they point to the new one?

I seem to remember a friend saying there was some admin feature that rebuilt links, some sort of oldpage=newpage thing, but I've been unable to find anything on the site so far.

...Ah. After a bit more digging, I've discovered the answer. I've now added it into the PageNameTutorial page. :-)


Recent Changes sequential listing:

The Recent Changes listing apparently allows only one line entry per page, per day. But the changes are actually logged by time. Would it be possible to list changes strictly by time, so that several changes to a page in the same day would be visible, along with the summary note for each change? -- JerryMuelver

Never mind -- I am beginning to understand RecentChangesOptions....

[This works]http://allmyfaqs.com/cgi-bin/wiki.pl?action=rc&days=3&all=1&showedit=1 -- jm

...Or, you could just check the box "Show all changes (not just most recent)" on the Preferences page. (You can also set the default number of days and whether to show the edits in Preferences.) Eventually I'd like to add more options to the RecentChanges display. --CliffordAdams

It's slowly soaking in.... -- jm

Allow 404s?

There's a lot of refactoring going on at http://allmyfaqs.com/. I put an htaccess "File not found" redirect in my directory, figuring to capture requests for deleted wiki files and take the user to my keyword search page to find the info in its new location. However, wiki.pl gets there first, puts up a new blank page for the visitor to contend with. Is there a way for wiki.pl to discriminate between "create a new page" commands from inside the wiki and bad page calls from outside? -- JerryMuelver

Yes there is a way. It is even an easy way. Just edit the DoBrowseRequest routine (around line 320) and change the following lines:

  if ($id) {                    # Just script?PageName
    &BrowsePage($id)  if &ValidIdOrDie($id);


  if ($id) {                    # Just script?PageName
    $id = 'PageNotFound'  if (!-f &GetPageFile($id));
    &BrowsePage($id)  if &ValidIdOrDie($id);

The 'PageNotFound?' page will be used if the requested page doesn't exist. If you want to use a free-link name with spaces, replace the spaces with underscore (_) characters. This code has been expanded into a real option for the 0.92 release. --CliffordAdams

Super! -- jm

Just did the patch, and tested it. I still got goosebumps. Bogus page for testing: http://allmyfaqs.com/cgi-bin/wiki.pl?bogus -- jm

Password protect wiki with htaccess:

I just took care of member login by dropping this htaccess file into the cgi-bin for http://worldwebworks.com --

<Files wiki.pl>
AuthType Basic
require valid-user
AuthName "WWWWorks Wiki"
AuthUserFile /home/data/members/.htpasswd

Now folks need to register and qualify to get into the wiki. Previously, they could bypass the "Members Only" htaccess restriction for the "/members" directory and tickle cgi-bin/wiki.pl directly. I thought I would have to move wiki.pl under the /members structure and activate CGI-exec there, but this "<Files...>" method is much more elegant. -- JerryMuelver

New page text and style sheets:

Would it be possible to add the following to the configuration options, and then substitute them in the appropriate places in the code as appropriate:

   $NewPageText? = "Describe the new page here.\n";
   $StyleSheet  = "";

This allows me to specify a CSS style sheet using StyleSheet = "/wiki.css" for example, and provide my own default text for new pages - for example, to include a default categorisation ...

For the stylesheet stuff, I changed the following in v0.90 (approx line 795 in the code I think):

  if ($SiteBase ne "") {
    if ($StyleSheet ne "") {
       $result .= $q->start_html('-title' => "$SiteName?: $title",
                                 '-xbase' => $SiteBase,
                                 '-style' => {-src=>$StyleSheet});
    } else {
       $result .= $q->start_html('-title' => "$SiteName?: $title",
                                 '-xbase' => $SiteBase,
                                 '-BGCOLOR' => 'white');
  } else {
    if ($StyleSheet ne "") {
       $result .= $q->start_html('-title' => "$SiteName?: $title",
                                 '-style' => {-src=>$StyleSheet});
    } else {
       $result .= $q->start_html('-title' => "$SiteName?: $title",
                                 '-BGCOLOR' => 'white');


Good suggestions. The stylesheet suggestion is already in the development version of 0.92 (although I rewrote the code to avoid the extra if-statements). The new-page description suggestion also sounds good, and is included in 0.92. --CliffordAdams

If you're going to include stylesheet support, it would be very helpful if the HTML UseModWiki outputs has classes associated with them, so that we can change text in specific circumstances. The best example I can give right now of why not having classes is a problem is with the Diffs. Normally, with a white background, the colors work fine. I have a dark blue background and white text with my stylesheet, and white text on the green and yellow of the diff is illegible. Also, if elements in the wiki had their own classes, if something looks fine on my site but not that great on my wiki, I can change it in my stylesheet just for the wiki. What do you think?

I've been playing with that very idea ... head on over to http://IAwiki.net/ where I've loaded a cooked version of UseMod 0.92. Once there, note that the pages look rather plain, then pop into userpreferences where you will find an option for a stylesheet url. Put any URL there you want. Then go look at that page you looked at a moment before, then do a view source and see that only one line has changed. -- EricScheid

Preview Passthrough for Summary. Meaning, when you are modifying a page, add a summary and hit preview, the Summary is retained. --DaveJacoby?

Free Links

As a very fresh user of wikis, I find only one feature disturbing: that the format of insite links are capitalised words containing capitals and no underscores. I would find it much more aestetically pleasing if the link and page header would look like normal text ('Wiki Suggestions').

UseMod does that. It's call Free Links. See it in operation http://allmyfaqs.com with explanations in Intro and Tour -- JerryMuelver

And you can even turn off the traditional wiki word automatic linking in the configuration file. See $WikiLinks. -- DanMuller

An interesting idea to explore would be the possibility to link to earlier versions of a page, either via version number (or branch/version), date or author (latest modifier). (SCM freak writing :-)

Backup idea: a low priority thread searching for new modifications sending these to another machine.

Automatic Cross-Reference/"See Also"

(aka WikiPatches/BackLinks)

I've found that if I create a particular Wiki page (call it Page 1) that's relevant to an existing Wiki page (call it Page 2), a reference from Page 1 to Page 2 is a nice thing to have. Usually, however, I don't create a ref from Page 2 to Page 1. Call it laziness :-) but I know of many other Wiki users who do the same thing.

So, I was thinking... maybe there could be an automatic cross-reference of sorts that's done whenever a new page is created or edited? Every page would have a "See Also" section (is there a better name?). Whenever Page 1 is created or changed, during the parsing of the page for Wiki:WordsSmashedTogetherLikeSo, the "Page Twos" that Page 1 references through those words would have their See Also sections updated to have a ref to Page 1.

Of course, you'd probably want to watch out for duplicate links in the See Also. You wouldn't want to have PageRedirects to a page get listed in the page's See Also (self-referencing - whee!). Other complications might crop up as well. On the whole, however, it sounds like a pretty neat feature to have.

- CAL, 6 Oct. 2001

Try clicking on the title of any page. This gives you a list of all pages that refer to it. Is this good enough? - DanMuller

I would say no. because the title does a search for the text, not a simple lookup and backlink.

After I posted my original suggestion, I realized that UseModWiki had the feature that you mentioned. I really should learn how to RTFM. :-) Still, it's adequate, but not ideal; it isn't an obvious feature. - CAL, 10 Oct. 2001

This concept is what is referred to as BackLinking?. There is now a patch. See WikiPatches/BackLinks.

UseModWiki | WikiSuggestionsResolved | RecentChanges | Preferences
Edit text of this page | View other revisions | Search MetaWiki
Last edited July 14, 2009 1:33 am by JuanmaMP (diff)