# Apache::GATEWAY::FromNSDL
#
# FromNSDL.pm
# API for passing information to the Gateway Server from NSDL
#
# For more documentation, read the POD documentation
# of this module with the perldoc command:
#
# perldoc ./FromNSDL.pm
#
# Brief description
# =================
#
# This module contains functionality for
# transferring information to the Gateway Server from NSDL
#
# In terms of the overall data flow, the
# '=====>' below indicates the role of this
# module.
#
# NSDL =========> Gateway --------> LON-CAPA
# LON-CAPA -----> Gateway --------> NSDL
#
# SUBROUTINES:
# GATEWAY->search_NSDLnetwork
# GATEWAY->view_NSDLnetwork_results
# GATEWAY->view_NSDLnetwork_metadata_record
# GATEWAY->access_NSDLnetwork_resource
# Year 2002
# Scott Harrison
# February-May
#
###
package Apache::GATEWAY::FromNSDL;
# ================================================================ DEPENDENCIES
use strict; # enforce handling of variables, references and subroutines
# ============================================================ MODULE VARIABLES
my $VERSION = sprintf("%d.%02d", q$Revision: 1.4 $ =~ /(\d+)\.(\d+)/);
# ================================================================= SUBROUTINES
# ------------------------------------------------- GATEWAY->search_NSDLnetwork
sub search_NSDLnetwork {
my ($eref)=@_;
return Apache::NSDL::ToTheGateway::answer_search_request($eref);
}
# ------------------------------------------- GATEWAY->view_NSDLnetwork_results
sub view_NSDLnetwork_results {
my ($eref)=@_;
return Apache::NSDL::ToTheGateway::answer_search_request($eref);
}
# ----------------------------------- GATEWAY->view_NSDLnetwork_metadata_record
sub view_NSDLnetwork_metadata_record {
my ($eref)=@_;
return Apache::NSDL::ToTheGateway::answer_metadata_record_request($eref);
}
# ---------------------------------------- GATEWAY->access_NSDLnetwork_resource
sub access_NSDLnetwork_resource {
my ($eref)=@_;
return Apache::NSDL::ToTheGateway::answer_resource_request($eref);
}
1;
__END__
=pod
=head1 NAME
B<Apache::GATEWAY::FromNSDL> - API for passing information to the Gateway Server from NSDL
=head1 SYNOPSIS
use Apache::GATEWAY::FromNSDL;
my $accessref=
Apache::GATEWAY::FromNSDL::access_NSDLnetwork_resource
($resource_identifier);
=head1 DESCRIPTION
This module contains functionality for
transferring information to the Gateway Server from NSDL.
In terms of the overall data flow, the
'=====>' below indicates the role of this
module.
B<NSDL =========E<gt> Gateway> --------E<gt> LON-CAPA
LON-CAPA -----E<gt> Gateway --------E<gt> 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<Apache::GATEWAY::FromNSDL::view_NSDLnetwork_results>
=over 4
=item B<Input> - Scalar string
Memory location of NSDL results.
=item B<Output> - Scalar string, Scalar string reference
An exit code is returned as a scalar string.
View the NSDL results.
=item B<Description>
This facilitates the viewing of NSDL record lists.
B<This relates to information that has passed
to the GATEWAY I<from> NSDL>.
=item B<Status of Implementation>
n/a
=back
=item B<Apache::GATEWAY::FromNSDL::view_NSDLnetwork_metadata_record>
=over 4
=item B<Input> - Scalar string
Identifier for a specific NSDL metadata record.
=item B<Output> - Scalar string, Scalar string reference
An exit code is returned as a scalar string.
A pointer to the metadata.
=item B<Description>
This provides the content of the resource matching a given request.
B<The information has passed to the GATEWAY I<from> NSDL>.
=item B<Status of Implementation>
n/a
=back
=item B<Apache::GATEWAY::FromNSDL::access_NSDLnetwork_resource>
=over 4
=item B<Input> - Scalar string
Identifier for NSDL resource.
=item B<Output> - Scalar string, Scalar string reference.
An exit code is returned as a scalar string.
Pointer to information about accessing NSDL resource.
=item B<Description>
This accepts access to a NSDL resource.
B<The information has passed to the GATEWAY I<from> NSDL>.
=item B<Status of Implementation>
n/a
=back
=item B<Apache::GATEWAY::FromNSDL::search_NSDLnetwork>
=over 4
=item B<Input> - Scalar string
Set of search expressions and corresponding fields to pass onto
NSDL.
=item B<Output> - Scalar string, Scalar array reference
An exit code is returned as a scalar string.
A pointer to the location of search results is returned.
=item B<Description>
This models the functionality by which the NSDL-LONCAPA Gateway Server will
receive search results from a NSDL server.
This launches the search request and receives a pointer as to
where the results will be.
=item B<Status of Implementation>
n/a
=back
=back
=head1 README
B<Apache::GATEWAY::FromNSDL>
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<strict> module.
=head1 COREQUISITES
Apache::NSDL::FromTheGateway
Apache::NSDL::ToTheGateway
Apache::GATEWAY::ToNSDL
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>