Skip to content

gerardnico/dokuwiki-plugin-404manager

Repository files navigation

dokuwiki-plugin-404manager Build Status

About

The 404 manager Dokuwiki plugin changes the behavior of Dokuwiki when a page doesn't exist.

On a normal website, when a page doesn't exist, you get an hard HTTP 404 response, hence the name of the plugin. Dokuwiki returns a soft 404 with this simple message : 'This topic does not exist yet'.

As you can see below on this snapshot:

The illustration

For the website readers, it's not really helpful and it can occur frequently when you use intensively the plugin pagemove in order to move page around. The most important problem is that thus external links become obsolete (especially for search engine for instance).

What can this plugin do ?

For writers

  • Automatic redirection in edit mode
  • A message is shown when the page name already exist in other pages.

Example:

The page name check message

For readers

  • Redirection to a target page for a source page with the admin page
  • Redirection by to the start page of the same namespace
  • Redirection by best namespace
  • Redirection to the internal search engine
  • and of course Nothing.

Installation

Install the plugin using:

on a server with minimal php 7.1

Configuration settings

You can configure the 404 Manager Plugin in the Configuration settings admin page.

404manager configruation settings

You can :

  • choose which action you want to perform for a reader (if the first action don't find any target page, the 404Manager plugin go to the second action, ...)
  • set that a writer switch directly to the edit mode
  • set if you want to check if the name page is unique
  • set if you want to see the classic message. A classic message is a message that the user don't need to understand what happened. The 404 Manager have only one classic message and it's when a redirection to the edit mode occur for a writer)
  • set the weight factor for the Redirection by best namepage

Settings explained

Redirection by configuration (Admin Page)

To go to the admin page, click on the admin button in the bottom of your page and click on the 404 Manager Plugin link.

404manager in the admin page

You will see the admin page for the 404 Manager Plugin. This page allow you to set up redirects to internal pages as external websites.

404manager plugin admin page

Action, you can perform :

  • Add/Modify a redirect with the form Add/Modify
  • Delete a redirect with the picture "delete"

Redirection by best name page

The redirection by best name page is an simple algorithm which occurs to find the best page by name.

It calculate a score for two kinds of page :

  • the start pages of a namespace
  • the pages with the same name

A weight factor is applied and in this way, you can influence the redirection :

  • When a page have the same name (by default 4)
  • When a page is a start page of a namespace (by default 3)
  • When a namespace match (by default 5)

To change the default configuration, you must go to the [configuration settings](#configuration settings) page

Example

  • The page asked : namespace1:namespace2:pagename
  • We have one page with the same name : namespace1:pagename
  • We have one startpage : namespace1:namespace2:start

Score :

  • The score for the page with the same name is : 9 = 5 (because namespace1 is present in the asked page) + 4 (because the page name match)
  • The score for the startpage is : 13 = 5 (because namespace1 is present in the asked page) + 5 (because namespace2 is present in the asked page) + 3 (because it's a start page)

In this case, the startpage is the redirect page because it have a highest score (13 against 9)

Redirection by best namespace

This redirection perform the same algorithm that the [redirection by best namepage](#Redirection by best namepage) but only for the start pages. If two start page for a namespace have the same score, the smallest start page is fired.

Ex:

  • asked page : namespace1:namespace3:namepage
  • first start page : namespace1:namespace2:start (Score 5 = 2 for namespace1 + 3 for the startpage)
  • second start page : namespace1:start (Score 5 = 2 for namespace1 + 3 for the startpage) We have the same score and the redirection occur on the smallest start page : first start page.

Redirection to the intern search engine

The 404 Manager redirects to the search engine.

The query performed is an explode of the page asked.

Example

  • The page asked : namespace1:namespace2:pre_pagename
  • The query asked : namespace1+namespace2+pre+pagename

Data Store

You can find the meta data:

  • for the last version: in the Sqlite Database DOKUWIKI_HOME/data/meta/404manager.sqlite3
  • for the older version: in the file 404managerRedirect.conf or 404managerRedirect.conf.migrated in the directory DOKUWIKI_HOME\lib\plugins\404manager

With the SQLite plugin, the data can be queried directly through its admin page.

Language

The plugin is only translated in English but you can translate it in your own language.

Just copy the directory lang/en, rename it in your own language (For instance, for france, to lang/fr) and translate the files.

About

The 404 manager Dokuwiki plugin changes the behavior of Dokuwiki when a page doesn't exist.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •