I wanted a Wiki but the basic ZWiki did not have the user
interface that I wanted. Someone told me to put ZWiki inside a
Plone Site and it would do what I was looking for. This set me
off on my adventure. I was surprised at how obscure some tidbits
of essential information were. So, this page, I hope, will be
able to lead someone from nothing to having a running ZWiki
inside a Plone Site with minimal confusion and frustration.

Good luck...

First, a couple of don'ts:

First Dont: I had python 2.4.3 installed but in my usual quest
to have the latest, I installed python 2.5. This led to
problems. The python packages installed used python 2.5. But
the Zope install process finds python 2.4.3, prefers it, so uses
it. This led to Zope running on 2.4.3 while some of the
packages I installed were only on 2.5 (and so not available).
To gist of this paragraph is simply: stick to python 2.4.3. (I
do not cover how to install python in this article).

Second Dont: Plone 2.5 will not work with Zope 2.10 (and there
are no plains to). So, do not get Zope 2.10. Stick with Zope
2.9.5

Third Dont: ZWiki 0.57.0 does not work with Plone. I backed
off to ZWiki 0.56.0.

Now for some Do's:

First:

I su to root. The way I do this is sudo-s. All of the following
commands are done as root. I will explicitly tell you when to end the
root session.

I'm doing all this from a Mac running 10.4.8. It did not have a nice
utility called wget. I suggest downloading it, compiling it, and
using it. That sequence is something like this. First, download
wget. It is at:

Download the file, uncompress it, untar it, cd into the source
directory. Then do the usual:

./configure
make
make install

sequence of commands. If you can do this much, the rest of this page
should not be any harder.

Second:

Below are a sequence of eight packages (I'm using the term "package"
in a non-python sense). I use two directories for this sort of thing.
One is /usr/local/images where I store the items that I download. The
other is /usr/local/src which is where I unpack the downloaded items.
So, the sequence is to pull all eight packages down. Then cd over to
the src directory. Then for the first six of the package, you unpack
and untar them, cd into the directory that is created, execute a
sequence of commands to compile and install the package, then cd up to
the original directory. The tar command comes in two flavors. If the
package is compressed with bzip2, then it is tarxjf<path>. If the
package is compressed with gzip, the j changes to z so the tar
command becomes tarxzf<path>. Here are the details:

You need to get the above script into a file and execute it. So,
select the text above from the line that starts with #!/bin/bash to
the end that starts ### End of Script. Select it and then do "copy"
(command-C)

Now do:

cat > /tmp/Doit
<PASTE>
control-d

The <PASTE> will be command-V. The control-d is much like command-X
except hold control down and hit d (this is for a Mac). You should
get back to the command prompt. Note that you need to change DIR,
ZUSER, and ZPASSWD. If you do not know how to use vi, then make the
changes in your favorite WYSIWYG editor. Then copy and paste the
final result using the sequence I just described. After you have done
that, then do these two commands:

chmod +x /tmp/Doit
/tmp/Doit

At this point you will have a directory where $DIR points to. This is
called the Zope Instance directory. Because I had so many pitfalls in
my quest, what I recommend at this point is to cd to $DIR and then cd
into bin (under $DIR). Then run:

./runzope -X 'debug-mode=on'

This, hopefully, will run. It will spew out some messages and cough
and shiver a couple of times but eventually, if all is well, it will
put out this line:

You will need to type in the ZUSER and ZPASSWD that is in the script above.

You will be presented with ZOPE administrators root web page (this is
not Plone or ZWiki yet).

On the right is a pull down menu labeled Select type to add....
Pull it down and select Plone Site. That will put you to a screen
with three fields to fill out: Id, Title, and Description. To be
safe, I did not put any spaces and used only letters and numerals.
The screen says you can change it later on. (And what ever the screen
says must be true -- right?)

You are put back into the root screen and but there is a folder with
the name of the site. Pick that folder. Then hit the View tab.

In the far upper right, there is a site setup link. Pick it.

Now pick Add / Remove Products (top of the list).

In the middle box (going left to right -- not top to bottom) titled
Products Available to Install, there should be an entry and a check
box for ZWikiZWiki-0-56-0. Pick the checkbox and hit the Install
button.

Now hit the home tab that is towards the top and on the left of the
main viewing area.

Then pick the Add to folder menu item. It will drop down. Pick
wiki page. You will be put into a form to fill out the wiki page.
Put some entries and hit Save at the buttom.

At this point, its all over but the crying. If you have a second
browser, what I did was open it up and navigate to the site and wiki
page as an anonymous user. In my case, the URL was:

Back in the first browser which is logged in as the administrator,
on the far left, hit Root Folder, then hit the folder for your
Plone Site. Now hit the Security tab. Scroll to the bottom and
you will see the last N entries like ZWiki: Add Comments. This is
where you grant and deny permission for various activities to
different roles. Somehow, somewhere else, you can assign roles to
particular users. I have not gotten that far yet but I wanted to
mention it so you would know that the security of your site may not
be the way you want it just yet.

One more addition: when a user tries to join the site, an email is
sent out. The address that the email comes from defaults to
postmaster@localhost. A smart SMTP mail server will reject this as
bogus spam. To fix this, log is as the Plone Site administrator
(ZUSER/ZPASSWD from above). Go to the plone base page (not root
but PloneSite9? in my case). Hit Site Setup in the upper right.
Hit Portal Settings. Set the things that you like. Be happy.