Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/importoldchangelog/action.php on line 8

Strict Standards: Declaration of action_plugin_bloglinks::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/bloglinks/action.php on line 191

Strict Standards: Declaration of action_plugin_tag::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/tag/action.php on line 117

Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/importoldindex/action.php on line 57

Strict Standards: Declaration of action_plugin_discussion::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/discussion/action.php on line 1144

Strict Standards: Declaration of action_plugin_feedmod::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/feedmod/action.php on line 133

Strict Standards: Declaration of action_plugin_blockquote::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/blockquote/action.php on line 61

Strict Standards: Declaration of action_plugin_blog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/blog/action.php on line 171

Strict Standards: Declaration of action_plugin_include::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/include/action.php on line 142

Strict Standards: Declaration of action_plugin_openid::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /kunden/doogie.de/wiki/lib/plugins/openid/action.php on line 534

Warning: Cannot modify header information - headers already sent by (output started at /kunden/doogie.de/wiki/lib/plugins/importoldchangelog/action.php:8) in /kunden/doogie.de/wiki/inc/auth.php on line 313

Warning: Cannot modify header information - headers already sent by (output started at /kunden/doogie.de/wiki/lib/plugins/importoldchangelog/action.php:8) in /kunden/doogie.de/wiki/inc/actions.php on line 163
DoogiesWiki [wikiengine]



This project is dead!

Why reinvent the wheel again? There are so many Wiki Engines out there, that have far more features. It was great fun implementing one, and I used it for nearly a year, but meanwhile I switched to Dokuwiki for my homepage.

Doogies DWiki Engine

Dwiki is my own Wiki Engine written in Perl. It hat very little dependencies on other software. No Database is neccessary.


Dwiki Features

  • complete and clean separation of content, design and code
  • 100% CSS only design
  • page layout can even be switched on the fly by exchanging the style sheet file
  • very simple and easy to learn Syntax for formatting your text
  • access level for each page: edit can be allowed for everyone or admin only
  • full text search
  • list of all pages
  • Recent Changes
  • delete page
  • rename page (backlinks can be updated automatically)
  • page aliases (one page can be linked with different names)
  • Very few presumptions for the server. Any webserver with a basic perl installation will do. No additional modules necessary.

Missing Features

  • Database Backend
  • Version Control
  • any further updates :-)

How to install?

After you have downloaded the sources, unpack the archive somewhere. It contains the following directory structure:

dwiki/
   cgi-bin/
      template/
      dwiki_data/
      .htaccess
      Dwiki.pm
      index.cgi
      admin.cgi
   htdocs/
      dwiki_css/

Move all the files of the htdocs/ directory under the DocumentRoot of your webserver. Move all the files of the cgi-bin/ directory into the ScriptAlias of your webserver.

Set the file mode of all .cgi files to executable.

chmod a+x cgi-bin/*.cgi

Make the dwiki_data directory and all files in it writeable for the webserver's user (normaly 'www' or 'wwwadmin').

chown -R www cgi-bin/dwiki_data<br>chmod -R u+w cgi-bin/dwiki_data

Create a password for the dwiki administrator.

htpasswd -c wwwpass DWikiAdminUserName

Adjust the line beginning with AuthFile inside the cgi-bin/.htaccess file to match the location of your wwwpass.

Optional configuration

You may want to adjust the pathes and URLs at the top of Dwiki.pm (look for the config section). If you change the location of the images in your installation, you also have to update the url links inside the css files:

perl -pi.bak -e 's%/dwiki_css%/your_url_to_images%' *.css

Open http://localhost/cgi-bin/index.cgi in your webbrowser.

Access rights for visitors and the admin

Normaly visitors may only view pages. When someone calls the index.cgi the footer will not contain the 'Edit' Link. Only if a page's acces level is set to public by the admin, then also a normal (anonymous) visitor may edit the page via the edit link that will appear in the footer of those pages.

Create a page

To create a page simply edit an already exisiting page (e.g. the SandBox) and insert a new WikiWord somewhere. Save you changes. Then log in as admin and click on the new WikiWord. A new empty page by that name, will be created. Only the admin may create new pages. For normal users, new WikiWords (that would not link anywhere) show up as just plain words in the text.

Rename a page

If you want to rename a page simply click on 'rename' in the footer. But keep in mind that this page may be linked from many other pages via its title. These links are called backlinks. Before you can rename a page you will get a list of backlinks. You can choose to update all, none or only some of them, so that they will link to the new name of the page. Only the admin is allowed to rename pages.

Delete a page

To delete a page click on edit and then click the 'delete' button on the right. Only the admin may delete pages. If the page had any backlinks, they now will link to nowhere.

Aliases

An alias is an additional name for a page. For example the page WikiWord can also be reached by the alias WikiWords. To create an alias, log in as admin and edit a page. Below the textbox you can create a new alias or delete already existing ones. Only the administrator may create or delete aliases.

An Alias is not a copy of a page, but just a virtual link. Whenever a user clicks on an alias, he will silently be forwarded to the original page. When a page is deleted, also all its aliases will be deleted.

Some implementation details

The sources of all pages is saved in the dwiki_data directory. One file per page. This directory also contains a file .metabase. This is a list of all pages in your Dwiki together with their access rights, date of last change, last editor and subtitle for each page. Most of the style sheets link to images within the dwiki_css directory. So if you rename it, you also have to update these urls within the css files.

There are two files to access your Dwiki. $index.cgi$ and $admin.cgi$. If you start through the $admin.cgi$ you get much more rights. Only the admin is allowed to edit, rename or delete pages. Therefore this cgi script should be protected with a password by the <tt>.htaccess</tt> file. The $index.cgi$ is the default start for every normal visitor to your dwiki. Visitors may only edit pages whose access level is set to public. Only the admin my change the access level of a page when he edits it.


Download Sources

 
wikiengine.txt · Zuletzt geändert: 25.10.2010 08:27 von doogie
Recent changes RSS feed Driven by DokuWiki