Revision [8524]

This is an old revision of InvisibleWiki made by SamuelDr on 2005-05-28 05:02:06.

 

Running an invisible wiki engine

How to install and configure an invisible wiki engine to power your website

Examples of sites run by an invisible Wikka engine
    • (not sure if it's invisible enough ;) )
 


Wiki engines are more than engines for wikis

A common misunderstanding about WikiEngine wiki engines is that they can only be used to run actual wikis (or web-based collaborative projects like, for example, Wikipedia). Wiki engines are, on the contrary, a simple and effective solution for maintaining and managing different FlexibleWikka kinds of non-wiki websites, without bothering with FTP connections.

Two frequent arguments about the fact that wiki engines can only be used to maintain wikis are the following:

  1. anyone can edit the content of a wiki;
  1. wiki engines make sites look wikish;

Both arguments are false.

Regarding A), editing privileges in many wiki engines, including Wikka, can be set on a per-page basis through ACLInfo Access Control Lists. A wiki engine can thus easily restrict read-, comment- or write-access for specific pages to no user, a specific user or more users.

As for B) - one might argue - a site run by a wiki engine will probably look too "wikish" for one's (and one's users') taste, with a lot of links and features that usually are not expected on non-wiki sites. Wiki-related features typically include:


To address this issue, I propose in this page a very simple solution.

An invisible wiki engine?


[preview of site run by invisible wiki engine] [editing a site run by invisible wiki engine]
 

I use WikkaWiki to run my personal website, so I can update the content with a simple WikkaTourEditing double-click anytime I need to. I have configured my Wikka engine so that all wiki-related features are hidden to the user in graphical browsers. No code modification is required, only the setting of specific options in the COnfigurationOptions configuration file and some minor changes in the WikkaSkins stylesheet.
 



The configuration

If you want to use Wikka to invisibly power a non-wiki site, here's what you need to do.

  1. First, you will need to restrict write access to the administrator (i.e., yourself), so as to prevent other users from modifying the content of your site. Open wikka.config.php and set the ACLInfo ACL options as follows:
    "default_write_acl" => "!*",
    "default_read_acl" => "*",
    "default_comment_acl" => "!*",

These settings mean that by default anyone is able to read wiki pages but no one except the administrator can modify them. You can also set all the default options to !* and decide to give read access to single pages only.

  1. Second, hide comments by setting the relevant configuration option to '1':
    "hide_comments" => "1",

  1. Optionally, you might want to delete or mask all the default wiki-related pages, like - say - WikkaDocumentation or PageIndex. To do this, open the page and either:
    1. append /delete to the page URL to remove the page;
    1. append /acls to the page URL (or click on Edit ACLs) to set the access options for this page as: !* - !* - !*;

  1. Reduce the navigation links to the minimum necessary for instance:
    "navigation_links" => "[[UserSettings login]]",

You might also want to hide the login page. To do this just mask or delete the default UserSettings page, after creating a new login page (a page with the {{usersettings}} action) not linked from any other page of your website.

  1. Modify the stylesheet to hide wiki-related page elements. In order to do so, open .css/wikka.css. First make a backup of this file so you can restore the original stylesheet if needed. Then, look for all the components of the page that you want to be invisible to the user and mask them. This can be easily done by adding to the relevant CSS selector a display:none attribute. In my stylesheet, I mask the following elements:
.header h2 {display:none;}
.footer {display: none;}
.commentsheader {display: none;}
.comment {display: none;}
.commentinfo {display: none;}
.commentform {display: none;}
.smallprint {display: none;}
.exttail {display: none;}

An example of a similar CSS configuration can be found on the TestSkin skin selection page (void.css).
Keep in mind that the hidden elements (including links) are still visible in the page source so they will be crawled and cached by search engines. To prevent this, change the ACL settings or remove these pages as suggested at point 3).

That's all folks. Comments and suggestions are welcome
-- DarTar
There are 17 comments on this page. [Show comments]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki