Jerome, I wrote a mailet to integrate James and Eyebrowse way back in 1.0 of Out-of-the-Box. Unfortunately, the Eyebrowse perl scripts will not work on Windows, so we yanked it from our distribution. I haven't seen much development on Eyebrowse recently so who know if they'll ever get away from their perl scripts. Since we may not be adding Eyebrowse suppport anytime soon (we may put it back in as a Linux only project), we've decided to release this mailet under an Apache-style license.
See the attached jar for the .class file and source. A write-up from 1.0 giving installation and configuration instructions is attached as well. I know some of the eyebrowse fixes have been fixed in CVS. I haven't revisited these instructions in a while, but you should get the idea. Let me know if you have any questions. Eric Weidner Out-of-the-Box Project Lead http://www/ejbsolutions.com On Tuesday 22 July 2003 02:34 am, Jerome Lacoste wrote: > I sent a mail some days ago, but as it was on a different thread, it may > not have add attention. > > Is there a way to integrate james and eyebrowse (or a similar tool). I > picked eyebrowse as it's used by ASF. > > My understanding is that eyebrowse uses mbox, while james does not > support it. > > Cheers, > > Jerome
custom_mailets.jar
Description: application/jar
Installing the Software
Download
Get the eyebrowse 1.1 binary distribution.
Extract
Extract the eyebrowse distribution and change to the resulting directory.
Configuration changes
Set the execute privileges on the perl scripts.
chmod +x bin/*
Fix Errors
Set the execute privileges on the Perl scripts.
chmod +x bin/*
Fix the header file so it will propertly reference the main style sheet. Make the
style import look as shown.
vi eyebrowse/WEB-INF/classes/org/tigris/eyebrowse/Header.vm
<style type="text/css">
@import url(/eyebrowse/css/tigris.css);
</style>
Remove the <glossterm>servlet</glossterm> mapping to the root of the context. This
is blocking the server from
serving the <glossterm>CSS</glossterm> files correctly.
vi eyebrowse/WEB-INF/web.xml
Find the section shown and delete it.
<servlet-mapping>
<servlet-name>
ViewLists
</servlet-name>
<url-pattern>
/
</url-pattern>
</servlet-mapping>
Create an <filename>index.html</filename> file to forward to the main servlet.
vi eyebrowse/index.html
------START FILE-------
<html>
<head>
<script language=javascript>
top.location="ViewLists";
</script>
</head>
<body>
Redirecting to content.
</body>
</html>
------START FILE-------
Install
Edit the properties file (eyebrowse/WEB-INF/classes/eyebrowse.properties) and add
the
eyebrowse dbuser password.
org.tigris.eyebrowse.dbPassword=eyebrowse
Copy the Eyebrowse webapp distribution to our Tomcat webapp directory.
cp -R eyebrowse /opt/obox/tomcat/webapps/.
Database Install
Create a user/host for Eyebrowse to connect as. MySQL on linux sees many local users
from applications as coming from 127.0.0.1 or even the hostname instead of localhost
so we need to add [EMAIL PROTECTED] and eyebrowse@<hostname> as well. Make sure you
replace <hostname> with your actual hostname.
mysql -u root -p
mysql> CREATE DATABASE eyebrowse;
mysql> GRANT ALL PRIVILEGES ON eyebrowse.* TO 'eyebrowse'@'localhost' IDENTIFIED
BY 'eyebrowse';
mysql> GRANT ALL PRIVILEGES ON eyebrowse.* TO
'eyebrowse'@'127.0.0.1/255.255.255.255' IDENTIFIED BY 'eyebrowse';
mysql> GRANT ALL PRIVILEGES ON eyebrowse.* TO 'eyebrowse'@'<hostname>' IDENTIFIED
BY 'eyebrowse';
mysql> exit
Create the database tables needed by Eyebrowse.
mysql -u eyebrowse -p eyebrowse < sql/eyebrowse-create.sql
Check that the tables were created correctly.
mysql -u eyebrowse -p eyebrowse
mysql> show tables;
mysql> exit
Run
Restart Tomcat.
/etc/init.d/tomcat stop
/etc/init.d/tomcat start
Now use your browser to go view Eyebrowse.
http://YourMachineIP/eyebrowse
Initial Archive Setup
Copy the Eyebrowse build to <filename>/opt/obox</filename> so we can set up the non
webapp functionality and mbox storage.
cd ..
cp -R eyebrowse-&eyebrowse-version; /opt/obox/.
cd /opt/obox
ln -s eyebrowse-&eyebrowse-version; eyebrowse
Create a dummy mbox to read as a mailing list.
mkdir /opt/obox/eyebrowse/data
mkdir /opt/obox/eyebrowse/data/root-list-test
cp /var/mail/root
/opt/obox/tomcat/webapps/eyebrowse/WEB-INF/data/root-list-test/root.mbox
cd /opt/obox/tomcat/webapps/eyebrowse/WEB-INF/classes
Change back to the root eyebrowse directory.
cd /opt/obox/eyebrowse
Set the class path.
export
CLASSPATH=eyebrowse/WEB-INF/lib/activation.jar:eyebrowse/WEB-INF/lib/jakarta-oro.jar:eyebrowse/WEB-INF/lib/lucene-1.2.jar:eyebrowse/WEB-INF/lib/mm.mysql-2.0.11-bin.jar:eyebrowse/WEB-INF/lib/eyebrowse.jar:eyebrowse/WEB-INF/lib/log4j-1.1.3.jar:eyebrowse/WEB-INF/lib/mail.jar:eyebrowse/WEB-INF/lib/velocity-1.3-rc1.jar
Execute the addlist command for eyebrowse using the Perl script.
bin/eyebrowse --props=eyebrowse/WEB-INF/classes/eyebrowse.properties
--command=addlist --listname=root-list-test --descr=Test_List-root.mbox
--listfile=/opt/obox/eyebrowse/data/root-list-test/root.mbox
--indexdir=/opt/obox/eyebrowse/data/root-list-test/index/
Execute the update command for eyebrowse using the Perl script to read the mbox.
bin/eyebrowse --props=eyebrowse/WEB-INF/classes/eyebrowse.properties
--command=update
Now hit the site to see your archive.
http://YourMachineIP/eyebrowse
Eyebrowse Mailet Installation Procedures
Unless you are using James 2.2.* the mailet MUST be packed into the
james.sar file or it will not be picked up.
mv custom_mailets.jar /opt/obox/james/apps/james/lib/.
cd /opt/obox/james/apps/james/
jar -uvf ../james.sar lib/custom_mailets.jar
Create an entry in the config file that catch mail to a mailing list and use the
mailet to
write the mail to the archive file. Note that only the middle entry where
class="WriteToArchive"
is a new section for the WriteToArchive mailet. Replace the list emails as necessary.
vi /opt/obox/james/apps/james/conf/config.xml
<!-- Mailing List support uses the next two blocks for a list named
obox-userlist -->
<mailet match="[EMAIL PROTECTED]"
class="AvalonListservManager">
<repositoryName>obox-userlist</repositoryName>
</mailet>
<mailet match="[EMAIL PROTECTED]" class="WriteToArchive">
<archiveName>obox-userlist-archive.mbox</archiveName>
</mailet>
<mailet match="[EMAIL PROTECTED]" class="AvalonListserv">
<membersonly> false </membersonly>
<attachmentsallowed> true </attachmentsallowed>
<replytolist> true </replytolist>
<repositoryName>obox-userlist</repositoryName>
<subjectprefix>Out of the Box User Mailing List</subjectprefix>
</mailet>
Tell eyebrowse to add the list to those that are read and indexed.
cd /opt/obox/eyebrowse
bin/eyebrowse --props=eyebrowse/WEB-INF/classes/eyebrowse.properties
--command=addlist --listname=obox-devlist --descr="Out of the Box Developers List"
--listfile=/opt/obox/james/archives/obox-devlist-archive.mbox
--indexdir=/opt/obox/james/data/obox-devlist-archive/index/
You'll have to place the eyebrowse update command listed below in a cron
job (with the proper CLASSPATH settings) to get eyebrowse to continuously
update.
cd /opt/obox/eyebrowse;bin/eyebrowse
--props=eyebrowse/WEB-INF/classes/eyebrowse.properties --command=update
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
