--- texttool-architecture/soft-cgi.tex 2004/03/17 09:31:01 1.16 +++ texttool-architecture/soft-cgi.tex 2004/08/16 22:34:04 1.20 @@ -23,8 +23,7 @@ submitted metadata file. The input metadata file must have the following form -\paragraph - +\begin{verbatim} ... @@ -35,11 +34,12 @@ The input metadata file must have the fo anon 1580 yes - pageimgtif - /mpiwg/online/experimental/echo_DRQEdit_test/anon_Mainz_1580/fulltextDW/mainzugo02_utf8.xml - pb01-presentation/info.xml + pageimgtif + /mpiwg/online/experimental/echo_DRQEdit_test/anon_Mainz_1580/fulltextDW/mainzugo02_utf8.xml + pb01-presentation/info.xml +\end{verbatim} \paragraph{archimedes object registration} @@ -48,12 +48,12 @@ The input metadata file must have the fo \paragraph{plan of this section } -\begin{enumeration} +\begin{enumerate} \item An overview of toc.cgi architecture \item A walk-through of typical cgi queries for toc.cgi \item An index of cgi parameters and values with short descriptions of function \item The TOC Perl modules -\end{enumeration} +\end{enumerate} \paragraph{Overview of toc.cgi architecture} @@ -88,50 +88,49 @@ xml format at all. \paragraph{cgi parameters -- standard queries} -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=corpus }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=corpus } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=corpus } \newline \newline get a listing of corpora -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest } \newline \newline get an xml listing of corpora - -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi } \newline \newline get a listing of works in default corpus -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?corpus=1 }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?corpus=1 } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?corpus=1 } \newline \newline get a listing of works in corpus 1 [default corpus = 0] -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist } \newline \newline get an xml listing of works in default corpus -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist;corpus=1 }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist;corpus=1 } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist;corpus=1 } \newline \newline get an xml listing of works in corpus 1 -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=baifl_renav_006_la_1537;step=thumb }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=baifl_renav_006_la_1537;step=thumb } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=baifl_renav_006_la_1537;step=thumb } \newline \newline get a work from default corpus with thumbnail navbar displayed left -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=thumb;ftype=thumbright }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=thumb;ftype=thumbright } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=thumb;ftype=thumbright } \newline \newline get a work from default corpus with thumbnail navbar displayed right -\htmladdnormallink{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=textonly;corpus=;page=22 }{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=textonly;corpus=;page=22 } +\url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=textonly;corpus=;page=22 } \newline \newline get a page of text from a work from default corpus @@ -146,44 +145,17 @@ The modules are available to archimedes 141.14.236.86:/perseus/cvsroot in the module /perseus/cvsroot/mpitexts/perl/perllib. To get them, log on to the archimedes server and use the commandline command: - +\begin{verbatim} cvs -d /perseus/cvsroot co /perseus/cvsroot/mpitexts/perl/perllib +\end{verbatim} or from a remote location +\begin{verbatim} bash; export CVS_RSH=ssh; cvs -d :ext:myusername@141.14.236.86:/perseus/cvsroot co /perseus/cvsroot/mpitexts/perl/perllib +\end{verbatim} -\subsubsection{Indexing} -\label{sec:indexing} - -\paragraph{Status quo ECHO} -Currently indexing is not implemented on the ECHO server. - -\paragraph{Plan ECHO} - -\begin{enumeration} -\item construct remote (141.14.236.86) index for each file at - per-change or daily intervals -\item store indices locally in -archimedes/data/db/PROJECT_NAME/CORPUS_NAME/WORK -\item 2 progs on server 1. cgi: indexer 2. backend da_remote -\item 2 progs on client 1. cgi: sendindex 2. backend getindex -\item indexing transaction handled by two cgi scripts, one on the - server the other on the client [this is the 1st implementation bcs - its easiest and there are no port issues, but probably it'd be - better to have a separate port]. -\item client cgi: getindex -- sends 1. list of files to index - 2. uri to which xml notification of completion is to be sent. Upon - notification, activates backend prog that fetches and installs the - indices. -\item server cgi: indexer receives filelist and notification - addess. Activates backend that fetches files, indexes, places - completed indexes in a networked location, then sends xml - notification back to client. -\item single script provides backend access to indices -\item leave front-end issues like display, collection and navigation - to web-design programmers. Do only a sample for now. -\end{enumeration} +\input{soft-search} \subsubsection{Morphology} \label{sec:morphology} @@ -213,33 +185,46 @@ No parameter--update all lemmatization i \paragraph{makefast.pl ARCHIMEDES} Updates the toc.cgi morphology indices -Parameters +Parameters: No parameter--update all lemmatization indices [latin | ital | greek | en | nl | de]-- update this language -\subsubsection{summary of differences btwn the archimedes toc.cgi - implementation and the echo toc.cgi impelementation (toc.x.cgi)} +The indices are produced from the corpus word index 'xml:raw:norm', +which correlates raw forms to normalized forms, and +'\$lang:inc_lemma', which correlates incidentia to lemmata. The basic +rule is, if exists \$raw->\$norm->\$inc_lemma, then \$raw is included +in the 'fast' index for that language. + +Currently stores the indices with the name xml:hit:\$lang, where +\$lang is one of [ital,greek,latin,de,en,fr,nl] in the directory +/usr/share/perlobjects/wordindex in Archim::Object::Depot format +(Storable). Access to these indices is provided by +Archim::Toc::Utils->get_hits_hash(\$lang) . + +The functionality of makefast.pl is duplicated by Archim::Toc::Index->make_fast_lemma(\$lang); + + +\subsubsection{summary of differences btwn the archimedes toc.cgi implementation and the echo toc.cgi impelementation (toc.x.cgi)} \paragraph{missing in archimedes} -\begin{enumeration} +\begin{enumerate} \item html templates (coded but phased out of cvs branch) -\end{enumeration} +\end{enumerate} \paragraph{missing in echo} -\begin{enumeration} +\begin{enumerate} \item word-coloring? \item remote text method may work differently - -\end{enumeration} +\end{enumerate} \paragraph{differences} -\begin{enumeration} +\begin{enumerate} \item structure of info.xml \item resource-discovery algorithm for info.xml -\end{enumeration} +\end{enumerate}