%APN3_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% TEMPLATE.TEX -- APN3 (2003) ASP Conference Proceedings template.
%
% Derived from ADASS VIII (98) ASP Conference Proceedings template
% Updated by N. Manset for ADASS IX (99), F. Primini for ADASS 2000,
% D.Bohlender for ADASS 2001, and H. Payne for ADASS XII and LaTeX2e.
%
% Use this template to create your proceedings paper in LaTeX format
% by following the instructions given below.  Much of the input will
% be enclosed by braces (i.e., { }).  The percent sign, "%", denotes
% the start of a comment; text after it will be ignored by LaTeX.  
% You might also notice in some of the examples below the use of "\ "
% after a period; this prevents LaTeX from interpreting the period as
% the end of a sentence and putting extra space after it.  
% 
% You should check your paper by processing it with LaTeX.  For
% details about how to run LaTeX as well as how to print out the User
% Guide, consult the README file.  You should also consult the sample
% LaTeX papers, sample1.tex and sample2.tex, for examples of including
% figures, html links, special symbols, and other advanced features.
%
% If you do not have access to the LaTeX software or a laser printer
% at your site, you can still prepare your paper following the
% instructions in the User Guide.  In such cases, the editors will
% process the file and make any necessary editorial adjustments.
% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
\documentclass[11pt,twoside]{article}  % Leave intact
\usepackage{adassconf}

% If you have the old LaTeX 2.09, and not the current LaTeX2e, comment
% out the \documentclass and \usepackage lines above and uncomment
% the following:

%\documentstyle[11pt,twoside,adassconf]{article}

\begin{document}   % Leave intact

%-----------------------------------------------------------------------
%			    Paper ID Code
%-----------------------------------------------------------------------
% Enter the proper paper identification code.  The ID code for your
% paper is the session number associated with your presentation as
% published in the official conference proceedings.  You can           
% find this number locating your abstract in the printed proceedings
% that you received at the meeting or on-line at the conference web
% site; the ID code is the letter/number sequence proceeding the title 
% of your presentation. 
%
% This will not appear in your paper; however, it allows different
% papers in the proceedings to cross-reference each other.  Note that
% you should only have one \paperID, and it should not include a
% trailing period.
%
% EXAMPLE: \paperID{O4-1}
% EXAMPLE: \paperID{P7-7}
%

\paperID{P3-22}
%%%% ID=P3-22


%-----------------------------------------------------------------------
%		            Paper Title 
%-----------------------------------------------------------------------
% Enter the title of the paper.
%
% EXAMPLE: \title{A Breakthrough in Astronomical Software Development}
% 
% If your title is so long as to fill the page header when you print it,
% then please supply a short form as a \titlemark.
%
% EXAMPLE: 
%  \title{Rapid Development for Distributed Computing, with Implications
%         for the Virtual Observatory}
%  \titlemark{Rapid Development for Distributed Computing}
%

\title{A Prototype Publishing Registry for the Virtual Observatory}
%\titlemark{ }

%-----------------------------------------------------------------------
%		          Authors of Paper
%-----------------------------------------------------------------------
% Enter the authors followed by their affiliations.  The \author and
% \affil commands may appear multiple times as necessary (see example
% below).  List each author by giving the first name or initials first
% followed by the last name.  Authors with the same affiliations
% should grouped together. 
%
% EXAMPLE: \author{Raymond Plante, Doug Roberts, 
%                  R.\ M.\ Crutcher\altaffilmark{1}}
%          \affil{National Center for Supercomputing Applications, 
%                 University of Illinois Urbana-Champaign, Urbana, IL
%                 61801}
%          \author{Tom Troland}
%          \affil{University of Kentucky}
%
%          \altaffiltext{1}{Astronomy Department, UIUC}
%
% In this example, the first three authors, "Plante", "Roberts", and
% "Crutcher" are affiliated with "NCSA".  "Crutcher" has an alternate 
% affiliation with the "Astronomy Department".  The fourth author,
% "Troland", is affiliated with "University of Kentucky"

\author{Ramon Williamson, Raymond Plante}
\affil{National Center for Supercomputing Applications, 
                University of Illinois Urbana-Champaign, Urbana, IL
                61801}

%-----------------------------------------------------------------------
%			 Contact Information
%-----------------------------------------------------------------------
% This information will not appear in the paper but will be used by
% the editors in case you need to be contacted concerning your
% submission.  Enter your name as the contact along with your email
% address.
% 
% EXAMPLE:  \contact{Dennis Crabtree}
%           \email{crabtree@cfht.hawaii.edu}
%

\contact{Ramon Williamson}
\email{ramonw@ncsa.uiuc.edu}

%-----------------------------------------------------------------------
%		      Author Index Specification
%-----------------------------------------------------------------------
% Specify how each author name should appear in the author index.  The 
% \paindex{ } should be used to indicate the primary author, and the
% \aindex for all other co-authors.  You MUST use the following
% syntax: 
%
% SYNTAX:  \aindex{Lastname, F. M.}
% 
% where F is the first initial and M is the second initial (if
% used).  This guarantees that authors that appear in multiple papers
% will appear only once in the author index.  
%
% EXAMPLE: \paindex{Crabtree, D.}
%          \aindex{Manset, N.}        
%          \aindex{Veillet, C.}        
%
% NOTE: this information is also used to build the author list that
% appears in the table of contents.  Authors will be listed in the order
% of the \paindex and \aindex commmands.
%

\paindex{Williamson, R.}
\aindex{Plante, R.} 

%-----------------------------------------------------------------------
%		      Author list for page header	
%-----------------------------------------------------------------------
% Please supply a list of author last names for the page header. in
% one of these formats:
%
% EXAMPLES:
% \authormark{Lastname}
% \authormark{Lastname1 \& Lastname2}
% \authormark{Lastname1, Lastname2, ... \& LastnameN}
% \authormark{Lastname et al.}
%
% Use the "et al." form in the case of seven or more authors, or if
% the preferred form is too long to fit in the header.

\authormark{Williamson \& Plante}

%-----------------------------------------------------------------------
%			Subject Index keywords
%-----------------------------------------------------------------------
% Enter a comma separated list of up to 6 keywords describing your
% paper.  These will NOT be printed as part of your paper; however,
% they will be used to generate the subject index for the proceedings.
% There is no standard list; however, you can consult the indices
% for past proceedings (http://adass.org/adass/proceedings/).
%
% EXAMPLE:  \keywords{visualization, astronomy: radio, parallel
%                     computing, AIPS++, Galactic Center}
%
% In this example, the author noticed that "radio astronomy" appeared
% in the ADASS VII Index as "astronomy" being the major keyword and
% "radio" as the minor keyword.  The colon is used to introduce another
% level into the index.

\keywords{Virtual Observatory, publishing registries, OAI, metadata}

%-----------------------------------------------------------------------
%			       Abstract
%-----------------------------------------------------------------------
% Type abstract in the space below.  Consult the User Guide and Latex
% Information file for a list of supported macros (e.g. for typesetting 
% special symbols). Do not leave a blank line between \begin{abstract} 
% and the start of your text.

\begin{abstract}          % Leave intact
In the Virtual Observatory (VO), a registry helps users locate resources, such as data and services, in a distributed environment. A general framework for VO registries is now under development within the International Virtual Observatory Alliance (IVOA) Registry Working Group. We present a prototype of one component of this framework: the publishing registry. The publishing registry allows data providers to expose metadata descriptions of their resources to the VO environment. Searchable registries can harvest the metadata from many publishing registries and make them searchable by users. We have developed a prototype publishing registry that data providers can install at their sites to publish their resources. The descriptions are exposed using the Open Archive Initiative (OAI) Protocol for Metadata Harvesting. Automating the input of metadata into registries is critical when a provider wishes to describe many resources. We illustrate various strategies for such automation, both currently in use and planned for the future. We also describe how future versions of the registry can adapt automatically to evolving metadata schemas for describing resources.
\end{abstract}

%-----------------------------------------------------------------------
%			      Main Body
%-----------------------------------------------------------------------
% Place the text for the main body of the paper here.  You should use
% the \section command to label the various sections; use of
% \subsection is optional.  Significant words in section titles should
% be capitalized.  Sections and subsections will be numbered
% automatically. 
%
% EXAMPLE:  \section{Introduction}
%           ...
%           \subsection{Our View of the World}
%           ...
%           \section{A New Approach}
%
% It is recommended that you look at the sample papers, sample1.tex
% and sample2.tex, for examples for formatting references, footnotes,
% figures, equations, html links, lists, and other special features.  

\section{Introduction}
In the Virtual Observatory (VO), a registry helps users locate resources, such as data and services, in a distributed environment. A general framework for VO registries is now under development within the International Virtual Observatory Alliance (IVOA) working group.  We present a prototype of one component of this framework: the publishing registry.

A publishing registry provides a mechanism for data providers to publish descriptions of their data and resources that they want to be made available.  This publishing registry can then be harvested by fully searchable registries  that take the descriptions and make them available to the general user for interrogation and searching (see articles in this publication concerning searchable registries by Greene et al. 2004 and McGlynn et al. 2004). Local searchable registries can also be created that may contain specially harvested datasets for specialized searches.  For more information about the Registry Framework, see Plante et al. 2004. 

The publishing registry is composed of two parts: an entry form and a harvesting interface.  The entry form is used to enter the data  and publish it into the registry, and the harvesting interface which exposes the data for discovery.

\section{VORegistry-in-a-Box: Astronomical Data Registration Made Easy}

Setting up, creating, and maintaining a publishing registry can be a tedious job, especially for those new to the concept.  We have tried to simplify the process by making available our VORegistry-in-a-Box.  VORegistry-in-a-Box contains all of the scripts required to create a publishing registry, including an entry form and an OAI-Compliant harvesting interface.  All that is required to start your own publishing registry is Perl and a Web Server.

\subsection{The Entry Form}

The entry form now in use at the NCSA NVO Registration Portal is a Perl-CGI form.  Throughout the design process, an emphasis was placed on simplifying the ingestion of multiple resources, as well as easy accommodation of evolving metadata schemas. The CGI form features:

\begin{itemize}
\item Password protection \\
Multiple users can enter data into the registry without harm to each other's data
\item Resource List for easy perusal of the resources entered so far
\item Separate publishing step so that previously published registries can more easily be synchronized. 
\item When adding new resources, the entry form automatically inherits values from chosen resources, minimizing the amount of typing when entering multiple  similar resources 
\item Minimal cost to buy-in to create your own registry (A Web Server machine, Apache, and Perl)
\end{itemize}

The resource descriptions are stored in XML files on disk using the emerging IVOA standard schema for describing resources called VOResource (IVOA Registry Working Group 2003); this is the primary export format delivered through the harvesting interface.
 
\subsection{The Harvesting Interface}

The harvesting interface provided with the VOregistry-in-a-Box implements the Protocol for Metadata Harvesting, a standard for disseminating resource metadata developed by the Open Archives Initiative (OAI; Legoze et al. 2002).
This standard was chosen because it is an existing, well-tested standard,
there exists a number of supporting software tools, and its wide use in the digital library world makes our metadata available to the broader library community.

The OAI harvesting interface enables agents to collect metadata from multiple 
registries in a uniform way.  The most common reason for collecting metadata would be to centralize it and make it searchable by users.  Thus, the OAI interface intentionally does not support complex queries, only the simplest filters based on topic and date of last update (that is, a complex query interface is what 
defines the ``searchable registry"; see Plante et al. 2004).  The OAI standard 
can support any community-specific, XML-based format for metadata; however, it 
mandates that an implementation must at least support the OAI-Dublin Core format to allow cross-community interoperability.
 
The harvesting interface included in the VORegistry-in-a-Box package is the OAI-XMLFile package created by Hussein Suleman of Virginia Tech (Suleman 2002).  We modified the package slightly to support the protocol's feature for marking 
deleted records.  We use the interface primarily to export the metadata in the
IVOA-specific format, VOResource; however, the required OAI-Dublin Core format is also supported automatically via an XSL stylesheet.

\section{Future Work}

Currently under development is a Java package to automatically create the entry GUI on-the-fly from an XML Schema which defines the data structure.  The XML schema is read using a Java SAX parser.  Widget components are created based on the data type and numbers of allowed values as parsed from the data schema. This allows the publishing  tool to adapt to new and changing data models. The widgets verify that the values being entered into them are valid for their datatype warn of illegal values. 

\begin{figure}[h]
\epsscale{.47}
\plotone{P3-22_f1.eps}
\caption{Java GUI}
\end{figure}

Figure 1 shows a protoype of the Java interface. With this GUI, a user provides values for a complex element called ``Content" that contains six simpler child elements.  This complex element, hypothetically, can appear multiple times in the schema; the VCR-style buttons allows the user to flip
through the thirteen sets of metadata and make changes to each of them
independently, as well as add or delete sets of values.

Java was chosen for this prototype due to:

\begin{itemize}
\item The ability to handle complex, customized inputs
\item The ability to generate rich GUI's on the fly from an XML Schema
\item Automated handling of help and user tips from XML documentation.
\end{itemize}

The scope of the Schema to GUI translation is limited to VO schemas, and includes handling of primitive types such as Strings, Integers, Floats, Dates and Booleans, and more complex types composed of combinations of the primitive types.

\section{Accomplishments}

We have created a useful tool for creating and maintaining publishing 
registries.  It is targeted to data providers wishing to expose a moderate 
number of resources to the VO environment. The user requires no knowledge of the OAI Standard or the internal formats of the data, yet they get an OAI 2.0 Compliant publishing registry that can immediately be used.  The package is easily installed and set up with little outlay of time or resources.  The Java version of
VORegistry-in-a-Box, now in development, will generate entry forms automatically
from the XML Schema with no additional programming necessary.

\section {Availability}

\begin{itemize}
\item To try out the interface, you can access our registry directly at:\\
	\htmladdURL{http://nvo.ncsa.uiuc.edu/nvoregistration.html}\\\\
	You can either login as user ``sample" to view a sample set of resources, or you can try adding your own resources, either as a test or to be published.\\
\item  To create your own publishing registry using VORegistry-in-a-Box, download the gzipped tar of the package at:\\
	\htmladdURL{http://nvo.ncsa.uiuc.edu/VO/software/VORegistry_in_a_Box.tar.gz}
\end{itemize}
%-----------------------------------------------------------------------
%			      References
%-----------------------------------------------------------------------
% List your references below within the reference environment
% (i.e. between the \begin{references} and \end{references} tags).
% Each new reference should begin with a \reference command which sets
% up the proper indentation.  Observe the following order when listing
% bibliographical information for each reference:  author name(s),
% publication year, journal name, volume, and page number for
% articles.  Note that many journal names are available as macros; see
% the User Guide listing "macro-ized" journals.   
%
% EXAMPLE:  \reference Hagiwara, K., \& Zeppenfeld, D.\  1986, 
%                Nucl.Phys., 274, 1
%           \reference H\'enon, M.\  1961, Ann.d'Ap., 24, 369
%           \reference King, I.\ R.\  1966, \aj, 71, 276
%           \reference King, I.\ R.\  1975, in Dynamics of Stellar 
%                Systems, ed.\ A.\ Hayli (Dordrecht: Reidel), 99
%           \reference Tody, D.\  1998, \adassvii, 146
%           \reference Zacharias, N.\ \& Zacharias, M.\ 2003,
%                \adassxii, \paperref{P7.6}
% 
% Note the following tricks used in the example above:
%
%   o  \& is used to format an ampersand symbol (&).
%   o  \'e puts an accent agu over the letter e.  See the User Guide
%      and the sample files for details on formatting special
%      characters.  
%   o  "\ " after a period prevents LaTeX from interpreting the period 
%      as an end of a sentence.
%   o  \aj is a macro that expands to "Astron. J."  See the User Guide
%      for a full list of journal macros
%   o  \adassvii is a macro that expands to the full title, editor,
%      and publishing information for the ADASS VII conference
%      proceedings.  Such macros are defined for ADASS conferences I
%      through XI.
%   o  When referencing a paper in the current volume, use the
%      \adassxii and \paperref macros.  The argument to \paperref is
%      the paper ID code for the paper you are referencing.  See the 
%      note in the "Paper ID Code" section above for details on how to 
%      determine the paper ID code for the paper you reference.  
%
\begin{references}
\reference Greene, G.,  O'Mullane, W., Hanisch, R., \& Gaffney, N.\ 
    2004, \adassxiii, \paperref{P3-8}
\reference IVOA Registry Working Group, 2002,\   
 IVOA Resource Registry,\\ \htmladdURL{http://www.ivoa.net/twiki/bin/view/IVOA/IvoaResReg}
\reference Legoze, C., Von de Sompel, H., Nelson, M., Warner, S.\ 2002,\   
The Open Archives Initiative Protocol for Metadata Harvesting,\\  
\htmladdURL{http://www.openarchives.org/OAI/openarchivesprotocol.html}
\reference McGlynn T., Lee, J., Hanisch, R., O'Mullane, W.,  \& Greene, G.\ 
    2004, \adassxiii, \paperref{P3-18}
\reference Plante, R., Green, G., Hanisch, B., McGlynn, T., O'Mullane, W., 
 Williams, R., Williamson, R.  \ 
    2004, \adassxiii, \paperref{O7-1}
\reference Suleman, H.\ 2002, OAI-PMH2 XMLFile File-based Data Provider
\\
\htmladdURL{http://www.dlib.vt.edu/projects/OAI/software/xmlfile/xmlfile.html}
\end{references}


% Do not place any material after the references section

\end{document}  % Leave intact
