--- texttool-architecture/soft-cgi.tex 2004/01/13 11:01:18 1.8 +++ 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,75 +48,114 @@ 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 -\end{enumeration} +\item The TOC Perl modules +\end{enumerate} + +\paragraph{Overview of toc.cgi architecture} -\paragraph{} +\subparagraph{} toc.cgi is a perl script for displaying collections of xml texts and linking them to related resources such as page-images, morphological analysis, commentaries, dictionaries, etc. It implements generic methods for resource-linking provided by a series of perl modules which are in -turn based mainly on generic tools for xml manipulation and networking +turn based mainly on generic open-source tools for xml manipulation and networking written in C. +\subparagraph{toc.cgi collections--Network transparency} +Each of the collections in toc.cgi is a ``virtual'' collection, that +is, a collection of links or uri's to resources that reside somewhere on an accessible +network, local or remote. + +\subparagraph{toc.cgi collections--remote resources} + +What is at the other end of the link is of no concern to toc.cgi, as +long as the resource referenced by the link meets minimal toc.cgi +requirements--how the resource is actually implemented and exposed is +a matter for the resource provider. The link may, for instance, point +directly to an xml text or it may point to a container which exposes a +particular xml view of an underlying resource that is perhaps not in +xml format at all. + + +\subparagraph{resource registry} + + + + \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 +\paragraph{TOC Perl Modules} +\subparagraph{general}The documentation for the Toc Perl Modules is +located in the modules themselves in POD format. The POD is the +definitive documentation for the modules. + +The modules are available to archimedes staff from cvs on the archimedes server at +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} - +\input{soft-search} \subsubsection{Morphology} \label{sec:morphology} @@ -146,10 +185,49 @@ 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 +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{enumerate} + +\item html templates (coded but phased out of cvs branch) +\end{enumerate} + +\paragraph{missing in echo} +\begin{enumerate} + +\item word-coloring? +\item remote text method may work differently + + +\end{enumerate} +\paragraph{differences} +\begin{enumerate} +\item structure of info.xml +\item resource-discovery algorithm for info.xml +\end{enumerate} + + + %%% Local Variables: %%% mode: latex %%% TeX-master: "texttools"