# Apache::NSDL::ToTheGateway # # ToTheGateway.pm # API for passing information from NSDL to the Gateway Server # # For more documentation, read the POD documentation # of this module with the perldoc command: # # perldoc ./ToTheGateway.pm # # Brief description # ================= # # This module contains functionality for # transferring information from NSDL to the Gateway Server. # # In terms of the overall data flow, the # '=====>' below indicates the role of this # module. # # NSDL =========> Gateway --------> LON-CAPA # LON-CAPA -----> Gateway --------> NSDL # # SUBROUTINES: # NSDL->answer_list_records_request # NSDL->answer_search_request # NSDL->answer_metadata_record_request # NSDL->answer_resource_request # Year 2002 # Scott Harrison # February-May # ### package Apache::NSDL::ToTheGateway; # ================================================================ DEPENDENCIES use strict; # enforce handling of variables, references and subroutines # ============================================================ MODULE VARIABLES my $VERSION = sprintf("%d.%02d", q$Revision: 1.2 $ =~ /(\d+)\.(\d+)/); # ================================================================= SUBROUTINES # ------------------------------------------- NSDL->answer_list_records_request sub answer_list_records_request { # Not yet implemented # Need to specifically characterize INPUT arguments and OUTPUT data } # ------------------------------------------------- NSDL->answer_search_request sub answer_search_request { # Not yet implemented # Need to specifically characterize INPUT arguments and OUTPUT data } # ---------------------------------------- NSDL->answer_metadata_record_request sub answer_metadata_record_request { # Not yet implemented # Need to specifically characterize INPUT arguments and OUTPUT data } # ----------------------------------------------- NSDL->answer_resource_request sub answer_resource_request { # Not yet implemented # Need to specifically characterize INPUT arguments and OUTPUT data } 1; __END__ =pod =head1 NAME B - API for passing information from NSDL to the Gateway Server =head1 SYNOPSIS use Apache::NSDL::ToTheGateway; my $arrayref= Apache::NSDL::ToTheGateway::answer_list_records_request ($OAI_protocol_request); =head1 DESCRIPTION This module contains functionality for transferring information from NSDL to the Gateway Server. In terms of the overall data flow, the '=====>' below indicates the role of this module. B Gateway> --------E LON-CAPA LON-CAPA -----E Gateway --------E NSDL =head2 EXIT CODES The subroutines of this module all output an exit code which describes the status of function completion. The exit code may be followed by a more descriptive message such as: FORMATERROR:Sun May 5 20:15:16 GMT 2002:missing 'protocol://' pattern =over 4 =item * B<'SUCCESS'>, information was found and is being returned =item * B<'EMPTY'>, everything functioned properly, but no information was present =item * B<'BADEMPTY'>, everything appeared to function properly, but no information was present (which defies expectation); this is useful for detecting phantom cases of connectivity when verifying test cases of vertical software partitions =item * B<'TIMEOUT'>, the request is taking WAY too long =item * B<'FORMATERROR'>, the input argument is not formatted correctly in a way that can be processed by the NSDL server =item * B<'CONNECTIONFAILURE'>, the NSDL server cannot be contacted =back =head2 SUBROUTINES Note that the subroutines all output an exit code which describes the status of function completion. In the case of failed function completion, the other output argument(s) will typically only be 'NULL' values. =over 4 =item B =over 4 =item B - Scalar string Take in an OAI-format request for a specific NSDL server. =item B - Scalar string, Scalar array reference An exit code is returned as a scalar string. A list of records returned via an array reference. =item B This lists the records matching a given request. The request comes from the Gateway Server, B GATEWAY>. =item B n/a =back =item B =over 4 =item B - Scalar string Take in an OAI-format request for a specific NSDL server (a search expression is passed). =item B - Scalar string, Scalar array reference An exit code is returned as a scalar string. A list of relevant records (matching the search request) returned via an array reference. =item B This lists the records matching a given search request. The request comes from the Gateway Server, B GATEWAY>. =item B n/a =back =item B =over 4 =item B - Scalar string Take in an OAI-format request for a specific NSDL server resource's metadata. =item B - Scalar string, Scalar string reference An exit code is returned as a scalar string. The metadata entries for the resource; returned via a scalar reference. =item B This lists the records matching a given request. The request comes from the Gateway Server, B GATEWAY>. =item B n/a =back =item B =over 4 =item B - Scalar string Take in an OAI-format request for a specific NSDL server's resource content. =item B - Scalar string, Scalar string reference An exit code is returned as a scalar string. A reference to the resource content (now physically present in computer memory). =item B This provides the content of the resource matching a given request. The request comes from the Gateway Server, B GATEWAY>. =item B n/a =back =back =head1 README B is part of the NSDL-LONCAPA Gateway Server system. Please see http://nsdl.lon-capa.org/ for more information. =head1 AUTHOR Scott Harrison, 2002 =head1 PREREQUISITES This module requires the C module. =head1 COREQUISITES Apache::NSDL::FromTheGateway Apache::GATEWAY::ToNSDL Apache::GATEWAY::FromNSDL Apache::GATEWAY::ToLONCAPA Apache::GATEWAY::FromLONCAPA Apache::LONCAPA::FromTheGateway Apache::LONCAPA::ToTheGateway =head1 SEE ALSO http://www.lon-capa.org/ http://www.smete.org/ Also visit the other Apache::NSDL::*, Apache::LONCAPA::*, and Apache::GATEWAY::* manpages. =head1 OSNAMES linux =cut