People often have difficulty grasping the concept of a wiki, and this is not helped by the fact that there's no single definition of a wiki. Basically ”and I do mean basically ”a wiki is a collection of pages in a website that anyone can modify. The websites that come out of wiki-dom are primarily text based because wikis are designed as ways to communicate, not ways to impress people with graphical ingenuity and style. A wiki is somewhat like a discussion board, except that there is no forum/topic/post hierarchy. A wiki is also somewhat like a blog, except one that anyone can use, edit, or add pages to.
If you're still scratching your head, don't worry. Many people do. So, here's a practical example. Suppose that your Plone site exists for the purpose of collaboration among a development team of 10 programmers, managers, and writers, all of whom are responsible for different aspects of the project. Perhaps this group has a project roadmap that you are trying to follow. Now imagine that you have installed a wiki in your Plone site (which you will in a moment) specifically regarding this project roadmap.
Now, any one of the members of your group can edit the content of the roadmap, add comments to it, pose questions, and even create different types of documents. Perhaps one of those documents is the release notes document for the product, which anyone can add content to, edit before the writer, or make it into some proprietary document format. Think of the time saved and the productivity increased just by making all the content available to all members of the team in a nonproprietary and quickly editable format. Such is the goal of a wiki.
With that in mind, let's get on to installing a wiki in your Plone site using the Zwiki software.
Zwiki is one of several wiki software packages freely available, but this one integrates quite well with Plone and appears to be rather stable. However, Zwiki is not part of the CMF Collective. To install it, you must visit http://www.zwiki.org/ and download the package. From that point, the installation is similar to what you have already seen in this chapter.
When you have the Zwiki package, use your unzip utility of choice (perhaps WinZip on Windows, gunzip on Linux/Unix) to extract the files into a subfolder within the Data/Products folder in the Plone installation directory.
The remainder of the installation occurs through the Zope Management Interface (ZMI) instead of the Plone setup screen because adding a wiki is slightly different than modifying something that is already part of Plone, such as a content type. Using the management login, go to the ZMI on your server ( http:// zopehost /manage/ ) and click on the name of your Plone instance in the directory tree. Next , click on the portal_quickinstaller option to see the list of available packages for installation. Select the check box for the Zwiki package, and press the Install button.
This portion of the installation process is actually similar to what occurs in the Plone setup area for adding and removing products, but you will be doing a few more tasks related to management that require you to be in the ZMI.
After Zwiki has been installed, click on the name of your Plone instance once more to return the contents list. Next, you need to add a Zwiki instance. This occurs through the drop-down list of available instances to add, as shown in Figure 4.18.
Figure 4.18. How to add a Zwiki instance.
After you select a Zwiki instance to add, you are presented with a form to complete. This form asks you for the ID and title of your Zwiki instance, as well as the Zwiki type, which should be left as Basic. After you complete the form, a folder appears in the directory listing for your Plone instance; its name is the ID you supplied for your wiki. For example, if you gave an ID of wiki1, your Zwiki instance is called wiki1 and is accessible via URL at http:// zopehost / ploneinstance /wiki1/ (as with the sample wiki I've created for use in the remaining screenshots, accessible to me at http://localhost/myPlone/wiki1/).
The And Enter check box, next to the Create Wiki button, drops you into the front page of the newly created wiki as soon as it is created. Otherwise, you would be returned to the ZMI.
You're not finished yet: Zwiki requires that some permissions be specifically set so that members can participate in the editing of wiki pages. To access these security settings, click on the folder icon with the name of the new wiki. You will see some line items such as FrontPage, HelpPage, and WikiWikiWeb, but above the directory contents are the very important action tabs. Click on the Security action tab and scroll all the way to the bottom, where eight different permissions exist for using Zwiki. For each of these items, such as Zwiki:Add Pages, Zwiki:Delete Pages, and most important, Zwiki: Edit Pages, check the check boxes next to the user types that should be able to perform these tasks. For example, you can allow users of the Member user type to add or edit pages, but only those of the Manager user type to delete pages.
Don't be alarmed by the numerous entries in the ZMI. Many of these items are explained in detail in Appendix B.
When your security settings have been saved, you can return to your Plone instance and log in to the site. After logging in, navigate to the first page of the wiki ( http://zopehost/ploneinstance/wiki1 ) to see what it's all about. The next sections provide you with a brief primer on working with wikis. You'll see that it's more of a conceptual issue than a technical one.
You should understand a few bits of terminology and wiki-related concepts before moving on to working in your wiki. Potentially the most common question, and one that I asked myself first, is "Why don't people just wipe out wikis?" I suppose this question comes from years of watching script kiddies and other malicious types attempt to deface, defraud, spam, and just generally cause mayhem among all things online.
The thing to remember about wikis is that, in general, they are placed within a Plone community site or are standalone sites that require authentication of their own. In other words, no one has anonymous access. Second, anyone who does have access probably has had it specifically granted to them. There's no faking of usernames and what not ”and in the wiki-using community, real names are preferred to usernames (for instance, Julie Meloni is preferred to jcmeloni). With all of these points being true, would you then want to be the one who stepped up and wiped out a community of work, a community that you belonged to? As I read on one wiki, among the musings of people who asked this same question to themselves (and others), one person put it like this: Members don't deface wikis, just like you never see graffiti on art. Some semblance of social responsibility still remains in the wiki community.
On to the basic structure of a wiki. It starts out as a single page, a singleton. Pages have titles, usually mixed-case words called WikiWords , such as WikiWord itself or FrontPage or JuliesHomePage. As pages are added, other pages can link to them, and people can start editing the content. Edits do not go into some black hole ”you can always see what has been edited by checking the history and contents of the page you are viewing.
The rule of thumb for adding or editing content is very simple: If you think that what you have to say adds more value than what is already there, edit it. Remember, all edits and additions are attributed to their creator.
For more information on wikis in general, visit http://c2.com/cgi/wiki?WikiWikiWeb. In the next section, you'll see how to perform some of these user actions in your Zwiki wiki within your Plone community.
Working with Your Zwiki Wiki
Assuming that permissions have been granted to members in your Plone community, these
members can add and edit content in the wiki that you created through the ZMI. When navigating to http://zopehost/ploneinstance/wiki1 , you are greeted with the default Zwiki front page, called FrontPage. Clicking on the Edit tab enables you to change its content by invoking the editing form, shown in Figure 4.19.
Figure 4.19. Editing a wiki page.
Make all the edits you want in the body text area of a document, and add any comments you want in the history area. Similar to documents, Zwiki pages can be structured text, plain text, or HTML. In Figure 4.20, you can see how important the History tab is for a wiki document. This figure shows part of the original text crossed out and the new text at the bottom.
Figure 4.20. The history of an edited wiki page.
When viewing a Zwiki page, the Add New Item drop-down list is always available to an authenticated member. To add a new page in your Zwiki wiki, select Wiki Page from the drop-down list. You will see a form quite similar to the editing form. You need to add a page title, the body text, and any comments for the history. You also need to select the text type.
Whether they are new pages or an edited version of existing pages, wiki pages are automatically published and never become part of the request queue.
When your page has been published, it is listed under the Wiki Contents tab, as shown in Figure 4.21. Wikis appear in a hierarchy if they are linked to or contain links to other pages in a wiki.
Figure 4.21. Showing wiki contents.
This section has shown you the very basics of working with wikis, but, in general, they're no different than documents that are simply editable by anyone in your community. Most of the knowledge that exists regarding working with Zwiki is hands-on knowledge attained by simply diving in and playing with them. However, if you would like more information on Zwiki, such as FAQs, support questions, and tips for use, visit the Zwiki website at http://www.zwiki.org/.