File:  [LON-CAPA] / nsdl / lib / perl / Apache / GATEWAY / FromNSDL.pm
Revision 1.4: download - view: text, annotated - select for diffs
Sun Jul 14 07:42:13 2002 UTC (22 years, 3 months ago) by harris41
Branches: MAIN
CVS tags: HEAD
filling in some stubs

# 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>