Help  |   Contact Us  |   About Us  |   News and Events
Books, conferences, and other information about... Moving to Linux Switching to OOo Building Linux Apps Using Visual FoxPro
Buy      Download      Your Account      Catalog      Support      Conferences      Resources      Fun

DokuWiki: A Wiki for Software Development Documentation
Table of Contents

Chapter List

1: The Introduction You Have To Read 15
2: Before We Begin 21
3: Windows/Development Quick Install 27
4: Linux Server Quick Install 37
5: Working with a Wiki Page 51
6. Quick Customizations 59
7. The Installer in Detail 69
8. Important Configuration Options 77
9. User Editing and Page Formatting 103
10. Version Mania: Changes, Revision, Drafts and Stuff 137
11: Your First Template 149
12: Your First Plugins 159
13: Deploying and Upgrading 169
14: Using DokuWiki As A Software Developer

Chapter 1: The Introduction You Have To Read

Wherein I describe why a software developer needs a wiki, why I chose DokuWiki over all of the other guys, what I'm going to cover in this book, and how to pronounce 'DokuWiki' the way all the cool kids do.

The Problem
The Solution
And the Winnter Is...
Why a Book?
The Road Ahead
How to Pronounce (and Abbreviate) DokuWiki

Chapter 2: Before We Begin

As developers, we always want to get started right away. Fire up the software, start poking a sharp stick here and there. But we really need a bit of background first, to understand what's under the hood, understand a bit about how Web Servers, and, more specifically, how DokuWiki works, and get acquainted with the file structures underneath.

What You'll Need
- Do I need to be a PHP programmer?
- Do I need to know how to admin a Web server?
--- Home Directory
--- Default Document
--- Virtual Folders
- Windows vs Linux
- Web Site Files location
- DokuWiki fFles location
- The DokuWiki wiki

Chapter 3: Windows/Development Quick Install

The goal of this chapter is to guide you through a simple DokuWiki installation from start to finish. We'll start by getting your environment ready. Then we'll download the software and install it on a Windows development machine, examine the user interface, and create and save your first wiki page. If you're using Linux, move on to the next chapter where I'll discuss installing DokuWiki on a Linux Web Server.

- What You'll Need
--- Development Environment
--- Development Machine Requirements
- Download DokiWiki on a Stick
- Run DokuWiki on a Stick
- The DokuWiki Intaller
- Start DokuWiki From Now On
- Under the Hood
- What's Next?
- Conclusion

Chapter 4: Linux Server Quick Install

Now it's time to install DokuWiki in production - on your Linux Web Server.

- What You'll Need
--- Server Requirements
--- Prep the Landing Spot for your Wiki
--- Make Sure your Web Server is Running
--- Verify PHP is Installed and Running
- Installing DokuWiki on a Server
--- Download
--- Extract Files
--- Copy to Destination
--- Run the Installer
- Start DokuWiki From Now On
- What's Next?
- Problems

Chapter 5: Working with a Wiki Page

Now that we have a working wiki, we should work with it. More specifically, let’s look at how to create, edit, and save a page, and then see what’s going on under the hood.

- [[DW]] logo
- Dynamite Construction Machines
- Logged in as row
- Search Textbox and Button
- Recent Changes button
- Media Manager link
- Sitemap link
- Trace start label
- Edit box
- Right-aligned Toolbar buttons
--- Edit this page/Create this page button
--- Old revisions button
--- Backlinks
--- Back to top
- Last Modified labels
- License
- Footer images
- Login button
- Create and Save page
--- This topic does not exist yet
- Under the Hood

Chapter 6. Quick Customizations

Nothing better than to make your wiki your own from the very beginning. Here are three quick tweaks you can make to make your visitors feel at home.

- Customize the Logo
- Start Page
- Install a Sidebar for Navigation

Chapter 7: The Installer in Detail

The choices provided in the installer can be confusing at first. After you've done a few installs, you get the hang of things, but when you're starting out, it's good to have a place where each choice, and the ramifications of those choices, is spelled out explicitly. Here's the place.

- Access Control Lists (ACL) Concepts
- Storage of installation and configuration settings
- Option 1: Enable ACL checkbox deselected
- Option 2: Enable ACL checkbox, policy: open wiki
- Option 3: Enable ACL checkbox, policy: public wiki
- Option 4: Enable ACL checkbox, policy: closed wiki
- Comparison of options
- Saving your settings
- Cleaning up
- Conclusion

Chapter 8: Important Configuration Options

Like the characters in Animal Farm, all configuration settings are important, but some are more important than others. And the more important ones have achieved that status because, as a software developer, you're likely going to want to tweak them for your wiki. In this chapter, I'll discuss a dozen or two of the settings that you should be aware of sooner rather than later, and then show you what's going on with configuration settings under the hood.

- Accessing the Configuration Manager
--- Page contents
--- Organization of the Configuration Settings
--- A quick peek under the hood
--- Setting names
--- Saving (and Resetting)
--- Protecting settings
- Basic Settings
--- Wiki title
--- Start page name
--- Template
--- Directory for saving data
- Display Settings
--- Recent changes
--- Number of breadcrumbs/Hiearchical breadcrumbs
--- Reveal full path of pages in the footer
--- Date format
--- Signature
--- What to display when showing the user that last changes
--- Top leve for table of contents/Maximum level
--- Use CamcelCase for links
- Authentication Settings
--- Use access control lists
--- Autogenerate passwords
--- Authentication backend
--- Password encryption method
--- Default group
--- Superuser/Manager
--- Confirm profile changes with password
--- Allow permanent login cookies
--- Disable WokuWiki actions
- Anti-Spam Settings
- Editing Settings
--- Automatically save a draft while editing
--- Allow embedded TML/PHP
--- Maximum age for lock files/cache
- Link Settings
- Media Settings
--- Maximum size
- Notification Settings
--- Allow users to subscribe to page changes
--- Always send change notifications
--- Always send info on newly registered users
--- Sender email address to use for automatic emails
- Syndication (RSS) Settings
- Advanced Settings
--- Check for updates and security warnings?
--- Nice URLs
- Network Settings
- Plugin
- Conclusion

Chapter 9. User Editing and Page Formatting

While the ability to simply edit a Web page in a collaborative environment will thrill many a computer user for a while, eventually the excitement will wear off. No longer is just typing content in the edit box enough; users will want to make it look nice. This chapter covers dozens of ways to format the contents of DokuWiki pages.

- Creating paragraphs
- Changes
--- Documenting changes
--- Old Revisions vs Recent Changes
- Using the basic formatting buttons on the toolbar
--- Monospaced text
--- H buttons
--- Links
--- Summary of link syntax
--- Lists
--- Insert objects
----- Horizontal Rule
----- Smileys and Special Characters
----- Images and other files
----- Signatures

- Advanced formatting
--- Footnotes
--- Typography
--- Quoting
- Tables
--- Horizontal and Vertical Headers
--- Text alignment
--- Spanning cells
- Source code-specific features
--- Embedding source code
--- Embedding HTML and PHP
--- Syntax highlighting
--- Non-parsed blocks
- Other goodies
--- Control Macros
--- Syntax Plugins
--- Extending the button toolbar
--- Spellchecking
- Conclusion

Chapter 10. Version Mania: Changes, Revision, Drafts and Stuff

Not only is DokuWiki a great wiki tool, but it acts as a poor man's version control system with mechanisms for saving drafts, handling changes to pages, and archiving old versions of pages. With this extended capability come some nuances that may not be completely obvious at first. In this chapter, we'll discuss how each of these functions works and what types of things you can do with them. In addition, we'll start to peer at what's happening under the hood.

- Draft saving

- Page locking
--- Conflict resolutionwith multiple pending edits
--- Under the hood

- Caching
--- Force a refresh
--- Prevent caching all the time
--- Images
--- Under the hood
--- Cache and Revisons Eraser plugin

- Old revisions
--- Under the hood

- Recent changes
--- Under the hood

- Index of namespaces and pages

- Conclusion

Chapter 11: Your First Template

Templates are overlays to the basic DokuWiki appearance that allow you to customize its appearance to your liking. Many templates also add configuration capabilities to extend the native functionality of DokuWiki. In this chapter, we'll install a template and examine the benefits it provides.

- Template basics
- Choosing a template
- Installing a template
- New settings
--- Pagename to use for the navigation/footer
--- Adding a footer
--- Closed Wiki (Navigation shows only...)
- A couple of quick customizatons
--- Changing the DokuWiki logo
--- Changing that navigation box
--- Adding a footer
- A quick tour around Dokubook
- Conclusion

Chapter 12: Your First Plugins

A plugin is a piece of software that adds functionality to a DokuWiki installation without having to modify the DokuWiki source code itself. There are hundreds (yes, hundreds) of plugins that do everything from displaying image galleries to formatting a molecular formula to generating an easy to use to-do list following the principles of David Allen's GTD time management system. In this chapter, we'll get started with plugins by installing a favorite plugin or three of mine.

- The tag cloud world of DW plugins
- Installing plugins
--- The Extension Manager
--- Manual install
- The Box plugin
--- Installing the Boxes plugin manually
--- Using the Boxes plugin
- The Cloud plugin
- Plugin Philosophies
--- Security concerns
--- Upgradability ramifications
--- Deploying plugins with consistency
- Conclusion

Chapter 13: Deploying and Upgrading

Because DW is just files, deployment from development to production is a simple process, to the point of being trivial. Upgrading isn't much harder. As a result, you're probably going to finish this chapter before you're done with your next chocolate chip cookie, and your glass of milk will certainly still be cold.

- Deploying DW to a production site
--- General concept
--- Specific issues
--- When the wiki is your entire site
--- Making your wiki part of a larger site
--- Shared host example
--- Down on the farm
- Upgrading DW to a new version
--- How do you know when a new version is available?
--- The big picture
--- Things not to do
--- Step by step upgrade process
----- Create a new installation
----- Install and test templates
----- Install and test plugins
----- Deploy
----- Data customizations
----- If those messages continue to appear

Chapter 14: Using DokuWiki As A Software Developer

So you now know everything you need in order to manage your wiki. But that was all preparation for this chapter: what goes on your wiki. There are many sources and repositories of information for an application, and the wiki is the home base that organizes all of those disparate pieces.

What’s most important is to enable your users to find information. This chapter, then, brings it all together, and discusses how to design the sidebar – the table of contents for all those pieces – for your wiki, and examples of what goes on each of those pages.

- Project Management
--- Task List
--- Status
--- Project Plan/Schedule
--- Summary
- Software Development Tools
--- Builds
--- Source
--- Test Plans
--- AFI List
- Reference
--- Resource/Supporting files
--- Glossary/Nomenclature
--- Infrastructure
- Development Process
--- Production Environment
--- Development Environment
--- Development Proess
--- Testing in Development
--- Separate Testbed Environment
- Data
--- Data Files
--- Data Dictionary
- How To...
--- How Things Work
--- How To...
--- Troubleshooting
- Functional Docs
--- System Inventory
--- Application Menu
--- Off the Grid Programs
- Other Topics
- Sidebar Design Considerations