This is a pilot release of the NSDL-LONCAPA Gateway. The goal ======== Implement a metadata exchange of resources from NSDL (http://www.smete.org) to LON-CAPA (http://www.lon-capa.org) and vice versa. More information is in the doc/ directory. What's new ========== For a history of this software, you should work through the CVS repository. export CVSROOT=:pserver:USERNAME@install.lon-capa.org:/home/cvs cvs login cvs co nsdl How to build and install ======================== cd nsdl/build make build make install Important files =============== To get a good overview on the metadata conversion, I recommend you look at the nsdl/prototypes/metadata_convert.pl script (perldoc ./metadata_convert.pl). Among other things, this provides a list regarding the crosswalk possibilities of LON-CAPA to&from IEEE-LOM and LON-CAPA to&from Dublin Core. Currenty, the four stylesheets for carrying out the metadata conversion are: * nsdl/lib/stylesheets/dcnsdl_to_loncapa.xsl * nsdl/lib/stylesheets/lomnsdl_to_loncapa.xsl * nsdl/lib/stylesheets/loncapa_to_dcnsdl.xsl * nsdl/lib/stylesheets/loncapa_to_lomnsdl.xsl The Apache web handler modules are defined in the directory: nsdl/lib/perl/Apache/ . The Apache configuration file (see below also) is nsdl/conf/nsdl.conf . The source-to-target information is defined by nsdl/build/gatewayfiles.lpml (an XML file defines how the software is "rendered" onto the system). gatewayfiles.lpml is used in many locations inside nsdl/build/Makefile. And, there are other files. System requirements =================== * Apache and mod_perl * Graham Barr's TimeDate module (http://search.cpan.org/search?dist=TimeDate) * XML::Xalan perl module (http://search.cpan.org/search?dist=XML-Xalan) To configure your machine, you will need to add the following line to your /etc/httpd/conf/httpd.conf file. Include conf/nsdl.conf (You will then need to restart your web server; /etc/rc.d/init.d/httpd restart) Issues ====== This is a pilot effort. The goal was to enact a reasonable solution and directly uncover difficult issues. Here are some of the remaining issues * ISSUE: User authentication PROBLEM: users are crossing domains, so browser-cookie validation can't work SUGGESTED SOLUTIONS: should require a GPG public key and/or servers should communicate to coordinate passing of user and/or some kind of proxy or central verification system * ISSUE: Imperfect metadata cross-walking PROBLEM: There are a range of imperfect mappings between Dublin Core and LON-CAPA metadata fields as well as between IEEE LOM and LON-CAPA metadata fields. SUGGESTED SOLUTIONS: Improve the LON-CAPA metadata that is collected and place more importance on the exhaustive IEEE LOM standard rather than the weaker Dublin Core standard. In the future, to get to Dublin Core, it might make sense to first convert LON-CAPA to IEEE LOM and *then* go to the Dublin Core metadata standard. * ISSUE: Set hierarchies PROBLEM: Asking for ListIdentifiers from LON-CAPA will return a really long list that represents a "jumbled" repository. Currently, ListIdentifiers, ListRecords, etc return error messages-- we do not yet support set hierarchy results. SUGGESTED SOLUTIONS: authors should be able to nominate their records for being part of a meaningful collection of academic resources; thus multiple OAI-distributed metadata sets would actually be contained within LON-CAPA * ISSUE: Code thoroughness PROBLEM: Limited time. I had limited time (100 hours) to enact a gateway. SUGGESTED SOLUTIONS: Invest more time. The API and documentation could be a better match for what is implemented and vice versa. * ISSUE: Making SMETE available to LON-CAPA PROBLEM: Ummm... I thought SMETE supported OAI. The only interface I find is enriched HTML forms. SUGGESTED SOLUTIONS: SMETE should support OAI or some exporting of XML files in Dublin Core or IEEE LOM or whatever they are using. Author ====== Scott Harrison, 2002