Task: Move the James mailing list archives, add new ones.
Notes:
I've been reading DLR's instructions and e-mail, and browsing the servers. Please check me on the following. Are there any incorrect, missing, or unnecessary steps?
The MySQL statements should be compatible with the version of MySQL currently in use on nagoya. If we had MySQL 4 installed, it would simplify moves, but I'm not pushing.
Goal:
{{{ Add: general@james.apache.org and site-dev@james.apache.org
Move: james-dev@jakarta.apache.org and james-user@jakarta.apache.org }}}
Tasks:
- Create .qmail file
echo '|$HOME/sbin/archive -u "$HOME/archive/james.apache.org/$DEFAULT/%Y%m"' > ~qmlist/.qmail-james-archive-default
- Make new mbox archive area(s)
{{{ mkdir -p /opt/ezmlm/archive/james.apache.org/general
- mkdir -p /opt/ezmlm/archive/james.apache.org/site-dev }}}
- Move existing mbox archive area(s)
{{{ mv /opt/ezmlm/archive/jakarta.apache.org/james-dev /opt/ezmlm/archive/james.apache.org/server-dev
- mv /opt/ezmlm/archive/jakarta.apache.org/james-user /opt/ezmlm/archive/james.apache.org/server-user }}}
- Move existing eyebrowse archives and indices
{{{ mkdir -p /opt/tomcat/webapps/eyebrowse/index/james.apache.org
- mkdir -p /opt/tomcat/webapps/eyebrowse/archive/james.apache.org mv /opt/tomcat/webapps/eyebrowse/index/jakarta.apache.org/james-dev /opt/tomcat/webapps/eyebrowse/index/james.apache.org/server-dev mv /opt/tomcat/webapps/eyebrowse/index/jakarta.apache.org/james-user /opt/tomcat/webapps/eyebrowse/index/james.apache.org/server-user mv /opt/tomcat/webapps/eyebrowse/archive/jakarta.apache.org/james-dev /opt/tomcat/webapps/eyebrowse/archive/james.apache.org/server-dev mv /opt/tomcat/webapps/eyebrowse/archive/jakarta.apache.org/james-user /opt/tomcat/webapps/eyebrowse/archive/james.apache.org/server-user }}}
- Subscribe lists / unsubscribe old lists
{{{ ezmlm-sub /home/apmail/lists/james.apache.org/general/ qmlist-james-archive-general@nagoya.apache.org
ezmlm-sub /home/apmail/lists/james.apache.org/site-dev/ qmlist-james-archive-site-dev@nagoya.apache.org ezmlm-sub /home/apmail/lists/james.apache.org/server-dev/ qmlist-james-archive-server-dev@nagoya.apache.org ezmlm-unsub /home/apmail/lists/jakarta.apache.org/james-dev/ qmlist-jakarta-archive-james-dev@nagoya.apache.org ezmlm-sub /home/apmail/lists/james.apache.org/server-user/ qmlist-james-archive-server-user@nagoya.apache.org ezmlm-unsub /home/apmail/lists/jakarta.apache.org/james-user/ qmlist-jakarta-archive-james-user@nagoya.apache.org }}}
- Register new lists
{{{ export WEB_APP_DIR='/opt/tomcat/webapps/eyebrowse'
- export EYEBROWSE="${WEB_APP_DIR}/WEB-INF/bin/eyebrowse --props=${WEB_APP_DIR}/WEB-INF/classes/eyebrowse.properties"
${EYEBROWSE} --command=addlist --listname='general@james.apache.org' --descr='James Announcements and General Discussion' --indexdir="${WEB_APP_DIR}/index/james.apache.org/general" ${EYEBROWSE} --command=addlist --listname='site-dev@james.apache.org' --descr='James Site Development' --indexdir="${WEB_APP_DIR}/index/james.apache.org/site-dev" }}}
- Add initial mbox file to the database:
${EYEBROWSE} --command=addlistfile --listname='general@james.apache.org' --listfile="${WEB_APP_DIR}/archive/project/general/YYYYMM"
Check with Brian, but I believe that /www/tlp.apache.org/mail/list has the mbox files in compressed format. AIUI, they need to be uncompressed before running eyebrowse.
- Update the database and Lucene indices for the new list:
{{{ ${EYEBROWSE} --command=updatelist --listname='general@james.apache.org'
${EYEBROWSE} --command=updateindex --listname='general@james.apache.org' }}}
- Change the eb_List listName, listDescr, and indexFile
{{{ update eb_List
set listName="server-dev@james.apache.org",
- listDescr="James Server Development", indexFile="/opt/tomcat/webapps/eyebrowse/index/james.apache.org/server-dev"
where listName="james-dev@jakarta.apache.org"; update eb_List
set listName="server-user@james.apache.org",
- listDescr="James Server Users", indexFile="/opt/tomcat/webapps/eyebrowse/index/james.apache.org/server-user"
where listName="james-user@jakarta.apache.org"; select * from eb_List where listName like "%james%"; }}}
Change all eb_ListFile.filePath where eb_ListFile.listId matches the target eb_List.listId.
{{{ select @list_id := listId
- from eb_List
where listName like "server-dev@james.apache.org";
update eb_ListFile set filePath=REPLACE(filePath,
- "/opt/tomcat/webapps/eyebrowse/archive/jakarta.apache.org/james-user/", "/opt/tomcat/webapps/eyebrowse/archive/james.apache.org/server-user/")
where eb_ListFile.listId = @list_id; select @list_id := listId from eb_List
where listName like "server-user@james.apache.org";
update eb_ListFile set filePath=REPLACE(filePath,
- "/opt/tomcat/webapps/eyebrowse/archive/jakarta.apache.org/james-dev/", "/opt/tomcat/webapps/eyebrowse/archive/james.apache.org/server-dev/")
select eb_ListFile.filePath from eb_List, eb_ListFile where eb_ListFile.listId = eb_List.listId and eb_List.listName like "%james%"; }}}