Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Incorrect link fixed.
[kiriwrite/.git] / Documentation / English (British) / user-all.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">\r
2 <html>\r
3         <head>\r
4                 <link href="style.css" REL="stylesheet" TYPE="text/css" MEDIA="screen">\r
5                 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">\r
6                 <title>Kiriwrite Documentation -  - User Documentation</title>\r
7         </head>\r
8         <body>\r
9                 <div class="menubarback">\r
10                         <div class="menubar">\r
11                                 <span class="apptitle">Kiriwrite</span>\r
12                                 &nbsp;\r
13                         </div>\r
14                 </div>\r
15                 <div class="pageinformation">\r
16                         <span class="pagetitle">User Documentation</span><br>\r
17 \r
18 The User Documentation contains information on how to install Kiriwrite, operate Kiriwrite, solutions to common problems that occur while using Kiriwrite and tips on using Kiriwrite.\r
19 \r
20 <br><br>\r
21 \r
22 <span class="heading">Contents</span><br>\r
23 \r
24 <a href="user-preface.html">Preface</a><br>\r
25 <a href="user-introduction.html">Introduction</a><br>\r
26 <a href="user-chapter1.html">Chapter 1: Installation</a><br>\r
27 &nbsp;<a href="user-chapter1-obtainingkiriwrite.html">1.1: Obtaining Kiriwrite</a><br>\r
28 &nbsp;<a href="user-chapter1-installingkiriwrite.html">1.2: Installing Kiriwrite</a><br>\r
29 &nbsp;<a href="user-chapter1-installerscript.html">1.3: Kiriwrite Installer Script</a><br>\r
30 <a href="user-chapter2.html">Chapter 2: Operation</a><br>\r
31 &nbsp;<a href="user-chapter2-databases.html">2.1: Databases</a><br>\r
32 &nbsp;<a href="user-chapter2-pages.html">2.2: Pages</a><br>\r
33 &nbsp;<a href="user-chapter2-filters.html">2.3: Filters</a><br>\r
34 &nbsp;<a href="user-chapter2-templates.html">2.4: Templates</a><br>\r
35 &nbsp;<a href="user-chapter2-compiling.html">2.5: Compiling</a><br>\r
36 <a href="user-chapter3.html">Chapter 3: Kiriwrite Settings</a><br>\r
37 <a href="user-chapter4.html">Chapter 4: Usage Tips</a><br>\r
38 &nbsp;<a href="user-chapter4-securing.html">4.1: Securing your Kiriwrite installation</a><br>\r
39 &nbsp;<a href="user-chapter4-renaming.html">4.2: Renaming the Kiriwrite script (kiriwrite.cgi)</a><br>\r
40 &nbsp;<a href="user-chapter4-removing.html">4.3: Removing unneeded modules and language files</a><br>\r
41 <a href="user-chapter5.html">Chapter 5: Troubleshooting</a><br>\r
42 <a href="user-chapter6.html">Chapter 6: Contributing to Kiriwrite</a>\r
43 <hr>\r
44 <span class="pagetitle">Preface</span><br><br>\r
45 Kiriwrite originally came into existence in 2003 when I was designing a new layout for my personal website (Kirinji's Pad) and found that I had so many pages to edit, I had to find an easier way of editing the website layout as I needed to and apply those changes to all of the pages on the website very quickly.<br><br>\r
46 As I was designing my website using an advanced free ware text-editor (at it's time) which allowed me to create a template and create pages as I needed which was great, until I wanted to redesign the website. At that point I had around 50 pages which had to be changed and became somewhat time consuming.<br><br>\r
47 That was when I wrote the original Kiriwrite script which was coded pretty much to my own needs and wasn't really well organised and was coded in Perl (although not that brilliantly as strict and warnings weren't used since I was learning Perl at the time) and by the time I finished coding it, I was able to do what I needed to do with Kiriwrite.<br><br>\r
48 Around the end of 2005 (and after a two-year spell at St. Austell College which is now Cornwall College St. Austell) I decided to rewrite the Kiriwrite code because the original Kiriwrite did not do any input validation and so little of the code was commented which meant I forgot what everything did and I wanted to add some new features which would become useful in the future.<br><br>\r
49 The rewritten Kiriwrite version was pretty much done in October 2006, following a suggestion from a good friend I decided to replace the flat-file based system which I used since the original Kiriwrite with a file-based database system called SQLite. Once that was done pretty much around the end of January 2007, I then separated the database code, presentation code and language strings into separate modules and files which meant that a MySQL 5.x server-based database could be used instead of file-based SQLite. The presentation code used to render internal output from Kiriwrite was separated and placed in the HTML4S (HTML 4.01 Strict) presentation module. The language strings that was hard-coded were separated and placed in the English (British) language file.<br><br>\r
50 After some minor tweaks, the rewritten Kiriwrite code was pretty much ready and once the documentation was written Kiriwrite was ready for release. What I would like to see in the future for Kiriwrite is to make it work with mod_perl and add some extra customisable features as some settings are currently hard-coded when they could very well not be hard-coded.<br><br>\r
51 I leave you with some advice, if you are going to design a website which uses a white background don't assume everyone will use a white background by default if no colour is specified and actually declare it as white background in the Cascading Style Sheet markup. You'd be amazed at how many commercial websites and some personal websites (that expect you to have) assume you have a white background when really you have a teal coloured background.<hr>\r
52 <span class="pagetitle">Introduction</span><br><br>\r
53 Kiriwrite is a web-based (browser-based) interface for creating pages for websites, intended for those who know how to create pages by hand and want to accelerate the process of (re)designing a static-only website.<br><br>\r
54 The documentation is split into three parts, the user documentation (which is this part), the developer documentation (for writing new modules or language files) and the tutorial documentation (the basics and how to use Kiriwrite).<br><br>\r
55 Although Kiriwrite isn't limited for creating pages for websites (as in you can create other types of text-based formats), Kiriwrite is primarily intended for creating pages for websites.<br><br><hr>\r
56 <span class="pagetitle">Chapter 1: Installation</span><br><br>\r
57 Before Kiriwrite can be used, Kiriwrite needs to be installed properly and this involves obtaining the code from a source package or from a Subversion<sup>1</sup> repository, copying the needed files into the correct place, setting the correct permissions on the files and running the installation script.<br><br>\r
58 \r
59 <div class="warningbox">\r
60     <div class="message warning">\r
61         <span class="warningtext">\r
62             <b>Warning</b><br>\r
63             Please be aware (for this version), that Kiriwrite <b>is intended to be used on a private web server and not on a public web server unless it is properly secured down</b> because by default anyone can run Kiriwrite and manipulate the data already there. Suggested methods of securing down your Kiriwrite installation are available in Chapter 4: Usage Tips.\r
64         </span>\r
65     </div>\r
66 </div>\r
67 \r
68 <br>\r
69 \r
70 This chapter is split into two parts with the first part explaining on how to obtain Kiriwrite and the second part explaining on how to install Kiriwrite.<br><br>\r
71 \r
72 <div class="footnote"></div>\r
73 <sup>1</sup> Subversion is a version control system which tracks changes to data stored in the repositories and allows easy updating of source code after the source code is checked out.<hr>\r
74 <span class="pagetitle">1.1 Obtaining Kiriwrite</span><br><br>\r
75 Kiriwrite can be obtained either through the Subversion repository or extracted from a source archive that is available on Kiriwrite homepage.<br><br>\r
76 <span class="heading">1.1.1: Archive Extraction</span><br><br>\r
77 The contents of the Kiriwrite archive can be extracted using gzip if it's a Gzip archive, bzip2 if it's a Bzip2'ed archive, 7za if it's a 7-Zip archive and unzip if it's a ZIP archive.<br><br>\r
78 Bear in mind the following is done from a command console. GUI interfaces can also do the same as preformed here and mainly involves opening the archive and clicking on the Extract/Extract All button or simply dragging the folder containing from out of the archive (usually making a copy of the contents in the archive).<br><br>\r
79 \r
80 <div class="messagebox">\r
81     <div class="message note">\r
82         <b>Note</b><br>\r
83         The naming convention of the Kiriwrite archives go as the following:<br><br>\r
84         <div class="code">\r
85             kiriwrite-x.y.z(-e).arc\r
86         </div>\r
87         <br>\r
88         Where x is the major version, y is the minor version and z is the revision with (-e) meaning a very tiny modification that had to be done that did not merit an increment to the revision number.\r
89     </div>\r
90 </div>\r
91 \r
92 <br>\r
93 \r
94 When downloading an archive, the archive can be checked (by downloading the file with the same name but with .sha256 or .md5 added to the end of it) using shasum<sup>1</sup> or md5sum by doing the following to ensure it is downloaded correctly:<br><br>\r
95 \r
96 <div class="code">\r
97     shasum -a 256 kiriwrite-x.y.z(-e).arc<br>\r
98     md5sum kiriwrite-x.y.z(-e).arc\r
99 </div>\r
100 \r
101 <br>\r
102 \r
103 shasum or md5sum should then generate the SHA-256 or MD5 checksum that should match the one that appears in the file with .sha256 or .md5 appended to it. If it does not match (and the file containing the sha256 or md5sum hash is the correct version) then the archive should be downloaded again and repeat the same process.<br><br>\r
104 To extract the gzip archive, the following command should be preformed when switched to the correct directory to extract from.<br><br>\r
105 \r
106 <div class="code">\r
107     gzip -d -c <i>(path)</i>/kiriwrite-0.1.0.tar.gz | tar -xv\r
108 </div>\r
109 \r
110 <br>\r
111 \r
112 A list of files that have been extracted will then appear with the contents of the archive appearing in the directory that the archive was extracted to.<br><br>\r
113 To extract the bzip2 archive, the following command should be preformed when switched to the correct directory to extract from.<br><br>\r
114 \r
115 <div class="code">\r
116     bzip2 -d -c <i>(path)</i>/kiriwrite-0.1.0.tar.bz2 | tar -xv\r
117 </div>\r
118 \r
119 <br>\r
120 \r
121 A list of files that have been extracted will then appear with the contents of the archive appearing in the directory that the archive was extracted to.<br><br>\r
122 To extract the ZIP archive, the following command should be preformed when switched to the correct directory to extract from.<br><br>\r
123 \r
124 <div class="code">\r
125     unzip <i>(path)</i>/kiriwrite-0.1.0.zip\r
126 </div>\r
127 \r
128 <br>\r
129 \r
130 A list of files that have been extracted will then appear with the contents of the archive appearing in the directory that the archive was extracted to.<br><br>\r
131 To extract the 7Zip archive, the following command should be preformed when switched to the correct directory to extract from.<br><br>\r
132 \r
133 <div class="code">\r
134     7za e <i>(path)</i>/kiriwrite-0.1.0.7z\r
135 </div>\r
136 \r
137 <br>\r
138 \r
139 A list of files that have been extracted will then appear with the contents of the archive appearing in the directory that the archive was extracted to.<br><br>\r
140 \r
141 <span class="heading">1.1.2: Subversion Access</span><br><br>\r
142 Kiriwrite can also be obtained through checking out the code from the Subversion repository.<br><br>\r
143 \r
144 <div class="messagebox">\r
145     <div class="message note">\r
146         <b>Note</b><br>\r
147         Bear in mind that the code that is in the Kiriwrite Subversion repository is normally unstable and could very well cause unexpected problems (such as warnings that appear in the web server error log that can be easily fixed and alterations to the database structure which requires an upgrade script which hasn't been written yet for that particular version yet).\r
148     </div>\r
149 </div>\r
150 \r
151 <br>\r
152 \r
153 Kiriwrite can be obtained from the Subversion repository by doing the following in a command console after selecting the correct directory to put it in:<br><br>\r
154 \r
155 <div class="code">\r
156     svn checkout svn://svn.berlios.de/kiriwrite/trunk\r
157 </div>\r
158 \r
159 <br>\r
160 \r
161 A list of files then appear as they are received from the Subversion repository and placed in the directory the command console is currently in. To update the code stored locally with code that is in the Kiriwrite Subversion repository this command should be done after changing to the directory where the local copy of the Kiriwrite Subversion code is:<br><br>\r
162 \r
163 <div class="code">\r
164     svn update\r
165 </div>\r
166 \r
167 <br>\r
168 \r
169 A list of files will then appear showing which files has been updated.\r
170 \r
171 <div class="footnote"></div>\r
172 <sup>1</sup> The version of shasum talked about here is the shasum script that is used by the Digest::SHA::PurePerl Perl module which can produce checksums in SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 which can be installed via CPAN.<hr>\r
173 <span class="pagetitle">1.2.1 Copying files</span><br><br>\r
174 Before Kiriwrite can be used, the files need to be copied to the correct place. After extracting the archive, the structure of the extracted archive should be like this:<br><br>\r
175 <b>Documentation</b> – Documentation that is available in several languages.<br>\r
176 <b>cgi-files</b> – The main Kiriwrite script, associated modules, installer script and language files.<br>\r
177 &nbsp;<b>Modules</b> – Modules for Kiriwrite are stored here.<br>\r
178 &nbsp;&nbsp;<b>Database</b> – Database modules are stored here.<br>\r
179 &nbsp;&nbsp;<b>Presentation</b> – Presentation modules are stored here.<br>\r
180 &nbsp;<b>db</b> – Default database directory (for file based Database modules).<br>\r
181 &nbsp;<b>lang</b> – The directory for language files in Kiriwrite.<br>\r
182 &nbsp;<b>lib</b> - Library files that are used by Kiriwrite.<br>\r
183 &nbsp;<b>output</b> – The output directory when pages are compiled.<br>\r
184 <b>misc</b> – Miscellaneous files (mainly for developers).<br>\r
185 <b>non-cgi-files</b> – Non CGI files that need to be placed outside of the cgi-bin folder.<br><br>\r
186 The files in the cgi-files folder should be copied to the cgi-bin<sup>1</sup> folder<sup>2</sup> and the files in the non-cgi-files folder should be copied to a folder which can be accessed from the web server.<br><br>\r
187 <span class="heading">1.2.2 Setting Permissions</span><br><br>\r
188 The following permissions should be set for the files that have been copied to the cgi-files directory (the following file list should apply to those running *nix/BSD systems):<br><br>\r
189 \r
190 <table class="infotable">\r
191     <tr>\r
192         <td class="tableheading">Filename</td>\r
193         <td class="tableheading">Owner</td>\r
194         <td class="tableheading">Group</td>\r
195         <td class="tableheading">Others</td>\r
196     </tr>\r
197     <tr>\r
198         <td class="tabledata"><i>(Top Directory)</i></td>\r
199         <td class="tabledata">RWX</td>\r
200         <td class="tabledata">RX</td>\r
201         <td class="tabledata"><i>None</i></td>\r
202     </tr>\r
203     <tr>\r
204         <td class="tabledata"><b>Modules</b></td>\r
205         <td class="tabledata">RX</td>\r
206         <td class="tabledata">RX</td>\r
207         <td class="tabledata"><i>None</i></td>\r
208     </tr>\r
209     <tr>\r
210         <td class="tabledata"><b>Modules/Database</b></td>\r
211         <td class="tabledata">RX</td>\r
212         <td class="tabledata">RX</td>\r
213         <td class="tabledata"><i>None</i></td>\r
214     </tr>\r
215     <tr>\r
216         <td class="tabledata">Modules/Database/MySQL.pm</td>\r
217         <td class="tabledata">R</td>\r
218         <td class="tabledata">R</td>\r
219         <td class="tabledata"><i>None</i></td>\r
220     </tr>\r
221     <tr>\r
222         <td class="tabledata">Modules/Database/SQLite.pm</td>\r
223         <td class="tabledata">R</td>\r
224         <td class="tabledata">R</td>\r
225         <td class="tabledata"><i>None</i></td>\r
226     </tr>\r
227     <tr>\r
228         <td class="tabledata"><b>Modules/Presentation</b></td>\r
229         <td class="tabledata">RX</td>\r
230         <td class="tabledata">RX</td>\r
231         <td class="tabledata"><i>None</i></td>\r
232     </tr>\r
233     <tr>\r
234         <td class="tabledata">Modules/Presentation/HTML4S.pm</td>\r
235         <td class="tabledata">R</td>\r
236         <td class="tabledata">R</td>\r
237         <td class="tabledata"><i>None</i></td>\r
238     </tr>\r
239     <tr>\r
240         <td class="tabledata"><b>db</b></td>\r
241         <td class="tabledata">RWX</td>\r
242         <td class="tabledata">RX</td>\r
243         <td class="tabledata"><i>None</i></td>\r
244     </tr>\r
245     <tr>\r
246         <td class="tabledata"><b>output</b></td>\r
247         <td class="tabledata">RWX</td>\r
248         <td class="tabledata">RX</td>\r
249         <td class="tabledata"><i>None</i></td>\r
250     </tr>\r
251     <tr>\r
252         <td class="tabledata"><b>lang</b></td>\r
253         <td class="tabledata">RX</td>\r
254         <td class="tabledata">RX</td>\r
255         <td class="tabledata"><i>None</i></td>\r
256     </tr>\r
257     <tr>\r
258         <td class="tabledata">lang/*.lang</td>\r
259         <td class="tabledata">R</td>\r
260         <td class="tabledata">R</td>\r
261         <td class="tabledata"><i>None</i></td>\r
262     </tr>\r
263     <tr>\r
264         <td class="tabledata"><b>lib</b></td>\r
265         <td class="tabledata">R</td>\r
266         <td class="tabledata">R</td>\r
267         <td class="tabledata"><i>None</i></td>\r
268     </tr>\r
269     <tr>\r
270         <td class="tabledata">lib\*.lib</td>\r
271         <td class="tabledata">R</td>\r
272         <td class="tabledata">R</td>\r
273         <td class="tabledata"><i>None</i></td>\r
274     </tr>\r
275     <tr>\r
276         <td class="tabledata">kiriwrite.cgi</td>\r
277         <td class="tabledata">RWX</td>\r
278         <td class="tabledata">R</td>\r
279         <td class="tabledata"><i>None</i></td>\r
280     </tr>\r
281     <tr>\r
282         <td class="tabledata">install.cgi</td>\r
283         <td class="tabledata">RWX</td>\r
284         <td class="tabledata">R</td>\r
285         <td class="tabledata"><i>None</i></td>\r
286     </tr>\r
287     <tr>\r
288         <td class="tabledata">page.html</td>\r
289         <td class="tabledata">R</td>\r
290         <td class="tabledata">R</td>\r
291         <td class="tabledata"><i>None</i></td>\r
292     </tr>\r
293 </table>\r
294 \r
295 <br><br>\r
296 \r
297 R = Read, W = Write, X = Execute/Allow directory listing<br><br>\r
298 For the non-cgi files folder, read only permissions should be set on all files (and read and allow directory listings for directories) as no writing should be needed.<br><br>\r
299 Once this is done, the installer script can be run by browsing to URI location of where the files in the cgi-files directory were in place and adding install.cgi to the end of it.<br><br>\r
300 <div class="footnote"></div>\r
301 <sup>1</sup>The cgi-bin folder is used for storing scripts that use the Common Gateway Interface (CGI). CGI scripts are typically associated with Perl scripts but can also be C++, C, Python, shell script and many others.<br>\r
302 <sup>2</sup>Some servers are configured so that CGI scripts can run from any directory so in this case Kiriwrite doesn't have to be placed in the cgi-bin directory.<hr>\r
303 <span class="pagetitle">1.3 Kiriwrite Installer Script</span><br><br>\r
304 After pointing your browser to the installer script, a page appears which guides you through configuring the settings for Kiriwrite.<br><br>\r
305 At the top of the page a drop down box is available to change the language of the installer script to another language which is more easier to understand, simply select the language from the drop down box and click on the Switch button, the script will then switch to the selected language.<br><br>\r
306 The installer script will preform three tests, the first being to check if all the needed modules are there, the second test is to check if the modules needed for the database modules are there and finally a test to check if the directories have their correct permissions set.<br><br>\r
307 Before the settings can be configured, checks are made to make sure that all of the needed modules are installed properly. If any of the needed modules are missing an error message will appear saying that one or more of the required Perl modules is missing and will need to be installed which can be done from the CPAN interface.<br><br>\r
308 The installer script then checks to see if at least of the Perl modules for the database modules are installed. If none of the Perl modules needed for the database modules are found then an error message will appear saying that none of the Perl modules needed for the database modules are installed and will need to be installed which can be done from the CPAN interface.<br><br>\r
309 Finally, the installer script then checks to see if the directories have the minimum correct permissions set. If one or more of the directories has an error, then a message appears saying to make sure that the correct permissions are set.<br><br>\r
310 \r
311 <div class="messagebox">\r
312     <div class="message hint">\r
313         <b>Hint</b><br>\r
314         More information on solving problems that occur while installing Kiriwrite can be found in Chapter 5: Troubleshooting.\r
315     </div>\r
316 </div>\r
317 \r
318 <br>\r
319 \r
320 When the installer finds that everything is fine in regards to Perl modules and file permissions, a form appears allowing to configure the Kiriwrite installation to specific needs. Some default values are given which will work with the file-based database modules.<br><br>\r
321 The configuration settings in detail:<br><br>\r
322 <table class="infotable">\r
323     <tr>\r
324         <td class="tableheading">Setting</td>\r
325         <td class="tableheading">Description</td>\r
326     </tr>\r
327     <tr>\r
328         <td class="tabledata">Database Directory</td>\r
329         <td class="tabledata">Specifies the database directory to use for storing databases that are created by the file-based database modules. This option is ignored by the server-based modules.</td>\r
330     </tr>\r
331     <tr>\r
332         <td class="tabledata">Output Directory</td>\r
333         <td class="tabledata">Specifies the output directory to use to store the compiled pages.</td>\r
334     </tr>\r
335     <tr>\r
336         <td class="tabledata">Images (URI path)</td>\r
337         <td class="tabledata">Specifies the Images (URI path) to use for displaying images when using the page template with Kiriwrite.</td>\r
338     </tr>\r
339     <tr>\r
340         <td class="tabledata">Text Area Columns</td>\r
341         <td class="tabledata">Specifies the width of the text area when editing notes, pages and templates.</td>\r
342     </tr>\r
343     <tr>\r
344         <td class="tabledata">Text Area Rows</td>\r
345         <td class="tabledata">Specifies the height of the text area when editing notes, pages and templates.</td>\r
346     </tr>\r
347     <tr>\r
348         <td class="tabledata">Date Format</td>\r
349         <td class="tabledata">Specifies the date format to use when list the pages from the database. A selection of date formats are available from the drop down box or a custom one can be entered into the text box next to the drop down box.</td>\r
350     </tr>\r
351     <tr>\r
352         <td class="tabledata">Language</td>\r
353         <td class="tabledata">Specifies the system language to use in Kiriwrite. If the language used in the installer script is available as language to use in Kiriwrite then that language will be selected by default.</td>\r
354     </tr>\r
355     <tr>\r
356         <td class="tabledata">Presentation Module</td>\r
357         <td class="tabledata">Specifies the presentation module to use in Kiriwrite.</td>\r
358     </tr>\r
359     <tr>\r
360         <td class="tabledata">Database Module</td>\r
361         <td class="tabledata">Specifies the database module to use in Kiriwrite. SQLite is a file-based database module which uses the database directory and the SQLite Perl module while MySQL5 is a server-based database module which uses a MySQL 5.x server from the MySQL Perl module.</td>\r
362     </tr>\r
363 </table>\r
364 \r
365 <br>\r
366 \r
367 The following options are used only by the server-based database modules:<br><br>\r
368 \r
369 <table class="infotable">\r
370     <tr>\r
371         <td class="tableheading">Setting</td>\r
372         <td class="tableheading">Description</td>\r
373     </tr>\r
374     <tr>\r
375         <td class="tabledata">Database Server</td>\r
376         <td class="tabledata">Specifies the database server to use.</td>\r
377     </tr>\r
378     <tr>\r
379         <td class="tabledata">Database Port</td>\r
380         <td class="tabledata">Specifies the database port to use.</td>\r
381     </tr>\r
382     <tr>\r
383         <td class="tabledata">Database Protocol</td>\r
384         <td class="tabledata">Specifies the database protocol to use.</td>\r
385     </tr>\r
386     <tr>\r
387         <td class="tabledata">Database Name</td>\r
388         <td class="tabledata">Specifies the database name to use.</td>\r
389     </tr>\r
390     <tr>\r
391         <td class="tabledata">Database Username</td>\r
392         <td class="tabledata">Specifies the database username to use.</td>\r
393     </tr>\r
394     <tr>\r
395         <td class="tabledata">Database Password</td>\r
396         <td class="tabledata">Specifies the database password to use.</td>\r
397     </tr>\r
398     <tr>\r
399         <td class="tabledata">Database Table Prefix</td>\r
400         <td class="tabledata">Specifies the table prefix to use. Multiple Kiriwrite installations can use the same server database so long as the table prefix is different.</td>\r
401     </tr>\r
402 </table>\r
403 \r
404 <br>\r
405 \r
406 There is an option that is enabled by default to attempt to delete the installation script after the configuration file has been written since the installation script would no longer be needed after that. Unchecking the box for this option disables this.<br><br>\r
407 Click on the Save Settings button to write the configuration file or the Reset Settings button to restore the settings to their default values.<br><br>\r
408 After clicking on the Save Settings button, some checks are made to make sure that data passed is correct, the configuration file is written (and the installer script deleted if requested) and a message appears saying that Kiriwrite can now be used by clicking on the link at the bottom of the page.\r
409 <hr>\r
410 <span class="pagetitle">Chapter 2: Operation</span><br><br>\r
411 Now that Kiriwrite is installed and working, this chapter is about operating Kiriwrite. This chapter is split into five parts:<br>\r
412 \r
413 <ul>\r
414 <li>Databases, how to add a database, edit a database and delete a database.</li>\r
415 <li>Pages, Selecting a database, creating, editing and deleting pages, deleting, moving, copying and editing multiple pages.</li>\r
416 <li>Filters, adding a filter, editing a filter and deleting a filter.</li>\r
417 <li>Templates, adding a template, editing a template and deleting a template.</li>\r
418 <li>Compiling, compiling one, selected or all databases and cleaning the output directory.</li>\r
419 </ul><hr>\r
420 <span class="pagetitle">2.1 Databases</span><br><br>\r
421 Databases are used for storing the pages that are created in Kiriwrite. Before pages can be stored in a database, a database has to be created.<br><br>\r
422 The default view when you run the Kiriwrite script is to show the list of databases. If there are no databases available, then a message appears saying that there are no databases than can be used.<br><br>\r
423 <span class="heading">2.1.1 Add a database</span><br><br>\r
424 To add a database, from the View Databases sub-menu click on the 'Add Database' link, a form then appears allowing to enter the information about the new database.<br><br>\r
425 \r
426 <table class="infotable">\r
427     <tr>\r
428         <td class="tableheading">Settings</td>\r
429         <td class="tableheading">Description</td>\r
430     </tr>\r
431     <tr>\r
432         <td class="tabledata">Database Name</td>\r
433         <td class="tabledata">Specifies the database name of the new Kiriwrite database.</td>\r
434     </tr>\r
435     <tr>\r
436         <td class="tabledata">Database Description</td>\r
437         <td class="tabledata">Specifies the description of the new Kiriwrite database.</td>\r
438     </tr>\r
439     <tr>\r
440         <td class="tabledata">Database Categories</td>\r
441         <td class="tabledata">Specifies the categories the database should belong to.</td>\r
442     </tr>\r
443     <tr>\r
444         <td class="tabledata">Database Notes</td>\r
445         <td class="tabledata">The notes that gives information about the database.</td>\r
446     </tr>\r
447     <tr>\r
448         <td class="tabledata">Database Filename</td>\r
449         <td class="tabledata">Specifies the database filename to use. If nothing is entered for the filename than an attempt to automatically generate a filename will be done.</td>\r
450     </tr>\r
451 </table>\r
452 \r
453 <br>\r
454 \r
455 To add the database with the settings given, click on the 'Add Database' button and a confirmation message should then appear saying that the database has been added and offering a link back to the list of databases. To clear the settings, click on the 'Clear values' button.<br><br>\r
456 \r
457 <span class="heading">2.2 Edit a database</span><br><br>\r
458 To edit a database, click on the 'Edit' link opposite the name and description of the database you want to edit. A form then appears similar to the form for adding a database.<br><br>\r
459 \r
460 <table class="infotable">\r
461     <tr>\r
462         <td class="tableheading">Settings</td>\r
463         <td class="tableheading">Description</td>\r
464     </tr>\r
465     <tr>\r
466         <td class="tabledata">Database Name</td>\r
467         <td class="tabledata">Specifies the new database name of the Kiriwrite database.</td>\r
468     </tr>\r
469     <tr>\r
470         <td class="tabledata">Database Description</td>\r
471         <td class="tabledata">Specifies the new description of the Kiriwrite database.</td>\r
472     </tr>\r
473     <tr>\r
474         <td class="tabledata">Database Categories</td>\r
475         <td class="tabledata">Specifies the new categories the database should belong to.</td>\r
476     </tr>\r
477     <tr>\r
478         <td class="tabledata">Database Notes</td>\r
479         <td class="tabledata">The notes that gives information about the database.</td>\r
480     </tr>\r
481     <tr>\r
482         <td class="tabledata">Database Filename</td>\r
483         <td class="tabledata">Specifies the database filename to use.</td>\r
484     </tr>\r
485 </table>\r
486 \r
487 <br>\r
488 \r
489 To edit a database with the new settings given click on the 'Edit Database' button and a confirmation message should appear saying that the database has been edited and offering a link back to the database list. Clicking on the 'Restore current settings' button will undo any changes and revert to the currently used settings.<br><br>\r
490 \r
491 <span class="heading">2.3 Delete a database</span><br><br>\r
492 To delete a database, click on the 'Delete' link opposite. A message then appears asking if the selected database should be deleted. Clicking on the 'Yes, delete the database' button will delete the database and display a confirmation message saying that the selected database has been deleted offering a link to return to the database list. Clicking on 'No, return to the database list.' link will make it return to the database list.<br><br>\r
493 \r
494 <div class="warningbox">\r
495     <div class="message warning">\r
496         <span class="warningtext">\r
497             <b>Warning</b><br>\r
498             When a database is deleted, the pages in the database are deleted as well.\r
499         </span>\r
500     </div>\r
501 </div><hr>\r
502 <span class="pagetitle">2.2 Pages</span><br><br>\r
503 \r
504 Pages are used for storing information that is relevant to that page.<br><br>\r
505 \r
506 Pages can be access from the 'View Pages' menu link. As no database is selected, a drop down box will appear listing the databases that are available, select a database and then click on the View button. A list of pages for that database will then appear and if there are no pages in the database a message will appear saying that no pages exist in this database.<br><br>\r
507 \r
508 To view the next (or previous list) of pages, click on the relevant link at the top of the page and to view a specific list of pages, select the list page number in the drop down menu box at the top of the page and click on the Show button.<br><br>\r
509 \r
510 <span class="heading">2.2.1: Creating a page</span><br><br>\r
511 A page can be created in the selected database by clicking on the 'Add Page' link in the View Pages sub-menu, a form then appears allowing to enter the information about the new page.<br><br>\r
512 \r
513 <table class="infotable">\r
514     <tr>\r
515         <td class="tableheading">Setting</td>\r
516         <td class="tableheading">Description</td>\r
517     </tr>\r
518     <tr>\r
519         <td class="tabledata">Database</td>\r
520         <td class="tabledata">Specifies the database that the page is being added to.</td>\r
521     </tr>\r
522     <tr>\r
523         <td class="tabledata">Page Name</td>\r
524         <td class="tabledata">Specifies the name of the new page.</td>\r
525     </tr>\r
526     <tr>\r
527         <td class="tabledata">Page Description</td>\r
528         <td class="tabledata">Specifies the description of the new page.</td>\r
529     </tr>\r
530     <tr>\r
531         <td class="tabledata">Page Section</td>\r
532         <td class="tabledata">Specifies the section name of the new page.</td>\r
533     </tr>\r
534     <tr>\r
535         <td class="tabledata">Page Template</td>\r
536         <td class="tabledata">Specifies the page template to use.</td>\r
537     </tr>\r
538     <tr>\r
539         <td class="tabledata">Page Filename</td>\r
540         <td class="tabledata">Specifies the page filename to use.</td>\r
541     </tr>\r
542     <tr>\r
543         <td class="tabledata">Page Content</td>\r
544         <td class="tabledata">Specifies the content of the page.</td>\r
545     </tr>\r
546     <tr>\r
547         <td class="tabledata">Page Settings</td>\r
548         <td class="tabledata">Specifies if the page name and section should be used for the title.</td>\r
549     </tr>\r
550 </table>\r
551 \r
552 <br>\r
553 \r
554 The following Kiriwrite tags can be used with the page content to automatically place information such as page name, description and section:<br><br>\r
555 \r
556 <table class="infotable">\r
557     <tr>\r
558         <td class="tableheading">Tag</td>\r
559         <td class="tableheading">Description</td>\r
560     </tr>\r
561     <tr>\r
562         <td class="tabledata">&lt;kiriwrite:pagetitle&gt;</td>\r
563         <td class="tabledata">Places the page title here. The format of the page title can be changed using the Page Settings value.</td>\r
564     </tr>\r
565     <tr>\r
566         <td class="tabledata">&lt;kiriwrite:pagename&gt;</td>\r
567         <td class="tabledata">Places the page name here.</td>\r
568     </tr>\r
569     <tr>\r
570         <td class="tabledata">&lt;kiriwrite:pagedescription&gt;</td>\r
571         <td class="tabledata">Places the page description here.</td>\r
572     </tr>\r
573     <tr>\r
574         <td class="tabledata">&lt;kiriwrite:pagesection&gt;</td>\r
575         <td class="tabledata">Places the page section here.</td>\r
576     </tr>\r
577     <tr>\r
578         <td class="tabledata">&lt;kiriwrite:autosection&gt;</td>\r
579         <td class="tabledata">Places the automatic page section here.<br><br>\r
580             <div class="messagebox">\r
581                 <div class="message note">\r
582                     <b>Note</b><br>\r
583                     If there is a page section then the page section will appear bracketed. If Information was the page section then the automatic page section name would be '(Information)' and if the page section name is blank then no brackets will appear and will be blank.\r
584                 </div>\r
585             </div>      \r
586         </td>\r
587     </tr>\r
588     <tr>\r
589         <td class="tabledata">&lt;kiriwrite:autotitle&gt;</td>\r
590         <td class="tabledata">Places the automatic page title here. This combines the section name and page name with brackets around them and a dash separating them with '(Section Name – Page Name)' being the example. The format can be changed by changing the Page Settings value.</td>\r
591     </tr>\r
592 \r
593 </table>\r
594 \r
595 <br>\r
596 \r
597 After entering the needed page information, the page can be added to the selected database by clicking on the 'Add Page' button and then a confirmation message would appear saying that the selected page has been added and offering a link to return to the page list for the selected database. The new page settings can be cleared by clicking on the 'Reset Settings' button.<br><br>\r
598 \r
599 <span class="heading">2.2.2: Editing a page</span><br><br>\r
600 \r
601 To edit a page, click on the 'Edit' link opposite the page filename you want to edit. A form then appears that is similar for adding a page.<br><br>\r
602 \r
603 <table class="infotable">\r
604     <tr>\r
605         <td class="tableheading">Setting</td>\r
606         <td class="tableheading">Description</td>\r
607     </tr>\r
608     <tr>\r
609         <td class="tabledata">Database</td>\r
610         <td class="tabledata">Specifies the database that the page is being edited from.</td>\r
611     </tr>\r
612     <tr>\r
613         <td class="tabledata">Page Name</td>\r
614         <td class="tabledata">Specifies the new name of the page.</td>\r
615     </tr>\r
616     <tr>\r
617         <td class="tabledata">Page Description</td>\r
618         <td class="tabledata">Specifies the new description of the page.</td>\r
619     </tr>\r
620     <tr>\r
621         <td class="tabledata">Page Section</td>\r
622         <td class="tabledata">Specifies the new section name of the page.</td>\r
623     </tr>\r
624     <tr>\r
625         <td class="tabledata">Page Template</td>\r
626         <td class="tabledata">Specifies the new page template to use.</td>\r
627     </tr>\r
628     <tr>\r
629         <td class="tabledata">Page Filename</td>\r
630         <td class="tabledata">Specifies the new page filename.</td>\r
631     </tr>\r
632     <tr>\r
633         <td class="tabledata">Page Content</td>\r
634         <td class="tabledata">Specifies the new content of the page.</td>\r
635     </tr>\r
636     <tr>\r
637         <td class="tabledata">Page Settings</td>\r
638         <td class="tabledata">Specifies if there should be a new page name and section setting.</td>\r
639     </tr>\r
640 </table>\r
641 \r
642 <br>\r
643 \r
644 The following Kiriwrite tags are used for when adding a page can also be used when editing a page:<br><br>\r
645 \r
646 <table class="infotable">\r
647     <tr>\r
648         <td class="tableheading">Tag</td>\r
649         <td class="tableheading">Description</td>\r
650     </tr>\r
651     <tr>\r
652         <td class="tabledata">&lt;kiriwrite:pagetitle&gt;</td>\r
653         <td class="tabledata">Places the page title here. The format of the page title can be changed using the Page Settings value.</td>\r
654     </tr>\r
655     <tr>\r
656         <td class="tabledata">&lt;kiriwrite:pagename&gt;</td>\r
657         <td class="tabledata">Places the page name here.</td>\r
658     </tr>\r
659     <tr>\r
660         <td class="tabledata">&lt;kiriwrite:pagedescription&gt;</td>\r
661         <td class="tabledata">Places the page description here.</td>\r
662     </tr>\r
663     <tr>\r
664         <td class="tabledata">&lt;kiriwrite:pagesection&gt;</td>\r
665         <td class="tabledata">Places the page section here.</td>\r
666     </tr>\r
667     <tr>\r
668         <td class="tabledata">&lt;kiriwrite:autosection&gt;</td>\r
669         <td class="tabledata">Places the automatic page section here.<br><br>\r
670             <div class="messagebox">\r
671                 <div class="message note">\r
672                     <b>Note</b><br>\r
673                         If there is a page section then the page section will appear bracketed. If Information was the page section then the automatic page section name would be '(Information)' and if the page section name is blank then no brackets will appear and will be blank.\r
674                 </div>\r
675             </div>\r
676 \r
677         </td>\r
678     </tr>\r
679     <tr>\r
680         <td class="tabledata">&lt;kiriwrite:autotitle&gt;</td>\r
681         <td class="tabledata">Places the automatic page title here. This combines the section name and page name with brackets around them and a dash separating them with '(Section Name – Page Name)' being the example. The format can be changed by changing the Page Settings value.</td>\r
682     </tr>\r
683 </table>\r
684 \r
685 <br>\r
686 \r
687 After entering the new information, the page can be edited by clicking on the 'Edit Page' button and a confirmation message appears saying that the page has been edited and offering a link back to the list of pages for the currently selected database. Clicking on the 'Restore current settings' button will undo any changes and revert to the current page settings.<br><br>\r
688 \r
689 <span class="heading">2.2.3: Deleting a page</span><br><br>\r
690 \r
691 To delete a page, click on the 'Delete' link opposite the page filename you want to delete, a message then appears asking to confirm that page will be deleted. Clicking on the 'Yes, delete the page' button will delete the page and offer a link back to the list of pages for the selected database. Clicking on the 'No, return to the page list for the (database name) database.' link will return to the list of pages for the selected database.<br><br>\r
692 \r
693 <span class="heading">2.2.4: Delete multiple pages</span><br><br>\r
694 \r
695 To delete multiple pages from the selected database click on the check-box that is to the left of the page filenames you want to delete and then click on the 'Delete Selected' button at the top of the page, a form will then appear asking to confirm if the selected pages listed should be deleted.<br><br>\r
696 \r
697 Clicking on the 'Yes, delete the selected pages' button will display a confirmation message saying that the selected pages were deleted offering a link back to the list of pages for the selected database. Clicking on the 'No, return to the page list for the (database name) database.' will return to the list of pages for the selected database.<br><br>\r
698 \r
699 <span class="heading">2.2.5: Move multiple pages</span><br><br>\r
700 \r
701 To move multiple pages from the selected database click on the check-box that is to the left of the page filenames you want to delete and then click on the 'Move Selected' button at the top of the page, a form will then appear asking to select which database the selected pages should go to and confirm that those pages are being moved to the new database.<br><br>\r
702 \r
703 Clicking on the 'Move selected pages' button will display a confirmation message saying that the selected pages were moved to the new database selected offering a link back to the selected database that the pages were moved from and a link to the selected database where the pages have moved to. Clicking on the 'Return to the page list for the (database name) database' will return to the list of pages in the selected database.<br><br>\r
704 \r
705 <span class="heading">2.2.6: Copy multiple pages</span><br><br>\r
706 \r
707 To copy multiple pages from the selected database click on the check-box that is to the left of the page filenames you want to copy and then click on the 'Copy Selected' button at the top of the page, a form will then appear asking to select which database the selected pages should be copied to and confirm that those pages are being copied to the new database.<br><br>\r
708 \r
709 Clicking on the 'Copy selected pages' button will display a confirmation message saying that the selected pages were copied to the new database selected offering a link back to the selected pages that the pages were copied from and a link to the selected database where the pages have been copied to. Clicking on the 'Return to the page list for the (database name) database.' will return to the list of pages in the selected database.<br><br>\r
710 \r
711 <span class="heading">2.2.7: Edit multiple pages</span><br><br>\r
712 \r
713 To edit multiple pages from the selected database click on the check-box that is to the left of the page filenames you want to edit and then click on the 'Edit Selected' button at the top of the page, a form will then appear that allows certain settings of each page to be edited as shown in the table below:<br><br>\r
714 \r
715 <table class="infotable">\r
716     <tr>\r
717         <td class="tableheading">Setting</td>\r
718         <td class="tableheading">Description</td>\r
719     </tr>\r
720     <tr>\r
721         <td class="tabledata">Page Section</td>\r
722         <td class="tabledata">Specifies the new page section to be used on the selected pages.</td>\r
723     </tr>\r
724     <tr>\r
725         <td class="tabledata">Page Template</td>\r
726         <td class="tabledata">Specifies the new page template to be used on the selected pages.</td>\r
727     </tr>\r
728     <tr>\r
729         <td class="tabledata">Page Settings</td>\r
730         <td class="tabledata">Specifies the new page settings to be used on the selected pages.</td>\r
731     </tr>\r
732 </table>\r
733 \r
734 <br>\r
735 \r
736 Each setting that needs to be changed needs to have the check-box on the left of the name needs to be checked otherwise the change will not take effect. This is done to make sure that only the selected page settings are changed.<br><br>\r
737 Clicking on the 'Edit selected pages' button will display a confirmation message saying that the selected pages were edited offering a link back to the list of pages in the selected database, clicking on the 'Clear values' button will clear the currently selected values and clicking on the 'Return to the page list for the '(database name)' database.' link will return to the page list for selected database.<hr>\r
738 <span class="pagetitle">2.3 Filters</span><br><br>\r
739 \r
740 Filters allows text to be easily replaced by looking for certain words, tag or phrase and then replacing it with another set of words, tag or phrase.<br><br>\r
741 \r
742 The list of filters can be viewed by clicking on the 'View Filters' link. If the filter database doesn't exist than a message will appear saying that the filter database doesn't exist and will be created when a filter is added or if the filter database does exist but there are no filters then a message appears saying that there is no filters in the filter database.<br><br>\r
743 \r
744 When compiling the pages, the order of the filters list is determined by the filter priority number with the lower numbers being processed first and the filters with the higher filter priority numbers being processed last.<br><br>\r
745 \r
746 To view the next (or previous list) of filters, click on the relevant link at the top of the page and to view a specific list of filters, select the list page number in the drop down menu box at the top of the page and click on the Show button.<br><br>\r
747 \r
748 <span class="heading">2.3.1 Add a filter</span><br><br>\r
749 \r
750 To add a filter click on the 'Add Filter' link on the View Filters sub-menu, a form then appears allowing to enter the information about the new filter.<br><br>\r
751 \r
752 <table class="infotable">\r
753     <tr>\r
754         <td class="tableheading">Setting</td>\r
755         <td class="tableheading">Description</td>\r
756     </tr>\r
757     <tr>\r
758         <td class="tabledata">Find...</td>\r
759         <td class="tabledata">Specifies the find setting to search text for.</td>\r
760     </tr>\r
761     <tr>\r
762         <td class="tabledata">Replace With...</td>\r
763         <td class="tabledata">Specifies the replace setting to replace the text with if the search text is found.</td>\r
764     </tr>\r
765     <tr>\r
766         <td class="tabledata">Priority</td>\r
767         <td class="tabledata">Specifies the priority of the filter.</td>\r
768     </tr>\r
769     <tr>\r
770         <td class="tabledata">Notes</td>\r
771         <td class="tabledata">Specifies the notes for this filter.</td>\r
772     </tr>\r
773 </table>\r
774 \r
775 <br>\r
776 \r
777 After entering the needed filter information, the filter can be added by clicking on the 'Add Filter' button which displays a confirmation message saying that the filter has been added to the filter database and offering a link back to the list of filters in the filter database. Clicking on the 'Clear values' button will clear any of the filter settings that have been entered and clicking on the 'Return to the filter list.' link will return to the list of filters in the filter database.<br><br>\r
778 \r
779 <span class="heading">2.3.2 Edit a filter</span><br><br>\r
780 To edit a filter click on the 'Edit' link opposite the filter you want to edit. A form then appears that is similar to adding a filter.<br><br>\r
781 \r
782 <table class="infotable">\r
783     <tr>\r
784         <td class="tableheading">Setting</td>\r
785         <td class="tableheading">Description</td>\r
786     </tr>\r
787     <tr>\r
788         <td class="tabledata">Find...</td>\r
789         <td class="tabledata">Specifies the new find setting to search text for.</td>\r
790     </tr>\r
791     <tr>\r
792         <td class="tabledata">Replace With...</td>\r
793         <td class="tabledata">Specifies the new replace setting to replace the text with if the search text is found.</td>\r
794     </tr>\r
795     <tr>\r
796         <td class="tabledata">Priority</td>\r
797         <td class="tabledata">Specifies the new priority of the filter.</td>\r
798     </tr>\r
799     <tr>\r
800         <td class="tabledata">Notes</td>\r
801         <td class="tabledata">Specifies the new notes for this filter.</td>\r
802     </tr>\r
803 </table>\r
804 \r
805 <br>\r
806 \r
807 To update the information about the filter, click on the 'Edit Filter' button and a confirmation message should appear saying that the selected filter was edited offering a link back to the list of filters in the filter database. Clicking on the 'Restore current settings' will undo any changes made and will revert the currently used filter settings and clicking on the 'Return to the filter list.' link will return to the list of filters in the filter database.<br><br>\r
808 \r
809 <span class="heading">2.3.3 Delete a filter</span><br><br>\r
810 \r
811 To delete a filter click on the 'Delete' link opposite the filter you want to delete. A form then  appears asking to confirm the deletion of the selected filter. Clicking on the 'Yes, delete the selected filter' button will display a confirmation message saying that the selected filter was deleted. Clicking on the 'No, return to the filter list.' link will return to the list of filters in the filter database.<hr>\r
812 <span class="pagetitle">2.4 Templates</span><br><br>\r
813 \r
814 Templates allows pages to use a common layout which is used to keep a consistent layout on a website or keep the format of documentation pages the same. Templates also allow small tweaks to the page layout to be made without needing to edit each page so the change is reflected in all of the pages by simply changing the template layout and then recompile the pages.<br><br>\r
815 \r
816 The list of templates can be accessed by clicking on the 'View Templates' link. A list of templates from the template database should then appear. If the template database does not exist then a message will appear saying that the template database does not exist and will be created when a template is added. If no templates exist in the template database then a message appears saying that there are no templates in the template database.<br><br>\r
817 \r
818 To view the next (or previous list) of templates, click on the relevant link at the top of the page and to view a specific list of templates, select the list page number in the drop down menu box at the top of the page and click on the Show button.<br><br>\r
819 \r
820 <span class="heading">2.4.1 Add a template</span><br><br>\r
821 \r
822 To add a template to the template database click on the 'Add Template' link from the View Templates sub-menu, a form then appears allowing to enter the new information about the template.<br><br>\r
823 \r
824 <table class="infotable">\r
825     <tr>\r
826         <td class="tableheading">Setting</td>\r
827         <td class="tableheading">Description</td>\r
828     </tr>\r
829     <tr>\r
830         <td class="tabledata">Template Name</td>\r
831         <td class="tabledata">Specifies the template name to be used.</td>\r
832     </tr>\r
833     <tr>\r
834         <td class="tabledata">Template Description</td>\r
835         <td class="tabledata">Specifies the template description to be used.</td>\r
836     </tr>\r
837     <tr>\r
838         <td class="tabledata">Template Filename</td>\r
839         <td class="tabledata">Specifies the template filename to use.</td>\r
840     </tr>\r
841     <tr>\r
842         <td class="tabledata">Template Layout</td>\r
843         <td class="tabledata">Specifies the content of the template layout.</td>\r
844     </tr>\r
845 </table>\r
846 \r
847 <br>\r
848 \r
849 The following Kiriwrite tags can be used with the template layout to automatically place information such as page content, name, description and section:\r
850 \r
851 <br><br>\r
852 \r
853 <table class="infotable">\r
854     <tr>\r
855         <td class="tableheading">Tag</td>\r
856         <td class="tableheading">Description</td>\r
857     </tr>\r
858     <tr>\r
859         <td class="tabledata">&lt;kiriwrite:pagecontent&gt;</td>\r
860         <td class="tabledata">Places the page content here.</td>\r
861     </tr>\r
862     <tr>\r
863         <td class="tabledata">&lt;kiriwrite:pagetitle&gt;</td>\r
864         <td class="tabledata">Places the page title here. The format of the page title can be changed using the Page Settings value.</td>\r
865     </tr>\r
866     <tr>\r
867         <td class="tabledata">&lt;kiriwrite:pagename&gt;</td>\r
868         <td class="tabledata">Places the page name here.</td>\r
869     </tr>\r
870     <tr>\r
871         <td class="tabledata">&lt;kiriwrite:pagedescription&gt;</td>\r
872         <td class="tabledata">Places the page description here.</td>\r
873     </tr>\r
874     <tr>\r
875         <td class="tabledata">&lt;kiriwrite:pagesection&gt;</td>\r
876         <td class="tabledata">Places the page section here.</td>\r
877     </tr>\r
878     <tr>\r
879         <td class="tabledata">&lt;kiriwrite:autosection&gt;</td>\r
880         <td class="tabledata">Places the automatic page section here.<br><br>\r
881             <div class="messagebox">\r
882                 <div class="message note">\r
883                     <b>Note</b><br>\r
884                     If there is a page section then the page section will appear bracketed. If Information was the page section then the automatic page section name would be '(Information)' and if the page section name is blank then no brackets will appear and will be blank.\r
885                 </div>\r
886             </div> \r
887         </td>\r
888     </tr>\r
889     <tr>\r
890         <td class="tabledata">&lt;kiriwrite:autotitle&gt;</td>\r
891         <td class="tabledata">Places the automatic page title here. This combines the section name and page name with brackets around them and a dash separating them with '(Section Name – Page Name)' being the example. The format can be changed by changing the Page Settings value.</td>\r
892     </tr>\r
893 </table>\r
894 \r
895 <br>\r
896 \r
897 After entering the needed template information, click on the 'Add Template' button to display a confirmation message saying that add the template to the list of templates in the template database and offering a link back to the list of templates in the template database. Clicking on the 'Clear values' button will clear all of the template settings entered. Clicking on the 'Return to the template list.' link will return to the list of templates in the template database.<br><br>\r
898 \r
899 <span class="heading">2.4.2 Edit a template</span><br><br>\r
900 To edit a template click on the 'Edit' link opposite the template name you want to edit, a form then appears that is similar to adding a template.<br><br>\r
901 \r
902 <table class="infotable">\r
903     <tr>\r
904         <td class="tableheading">Setting</td>\r
905         <td class="tableheading">Description</td>\r
906     </tr>\r
907     <tr>\r
908         <td class="tabledata">Template Name</td>\r
909         <td class="tabledata">Specifies the new template name to be used.</td>\r
910     </tr>\r
911     <tr>\r
912         <td class="tabledata">Template Description</td>\r
913         <td class="tabledata">Specifies the new template description to be used.</td>\r
914     </tr>\r
915     <tr>\r
916         <td class="tabledata">Template Filename</td>\r
917         <td class="tabledata">Specifies the new template filename to use.</td>\r
918     </tr>\r
919     <tr>\r
920         <td class="tabledata">Template Layout</td>\r
921         <td class="tabledata">Specifies the new content of the template layout.</td>\r
922     </tr>\r
923 </table>\r
924 \r
925 <br>\r
926 \r
927 The Kiriwrite tags used when adding a template can also be used when editing a template.\r
928 \r
929 <br><br>\r
930 \r
931 <table class="infotable">\r
932     <tr>\r
933         <td class="tableheading">Tag</td>\r
934         <td class="tableheading">Description</td>\r
935     </tr>\r
936     <tr>\r
937         <td class="tabledata">&lt;kiriwrite:pagecontent&gt;</td>\r
938         <td class="tabledata">Places the page content here.</td>\r
939     </tr>\r
940     <tr>\r
941         <td class="tabledata">&lt;kiriwrite:pagetitle&gt;</td>\r
942         <td class="tabledata">Places the page title here. The format of the page title can be changed using the Page Settings value.</td>\r
943     </tr>\r
944     <tr>\r
945         <td class="tabledata">&lt;kiriwrite:pagename&gt;</td>\r
946         <td class="tabledata">Places the page name here.</td>\r
947     </tr>\r
948     <tr>\r
949         <td class="tabledata">&lt;kiriwrite:pagedescription&gt;</td>\r
950         <td class="tabledata">Places the page description here.</td>\r
951     </tr>\r
952     <tr>\r
953         <td class="tabledata">&lt;kiriwrite:pagesection&gt;</td>\r
954         <td class="tabledata">Places the page section here.</td>\r
955     </tr>\r
956     <tr>\r
957         <td class="tabledata">&lt;kiriwrite:autosection&gt;</td>\r
958         <td class="tabledata">Places the automatic page section here.<br><br>\r
959             <div class="messagebox">\r
960                 <div class="message note">\r
961                     <b>Note</b><br>\r
962                     If there is a page section then the page section will appear bracketed. If Information was the page section then the automatic page section name would be '(Information)' and if the page section name is blank then no brackets will appear and will be blank.\r
963                 </div>\r
964             </div> \r
965         </td>\r
966     </tr>\r
967     <tr>\r
968         <td class="tabledata">&lt;kiriwrite:autotitle&gt;</td>\r
969         <td class="tabledata">Places the automatic page title here. This combines the section name and page name with brackets around them and a dash separating them with '(Section Name – Page Name)' being the example. The format can be changed by changing the Page Settings value.</td>\r
970     </tr>\r
971 </table>\r
972 \r
973 <br>\r
974 \r
975 After editing the information about the template, the template can be edited by clicking on the 'Edit Template' button which will display a confirmation message saying that the template information was edited offering a link back to the list of templates in the template database. Clicking on the 'Restore current settings' button will undo any changes and revert to the currently used settings. Clicking on the 'Return to the template list.' will return to the list of templates in the template database.<br><br>\r
976 \r
977 <span class="heading">2.4.3 Delete a template</span><br><br>\r
978 \r
979 To delete a template click on the 'Delete' link opposite the template name you want to delete, a message then appears asking to confirm the deletion of the selected template. Clicking on the 'Yes, delete the template' button will display a confirmation message saying that the selected template has been deleted offering a link back to the list of templates in the template database. Clicking on the 'No, return to the template list.' link will return to the list of templates in the template database.<hr>\r
980 <span class="pagetitle">2.5 Compiling</span><br><br>\r
981 \r
982 Compiling combines the page data with the template layout and the filters that are in the filter database to create pages as if they were created manually.<br><br>\r
983 \r
984 To compile the pages from their databases, click on the 'Compile Pages' menu link. A list of databases will then appear which can be compiled. If no databases are available then a message will appear saying that no databases are available.<br><br>\r
985 \r
986 <span class="heading">2.5.1 Compiling a database</span><br><br>\r
987 \r
988 To compile a database, click on the 'Compile' link opposite the database name you want to compile, a message then appears asking if the database should really be compiled. Clicking on the 'Compile Database' button will display a log of pages that have been compiled and any error messages that might appear with the link to return to the list of databases to compile at the end of the log. <br><br>\r
989 \r
990 When compiling a database, the template being used on the pages in the database selected can be overridden. To override the templates being used, click on the 'Override the template being used' box and select the template to override with.<br><br>\r
991 \r
992 Clicking on the 'Return to the compile database list.' will return to the list of databases to compile.<br><br>\r
993 \r
994 <span class="heading">2.5.2 Compiling multiple databases</span><br><br>\r
995 \r
996 To compile multiple databases click on the check-box to the left of the database name for each database that should have its pages compiled and click on the 'Compile Selected' button which will display a message asking to confirm if the selected databases shown should be compiled. Clicking on the 'Compile Selected Databases' button will display a log of pages that have been compiled and any error messages that might appear with the link to return to the list of databases to compile at the end of the log. <br><br>\r
997 \r
998 When compiling a database, the templates being used on the pages in the databases selected can be overridden. To override the templates being used, click on the 'Override the template being used' box and select the template to override with.<br><br>\r
999 \r
1000 Clicking on the 'Return to the compile database list.' will return to the list of databases to compile.<br><br>\r
1001 \r
1002 <span class="heading">2.5.3 Compiling all databases</span><br><br>\r
1003 \r
1004 To compile all of the available databases click on the 'Compile All' link in the Compile Pages sub-menu which will display a message asking to confirm if all of the databases should have its pages compiled. Clicking on the 'Compile All Databases' button will display a log of pages that have been compiled and any error messages that might appear with the link to return to the list of databases to compile at the end of the log.<br><br>\r
1005 \r
1006 When compiling a database, the templates being used on the pages in all of the databases can be overridden. To override the templates being used, click on the 'Override the template being used' box and select the template to override with.<br><br>\r
1007 \r
1008 Clicking on the 'Return to the compile database list.' link will return to the list of databases to compile.<br><br>\r
1009 \r
1010 <span class="heading">2.5.4 Cleaning the output directory</span><br><br>\r
1011 \r
1012 Cleaning the output directory removes all of the contents that is in the output directory. To clean the output directory click on the 'Clean Output Directory' link which will display a message asking to confirm that the output directory should be cleaned. Clicking on the 'Yes, clean output directory' will display a confirmation message saying that the output directory was cleaned. Clicking on the 'Return to the compile database list.' link will return to the list of databases to compile.<hr>\r
1013 <span class="pagetitle">Chapter 3: Kiriwrite Settings</span><br><br>\r
1014 \r
1015 The settings that are used in Kiriwrite can be viewed by clicking on the 'View Settings' link in the menu which will display a list of settings that are currently in use.<br><br>\r
1016 \r
1017 <span class="heading">3.1 Editing the settings</span><br><br>\r
1018 \r
1019 To edit the settings, click on the 'Edit Settings' link in the View Settings sub-menu, a form then appears allowing the settings in Kiriwrite to be edited.<br><br>\r
1020 \r
1021 <table class="infotable">\r
1022     <tr>\r
1023         <td class="tableheading">Setting</td>\r
1024         <td class="tableheading">Description</td>\r
1025     </tr>\r
1026     <tr>\r
1027         <td class="tabledata">Database Directory</td>\r
1028         <td class="tabledata">Specifies the database directory to use for storing databases that are created by the file-based database modules. This option is ignored by the server-based modules.</td>\r
1029     </tr>\r
1030     <tr>\r
1031         <td class="tabledata">Output Directory</td>\r
1032         <td class="tabledata">Specifies the output directory to use to store the compiled pages.</td>\r
1033     </tr>\r
1034     <tr>\r
1035         <td class="tabledata">Images (URI path)</td>\r
1036         <td class="tabledata">Specifies the Images (URI path) to use for displaying images when using the page template with Kiriwrite.</td>\r
1037     </tr>\r
1038     <tr>\r
1039         <td class="tabledata">Text Area Columns</td>\r
1040         <td class="tabledata">Specifies the width of the text area when editing notes, pages and templates.</td>\r
1041     </tr>\r
1042     <tr>\r
1043         <td class="tabledata">Text Area Rows</td>\r
1044         <td class="tabledata">Specifies the height of the text area when editing notes, pages and templates.</td>\r
1045     </tr>\r
1046     <tr>\r
1047         <td class="tabledata">Date Format</td>\r
1048         <td class="tabledata">Specifies the date format to use when list the pages from the database. A selection of date formats are available from the drop down box or a custom one can be entered into the text box next to the drop down box.</td>\r
1049     </tr>\r
1050     <tr>\r
1051         <td class="tabledata">Language</td>\r
1052         <td class="tabledata">Specifies the system language to use in Kiriwrite. If the language used in the installer script is available as language to use in Kiriwrite then that language will be selected by default.</td>\r
1053     </tr>\r
1054     <tr>\r
1055         <td class="tabledata">Presentation Module</td>\r
1056         <td class="tabledata">Specifies the presentation module to use in Kiriwrite.</td>\r
1057     </tr>\r
1058     <tr>\r
1059         <td class="tabledata">Database Module</td>\r
1060         <td class="tabledata">Specifies the database module to use in Kiriwrite. SQLite is a file-based database module which uses the database directory and the SQLite Perl module while MySQL5 is a server-based database module which uses a MySQL 5.x server from the MySQL Perl module.</td>\r
1061     </tr>\r
1062 </table>\r
1063 \r
1064 <br>\r
1065 \r
1066 The following options are used only by the server-based database modules:<br><br>\r
1067 \r
1068 <table class="infotable">\r
1069     <tr>\r
1070         <td class="tableheading">Setting</td>\r
1071         <td class="tableheading">Description</td>\r
1072     </tr>\r
1073     <tr>\r
1074         <td class="tabledata">Database Server</td>\r
1075         <td class="tabledata">Specifies the database server to use.</td>\r
1076     </tr>\r
1077     <tr>\r
1078         <td class="tabledata">Database Port</td>\r
1079         <td class="tabledata">Specifies the database port to use.</td>\r
1080     </tr>\r
1081     <tr>\r
1082         <td class="tabledata">Database Protocol</td>\r
1083         <td class="tabledata">Specifies the database protocol to use.</td>\r
1084     </tr>\r
1085     <tr>\r
1086         <td class="tabledata">Database Name</td>\r
1087         <td class="tabledata">Specifies the database name to use.</td>\r
1088     </tr>\r
1089     <tr>\r
1090         <td class="tabledata">Database Username</td>\r
1091         <td class="tabledata">Specifies the database username to use.</td>\r
1092     </tr>\r
1093     <tr>\r
1094         <td class="tabledata">Database Password</td>\r
1095         <td class="tabledata">Specifies the database password to use.</td>\r
1096     </tr>\r
1097     <tr>\r
1098         <td class="tabledata">Database Table Prefix</td>\r
1099         <td class="tabledata">Specifies the table prefix to use. Multiple Kiriwrite installations can use the same server database so long as the table prefix is different.</td>\r
1100     </tr>\r
1101 </table>\r
1102 \r
1103 <br>\r
1104 \r
1105 To save the new settings, click on the 'Change Settings' button which will display a confirmation message saying that the settings were changed and will take effect on the next page load of Kiriwrite offering a link back to the updated list of settings. Clicking on the 'Restore current settings' button will undo any changes made and will restore the current settings. Clicking on the 'Return to the list of settings.' link will return to the list of currently used settings.<hr>\r
1106 <span class="pagetitle">Chapter 4: Usage Tips</span><br><br>\r
1107 This chapter mainly contains usage tips in securing your Kiriwrite installation and small features which may be useful for some users.<br><br>\r
1108 \r
1109 <div class="specific apache132x">\r
1110    In this chapter, directory specific settings used in Apache is .htaccess. Typically, if the web server software is configured to check a file other than .htaccess then a different filename would be used (and would be blocked from being accessed from the web server).\r
1111 </div>\r
1112 <hr>\r
1113 <span class="pagetitle">4.1 Securing your Kiriwrite installation</span><br><br>\r
1114 \r
1115 This section is about securing your Kiriwrite installation.<br><br>\r
1116 \r
1117 <span class="heading">4.1.1 HTTP Authentication</span><br><br>\r
1118 \r
1119 HTTP Authentication allows users who only know the correct username and password to access pages that are not available to the public. HTTP Authentication is done by the following if you're using Apache 1.3.x/2.x from a command console:<br><br>\r
1120 \r
1121 <div class="code">\r
1122     htpasswd -c .htpasswd username\r
1123 </div>\r
1124 \r
1125 <br>\r
1126 \r
1127 The -c switch specifies that a password file should be created called .htpasswd (although can be called something else), while username is the username of the login (which can be something else other than username), after pressing enter a password prompt then appears asking for a password to be entered the same twice.<br><br>\r
1128 \r
1129 After the .htpasswd file is created, the file should be copied to a location that cannot be accessed from a URI resource (such as outside the htdocs/web documents directory) and then create a .htaccess file (if it doesn't exist) pointing to the password file with the following directives as an example.<br><br>\r
1130 \r
1131 <div class="code">\r
1132     AuthUserFile /home/www/website/private/.htpasswd<br>\r
1133     AuthType Digest<br>\r
1134     AuthName “Private Area”\r
1135 </div>\r
1136 \r
1137 <br>\r
1138 \r
1139 The AuthUserFile directive should point to the htpasswd file that was created earlier on. The AuthType directive specifies the authentication type to use and AuthName specifies the name of the area to appear when entering the username and password.<br><br>\r
1140 \r
1141 <span class="heading">4.1.2 IP Address Filtering</span><br><br>\r
1142 \r
1143 IP Address filtering allows certain IP addresses or hosts to be blocked from access and allowing everyone else access or blocking everyone from access and allowing certain IP addresses or hosts in. Typically when using Kiriwrite, the best method would be the white list method where everyone is blocked from access and only certain IP addresses or hosts can be allowed access.<br><br>\r
1144 \r
1145 To setup a white list, open the .htaccess file and insert the following (if it already exists) if you're using Apache 1.3/2.x:<br><br>\r
1146 \r
1147 <div class="code">\r
1148     Order Deny, Allow<br>\r
1149     Deny from all<br>\r
1150     Allow from 127.0.0.1\r
1151 </div>\r
1152 \r
1153 <br>\r
1154 \r
1155 This example denies everyone and then only allows 127.0.0.1 (which is the computer the web server is running from which tends to be the machine you're using on a personal installation). Multiple Allow commands can be entered which allows multiple hosts.<br><br>\r
1156 \r
1157 More information on using Allow and Deny can be found in the Apache 1.3/2.x Documentation.<hr>\r
1158 <span class="pagetitle">4.2 Renaming the main Kiriwrite script (kiriwrite.cgi)</span><br><br>\r
1159 \r
1160 While the Kiriwrite script can be used as kiriwrite.cgi, the script has been designed so that it can work if it's renamed to something else such as docmake.cgi, private.cgi or even flyingrhinos.cgi. This can simply be done by renaming the script to whatever name is needed.<br><br>\r
1161 \r
1162 <div class="warningbox">\r
1163     <div class="message warning">\r
1164         <span class="warningtext">\r
1165             <b>Warning</b><br>\r
1166             Bear in mind that no matter what the script filename is called, it will always look for configuration file as kiriwrite.xml, the modules in the Modules directory and the language files in the lang directory.\r
1167         </span>\r
1168     </div>\r
1169 </div>\r
1170 <hr>\r
1171 <span class="pagetitle">4.3 Removing unneeded modules and language files</span><br><br>\r
1172 \r
1173 As Kiriwrite uses a modular system for manipulating the databases, outputting the pages internally by Kiriwrite and language files for each language used, space can be recovered by removing unneeded modules from the Modules directory and language files from the lang directory.<br><br>\r
1174 \r
1175 To make sure that the currently used database module, presentation module and language file are not deleted from their directories. Check which ones should be kept by clicking on the 'View Settings' menu link.<hr>\r
1176 <span class="pagetitle">Chapter 5: Troubleshooting</span><br><br>\r
1177 <span class="heading">5.1 Common Problems</span><br><br>\r
1178 \r
1179 <table class="infotable">\r
1180     <tr>\r
1181         <td class="tableheading">Problem</td>\r
1182         <td class="tableheading">Symptom</td>\r
1183         <td class="tableheading">Solution</td>\r
1184     </tr>\r
1185     <tr>\r
1186         <td class="tabledata">When installing, some of the needed Perl modules have the word 'Error' next to them.</td>\r
1187         <td class="tabledata">The needed Perl modules are more than likely not installed.</td>\r
1188         <td class="tabledata">Install the needed Perl modules from the CPAN archive using the CPAN command interface.<sup>1</sup></td>\r
1189     </tr>\r
1190     <tr>\r
1191         <td class="tabledata">When installing, an error message appears saying that none of the needed Perl modules for the database modules are installed.</td>\r
1192         <td class="tabledata">The needed Perl module(s) (or the Perl module needed specifically for that certain database module) are more than likely not installed.</td>\r
1193         <td class="tabledata">Install the needed Perl modules from the CPAN archive using the CPAN command interface.</td>\r
1194     </tr>\r
1195     <tr>\r
1196         <td class="tabledata">When installing, an error message appears saying that some of the directories and files have invalid permissions set.</td>\r
1197         <td class="tabledata">The directories and/or files have invalid permissions set.</td>\r
1198         <td class="tabledata">Change the permissions on the directories and/or files so that are the correct permissions needed.</td>\r
1199     </tr>\r
1200     <tr>\r
1201         <td class="tabledata">When installing, no database or presentation modules appear in the list of available database or presentation modules.</td>\r
1202         <td class="tabledata">The modules weren't copied or were copied to the wrong directories.</td>\r
1203         <td class="tabledata">Copy or move the database modules to the correct directory.</td>\r
1204     </tr>\r
1205     <tr>\r
1206         <td class="tabledata">When installing, no languages appears in the languages selection list.</td>\r
1207         <td class="tabledata">The language files weren't copied or were copied to the wrong location.</td>\r
1208         <td class="tabledata">Copy or move the language files to the correct directory.</td>\r
1209     </tr>\r
1210     <tr>\r
1211         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the configuration file does not exist.</td>\r
1212         <td class="tabledata">The configuration file has been deleted or the installation script wasn't run.</td>\r
1213         <td class="tabledata">Run the installer script (again).</td>\r
1214     </tr>\r
1215     <tr>\r
1216         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the configuration file has invalid permissions set.</td>\r
1217         <td class="tabledata">The configuration file has invalid permissions set.</td>\r
1218         <td class="tabledata">Change the permissions on the configuration file so that it can be read.</td>\r
1219     </tr>\r
1220     <tr>\r
1221         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the database module does not exist.</td>\r
1222         <td class="tabledata">The database module has been deleted or renamed.</td>\r
1223         <td class="tabledata">Run the installer script (again).<br>\r
1224             Check if the Modules and Modules/Database directory have the correct permissions set so that they can be read.\r
1225         </td>\r
1226     </tr>\r
1227     <tr>\r
1228         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the database module has invalid permissions set.</td>\r
1229         <td class="tabledata">The database module has invalid permissions set.</td>\r
1230         <td class="tabledata">Change the permissions on the database module so that they can be read (execute permissions not usually needed).</td>\r
1231     </tr>\r
1232     <tr>\r
1233         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the presentation module does not exist.</td>\r
1234         <td class="tabledata">The presentation module has been deleted or renamed.</td>\r
1235         <td class="tabledata">Run the installer script (again).<br>\r
1236             Check if the Modules and Modules/Presentation directory have the correct permissions set so that they can be read.\r
1237         </td>\r
1238     </tr>\r
1239     <tr>\r
1240         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the presentation module has invalid permissions set.</td>\r
1241         <td class="tabledata">The presentation module has invalid permissions set.</td>\r
1242         <td class="tabledata">Change the permissions on the presentation module so that they can be read (execute permissions not usually needed).</td>\r
1243     </tr>\r
1244     <tr>\r
1245         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the language file does not exist.</td>\r
1246         <td class="tabledata">The language file does not exist.</td>\r
1247         <td class="tabledata">Run the installer script (again).<br>\r
1248             Check if the lang directory has the correct permissions set so that they can be read.\r
1249         </td>\r
1250     </tr>\r
1251     <tr>\r
1252         <td class="tabledata">When starting Kiriwrite, a critical error message appears saying that the language file has invalid permissions set.</td>\r
1253         <td class="tabledata">The language file has invalid permissions set.</td>\r
1254         <td class="tabledata">Change the permissions on the language file so that they can be read.</td>\r
1255     </tr>\r
1256     <tr>\r
1257         <td class="tabledata">When viewing the list of databases, an error message appears saying that the permissions of the database directory is invalid.</td>\r
1258         <td class="tabledata">The database directory has incorrect permissions set.</td>\r
1259         <td class="tabledata">Set the correct permissions (read and write) on the database directory.</td>\r
1260     </tr>\r
1261     <tr>\r
1262         <td class="tabledata">When viewing the template database, an error message appears saying the permissions of the template database is invalid.</td>\r
1263         <td class="tabledata">The template database has invalid permissions set.</td>\r
1264         <td class="tabledata">Set the correct permissions (read and write) on the template database.</td>\r
1265     </tr>\r
1266     <tr>\r
1267         <td class="tabledata">When viewing the filter database, an error message appears saying that the permissions of the filter database is invalid.</td>\r
1268         <td class="tabledata">The filter database has invalid permissions set.</td>\r
1269         <td class="tabledata">Set the correct permissions (read and write) on the filter database.</td>\r
1270     </tr>\r
1271     <tr>\r
1272         <td class="tabledata">When compiling the pages, an error message appears saying that the output directory has invalid permissions set.</td>\r
1273         <td class="tabledata">The output directory has invalid permissions set.</td>\r
1274         <td class="tabledata">Set the correct permissions (read and write) on the output directory.</td>\r
1275     </tr>\r
1276     <tr>\r
1277         <td class="tabledata">When compiling the pages, certain pages do not change when the pages are edited.</td>\r
1278         <td class="tabledata">The pages have invalid permissions set.</td>\r
1279         <td class="tabledata">Set the correct permissions (read and write) on those pages which have invalid permissions set.</td>\r
1280     </tr>\r
1281     <tr>\r
1282         <td class="tabledata">When compiling the pages, the template database has invalid permissions set.</td>\r
1283         <td class="tabledata">The template database has invalid permissions set.</td>\r
1284         <td class="tabledata">Set the correct permissions (read) on the template database.</td>\r
1285     </tr>\r
1286     <tr>\r
1287         <td class="tabledata">When compiling the pages, the filter database has invalid permissions set.</td>\r
1288         <td class="tabledata">The filter database has invalid permissions set.</td>\r
1289         <td class="tabledata">Set the correct permissions (read) on the template database.</td>\r
1290     </tr>\r
1291     <tr>\r
1292         <td class="tabledata">When saving the new settings, an error message appears saying that the configuration file has invalid permissions set.</td>\r
1293         <td class="tabledata">The configuration file has invalid permissions set.</td>\r
1294         <td class="tabledata">Set the correct permissions (read and write) on the configuration file and then change the permissions back to read-only after saving the new settings.</td>\r
1295     </tr>\r
1296 </table>\r
1297 \r
1298 <br>\r
1299 \r
1300 <div class="footnote"></div>\r
1301 \r
1302 <sup>1</sup>The CPAN (Comprehensive Perl Archive Network) command interface is normally included with Perl installations and will normally require superuser (root) permissions.<hr>\r
1303 <span class="pagetitle">Chapter 6: Contributing to Kiriwrite</span><br><br>\r
1304 \r
1305 <span class="heading">6.1: Contributing</span><br><br>\r
1306 \r
1307 You can contribute to Kiriwrite in many different ways like the following examples:\r
1308 <ul>\r
1309     <li>Translate Kiriwrite (program or documentation) so that it can be used your own local language.</li>\r
1310     <li>Add functionality to Kiriwrite.</li>\r
1311     <li>Write a presentation or database module.</li>\r
1312     <li>Report a bug or fault (either with Kiriwrite itself or the documentation).</li>\r
1313     <ul><li>\r
1314         When reporting a bug, you should give the version number of Kiriwrite, what operating system you are using, what web server you are using and the version of it, the version of Perl you are using (and if possible the version of the Perl module that is causing the bug), what the error message of the bug is and how to recreate the bug (if possible).\r
1315     <li></ul>\r
1316 </ul>\r
1317 \r
1318 For more information on how to contribute to Kiriwrite visit http://xestia.co.uk/kiriwrite or visit the BerliOS project site at http://developer.berlios.de/projects/kiriwrite . A list of stuff that needs doing can be found in the TODO file in the Kiriwrite package (remember to check the latest Kiriwrite package's TODO file for the latest on what needs doing).\r
1319                 </div>\r
1320         </body>\r
1321 </html>\r
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy