mhonarc-users

Re: question about multiple archives

2002-04-19 12:08:09
On April 18, 2002 at 11:29, ron wrote:

i have searched the archive but didn't seen this problem addressed
although im sure others must have run into it.

i would like to be able to have the latest posts from three different
email list archives displayed on one web page. is this possible with
mhonarc?

Not directly, but there are ways to do it.  However, the solutions
will vary depending on exectly what you want.

first i tried to build a second archive in the same directory as the first
but it seemed to use the same .mhonarc.db file as the original archive and
i couldn't find a way to specifiy a differnet db.

Use the -dbfile option.  But I do not know if you want to mess with
it.

then i tried (a preferable sollution) to put each archive in a sub
directory. the problem here was that i would have to use an html include
from the main page to display the listing like this:

<!--#include file="listname/mhonarc.inc" -->

that works but when i click on any of the links to the articles, they
link to the base dir instead of the subdirectory. ie. 

<a href="http://vancouver.tao.ca/.list1-archive001.html";> instead of 
<a href="http://vancouver.tao.ca/list1/.list1-archive001.html";>

is there a way to specify where the links point to?

You could possible use OTHERINDEXES for each list to generate a custom
page which you can then include via <!--#include-->.  The trick is
that for each list, the resource file for each OTHERINDEXES changes
the index layout to include the subdirectory.  For example:

<LiTemplate>
<li><a href="$LIST-NAME$/$MSG$">$SUBJECTNA$</a>, $FROMNAME$</li>
</LiTemplate>

where, "$LIST-NAME$" represents the name of the list (or to be more
accurate, the name of sub-directory containing the list archive).

You should only need one main OTHERINDEXES resource for your "latest"
listings for all your lists.  Since the variable component is the
name of the list, you can define a custom resource variable, in
this case $LIST-NAME$ when you invoke mhonarc to update a list archive.
For example:

  shell> mhonarc -definevar LIST_NAME=list1 ...


Here is a summarization of what you could do:

* In your main resource file for your archives, you have the following
  resource setting:

  <OtherIndexes>
  /path/to/latest/posts/resource/file.mrc
  </OtherIndexes>

  See the OTHERINDEXES resource page on how paths to other resource
  files can be specified.

  You can also use the -otherindexes command-line option.


* In "/path/to/latest/posts/resource/file.mrc", have something like
  the following:

  <!-- Specify a reverse chronological date listing -->
  <Main>
  <Sort>
  <Reverse>
  <NoThread>
  <NoMultiPg>

  <!-- Make sure to name the index file something different from
       the default. -->
  <IdxFname>
  latest.inc
  </IdxFname>

  <!-- Set the size of the index: CHANGE to fit how many latest posts
       you want to list -->
  <IdxSize>
  10
  </IdxSize>

  <!-- Since this file will be loaded via a SSI, we clear out header
       and footer markup.  Note: The blank lines are important! -->
  <IdxPgBegin>

  </IdxPgBegin>
  <IdxPgEnd>

  </IdxPgEnd>

  <!-- Define listing style: CHANGE to suit your style. -->
  <ListBegin>
  <ul>
  </ListBegin>

  <LiTemplate>
  <li><a href="$LIST-NAME$/$MSG$">$SUBJECTNA$</a>, $FROMNAME$, $MSGLOCALDATE$
  </li>
  </LiTemplate>

  <ListEnd>
  </ul>
  </ListEnd>

  <!-- Add any other resource settings you need. -->


* When you invoke mhonarc to update your archive, make sure to
  define the $LIST-NAME$ resource variable.  See the DEFINEVAR resource
  on how you can do this.

* In your "latest posts" page, do:

  <!--#include filename="list1/latest.inc" -->
  <!--#include filename="list2/latest.inc" -->
  ...


Of course, none of this has been tested.  Tell us how it goes.

--ewh

<Prev in Thread] Current Thread [Next in Thread>