File:  [Repository] / texttool-architecture / soft-cgi.tex
Revision 1.11: download - view: text, annotated - select for diffs - revision graph
Thu Jan 15 08:47:01 2004 UTC (20 years, 4 months ago) by bcfuchs
Branches: MAIN
CVS tags: HEAD
...

\subsubsection{rec.cgi (register text)}
\label{sec:rec.cgi}

\paragraph
On the ECHO server, the registration of new texts is implemented by
means of a cgi script, reg.cgi
(archimedes/web/cgi-bin/toc/admin/reg.cgi ). reg.cgi retrieves a
metadata file  in MPIWG archive metadata format from the entered uri
(currently only local paths are supported ) and constructs from this
file a toc.cgi object file (see below) , which it writes to toc.cgi's
data section. [corpus???] It should be stressed that this is a
registration procedure developed for a particular implementation of
toc.cgi and not a part of the core application. 

\paragraph
reg.cgi takes two parameters, path and show.  Path should give the
local path to the metadata file for the text that is being
registered. If ``show'' is set to 1, reg.cgi will return for
inspection the toc.cgi object file that it has built out of the
submitted metadata file. 

\paragraph{input metadata file}

The input metadata file must have the following form

\paragraph

<resource>
    ...
    <meta>
      <meta>
                <bib type=''Book''>

<title>Mainzer Untergerichtsordnung (von 1534)</title>
<author>anon</author>
<year>1580</year>
        <texttool><display>yes</display>
	<image>pageimgtif</image>
	<text>/mpiwg/online/experimental/echo_DRQEdit_test/anon_Mainz_1580/fulltextDW/mainzugo02_utf8.xml</text>
	<pagebreak>pb</pagebreak><presentation>01-presentation/info.xml</presentation></texttool></meta>

    </meta>

\paragraph{archimedes object registration}

\subsubsection{toc.cgi (display text)}
\label{sec:toc.cgi}

\paragraph{plan of this section }

\begin{enumeration}
\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}

\paragraph{Overview of toc.cgi architecture}

\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 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 }
\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 }
\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 }
\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 }
\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 }
\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 }
\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 }
\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 }
\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 }
\newline
\newline
get a page of text from a work from default corpus 




\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 single script provides backend access to indices 
\end{enumeration}

\subsubsection{Morphology}
\label{sec:morphology}


\subsubsection{Dictionary server}
\label{sec:dictionary-server}


\subsubsection{helper programs}

\paragraph{addarch.pl ARCHIMEDES} 

Automatically registers new texts as toc.cgi objects when they appear in
cvs. Automatically updates relevant morphological indices (slow!) each
time a cvs update occurs. This program is called by a hook in the cvs
``loginfo'' configuration file. 


\paragraph{makelemma.pl ARCHIMEDES}

Updates lemmatization indices. 
Parameters: 
No parameter--update all lemmatization indices
[latin | ital | greek | en | nl | de]--  update this language

\paragraph{makefast.pl ARCHIMEDES} 

Updates the toc.cgi morphology indices
Parameters
No parameter--update all lemmatization indices
[latin | ital | greek | en | nl | de]--  update this language

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "texttools"
%%% End: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>