File:  [Repository] / texttool-architecture / soft-cgi.tex
Revision 1.17: download - view: text, annotated - select for diffs - revision graph
Sat Apr 3 17:19:33 2004 UTC (20 years, 2 months ago) by casties
Branches: MAIN
CVS tags: HEAD
small fixes such that it really runs through latex...

    1: \subsubsection{rec.cgi (register text)}
    2: \label{sec:rec.cgi}
    3: 
    4: \paragraph
    5: On the ECHO server, the registration of new texts is implemented by
    6: means of a cgi script, reg.cgi
    7: (archimedes/web/cgi-bin/toc/admin/reg.cgi ). reg.cgi retrieves a
    8: metadata file  in MPIWG archive metadata format from the entered uri
    9: (currently only local paths are supported ) and constructs from this
   10: file a toc.cgi object file (see below) , which it writes to toc.cgi's
   11: data section. [corpus???] It should be stressed that this is a
   12: registration procedure developed for a particular implementation of
   13: toc.cgi and not a part of the core application. 
   14: 
   15: \paragraph
   16: reg.cgi takes two parameters, path and show.  Path should give the
   17: local path to the metadata file for the text that is being
   18: registered. If ``show'' is set to 1, reg.cgi will return for
   19: inspection the toc.cgi object file that it has built out of the
   20: submitted metadata file. 
   21: 
   22: \paragraph{input metadata file}
   23: 
   24: The input metadata file must have the following form
   25: 
   26: \begin{verbatim}
   27: <resource>
   28:     ...
   29:     <meta>
   30:       <meta>
   31:                 <bib type=''Book''>
   32: 
   33: <title>Mainzer Untergerichtsordnung (von 1534)</title>
   34: <author>anon</author>
   35: <year>1580</year>
   36:         <texttool><display>yes</display>
   37:         <image>pageimgtif</image>
   38:         <text>/mpiwg/online/experimental/echo_DRQEdit_test/anon_Mainz_1580/fulltextDW/mainzugo02_utf8.xml</text>
   39:         <pagebreak>pb</pagebreak><presentation>01-presentation/info.xml</presentation></texttool></meta>
   40: 
   41:     </meta>
   42: \end{verbatim}
   43: 
   44: \paragraph{archimedes object registration}
   45: 
   46: \subsubsection{toc.cgi (display text)}
   47: \label{sec:toc.cgi}
   48: 
   49: \paragraph{plan of this section }
   50: 
   51: \begin{enumerate}
   52: \item An overview of toc.cgi architecture
   53: \item A walk-through of typical cgi queries for toc.cgi
   54: \item An index of cgi parameters and values with short descriptions of function
   55: \item The TOC Perl modules
   56: \end{enumerate}
   57: 
   58: \paragraph{Overview of toc.cgi architecture}
   59: 
   60: \subparagraph{}
   61: toc.cgi is a perl script for displaying collections of xml texts and 
   62: linking them to related resources such as page-images, morphological
   63: analysis, commentaries, dictionaries, etc. It implements generic methods
   64: for resource-linking provided by a series of perl modules which are in
   65: turn based mainly on generic open-source tools for xml manipulation and networking
   66: written in C. 
   67: 
   68: \subparagraph{toc.cgi collections--Network transparency}
   69: Each of the collections in toc.cgi is a ``virtual'' collection, that
   70: is, a collection of links or uri's to resources that reside somewhere on an accessible
   71: network, local or remote.  
   72: 
   73: \subparagraph{toc.cgi collections--remote resources}
   74: 
   75: What is at the other end of the link is of no concern to toc.cgi, as
   76: long as the resource referenced by the link meets minimal toc.cgi
   77: requirements--how the resource is actually implemented and exposed is
   78: a matter for the resource provider. The link may, for instance, point
   79: directly to an xml text or it may point to a container which exposes a
   80: particular xml view of an underlying resource that is perhaps not in
   81: xml format at all. 
   82: 
   83: 
   84: \subparagraph{resource registry}
   85: 
   86: 
   87: 
   88: 
   89: \paragraph{cgi parameters -- standard queries}
   90: 
   91: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=corpus }
   92: \newline
   93: \newline
   94: get a listing of corpora
   95: 
   96: 
   97: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest }
   98: \newline
   99: \newline
  100: get an xml listing of corpora 
  101: 
  102: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi }
  103: \newline
  104: \newline
  105: get a listing of works in default corpus
  106: 
  107: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?corpus=1 }
  108: \newline
  109: \newline
  110: get a listing of works in corpus 1 [default corpus = 0]
  111: 
  112: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist }
  113: \newline
  114: \newline
  115: get an xml listing of works in default corpus 
  116: 
  117: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpuslist;corpus=1 }
  118: \newline
  119: \newline
  120: get an xml listing of works in corpus 1
  121: 
  122: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=baifl_renav_006_la_1537;step=thumb }
  123: \newline
  124: \newline
  125: get a work from default corpus with thumbnail navbar displayed left
  126: 
  127: 
  128: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=thumb;ftype=thumbright }
  129: \newline
  130: \newline
  131: get a work from default corpus with thumbnail navbar displayed right
  132: 
  133: \url{ http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?dir=jorda_ponde_050_la_1533;step=textonly;corpus=;page=22 }
  134: \newline
  135: \newline
  136: get a page of text from a work from default corpus 
  137: 
  138: 
  139: \paragraph{TOC Perl Modules}
  140: \subparagraph{general}The documentation for the Toc Perl Modules is
  141: located in the modules themselves in POD format. The POD is the
  142: definitive documentation for the modules. 
  143: 
  144: The modules are available to archimedes staff from cvs on the archimedes server at
  145: 141.14.236.86:/perseus/cvsroot in the module
  146: /perseus/cvsroot/mpitexts/perl/perllib. To get them, log on to the
  147: archimedes server and use the commandline command: 
  148: \begin{verbatim}
  149:         cvs -d /perseus/cvsroot co /perseus/cvsroot/mpitexts/perl/perllib
  150: \end{verbatim}
  151: 
  152: or from a remote location
  153: 
  154: \begin{verbatim}
  155:       bash; export CVS_RSH=ssh; cvs -d :ext:myusername@141.14.236.86:/perseus/cvsroot co /perseus/cvsroot/mpitexts/perl/perllib
  156: \end{verbatim}
  157: 
  158: \subsubsection{Indexing}
  159: \label{sec:indexing}
  160: 
  161: \paragraph{Status quo ECHO}
  162: Currently indexing is not implemented on the ECHO server.
  163: 
  164: \paragraph{Plan ECHO}
  165: 
  166: \begin{enumerate}
  167: \item construct remote (141.14.236.86) index for each file at
  168:   per-change or daily intervals
  169: \item store indices locally in
  170: \url{archimedes/data/db/PROJECT_NAME/CORPUS_NAME/WORK}
  171: \item 2 progs on server 1. cgi: \url{indexer} 2. backend \url{da_remote}
  172: \item 2 progs on client 1. cgi: \url{sendindex} 2. backend \url{getindex}
  173: \item indexing transaction handled by two cgi scripts, one on the
  174:   server the other on the client [this is the 1st implementation bcs
  175:   its easiest and there are no port issues, but probably it'd be
  176:   better to have a separate port]. 
  177: \item client cgi: getindex -- sends 1.  list of files to index
  178:   2. uri to which xml notification of completion is to be sent. Upon
  179:   notification, activates backend prog that fetches and installs the
  180:   indices.  
  181: \item server cgi: indexer receives filelist and notification
  182:   addess. Activates backend that fetches files, indexes, places
  183:   completed indexes in a networked location, then sends xml
  184:   notification back to client. 
  185: \item single script provides backend access to indices 
  186: \item leave front-end issues like display, collection and navigation
  187:   to web-design programmers. Do only a  sample for now. 
  188: \end{enumerate}
  189: 
  190: \subsubsection{Morphology}
  191: \label{sec:morphology}
  192: 
  193: 
  194: \subsubsection{Dictionary server}
  195: \label{sec:dictionary-server}
  196: 
  197: 
  198: \subsubsection{helper programs}
  199: 
  200: \paragraph{addarch.pl ARCHIMEDES} 
  201: 
  202: Automatically registers new texts as toc.cgi objects when they appear in
  203: cvs. Automatically updates relevant morphological indices (slow!) each
  204: time a cvs update occurs. This program is called by a hook in the cvs
  205: ``loginfo'' configuration file. 
  206: 
  207: 
  208: \paragraph{makelemma.pl ARCHIMEDES}
  209: 
  210: Updates lemmatization indices. 
  211: Parameters: 
  212: No parameter--update all lemmatization indices
  213: [latin | ital | greek | en | nl | de]--  update this language
  214: 
  215: \paragraph{makefast.pl ARCHIMEDES} 
  216: 
  217: Updates the toc.cgi morphology indices
  218: Parameters
  219: No parameter--update all lemmatization indices
  220: [latin | ital | greek | en | nl | de]--  update this language
  221: 
  222: \subsubsection{summary of differences btwn the archimedes toc.cgi
  223:   implementation and the echo toc.cgi impelementation (toc.x.cgi)}
  224: 
  225: \paragraph{missing in archimedes}
  226: \begin{enumerate}
  227: 
  228: \item html templates (coded but phased out of cvs branch)
  229: \end{enumerate}
  230: 
  231: \paragraph{missing in echo}
  232: \begin{enumerate}
  233: 
  234: \item word-coloring?
  235: \item remote text method may work differently
  236: 
  237: 
  238: 
  239: \end{enumerate}
  240: \paragraph{differences}
  241: \begin{enumerate}
  242: \item structure of info.xml
  243: \item resource-discovery algorithm for info.xml
  244: \end{enumerate}
  245: 
  246: 
  247: 
  248: %%% Local Variables: 
  249: %%% mode: latex
  250: %%% TeX-master: "texttools"
  251: %%% End: 
  252: 

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