Installing DokuWiki
Installing DokuWiki requires a webserver and access to the underlying operating system as an administrator. Once having setup the ELN, there should be no need any further to access the file system, as anything should be controllable via the DokuWiki web interface. However, during installation a few things can only be done with direct access to the file system that require basic familiarity with the command line and web servers.
This section will provide some advice with installing the DokuWiki base and the required plugins. Creating the first content and organising your wiki will be covered in the following sections. As installing the DokuWiki requires access on the operating-system level, you may seek help from your IT department or skilled colleagues for this part. This is particularly true for the base installation and the special configurations requiring files to be copied on the file system.
Base wiki
For general instructions of how to install DokuWiki, see the official installation instructions available online. Generally, system requirements of the DokuWiki are quite low, only a webserver and PHP are necessary. Basic configuration of the freshly installed DokuWiki is done using a web interface. Usually, you will want to set the wiki as a “closed wiki”, with every access requiring a user account.
After having installed a bare DokuWiki, you need to add a number of plugins. This can be done from the DokuWiki admin interface via a web browser or from the command line with file system access to the server. The latter is only suggested for experienced users or if you intend to automate the installation. For details, see the respective section of the official DokuWiki manual available online.
For a complete list of plugins that should be installed and a short description of their use within the ELN, see Table 1
Name |
Description |
---|---|
Bureaucracy |
Web forms used to create pages, e.g., for the lab notebook and the inventory (samples, batches) |
Structured Data / data |
Collecting and storing structured data (metadata) on individual wiki pages; allows to aggregate information in overview tables and lists with filters (by Andreas Gohr) |
sqlite |
Interface to an SQLite database used solely for easier access to the data collected using the Structured Data plugin and contained in individual wiki pages (by Andreas Gohr) |
templatepagename |
Access to template files from within the wiki interface using special (and configurable) names |
Definition List |
Used for the protocol on the individual lab notebook pages providing a detailed list of tasks carried out prefixed with timestamps |
caption |
Figure and table captions, including referencing these captions |
Wrap |
Structure a wiki page, e.g., multiple columns and button-like areas |
Icons |
Include fontawesome and other icons into wiki pages, helpful for easier navigation and overview |
confmanager |
Access to the configuration files from within the DokuWiki admin area (by cosmo code) |
folded |
Create folded parts of a page, e.g., for help texts |
include |
Include other pages into a wiki page; used for help texts in conjunction with the folded plugin |
Note |
Simple way to add highlighted notes to wiki pages |
tplinc |
Conditionally include pages at certain parts of the DokuWiki template; useful, e.g., for area-specific additional navigation in the sidebar |
upgrade |
Upgrade the DokuWiki from within the admin interface (installed by default) |
snippets |
Insert templates into the current page at the cursor position helpful for more consistent documentation, reusing well-crafted building blocks |
(bibtex) |
not available via extension manager, needs rewrite and renaming |
General configuration
There is a series of general configuration settings that should be changed from their defaults. This again can be done using the DokuWiki admin interface via a web browser. For details of the configuration settings to be changed and their respective values, see Table 2.
Block |
Key |
Setting |
---|---|---|
DokuWiki |
||
Basic |
start |
index |
dmode |
0750 |
|
fmode |
0640 |
|
Display |
breadcrumbs |
0 |
youarehere |
check |
|
toptoclevel |
2 |
|
useheading |
Wiki Content Only |
|
Advanced |
userewrite |
.htaccess |
useslash |
check |
|
Plugins |
||
Data |
edit_content_only |
check |
Include |
showfooter |
uncheck |
showdate |
uncheck |
|
showuser |
uncheck |
|
showcomments |
uncheck |
|
showlinkbacks |
uncheck |
|
showtags |
uncheck |
|
showeditbtn |
uncheck |
|
Snippets |
snips_updatable |
uncheck |
old_revisions |
uncheck |
|
userreplace |
uncheck |
Of course, you can deviate from some of the settings given here without impairing functionality, as some are merely a matter of personal taste. Nevertheless, others are necessary for the DokuWiki to work as intended.
The start
, userewrite
, and useslash
settings ensure the DokuWiki URLs to behave like ordinary URLs, given the appropriate configuration of your webserver, including rewrite rules.
breadcrumbs
, youarehere
, toptoclevel
, and useheading
are mainly a matter of taste, whereas the last configuration setting is crucial to have sensible information in the aggregation tables for labbook pages.
The edit_content_only
setting of the Structured Data Plugin should be enabled, as otherwise, users editing the data tables will always be confronted with a rather complex form that allows for both, editing the values of the respective fields as well as their types. The latter, however, is neither necessary nor helpful to ensure consistency throughout your ELN.
Special configurations
The tplinc plugin needs some special attention, as by default, the standard template provided by DokuWiki does not support the include hooks. Therefore, according to the documentation of the tplinc plugin available online, you need to copy the configuration provided by the plugin to the global configuration file directory. Assuming a unixoid-like operating system, you would issue the following command from within the DokuWiki root directory:
cp lib/plugins/tplinc/dokuwiki/* conf/
Once done, in the special admin section for the tplinc plugin, you can include wiki pages at specific places of the template. Within the ELN, this is used as area-specific additional navigation in the sidebar.
Nice-to-have plugins
There are more plugins, that are nice to have as they offer additional functionality. Those can be found in table Table 3.
Name |
Description |
---|---|
searchindex |
The searchindex can be completely rebuilt which is helpful after moving namespaces or adding pages via the file system. It is therefore most helpful during development. |
todo |
Creating To-do lists with checkmarks and saving who checked the mark when. |
dw2pdf |
Allows to download single pages or entire namespaces via URL extension. The pages created contain links the same as the original website. This format is therefore useful to exchange the contents of the labbook. |
pdfjs |
Embed pdf pages on wiki pages. |