You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(12) |
Oct
(2) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(13) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(21) |
Nov
(7) |
Dec
(1) |
2010 |
Jan
(18) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(3) |
Dec
|
From: S C. <sl...@us...> - 2010-01-19 18:15:03
|
Update of /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/bubble In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv12895/bubble Log Message: Directory /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/bubble added to the repository |
From: S C. <sl...@us...> - 2010-01-19 18:02:15
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example2/scripts In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11354/docs/jsapi/api_v1/example_clients/example2/scripts Modified Files: scripts.js Log Message: API mod to allow nsdl aligned resources to be an option from the API. Option added to example 2 UI in the example codes section and noted in the documentation. Index: scripts.js =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example2/scripts/scripts.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** scripts.js 2 Oct 2009 22:04:23 -0000 1.1 --- scripts.js 19 Jan 2010 18:02:04 -0000 1.2 *************** *** 6,9 **** --- 6,11 ---- SMSEvent.addListener(StrandMap,"onbenchmarkselect",onBenchmarkSelect); infoBubble.setMaxSize(375,350); + // Use the built-in tabs for displaying related benchmarks and nses standards: + infoBubble.addBuiltinTab("nsdlaligned","Top Picks"); infoBubble.addBuiltinTab("nses","NSES Standards"); infoBubble.addBuiltinTab("relatedbenchmarks","Related Benchmarks"); |
From: S C. <sl...@us...> - 2010-01-19 18:02:15
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1 In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11354/docs/jsapi/api_v1 Modified Files: index.jsp Log Message: API mod to allow nsdl aligned resources to be an option from the API. Option added to example 2 UI in the example codes section and noted in the documentation. Index: index.jsp =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/index.jsp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** index.jsp 5 Oct 2009 23:11:23 -0000 1.12 --- index.jsp 19 Jan 2010 18:02:04 -0000 1.13 *************** *** 339,342 **** --- 339,345 ---- - Displays the NSES standards aligned to the selected benchmark.<br> + <code>nsdlaligned</code> + + - Displays the educational resources from NSDL that are aligned to the selected benchmark.<br> <code>label</code> - The label for tab (text).</p> |
Update of /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11354/jsapi/api_v1/interactive_map Modified Files: interactive_map_print.jsp strand_map_implementation.js strand_map_public_js_api.js Log Message: API mod to allow nsdl aligned resources to be an option from the API. Option added to example 2 UI in the example codes section and noted in the documentation. Index: interactive_map_print.jsp =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map/interactive_map_print.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** interactive_map_print.jsp 27 Jan 2009 21:51:39 -0000 1.4 --- interactive_map_print.jsp 19 Jan 2010 18:02:04 -0000 1.5 *************** *** 52,55 **** --- 52,58 ---- <div id="benchmarkText"></div> + <%-- Aligned NSDL Resources text/display gets injected via JavaScript: --%> + <div id="nsdlAlignedText"></div> + <div style="padding-bottom:10; padding-top:20;"> <div id="customPrintContent"></div> Index: strand_map_public_js_api.js =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map/strand_map_public_js_api.js,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** strand_map_public_js_api.js 28 Jan 2009 17:03:37 -0000 1.20 --- strand_map_public_js_api.js 19 Jan 2010 18:02:04 -0000 1.21 *************** *** 3,6 **** --- 3,10 ---- // Event handler base class: var EventHandler = Class.create(); + var alignedResComplete = false; + var alignedResExists = false; + var nsdlAlignedLabel = false; + EventHandler.prototype = { initialize: function() { }, *************** *** 97,100 **** --- 101,114 ---- CallOut.addTab(_nsesTab); return _nsesTab; + } else if(tabName == 'nsdlaligned') { + _nsdlalignedTab = new InfoBubbleTab(label); + nsdlAlignedLabel = label; + SMSEvent.addListener(_nsdlalignedTab,"onselect",this._nsdlalignedTabCb); + var handler = function () { + _nsdlalignedTab.setContent(null); + }; + StrandMap._addEventHandler("onbenchmarkselect",handler,true); + CallOut.addTab(_nsdlalignedTab); + return _nsdlalignedTab; } else *************** *** 147,154 **** --- 161,174 ---- } }, + _nsdlalignedTabCb: function () { + if(_nsdlalignedTab.getContent() == null) { + StrandMap.getNsdlAlignedResources(); + } + }, _validEvents: ["onopen","onclose"] }); var _bmTab = null; var _nsesTab = null; + var _nsdlalignedTab = null; // This object interacts directly with the CallOut widget *************** *** 255,258 **** --- 275,343 ---- } }, + getNsdlAlignedResources: function(offset, displaytype) { + alignedResComplete = false; + alignedResExists = false; + + _nsdlalignedTab.setContent('<img src="'+baseJsapiUrl+'/api_v1/interactive_map/images/spinner.gif" id="bmk-ld-img" width="16" height="16" style="vertical-align: middle; display:none" onload="$(\'bmk-ld-img\').show();"/> Loading...'); + + var mainContent = ''; + if(!offset){ + offset = 0; + } + var bmJson = StrandMap.getSelectedBenchmarkRecordJson(); + var id = StrandMap.getSelectedBenchmarkId(); + var referringMapId = StrandMap.getReferringMapId(); + if(referringMapId != null){ + var mapId = referringMapId; + } else { + var mapId = StrandMap.getMapId(); + } + var recordJson = StrandMap.getSelectedBenchmarkRecordJson(); + var AAASCode = bmJson.itemRecord.Data.AAASCode; + + var AAASCode = bmJson.itemRecord.Data.AAASCode; + var re = new RegExp('/[A-Z]*'); + var grdloc = AAASCode.search(re); + var newCode = AAASCode.substring(0,grdloc-1)+ '.' + AAASCode.substring(grdloc-1); + var subCode = newCode.replace(re,'.'); + + var re2 = new RegExp('a?b?$'); + var paraloc = subCode.search(re2); + var lastCode = subCode.substring(0,paraloc); + + var mapTitle = StrandMap.getMapJson().itemRecord.Data.Name; + var bmFullText = recordJson.itemRecord.Data.Description; + + var reqUrl = baseJsapiUrl+"/api_v1/bubble/resourcesStrict.jsp?displaytype="+displaytype+"&offset="+offset+"&mapTitle="+mapTitle+"&bmId="+ id + "&mapId="+mapId+"&AAASCode="+lastCode+"&bmFullText="+bmFullText; + new Ajax.Request( + reqUrl, + { + method: 'post', + onSuccess: function (response) { + var c; + if(response.responseText){ + c = response.responseText; + if(checkContentExists(c)){ + if(displaytype == 'print'){ + if($('nsdlAlignedText')) + $('nsdlAlignedText').update('<div style="padding-top:25; padding-bottom:10;"></div><h3>'+nsdlAlignedLabel+'</h3>' + c); + } else { + _nsdlalignedTab.setContent(c); + } + alignedResComplete = true; + alignedResExists = true; + } else { + _nsdlalignedTab.setContent("There are no resources aligned with this benchmark."); + alignedResComplete = true; + alignedResExists = false; + } + + } + }, + onFailure: function (response) { + alert('The AJAX request failed. Message:\n\n ' + response.responseText); + } + }); + }, _bmContentHtml: function (bmJson,displayStds) { var mainContent = '<div style="margin-bottom:10;padding-top:6;">'; *************** *** 860,862 **** --- 945,974 ---- function objIsArray(obj) { return obj && obj.constructor == Array; + } + + function checkContentExists(content){ + var re = new RegExp('/[A-Z]*'); + var contentCheck = content.search(re); + if(contentCheck > -1){ + return true; + } else { + return false; + } + } + + function sendToGoogleTracker(gaFunction, gaUrl, pager, collectionid, resUrl, resPos){ + if(typeof(nsdlSmsTracker) != 'undefined') { + switch(gaFunction){ + case 'gaTrackResource': + gaTrackResource(gaUrl,collectionid,resUrl,resPos); + break; + case 'resStrictPagerTrack': + resStrictPagerTrack(gaUrl,pager) + break; + case 'gaTrackResViewMore': + gaTrackResViewMore(gaUrl,collectionid,resUrl,resPos); + break; + } + } + } \ No newline at end of file Index: strand_map_implementation.js =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map/strand_map_implementation.js,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** strand_map_implementation.js 5 Oct 2009 18:06:23 -0000 1.11 --- strand_map_implementation.js 19 Jan 2010 18:02:04 -0000 1.12 *************** *** 280,285 **** $('relatedBenchmarkImg').src = getBmImageUrl(parms.bm); $('benchmarkText').update('<div style="padding-top:25; padding-bottom:10;"><div class="pvHeading">Selected Benchmark</div></div>' + bmHtml); ! } ! var relatedBenchmarkImg = $('relatedBenchmarkImg'); var imgCount = 1; --- 280,287 ---- $('relatedBenchmarkImg').src = getBmImageUrl(parms.bm); $('benchmarkText').update('<div style="padding-top:25; padding-bottom:10;"><div class="pvHeading">Selected Benchmark</div></div>' + bmHtml); ! } ! ! var nsdlAlignedHtml = StrandMap.getNsdlAlignedResources('0','print'); ! var relatedBenchmarkImg = $('relatedBenchmarkImg'); var imgCount = 1; |
From: S C. <sl...@us...> - 2010-01-19 18:02:13
|
Update of /cvsroot/dlsciences/sms-server-project/WEB-INF In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11354/WEB-INF Modified Files: web.xml Log Message: API mod to allow nsdl aligned resources to be an option from the API. Option added to example 2 UI in the example codes section and noted in the documentation. Index: web.xml =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/WEB-INF/web.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** web.xml 20 Dec 2007 22:57:27 -0000 1.6 --- web.xml 19 Jan 2010 18:02:04 -0000 1.7 *************** *** 4,7 **** --- 4,34 ---- <display-name>Strand Map Service (v@VERSION@)</display-name> + + <!-- The url to the NSDL Search Service. --> + <context-param> + <param-name>nsdlSearchBaseUrl</param-name> + <param-value>http://ndrsearch.nsdl.org/search</param-value> + </context-param> + + <!-- The url to the SMS CSIP interface. --> + <context-param> + <param-name>smsCsipHost</param-name> + <param-value>@CSIP_SERVICE_HOST@</param-value> + </context-param> + <context-param> + <param-name>smsCsipPort</param-name> + <param-value>@CSIP_SERVICE_PORT@</param-value> + </context-param> + <context-param> + <param-name>smsCsipContext</param-name> + <param-value>@CSIP_SERVICE_CONTEXT@</param-value> + </context-param> + <!-- smsCsipBaseUrl should point to the same service as above: --> + <context-param> + <param-name>smsCsipBaseUrl</param-name> + <param-value>http://@CSIP_SERVICE_HOST@:@CSIP_SERVICE_PORT@/@CSIP_SERVICE_CONTEXT@</param-value> + </context-param> + + <filter> <filter-name>Compression Filter</filter-name> |
From: John W. <jwe...@us...> - 2009-12-14 20:21:58
|
Update of /cvsroot/dlsciences/sms-server-project/docs In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv5946/docs Modified Files: INSTALL_INSTRUCTIONS.txt Log Message: added details about editing/modifying the sms database Index: INSTALL_INSTRUCTIONS.txt =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/INSTALL_INSTRUCTIONS.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** INSTALL_INSTRUCTIONS.txt 21 Oct 2009 19:37:55 -0000 1.3 --- INSTALL_INSTRUCTIONS.txt 14 Dec 2009 20:21:39 -0000 1.4 *************** *** 190,191 **** --- 190,212 ---- + -- Updating/changing the database of chapters, maps, benchmarks, etc. -- + + The SMS generates it's maps from a MySQL database, which is + loaded from a flat file that resides in the SMS installation. + The established database contains the AAAS Atlas for Science Literacy + Volumes 1 and 2. + + Here is a *rough* outline of the basic steps necessary to modify and persist the SMS database: + + 1. Start SMS Tomcat, which loads the database into MySql + 2. Edit database with PhpMyAdmin or similar tool, adhering to the database structures that + exist + 3. Verify and QA the changes in the SMS UI (may require disabling caching in the server) + 3. Export/dump the edited database to a flat file in the format that is + expected by SMS + 4. Save the edited database flat file to the SMS server and deploy to + tomcat at ${tomcat}/{sms-installation}/WEB-INF/Database/strandmap.sql + 5. Verify that SMS can indeed load the edited flat file by restarting SMS + Tomcat and verifying in the UI + + |
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32524/example5 Modified Files: index.html Added Files: README advanced_tutorial.zip resources.jsp resources.php Log Message: Replace example 5 with example for advances SMS tutorial --- NEW FILE: README --- advanced_tutorial.zip contains the demonstration html, css, javascript, and php files used in the Advanced Strand Maps Service tutorial located at the NSDL wiki: https://wiki.nsdl.org/index.php/Community:StrandMaps/Training/Tutorial_Advanced The Advanced Strand Maps Service tutorial directly advanced_tutorial.zip file and the demonstration interface at: http://strandmaps.nsdl.org/cms1-2/docs/jsapi/api_v1/example_clients/example5/index.html Should either the zip file or the demonstration interface be moved from the location http://strandmaps.nsdl.org/cms1-2/docs/jsapi/api_v1/example_clients/example5/ please update the NSDL wiki tutorial. --- NEW FILE: advanced_tutorial.zip --- (This appears to be a binary file; contents omitted.) Index: index.html =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 23 Jul 2008 16:14:19 -0000 1.3 --- index.html 6 Nov 2009 19:20:38 -0000 1.4 *************** *** 1,800 **** <html> ! <head> ! ! <title>SMS: Example 5</title> ! <script type="text/javascript" src="@JSAPI_SERVICE_URL@/maps?api=v1"></script> ! <script src="http://www.google.com/jsapi?key=ABQIAAAABTFFaktT_WMdmj8JqRjp8hSmtjDOIvK-lhGhCpvwKNplVJhR5RQpqnVrHqoB9vzYsTas5im1nx2M_Q" type="text/javascript"></script> ! ! <script type="text/javascript"> ! google.load("search", "1"); ! </script> ! ! <script language="Javascript" type="text/javascript"> ! //<![CDATA[ ! ! function OnLoad() { ! var id = StrandMap.getSelectedBenchmarkId(); ! var json = StrandMap.getSelectedBenchmarkRecordJson(); ! var keywords = ''; ! var kwArray = json.itemRecord.Data.Keywords.keyword; ! for(var i=0; i< kwArray.length; i++) ! keywords += kwArray[i] + ' '; ! ! // create a tabbed mode search control ! var tabbed = new GSearchControl(); ! ! tabbed.addSearcher(new GwebSearch()); ! tabbed.addSearcher(new GblogSearch()); ! tabbed.addSearcher(new GnewsSearch()); ! tabbed.addSearcher(new GbookSearch()); ! ! // draw in tabbed layout mode ! var drawOptions = new GdrawOptions(); ! drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED); ! tabbed.draw(document.getElementById("search_control_tabbed"), drawOptions); ! ! tabbed.execute(keywords); ! } ! ! //]]> ! </script> ! <script type="text/JavaScript" language="JavaScript"> ! <!-- hide this script tag's contents from old browsers ---> ! ! function jumpBox(list) { ! location.href = list.options[list.selectedIndex].value ! } ! ! //Daniel C. Peterson, 1997 All Rights Reserved ! //User fee required for commercial pages ! //email web...@we... for a quote ! ! function init() ! { ! ! ! ! questions = new Array() ! questions[1] = "What is the largest active volcano in the United States?" ! questions[2] = "During what Era of geologic time did the dinosaurs live?" ! questions[3] ="What are the three main rock types?" ! ! ! answerA = new Array() ! answerA[1] = "Long Valley Caldera" ! answerA[2] = "Mesozoic Era" ! answerA[3] = "Small, Medium, Large" ! ! ! answerB = new Array() ! answerB[1] = "Mount Saint Helens" ! answerB[2] = "Cenozoic Era" ! answerB[3] = "Igneous, Metamorphic, Sedimentary" ! ! ! answerC = new Array() ! answerC[1] = "Yellowstone Caldera" ! answerC[2] = "Paleozoic Era" ! answerC[3] = "Granite, Black Shale, Marble" ! ! ! answerD = new Array() ! answerD[1] = "Mount Shasta" ! answerD[2] = "Precambrian" ! answerD[3] = "Geode, Crystal, Magnet" ! ! ! rightAns = new Array ! rightAns[1] = "c" ! rightAns[2] = "a" ! rightAns[3] = "b" ! ! ! reference = new Array() ! reference[1] = "http://www.usgs.gov/visitors/largest.html" ! reference[2] = "http://www.usgs.gov/visitors/dinoage.html" ! reference[3] = "http://www.usgs.gov/visitors/rocks_quiz.html" ! ! ! } ! ! function nextQuestion(form) ! ! //set the total number of questions equal to quizend ! ! { ! var quizEnd = eval(3 * 1); ! ! if(document.getElementById('questNo').innerHTML == quizEnd) { ! ! document.getElementById('question').innerHTML = ""; ! ! document.getElementById('choiceA').innerHTML = ""; ! ! document.getElementById('choiceB').innerHTML = ""; ! ! document.getElementById('choiceC').innerHTML = ""; ! ! document.getElementById('choiceD').innerHTML = ""; ! ! form.yourChoice.value = ""; ! ! document.getElementById('results').innerHTML = "End of Quiz. Your final results are listed below."; ! } else { ! ! if(document.getElementById('questNo').innerHTML == "") { ! document.getElementById('questNo').innerHTML = 1; ! } else { ! document.getElementById('questNo').innerHTML = eval(document.getElementById('questNo').innerHTML) + 1; ! ! } ! ! document.getElementById('question').innerHTML = questions[document.getElementById('questNo').innerHTML]; ! ! document.getElementById('choiceA').innerHTML = answerA[document.getElementById('questNo').innerHTML]; ! ! document.getElementById('choiceB').innerHTML = answerB[document.getElementById('questNo').innerHTML]; ! ! document.getElementById('choiceC').innerHTML = answerC[document.getElementById('questNo').innerHTML]; ! ! document.getElementById('choiceD').innerHTML = answerD[document.getElementById('questNo').innerHTML]; ! ! form.yourChoice.value = ""; ! ! document.getElementById('results').innerHTML = ""; ! ! if(document.getElementById('myScore').innerHTML == "") { ! document.getElementById('myScore').innerHTML = 0; ! } else { ! document.getElementById('myScore').innerHTML = document.getElementById('myScore').innerHTML; } ! } ! ! } ! ! function checkAnswer(form) { ! ! var myScore = 0; ! var curve = 0; ! ! if(document.getElementById('results').innerHTML != "") {document.getElementById('results').innerHTML = "Sorry, no guessing allowed. In order to retry this question you will have to start the quiz over. Click on ''Next Question'' to continue."; } ! ! else if(form.yourChoice.value == rightAns[document.getElementById('questNo').innerHTML]) { ! document.getElementById('myScore').innerHTML = eval(document.getElementById('myScore').innerHTML) + eval(1); ! document.getElementById('results').innerHTML = "Congratulations! You are correct. That brings your cumulative score to " + document.getElementById('myScore').innerHTML + " out of a possible " + document.getElementById('questNo').innerHTML + ". Click on ''Next Question'' to continue."; } else { ! ! document.getElementById('results').innerHTML = "Sorry, you are incorrect. Please refer to " + reference[document.getElementById('questNo').innerHTML] + " before retaking the quiz. This brings your cumulative score to " + document.getElementById('myScore').innerHTML + " out of a possible " + document.getElementById('questNo').innerHTML + ". Click on ''Next Question'' to continue." } ! ! curve = document.getElementById('myScore').innerHTML / document.getElementById('questNo').innerHTML; ! ! document.getElementById('percent').innerHTML = parseInt(curve * 100,10); ! ! if(curve > .90) {document.getElementById('grade').innerHTML = "A"; } else if(curve > .80) {document.getElementById('grade').innerHTML = "B"; } else if(curve > .70) {document.getElementById('grade').innerHTML = "C"; } else if(curve > .60) {document.getElementById('grade').innerHTML = "D"; } else {document.getElementById('grade').innerHTML = "F"; } ! } ! ! ! function clearForm(form) ! ! { ! ! ! document.getElementById('questNo').innerHTML = ""; ! document.getElementById('question').innerHTML = ""; ! document.getElementById('choiceA').innerHTML = ""; ! document.getElementById('choiceB').innerHTML = ""; ! document.getElementById('choiceC').innerHTML = ""; ! document.getElementById('choiceD').innerHTML = ""; ! form.yourChoice.value = ""; ! document.getElementById('results').innerHTML = ""; ! document.getElementById('myScore').innerHTML = ""; ! document.getElementById('percent').innerHTML = ""; ! document.getElementById('grade').innerHTML = ""; ! ! ! } ! ! <!-- done hiding from old browsers --> ! ! ! ! ! ! </script> ! ! ! <script type="text/javascript" language="javascript"> ! // Note that the Prototype JS API is used in this example. ! ! // SMS objects used in this client: ! var infoBubble = null; ! ! // Tabs: ! var googleSearchTab = null; ! var podcastTab = null ! ! // Set up event listeners and actions on the Strand Map, on load: ! SMSEvent.addListener(StrandMap,"onload", setUpStrandMap); ! function setUpStrandMap() { ! ! // Set up handlers for actions on the StrandMap: ! infoBubble = StrandMap.getInfoBubble(); ! ! // Create a tab that contains a quiz ! quizTab = new InfoBubbleTab('Quiz'); ! infoBubble.addTab(quizTab); ! SMSEvent.addListener(quizTab,"onselect",myCallBackForQuizTab); ! ! // Create a tab that contains a podcast ! podcastTab = new InfoBubbleTab('Podcast'); ! infoBubble.addTab(podcastTab); ! SMSEvent.addListener(podcastTab,"onselect",myCallBackForPodcastTab); ! ! // Create a tab to show use of the google search api: ! googleSearchTab = new InfoBubbleTab('Google Search'); ! infoBubble.addTab(googleSearchTab); ! SMSEvent.addListener(googleSearchTab,"onselect",myCallBackForGoogleSearchTab); ! ! ! // Register a handler for when a benchmark is selected: ! SMSEvent.addListener(StrandMap,"onbenchmarkselect",onBenchmarkSelect); ! ! // Register a handler for when the print view is displayed: ! SMSEvent.addListener(StrandMap,"onprintviewdisplay",onPrintViewDisplay); ! ! ! getMisconceptions(); ! } ! //chk if an object is an array or not. ! function isArray(obj) { ! //returns true is it is an array ! if (obj.constructor.toString().indexOf("Array") == -1) ! return false; ! else ! return true; ! } ! // get any associated misconceptions ! function getMisconceptions(){ ! ! var mapId = StrandMap.getMapId(); ! var misconceptionText = ''; ! var misconceptionsReference = ''; ! var mapConceptions = StrandMap.getMapJson().itemRecord.Data.NarrativeStudentIdeas.Conception; ! var sourcecount = 1; ! ! if(mapConceptions != undefined){ ! if(mapConceptions.length == undefined) { ! misconceptionText += "<p>"; ! if(mapConceptions.Statement.length == undefined){ ! misconceptionText += mapConceptions.Statement.Text + " <sup>["+sourcecount+"]</sup> "; ! misconceptionsReference += "<p> ["+sourcecount+"] "; ! if(!isArray(mapConceptions.Statement.Source)){ ! ! var authors = ''; ! if(!isArray(mapConceptions.Statement.Source.Author)){ ! authors = mapConceptions.Statement.Source.Author; ! } else { ! for(var m = 0; m<mapConceptions.Statement.Source.Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions.Statement.Source.Author[m]; ! } else { ! authors += ", "+ mapConceptions.Statement.Source.Author[m]; ! } ! } ! } ! ! misconceptionsReference += authors + " ("+ mapConceptions.Statement.Source.Publication['year']+"). "; ! if(mapConceptions.Statement.Source.Title){ ! misconceptionsReference += mapConceptions.Statement.Source.Title; ! } ! misconceptionsReference += " <em>"+ mapConceptions.Statement.Source.Publication['content'] + "</em>"; ! if(mapConceptions.Statement.Source.Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions.Statement.Source.Publication['volume']; ! } ! if(mapConceptions.Statement.Source.Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions.Statement.Source.Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } else { ! for(var k=0;k< mapConceptions.Statement.Source.length;k++){ ! var authors = ''; ! if(!isArray(mapConceptions.Statement.Source[k].Author)){ ! authors = mapConceptions.Statement.Source[k].Author; ! } else { ! for(var m = 0; m<mapConceptions.Statement.Source[k].Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions.Statement.Source[k].Author[m]; ! } else { ! authors += ", "+ mapConceptions.Statement.Source[k].Author[m]; ! } ! } ! } ! misconceptionsReference += authors + " ("+ mapConceptions.Statement.Source[k].Publication['year']+"). "; ! if(mapConceptions.Statement.Source[k].Title){ ! misconceptionsReference += mapConceptions.Statement.Source[k].Title; ! } ! misconceptionsReference += " <em>"+mapConceptions.Statement.Source[k].Publication['content'] + "</em>"; ! ! if(mapConceptions.Statement.Source[k].Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions.Statement.Source.Publication['volume']; ! } ! if(mapConceptions.Statement.Source[k].Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions.Statement.Source[k].Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } ! } ! sourcecount++; ! } else { ! for(var j=0;j< mapConceptions.Statement.length;j++){ ! misconceptionText += mapConceptions.Statement[j].Text + " <sup>["+sourcecount+"]</sup> "; ! misconceptionsReference += "<p> ["+sourcecount+"] "; ! if(!isArray(mapConceptions.Statement[j].Source)){ ! ! var authors = ''; ! if(!isArray(mapConceptions.Statement[j].Source.Author)){ ! authors = mapConceptions.Statement[j].Source.Author; ! } else { ! for(var m = 0; m<mapConceptions.Statement[j].Source.Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions.Statement[j].Source.Author[m]; ! } else { ! authors += ", "+ mapConceptions.Statement[j].Source.Author[m]; ! } ! } ! } ! ! misconceptionsReference += authors + " ("+ mapConceptions.Statement[j].Source.Publication['year']+"). "; ! if(mapConceptions.Statement[j].Source.Title){ ! misconceptionsReference += mapConceptions.Statement[j].Source.Title; ! } ! misconceptionsReference += " <em>"+ mapConceptions.Statement[j].Source.Publication['content'] + "</em>"; ! ! if(mapConceptions.Statement[j].Source.Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions.Statement[j].Source.Publication['volume']; ! } ! if(mapConceptions.Statement[j].Source.Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions.Statement[j].Source.Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } else { ! for(var k=0;k< mapConceptions.Statement[j].Source.length;k++){ ! var authors = ''; ! if(!isArray(mapConceptions.Statement[j].Source[k].Author)){ ! authors = mapConceptions.Statement[j].Source[k].Author; ! } else { ! for(var m = 0; m<mapConceptions.Statement[j].Source[k].Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions.Statement[j].Source[k].Author[m]; ! } else { ! authors += ", "+ mapConceptions.Statement[j].Source[k].Author[m]; ! } ! } ! } ! misconceptionsReference += authors + " ("+ mapConceptions.Statement[j].Source[k].Publication['year']+"). "; ! if(mapConceptions.Statement[j].Source[k].Title){ ! misconceptionsReference += mapConceptions.Statement[j].Source[k].Title; ! } ! misconceptionsReference += " <em>"+mapConceptions.Statement[j].Source[k].Publication['content'] + "</em>"; ! ! if(mapConceptions.Statement[j].Source[k].Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions.Statement[j].Source[k].Publication['volume']; ! } ! if(mapConceptions.Statement[j].Source[k].Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions.Statement[j].Source[k].Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } ! } ! sourcecount++; ! } ! } ! ! misconceptionText += "</p>"; ! ! } else { ! ! for(var i=0;i<mapConceptions.length;i++){ ! ! misconceptionText += "<p>"; ! if(mapConceptions[i].Statement.length == undefined){ ! misconceptionText += mapConceptions[i].Statement.Text + " <sup>["+sourcecount+"]</sup> "; ! misconceptionsReference += "<p> ["+sourcecount+"] "; ! if(!isArray(mapConceptions[i].Statement.Source)){ ! ! var authors = ''; ! if(!isArray(mapConceptions[i].Statement.Source.Author)){ ! authors = mapConceptions[i].Statement.Source.Author; ! } else { ! for(var m = 0; m<mapConceptions[i].Statement.Source.Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions[i].Statement.Source.Author[m]; ! } else { ! authors += ", "+ mapConceptions[i].Statement.Source.Author[m]; ! } ! } ! } ! ! misconceptionsReference += authors + " ("+ mapConceptions[i].Statement.Source.Publication['year']+"). "; ! if(mapConceptions[i].Statement.Source.Title){ ! misconceptionsReference += mapConceptions[i].Statement.Source.Title; ! } ! misconceptionsReference += " <em>"+ mapConceptions[i].Statement.Source.Publication['content'] + "</em>"; ! ! if(mapConceptions[i].Statement.Source.Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement.Source.Publication['volume']; ! } ! if(mapConceptions[i].Statement.Source.Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement.Source.Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } else { ! for(var k=0;k< mapConceptions[i].Statement.Source.length;k++){ ! var authors = ''; ! if(!isArray(mapConceptions[i].Statement.Source[k].Author)){ ! authors = mapConceptions[i].Statement.Source[k].Author; ! } else { ! for(var m = 0; m<mapConceptions[i].Statement.Source[k].Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions[i].Statement.Source[k].Author[m]; ! } else { ! authors += ", "+ mapConceptions[i].Statement.Source[k].Author[m]; ! } ! } ! } ! misconceptionsReference += authors + " ("+ mapConceptions[i].Statement.Source[k].Publication['year']+"). "; ! if(mapConceptions[i].Statement.Source[k].Title){ ! misconceptionsReference += mapConceptions[i].Statement.Source[k].Title; ! } ! misconceptionsReference += " <em>"+mapConceptions[i].Statement.Source[k].Publication['content'] + "</em>"; ! ! if(mapConceptions[i].Statement.Source[k].Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement.Source[k].Publication['volume']; ! } ! if(mapConceptions[i].Statement.Source[k].Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement.Source[k].Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } ! } ! sourcecount++; ! } else { ! for(var j=0;j< mapConceptions[i].Statement.length;j++){ ! misconceptionText += mapConceptions[i].Statement[j].Text + " <sup>["+sourcecount+"]</sup> "; ! misconceptionsReference += "<p> ["+sourcecount+"] "; ! if(!isArray(mapConceptions[i].Statement[j].Source)){ ! ! var authors = ''; ! if(!isArray(mapConceptions[i].Statement[j].Source.Author)){ ! authors = mapConceptions[i].Statement[j].Source.Author; ! } else { ! for(var m = 0; m<mapConceptions[i].Statement[j].Source.Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions[i].Statement[j].Source.Author[m]; ! } else { ! authors += ", "+ mapConceptions[i].Statement[j].Source.Author[m]; ! } ! } ! } ! ! misconceptionsReference += authors + " ("+ mapConceptions[i].Statement[j].Source.Publication['year']+"). "; ! if(mapConceptions[i].Statement[j].Source.Title){ ! misconceptionsReference += mapConceptions[i].Statement[j].Source.Title; ! } ! misconceptionsReference += " <em>"+ mapConceptions[i].Statement[j].Source.Publication['content'] + "</em>"; ! ! if(mapConceptions[i].Statement[j].Source.Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement[j].Source.Publication['volume']; ! } ! if(mapConceptions[i].Statement[j].Source.Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement[j].Source.Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } else { ! for(var k=0;k< mapConceptions[i].Statement[j].Source.length;k++){ ! var authors = ''; ! if(!isArray(mapConceptions[i].Statement[j].Source[k].Author)){ ! authors = mapConceptions[i].Statement[j].Source[k].Author; ! } else { ! for(var m = 0; m<mapConceptions[i].Statement[j].Source[k].Author.length;m++){ ! if(authors == ''){ ! authors = mapConceptions[i].Statement[j].Source[k].Author[m]; ! } else { ! authors += ", "+ mapConceptions[i].Statement[j].Source[k].Author[m]; ! } ! } ! } ! misconceptionsReference += authors + " ("+ mapConceptions[i].Statement[j].Source[k].Publication['year']+"). "; ! if(mapConceptions[i].Statement[j].Source[k].Title){ ! misconceptionsReference += mapConceptions[i].Statement[j].Source[k].Title; ! } ! misconceptionsReference += " <em>"+mapConceptions[i].Statement[j].Source[k].Publication['content'] + "</em>"; ! ! if(mapConceptions[i].Statement[j].Source[k].Publication['volume']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement[j].Source[k].Publication['volume']; ! } ! if(mapConceptions[i].Statement[j].Source[k].Publication['pages']){ ! misconceptionsReference += ", " + mapConceptions[i].Statement[j].Source[k].Publication['pages'] + "."; ! } ! misconceptionsReference += "<br/><br/>"; ! } ! } ! sourcecount++; ! } ! } ! misconceptionText += "</p>"; ! } ! } ! } ! ! if(misconceptionText != ''){ ! $('smsMisconceptionsData').innerHTML = "<table border='0' id='misconceptionsTable'><tr><th>Student Misconceptions</th><th>References</th></tr><tr><td valign='top'>" + misconceptionText + "</td><td valign='top'>"+misconceptionsReference+"</td></tr></table><a href='javascript:toggleMisconceptions()' style='padding:5px;'>Hide Student Misconceptions</a>"; ! $('smsMisconceptionsLinkHolder').className=""; ! } else { ! $('smsMisconceptionsLinkHolder').className="hide"; ! } ! } ! ! // When a benchmark is selected, update the content in the infoBubble: ! function onBenchmarkSelect() { ! infoBubble.setTitle("Concept Details"); ! infoBubble.setBuiltinContent("benchmarkdetails"); ! googleSearchTab.setContent(null); ! quizTab.setContent(null); ! infoBubble.selectTab(quizTab); ! } ! ! function myCallBackForGoogleSearchTab() { ! if(googleSearchTab.getContent() == null) { ! var content = '<h1>Google</h1><p>This tab demonstrates an example of custom content using the Google Search API and initializing the search with the benchmark keywords.</p><div class="search-control" id="search_control_tabbed">Loading</div>'; ! googleSearchTab.setContent(content); ! OnLoad(); ! } ! } ! function myCallBackForPodcastTab(){ ! if(podcastTab.getContent() == null){ ! ! var reqUrl = "podcast.jsp"; ! new Ajax.Request( ! reqUrl, ! { ! method: 'post', ! onSuccess: function (response) { ! var c; ! if(response.responseText){ ! c = response.responseText; ! podcastTab.setContent(c); ! } ! }, ! onFailure: function (response) { ! alert('The AJAX request failed. Message:\n\n ' + response.responseText); ! } ! }); ! } ! } ! ! function myCallBackForQuizTab() { ! if(quizTab.getContent() == null) { ! ! // Use AJAX to pull in the content asynchronously: ! // The Ajax.Request method is defined by the Prototype JS API ! new Ajax.Request( ! "quiz_content.html", ! { ! method: 'get', ! onSuccess: function (response) { ! var c; ! if(response.responseText) ! c = response.responseText; ! else ! c = response; ! ! // Insert the content into the tab: ! quizTab.setContent(c); ! }, ! onFailure: function (response) { ! alert('The AJAX request failed. Message:\n\n ' + response.responseText); ! } ! }); ! } ! } ! ! ! // When the print view is displayed, insert some custom content: ! function onPrintViewDisplay() { ! StrandMap.setPrintViewContent('<h1>My custom print content</h1><p>Here is some custom content for the print view</p>'); ! } ! ! // ----- Non-SMS API JS for this page to display a 'help' box: ! ! ! var isMisconceptionsDown = false; ! function toggleMisconceptions(){ ! if(isMisconceptionsDown) { ! Effect.BlindUp('smsMisconceptions',{duration:0.1}); ! $('smsMisconceptionsLink').innerHTML = 'View Student Misconceptions'; ! } ! else{ ! Effect.BlindDown('smsMisconceptions',{duration:0.1}); ! $('smsMisconceptionsLink').innerHTML = 'Hide Student Misconceptions'; ! } ! isMisconceptionsDown = !isMisconceptionsDown; ! } ! ! </script> ! <style type="text/css"> ! body { ! margin:0; ! margin-left:20; ! margin-right:20; ! padding:0; ! } ! ! body, #navigatorPane { ! background-color: #EFEFCF; ! } ! ! body, p, h1, h2, h3, h4, td, li { font-family: Geneva, Arial, Helvetica, sans-serif; } ! ! h1 { ! font-size: 14px; ! } ! #quiztable { ! font-size: 12px; ! width: 100%; ! } ! #smsNavigation,#smsMapTitleBar { ! border: 1px solid #006666; ! } ! #smsNavigation, #smsNavigation table { ! font-family: Geneva, Arial, Helvetica, sans-serif; ! color:#FFFFFF; ! background-color: #006666; ! } ! #smsMapTitleBar { ! background-color:#006666; ! color:#FFFFFF; ! } ! #smsPrintLink,#smsHomeLink,#smsUsageLink { ! color: #ffffff; ! } ! #tabBarLabels { ! background-color: #006666; ! border-bottom: 1px solid #006666; ! } ! #tabBarLabels li { ! border: 1px solid #006666; ! background-color: #c2efc2; ! color: #000000; ! } ! .tabContent { ! background-color: #ffffff; ! border: 1px solid #006666; ! } ! #tabBarLabels li.tabOff a, #tabBarLabels li.tabOn a{ ! color:#000000; ! } ! #tabBarLabels li.tabOff:hover { ! background-color: #efefcf; ! } ! ! #tabBarLabels li.tabOn { ! background-color: #FFFFFF; ! color : #000000; ! border-bottom: 1px solid #FFFFFF; ! } ! #tabBarLabels li.tabOn a{ ! text-decoration: none; ! } ! #customHeader{ ! padding-top: 5px; ! color:#FFFFFF; ! font-weight:bold; ! height: 30px; ! font-size: 18px; ! background-color: #006666; ! border-top: 1px solid #006666; ! border-left: 1px solid #006666; ! border-right: 1px solid #006666; ! z-index: 5; ! } ! #customHeader a { ! text-decoration: none; ! color:#FFFFFF; ! padding-left: 10px; ! } ! #submitBrowse { ! display:none; ! } ! .hide{ ! display:none; ! } ! #smsMisconceptionsLink{ ! text-decoration: underline; ! font-size: 12px; ! background-color: #c2efc2; ! color: blue; ! padding-left: 5px; ! } ! #smsMisconceptionsLinkHolder{ ! background-color: #c2efc2; ! color: #000000; ! width:100%; ! border-left: 1px solid #006666; ! border-right: 1px solid #006666; ! border-top: 1px solid #006666; ! } ! #smsMisconceptionsClose{ ! color: blue; ! text-align: center; ! text-decoration: underline; ! font-family: Geneva, Arial, Helvetica, sans-serif; ! font-size: 12px; ! } ! #smsMisconceptions{ ! border-left: 1px solid #006666; ! border-right: 1px solid #006666; ! width:100%; ! background-color: #c2efc2; ! color: #000000; ! font-family: Geneva, Arial, Helvetica, sans-serif; ! font-size: 12px; ! } ! #smsMisconceptionsData{ ! font-family: Geneva, Arial, Helvetica, sans-serif; ! font-size: 12px; ! } ! #misconceptionsTable td{ ! padding:5px; ! color: #000000; ! font-family: Geneva, Arial, Helvetica, sans-serif; ! font-size: small; ! } ! ! </style> ! </head> ! ! <body onLoad="init()"> ! ! <div id="customHeader"> ! <a href="./">Interactive Strand Map Viewer</a> ! </div> ! ! <div id="contentArea"> ! <div id="strandSelector"></div> ! <div id="smsMisconceptionsLinkHolder" class="hide"><a href="javascript:toggleMisconceptions()" id="smsMisconceptionsLink">View Student Misconceptions</a></div> ! <div id="smsMisconceptions" style="display:none;"> ! <div id="smsMisconceptionsData"></div> ! </div> ! <div id="strandMap" mapColor="C2EFC2"></div> ! <div id="defaultContent" style="display:none;"> ! <div style="margin:0;padding:20px; padding-top:0px; width: 600px; "> ! <p> ! <nobr> ! <strong>Interactive Strand Map Viewer</strong><br/> ! </nobr> ! </p> ! <p> ! This example integrates SMS student misconceptions information into the display for the maps ! that contain them, plus demonstrates Google search, a podcast and a sample quiz in the maps. ! </p> ! <p> ! The map <a href="?id=SMS-MAP-1273">Decisions about Using Technology</a> contains student misconceptions. ! </p> ! <p> ! To use the interactive map viewer: Pick a topic from the list or search using your own terms. Maps of interrelated science or math concepts ! will be suggested and from each map you can find grade-appropriate classroom resources to help teach the ! desired concept and see the associated education standard. ! </p> ! <p> ! The strand maps are derived from the American Association for the ! Advancement of Science's (AAAS) Atlas of Science Literacy (AAAS Project ! 2061, 2001 & 2007) and are aligned with the ! National Science Education Standards (NSES). ! </p> ! ! </div> ! </div> ! </div> ! ! </body> </html> \ No newline at end of file --- 1,38 ---- <html> ! <head> ! <title>Interactive Strand Map Viewer</title> ! <script type="text/javascript" src="@JSAPI_SERVICE_URL@/maps?api=v1"></script> ! <link href="styles/styles.css" rel="stylesheet" type="text/css"> ! <script type="text/javascript" src="scripts/scripts.js"></script> ! </head> ! <body> ! <div id="customHeader"><h1>Interactive Strand Map Viewer for High School Astronomy</h1></div> ! <div id="contentArea"> ! <div id="smsNavigation"> ! <form action="" method="get" id="smsBrowse" class="smsForm"> ! <select name="id" id="id"> ! <option value="">-- Select a Topic --</option> ! <option value="SMS-GRD-1307">Galaxies and the Universe</option> ! <option value="SMS-GRD-1291">Solar System</option> ! <option value="SMS-GRD-1299">Stars</option> ! </select> ! <input type="submit" value="Go" id="submitBrowse"/> ! </form> ! <div id="smsMapName"></div> ! </div> ! <div id="strandMap" mapColor="#E6E6FA" highlightColor="plum" mapHeight="500" mapWidth="900"></div> ! <div id="defaultContent" style="display:none;"><span class="titleText">Interactive Strand Map Viewer</span></nobr> ! </p> ! <p> ! This example shows how to register for events that occur in the maps ! and insert and update content in the information bubble and tabs. ! </p> ! <p> ! To use the interactive map viewer: Pick a topic from the list or search using your own terms. Maps of interrelated science or math concepts ! will be suggested and from each map you can find grade-appropriate classroom resources to help teach the ! desired concept and see the associated education standard. ! </p> </div> ! </div> ! </body> </html> \ No newline at end of file --- NEW FILE: resources.jsp --- <%-- Includes all JSTL and Struts tag libraries, without adding whitespace to the page. Source this file using: <%@ include file="TagLibIncludes.jsp" %> --%><%@ page language="java" %><%@ page isELIgnored="false" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %><%@ taglib prefix="f" uri="http://www.dlese.org/dpc/dds/tags/dleseELFunctions" %><%@ taglib prefix="str" uri="/WEB-INF/tlds/taglibs-string.tld" %><%@ taglib prefix="sms" uri="/WEB-INF/tlds/SMSTags.tld" %><%@ taglib prefix="smsU" uri="/WEB-INF/tlds/SMSUtils.tld" %> <% String startingOffset = request.getParameter("offset"); String keywords = request.getParameter("keywords"); %> <c:set var="startingOffset" value="<%=startingOffset%>"/> <c:set var="kw" value="<%=keywords%>"/> <c:set var="keywords" value=""/> <c:forTokens var="keyword" items="${kw}" delims="|"> <c:choose> <c:when test="${empty keywords}"> <c:set var="keywords">"${keyword}"</c:set> </c:when> <c:otherwise> <c:set var="keywords">${keywords} OR "${keyword}"</c:set> </c:otherwise> </c:choose> </c:forTokens> <c:set var="audience" value='compoundAudience:("high school")'/> <c:set var="collections" value='inCollection:oai\:nsdl.org\:crs\:2802786'/> <c:set var="query" value='compoundTitle:(${keywords}) AND compoundDescription:(${keywords}) AND ${audience} AND ${collections}'/> <%-- The maximum character length of the description that gets displayed in the initial search results. A smaller value here will make the search results page more compact. Leave blank to display the full description text regardles off its length --%> <c:set var="maxDescriptionLength" value="400" /> <c:set var="maxTitleLength" value="90" /> <%-- The maximum character length of the URL that gets displayed in the UI. A smaller value here will prevent problems with HTML wrapping --%> <c:set var="maxUrlLength" value="85" /> <%-- Set up the variables used for paging through results--%> <c:set var="startingOffset"> <c:if test="${empty startingOffset}">0</c:if> <c:if test="${!empty startingOffset}"><c:out value="${startingOffset}"/></c:if> </c:set> <%-- Issue the request to the web service. If a connection error occurs, store it in variable 'serviceError' --%> <c:catch var="serviceError"> <%-- Construct the http request to send to the web service and store it in variable 'webServiceRequest' --%> <c:url value="http://ndrsearch.nsdl.org/search" var="webServiceRequest"> <%-- Define each of the http parameters used in the request --%> <c:param name="verb" value="Search"/> <%-- Begin the result at the current offset --%> <c:param name="s" value="${startingOffset}"/> <%-- Return 5 results --%> <c:param name="n" value="5"/> <%-- Perform a textual search using the user's input --%> <c:param name="q" value="${query}"/> </c:url> <%-- Issue the request to the Web service server and store the response in variable 'xmlResponse' --%> <c:import url="${webServiceRequest}" var="xmlResponse" charEncoding="UTF-8" /> <%-- Remove namespaces from the XML and create the DOM --%> <x:transform xslt="${f:removeNamespacesXsl()}" xml="${xmlResponse}" var="xmlDom"/> <c:if test="${not empty serviceError}"> Sorry, our system has encountered a problem and we were unable to perform your search at this time. Please try again later. </c:if> <%-- Display the record metadata to the user (if no connection error occured) --%> <c:if test="${empty serviceError}"> <x:choose> <%-- If the total number of results is greater than zero, display them --%> <x:when select="$xmlDom/NSDLSearchService/SearchResults/resultsInfo/totalNumResults > 0"> <p>These resources were selected by performing a keyword search over items in the NSDL library.</p> <%-- ------ Begin paging logic ------ --%> <%-- Save the number of results in variable 'numResults' --%> <c:set var="numResults"> <x:out select="$xmlDom/NSDLSearchService/SearchResults/resultsInfo/totalNumResults"/> </c:set> <c:set var="pageIndex"> <%-- Create and store the HTML for the pager in variable 'pager' --%> <nobr> ${numResults > 1 ? 'results':'result'} <c:out value="${startingOffset +1}"/> - <c:if test="${startingOffset + 5 > numResults}"> <c:out value="${numResults}"/> </c:if> <c:if test="${startingOffset + 5 <= numResults}"> <c:out value="${startingOffset + 5}"/> </c:if> </nobr> <nobr>out of <span id="numResults${section}"><c:out value="${numResults}"/></span></nobr> <br/> <c:set var="page_prev"> ${startingOffset - 5} </c:set> <c:set var="page_next"> ${startingOffset + 5} </c:set> <c:if test="${(startingOffset - 5) >= 0 && param.view != 'print'}"> <a href="javascript:sendResRequest(${startingOffset - 5})"><< Prev</a> </c:if> <!--//The total number of pages we can display based on the number of search results//--> <c:set var="total_pages_full">${numResults div 5}</c:set> <c:set value="${fn:substringBefore(total_pages_full,'.')}" var="total_pages" /> <c:set var="total_pages_fraction">${fn:substringAfter(total_pages_full,'.')}</c:set> <c:set var="total_pages_integer">${fn:substringBefore(total_pages_full,'.')}</c:set> <c:if test="${(total_pages_fraction > 0) && (total_pages_integer > 0)}"> <c:set var="total_pages">${total_pages + 1}</c:set> </c:if> <!--//The result page we are currently on (add 1 to it)//--> <c:set var="current_page">${fn:substringBefore((startingOffset div 5), '.') + 1}</c:set> <!--// The number of page links we want to display in the pagination nav //--> <c:set var="set_page_display">11</c:set> <!--// Skip to this page number based on the page we're on //--> <c:set var="start_page">${current_page - (fn:substringBefore((set_page_display div 2), '.') + 1)}</c:set> <c:choose> <c:when test="${(total_pages > (set_page_display - 1)) && (current_page > (set_page_display/2))}"> <c:set var="end_page">${current_page + fn:substringBefore(((set_page_display/2) - 1), '.')}</c:set> </c:when> <c:when test="${total_pages < (set_page_display - 1)}"> <c:set var="end_page">${total_pages}</c:set> </c:when> <c:otherwise> <c:set var="end_page">${set_page_display - 1}</c:set> </c:otherwise> </c:choose> <c:choose> <c:when test="${start_page < 1}"> <c:set var="start_page">1</c:set> </c:when> <c:when test="${end_page ge set_page_display}"> <c:set var="start_page">${start_page + 1}</c:set> </c:when> <c:otherwise> <c:set var="start_page">${start_page}</c:set> </c:otherwise> </c:choose> <c:if test="${end_page ge total_pages}"> <c:set var="end_page">${total_pages}</c:set> </c:if> <c:if test="${current_page >= 6}"> <c:choose> <c:when test="${current_page >= 7}"> <a href="javascript:sendResRequest(0)">1</a>... </c:when> </c:choose> </c:if> <c:if test="${total_pages > 1}"> <c:forEach var="i" begin="${start_page}" end="${end_page}" varStatus="status"> <c:choose> <c:when test="${i == current_page}"> <strong>${i}</strong> </c:when> <c:otherwise> <c:set var="next_skip">${(i*5)-5}</c:set> <a href="javascript:sendResRequest(${next_skip})">${i}</a> </c:otherwise> </c:choose> </c:forEach> </c:if> <c:if test="${(current_page < (total_pages - 5)) && (total_pages > (set_page_display - 1))}"> <c:set var="next_skip">${(total_pages*5)-5}</c:set> ...<a href="javascript:sendResRequest(${next_skip},'${displaytype}')">${total_pages}</a> </c:if> <c:if test="${(startingOffset + 5) < numResults && param.view != 'print'}"> <a href="javascript:sendResRequest(${startingOffset + 5})">Next >></a> </c:if> </c:set> ${pageIndex} <%-- ------ end paging logic ------ --%> <div id="resourceList"> <c:set var="mySectionIndex"> itemIndex<c:out value="${section}"/> </c:set> <span id="${mySectionIndex}" class="navIndex">${pager}</span> <%-- Render a gray line --%> <hr/> <%-- Loop through each of the record nodes --%> <x:forEach select="$xmlDom/NSDLSearchService/SearchResults/results/document"> <%-- We are already at XPath $xmlDom/NSDLSearchService/SearchResults/results/document so we can continue our path from there --%> <c:set var="resourceURL"> <x:out select="header/resourceIdentifier"/> </c:set> <c:set var="resourceTitle"> <x:out select="fields/title"/> </c:set> <c:set var="description"> <x:out select="fields/compoundDescription"/> </c:set> <c:set var="audience"> <x:out select="fields/compoundAudience"/> </c:set> <c:set var="resourcePosition"> <x:out select="position"/> </c:set> <c:set var="collectionId" value="" /> <x:forEach select="fields/collContext"> <c:choose> <c:when test="${empty collectionId}"> <c:set var="collectionId"><x:out select="oai-id"/></c:set> </c:when> <c:otherwise> <c:set var="collectionId">${collectionId}|<x:out select="oai-id"/></c:set> </c:otherwise> </c:choose> </x:forEach> <c:set var="gaTrackURL"> /open_resource/tab/related_resources/${map}/${bm}/ </c:set> <c:set var="shortResURL"> ${fn:replace(resourceURL,'http://','')} </c:set> <p class="resource, stdlink" id="resourceItem"> <div class="resourceTitle"> <c:if test="${not empty maxTitleLength && fn:length(resourceTitle) > maxTitleLength}"> <%-- Make sure the truncation occurs on white space and not in the middle of a word --%> <c:set var="numChars" value="0"/> <c:set var="resourceTitle"> <c:set var="words" value="${fn:split( resourceTitle, ' ')}"/> <c:forEach items="${words}" var="word"> <c:if test="${numChars < maxTitleLength}"> ${word} <c:set var="numChars" value="${numChars + fn:length( word ) + 1}"/> </c:if> </c:forEach> ... </c:set> </c:if> <a href='${resourceURL}' target="_blank" class="boldlink">${resourceTitle}</a> </div> <div class="resourceUrl"> <c:choose> <c:when test="${ fn:length(resourceURL) > maxUrlLength }"> <a href="${resourceURL}" target="_blank">${fn:substring(resourceURL,0,maxUrlLength)} ...</a> </c:when> <c:otherwise> <a href="${resourceURL}" target="_blank">${resourceURL}</a> </c:otherwise> </c:choose> </div> <div class="resourceDescription"> <%-- Truncate the description text if necessary --%> <c:if test="${not empty maxDescriptionLength && fn:length(description) > maxDescriptionLength}"> <%-- Make sure the truncation occurs on white space and not in the middle of a word --%> <c:set var="numChars" value="0"/> <c:set var="description"> <c:set var="words" value="${fn:split( description, ' ')}"/> <c:forEach items="${words}" var="word"> <c:if test="${numChars < maxDescriptionLength}"> ${word} <c:set var="numChars" value="${numChars + fn:length( word ) + 1}"/> </c:if> </c:forEach> ... </c:set> </c:if> ${description} </div> </p> <hr /> </x:forEach> <span id="${mySectionIndex}" class="navIndex">${pager}</span> </div> ${pageIndex} </x:when> <%-- If there were no matches, report to user --%> <x:otherwise> </x:otherwise> </x:choose> </c:if> </c:catch> --- NEW FILE: resources.php --- <?php $keywords = $_REQUEST['keywords']; $offset = $_REQUEST['offset']; $toDisplay = 10; // separate the keywords $a_kw = explode('|',$keywords); foreach($a_kw as $key=>$val){ if(!$kw){ $kw = '"'.$val.'"'; } else { $kw = $kw .' OR "'.$val.'"'; } } // check the metadata description and titles only for these keywords $kw = 'compoundDescription:('.$kw.') AND compoundTitle:('.$kw.')'; // for this example we only want high school level resources $grades = 'compoundAudience:("high school")'; // only the NASA Earth Science Reviewed Collection $collections = 'inCollection:oai\:nsdl.org\:crs\:2802786'; // form the query $query = $kw .' AND '.$grades.' AND '.$collections; $url = 'http://ndrsearch.nsdl.org/search?s='.$offset.'&n='.$toDisplay.'&q='.rawurlencode($query); function parseResults($url){ if(!$curld = curl_init($url)){ $o_XML->error = 'Could not initialize session'; } else { $options = array(CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_TIMEOUT => 30); curl_setopt_array($curld,$options); $s_xml = curl_exec($curld); try{ $o_XML = new SimpleXMLElement($s_xml); } catch(Exception $e){ $o_XML->error = 'Could not parse XML'; } } if(!$o_XML->error){ return $o_XML; } } function displayResults($o_XML,$offset,$toDisplay){ if(($total = $o_XML->SearchResults->resultsInfo->totalNumResults) > 0){ // pagination echo 'Displaying: '.($offset+1); if($offset + $toDisplay > $total) { echo ' - '.$total; } else if($offset + $toDisplay <= $total) { echo ' - '.($offset + $toDisplay); } echo ' out of '.$total; if($total > 1) { echo ' results'; } else { echo ' result'; } // previous and next links $prev = $offset - $toDisplay; $next = $offset + $toDisplay; if($prev >= 0){ echo ' <a href="javascript:sendResRequest('.$prev.')">Prev</a>'; } if($prev >= 0 && $next < $total){ echo ' | '; } if($next < $total){ echo ' <a href="javascript:sendResRequest('.$next.')">Next</a>'; } // display the records $records = $o_XML->SearchResults->results; foreach($records->document as $index=>$item){ // pick a title - we'll use the first one $a_titles = explode(' ~^ ',$item->fields->compoundTitle); $a_descriptions = explode(' ~^ ',$item->fields->compoundDescription); $s_link = $item->header->resourceIdentifier; echo '<p><a href="'.$s_link.'">'.$a_titles[0].'</a><br/>'.$a_descriptions[0].'</p>'; } } else { echo '<p>There are no related resources for this benchmark.</p>'; } } $xml = parseResults($url); displayResults($xml,$offset,$toDisplay); ?> |
From: S C. <sl...@us...> - 2009-11-06 19:20:50
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/styles In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32524/example5/styles Added Files: styles.css Log Message: Replace example 5 with example for advances SMS tutorial --- NEW FILE: styles.css --- body { margin:0; margin-left:20; margin-right:20; padding:0; } body, #navigatorPane { background: #E9EFAA; } #mapList, #defaultContent { margin-top:0; border: solid 1px #888888; background-color: white; margin-bottom: 30px; } #defaultContent { padding:20px; padding-top:0px; } .mapTable { border-color: white; } .mapTableOver { border-color: #B5CCDF; background: #EFF8FF; } body, p, h1, h2, h3, h4, td, li { font-family: Geneva, Arial, Helvetica, sans-serif; } h1 { font-size: 14px; } #smsNavigation{ color: #FFFFFF; background: #555555; } #smsMapTitleBar{ background: #184F7E; color: #FFFFFF; } #customHeader{ padding-top: 5px; } #customHeader, #contentArea, #strandSelector { width:900px; } #customHeader, #customHeader table { background: #000000; color:#FFFFFF; font-weight:bold; height: 60px; } .titleText{ font-size: 18px; } .subTitleText{ font-size: 12px; } #smsLogo { float:left; } .footerLinks { padding-bottom: 30px; font-size: 11px; font-weight: bold; } .hide{ display:none; } #smsUsageLink,#smsHomeLink{ color: #000000; text-decoration: underline; display:inline; font-size: 12px; color: #FFFFFF; } #smsUsageClose{ color: blue; text-align: center; text-decoration: underline; font-size: 12px; } #smsUsage{ position: absolute; width: 450px; margin-left: -425px; font-weight: normal; background: #FFF8E4; border: solid 1px #000; color: #000000; z-index: 300; padding: 5px; text-align: left; font-size:14px; } .smsUsage ul li { padding-left:5; } .error { border: 1px solid red; background-color: yellow; color: red; } |
From: S C. <sl...@us...> - 2009-11-06 19:20:50
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32524/example5/scripts Added Files: scripts.js Log Message: Replace example 5 with example for advances SMS tutorial --- NEW FILE: scripts.js --- SMSEvent.addListener(StrandMap,"onload", setUpStrandMap); function setUpStrandMap() { StrandMap.enableMisconceptions(true); infoBubble = StrandMap.getInfoBubble(); SMSEvent.addListener(StrandMap,"onbenchmarkselect",onBenchmarkSelect); // Create the 'Resources' tab and set it's handler: resourcesTab = new InfoBubbleTab('Related Resources'); infoBubble.addTab(resourcesTab); SMSEvent.addListener(StrandMap,"onbenchmarkselect",resourcesTabCallback); infoBubble.addBuiltinTab("nses","NSES Standards"); infoBubble.addBuiltinTab("relatedbenchmarks","Related Benchmarks"); createBreadcrumb(); } function onBenchmarkSelect() { infoBubble.setTitle("Benchmark Details"); infoBubble.setBuiltinContent("benchmarkonly"); infoBubble.selectTab(resourcesTab); } function resourcesTabCallback() { resourcesTab.setContent('Loading Resources...'); sendResRequest(); } function createBreadcrumb(){ var gradeId = StrandMap.getMapId(); var myUrl = 'http://strandmaps.nsdl.org/cms1-2/jsapi/json?callBack=getParentMap&Format=SMS-JSON&ObjectID='+gradeId; var mapScriptReq = document.createElement( 'script' ); mapScriptReq.src = myUrl; // Insert the script in the document head, which executes the callback getParentMap() document.getElementsByTagName('head')[0].appendChild( mapScriptReq ); } function getParentMap(jsonResponse){ var relations = jsonResponse['SMS-CSIP'].QueryResponse.SMS.Record.itemRecord.Data.InternalRelationship.CatalogID; if(relations.RelationType == 'is part of' && relations.CatalogNumber.search('MAP') != -1 ){ var parentMapID = relations.CatalogNumber; } var myUrl = 'http://strandmaps.nsdl.org/cms1-2/jsapi/json?callBack=getParentMapName&Format=SMS-JSON&ObjectID='+parentMapID; var mapScriptReq = document.createElement( 'script' ); mapScriptReq.src = myUrl; // Insert the script in the document head, which executes the callback getParentMap() document.getElementsByTagName('head')[0].appendChild( mapScriptReq ); } function getParentMapName(jsonResponse){ var name = jsonResponse['SMS-CSIP'].QueryResponse.SMS.Record.itemRecord.Data.Name; var title = name + ' Map > Grades 9-12'; $('smsMapName').update(title); document.title = title; } function sendResRequest(offset){ if(!offset){ offset = 0; } var json = StrandMap.getSelectedBenchmarkRecordJson(); var id = StrandMap.getSelectedBenchmarkId(); <!-- // get the keywords for this benchmark //--> var kwArray = json.itemRecord.Data.Keywords.keyword; for(var i=0; i< kwArray.length; i++){ if(i == 0){ var keywords = kwArray[i]; } else if(i == kwArray.length-1){ keywords += '|' + kwArray[i]; } else { keywords += '|' + kwArray[i]; } } var reqUrl = "resources.jsp?keywords="+ keywords+ "&offset="+offset; new Ajax.Request( reqUrl, { method: 'post', onSuccess: function (response) { var c; if(response.responseText){ resourcesTab.setContent(response.responseText); } } }); } |
From: S C. <sl...@us...> - 2009-11-06 19:20:47
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32524 Modified Files: index.jsp Log Message: Replace example 5 with example for advances SMS tutorial Index: index.jsp =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/index.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** index.jsp 2 Oct 2009 22:04:23 -0000 1.4 --- index.jsp 6 Nov 2009 19:20:38 -0000 1.5 *************** *** 31,36 **** <li> <a href="example2/index.html" target="_blank">Example 2</a> - ! Registers for events that occur in the maps ! and inserts and updates content in the information bubble and tabs. </li> <li> --- 31,36 ---- <li> <a href="example2/index.html" target="_blank">Example 2</a> - ! Registers for events that occur in the maps, inserts and updates content ! in the information bubble and tabs and displays student misconception research. </li> <li> *************** *** 49,53 **** <li> <a href="example5/index.html" target="_blank">Example 5</a> - ! Demonstrates Google search, a podcast and a sample quiz in the maps. </li> <li> --- 49,54 ---- <li> <a href="example5/index.html" target="_blank">Example 5</a> - ! Provides access to a subset of maps with a custom strand selector and demonstrates ! how to search for resources and display them in the information bubble. </li> <li> |
From: S C. <sl...@us...> - 2009-11-06 19:19:18
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/styles In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32257/styles Log Message: Directory /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/styles added to the repository |
From: S C. <sl...@us...> - 2009-11-06 19:19:13
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/scripts In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32257/scripts Log Message: Directory /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/example_clients/example5/scripts added to the repository |
From: S C. <sl...@us...> - 2009-11-06 16:20:45
|
Update of /cvsroot/dlsciences/sms-server-project/WEB-INF/Database In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv7673 Modified Files: strandmap.sql Log Message: removed relations for SMS-BMK-0134 so it will not display in the Solar System map. This benchmark was replaced by SMS-BMK-1908. Fixed misspelled words in SMS-BMK-1908 Index: strandmap.sql =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/WEB-INF/Database/strandmap.sql,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** strandmap.sql 15 Oct 2008 21:44:45 -0000 1.20 --- strandmap.sql 6 Nov 2009 16:20:26 -0000 1.21 *************** *** 982,986 **** (NULL,'###start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Understandings about scientific inquiry^^^l-next^^^Different kinds of questions suggest different kinds of scientific investigations. Some investigations involve observing and describing objects, organisms, or events; some involve collecting specimens; some involve experiments; some involve seeking more information; some involve discovery of new objects and phenomena; and some involve making models.###end######start###NSES???sep??? 9-12???sep???http://books.nap.edu/html/nses/6e.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Abilities necessary to do scientific inquiry^^^l-next^^^Design and conduct scientific investigations.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Understandings about scientific inquiry^^^l-next^^^Different kinds of questions suggest different kinds of scientific investigations. Some investigations involve observing and describing objects, organisms, or events; some involve collecting specimens; some involve experiments; some involve seeking more information; some involve discovery of new objects and phenomena; and some involve making models.###end######start###NSES???sep??? 9-12???sep???http://books.nap.edu/html/nses/6e.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Abilities necessary to do scientific inquiry^^^l-next^^^Design and conduct scientific investigations.###end###','Benchmark','SMS-BMK-1906','Sometimes, scientists can control conditions ','Benchmarks for science literacy, Project 2061, 1993','9,10,11,12',NULL,'Accessioned','Sometimes, scientists can control conditions in order to obtain evidence. When that is not possible for practical or ethical reasons, they try to observe as wide a range of natural occurrences as possible to be able to discern patterns.','Sometimes, scientists can control conditions in order to obtain evidence. When that is not possible for practical or ethical reasons, they try to observe as wide a range of natural occurrences as possible to be able to discern patterns.','General science#Process skills,Scientific data collection/analysis/interpretation#Scientific investigation,History and philosophy of science','conditions,patterns,range,order,occurrences,evidence,scientists,reasons',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'1B/H3',NULL), (NULL,'###start###NSES???sep???K-4???sep???http://books.nap.edu/html/nses/6c.html#hn???sep???Content Standard G History and Nature of Science Standards^^^l-next^^^Science as a human endeavor^^^l-next^^^Men and women have made a variety of contributions throughout the history of science and technology.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#st???sep???Content Standard E Science and Technology Standards^^^l-next^^^Understandings about science and technology^^^l-next^^^Many different people in different cultures have made and continue to make contributions to science and technology.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#sp???sep???Content Standard F Science in Personal and Social Perspectives Standards^^^l-next^^^Science and technology in society^^^l-next^^^Science and technology have advanced through contributions of many different people, in different cultures, at different times in history. Science and technology have contributed enormously to economic growth and productivity among societies and groups within societies.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#hn???sep???Content Standard G History and Nature of Science Standards^^^l-next^^^History of science^^^l-next^^^In historical perspective, science has been practiced by different individuals in different cultures. In looking at the history of many peoples, one finds that scientists and engineers of high achievement are considered to be among the most valued contributors to their culture.###end###','Benchmark','SMS-BMK-1907','Clear communication is an essential ','Benchmarks for science literacy, Project 2061, 1993','3,4,5',NULL,'Accessioned','Clear communication is an essential part of doing science. It enables scientists to inform others about their work, expose their ideas to criticism by other scientists, and stay informed about scientific discoveries around the world.','Clear communication is an essential part of doing science. It enables scientists to inform others about their work, expose their ideas to criticism by other scientists, and stay informed about scientific discoveries around the world.','General science#Process skills,Scientific collaboration and communication#Scientific investigation,History and philosophy of science','work,clear,ideas,others,communication,discoveries,scientists,part,criticism,world,science',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'1C/E2',NULL), ! (NULL,'###start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#es???sep???Content Standard D Earth and Space Science Standards^^^l-next^^^Earth in the solar system^^^l-next^^^The earth is the third planet from the sun in a system that includes the moon, the sun, eight other planets and their moons, and smaller objects, such as asteroids and comets. The sun, an average star, is the central and largest body in the solar system.###end###','Benchmark','SMS-BMK-1908','Many chunks of rock orbit the sun','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Many chunks of rock orbit the sun. Those that meet the earth glow and disintegrate from friction as they plunge through the atmosphere - and sometimes impact the ground. Other chunks of rock mixed with ice have long, off-center orbits that carry them close to the sun, where the sun\'s rediation (of light and paricles) boils off frozen materials from their surfaces and pushes it into a long illuminated tail','Many chunks of rock orbit the sun. Those that meet the earth glow and disintegrate from friction as they plunge through the atmosphere - and sometimes impact the ground. Other chunks of rock mixed with ice have long, off-center orbits that carry them close to the sun, where the sun\'s rediation (of light and paricles) boils off frozen materials from their surfaces and pushes it into a long illuminated tail',NULL,'chunks,rediation,orbits,paricles,ground,friction,atmosphere,rock,surfaces,meet,glow,tail,sun,orbit,center,materials,ice,earth,light',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'4A/M4',NULL), (NULL,NULL,'Benchmark','SMS-BMK-1909','Although within any society there','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Although within any society there is usually broad general agreement on what behavior is unacceptable, the standards used to judge behavior vary for different settings and subgroups, and they may change with time and different political and economic conditions. ','Although within any society there is usually broad general agreement on what behavior is unacceptable, the standards used to judge behavior vary for different settings and subgroups, and they may change with time and different political and economic conditions. ','DLESE:biology,GEM:biology','psychiatry,society,behavior,subgroups,settings,agreement,health,standards,conditions,time,psychology,punishments,societies',NULL,'en','2006-10-04',NULL,NULL,NULL,NULL,NULL,NULL,'7A/M3a',NULL), (NULL,NULL,'Benchmark','SMS-BMK-1910','People may react to mental','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Often people react to mental distress by denying that they have any problem. Sometimes they don\'t know why they feel the way they do, but with help they can sometimes uncover the reasons.','People may react to mental distress by denying they have any problems. ','DLESE:biology,GEM:biology','help,psychiatry,psychology,way,problem,health,reasons,people,distress',NULL,'en','2006-10-04',NULL,NULL,NULL,NULL,NULL,NULL,'6F/M2a',NULL), --- 982,986 ---- (NULL,'###start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Understandings about scientific inquiry^^^l-next^^^Different kinds of questions suggest different kinds of scientific investigations. Some investigations involve observing and describing objects, organisms, or events; some involve collecting specimens; some involve experiments; some involve seeking more information; some involve discovery of new objects and phenomena; and some involve making models.###end######start###NSES???sep??? 9-12???sep???http://books.nap.edu/html/nses/6e.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Abilities necessary to do scientific inquiry^^^l-next^^^Design and conduct scientific investigations.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Understandings about scientific inquiry^^^l-next^^^Different kinds of questions suggest different kinds of scientific investigations. Some investigations involve observing and describing objects, organisms, or events; some involve collecting specimens; some involve experiments; some involve seeking more information; some involve discovery of new objects and phenomena; and some involve making models.###end######start###NSES???sep??? 9-12???sep???http://books.nap.edu/html/nses/6e.html#si???sep???Content Standard A Science as Inquiry Standards^^^l-next^^^Abilities necessary to do scientific inquiry^^^l-next^^^Design and conduct scientific investigations.###end###','Benchmark','SMS-BMK-1906','Sometimes, scientists can control conditions ','Benchmarks for science literacy, Project 2061, 1993','9,10,11,12',NULL,'Accessioned','Sometimes, scientists can control conditions in order to obtain evidence. When that is not possible for practical or ethical reasons, they try to observe as wide a range of natural occurrences as possible to be able to discern patterns.','Sometimes, scientists can control conditions in order to obtain evidence. When that is not possible for practical or ethical reasons, they try to observe as wide a range of natural occurrences as possible to be able to discern patterns.','General science#Process skills,Scientific data collection/analysis/interpretation#Scientific investigation,History and philosophy of science','conditions,patterns,range,order,occurrences,evidence,scientists,reasons',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'1B/H3',NULL), (NULL,'###start###NSES???sep???K-4???sep???http://books.nap.edu/html/nses/6c.html#hn???sep???Content Standard G History and Nature of Science Standards^^^l-next^^^Science as a human endeavor^^^l-next^^^Men and women have made a variety of contributions throughout the history of science and technology.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#st???sep???Content Standard E Science and Technology Standards^^^l-next^^^Understandings about science and technology^^^l-next^^^Many different people in different cultures have made and continue to make contributions to science and technology.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#sp???sep???Content Standard F Science in Personal and Social Perspectives Standards^^^l-next^^^Science and technology in society^^^l-next^^^Science and technology have advanced through contributions of many different people, in different cultures, at different times in history. Science and technology have contributed enormously to economic growth and productivity among societies and groups within societies.###end######start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#hn???sep???Content Standard G History and Nature of Science Standards^^^l-next^^^History of science^^^l-next^^^In historical perspective, science has been practiced by different individuals in different cultures. In looking at the history of many peoples, one finds that scientists and engineers of high achievement are considered to be among the most valued contributors to their culture.###end###','Benchmark','SMS-BMK-1907','Clear communication is an essential ','Benchmarks for science literacy, Project 2061, 1993','3,4,5',NULL,'Accessioned','Clear communication is an essential part of doing science. It enables scientists to inform others about their work, expose their ideas to criticism by other scientists, and stay informed about scientific discoveries around the world.','Clear communication is an essential part of doing science. It enables scientists to inform others about their work, expose their ideas to criticism by other scientists, and stay informed about scientific discoveries around the world.','General science#Process skills,Scientific collaboration and communication#Scientific investigation,History and philosophy of science','work,clear,ideas,others,communication,discoveries,scientists,part,criticism,world,science',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'1C/E2',NULL), ! (NULL,'###start###NSES???sep??? 5-8???sep???http://books.nap.edu/html/nses/6d.html#es???sep???Content Standard D Earth and Space Science Standards^^^l-next^^^Earth in the solar system^^^l-next^^^The earth is the third planet from the sun in a system that includes the moon, the sun, eight other planets and their moons, and smaller objects, such as asteroids and comets. The sun, an average star, is the central and largest body in the solar system.###end###','Benchmark','SMS-BMK-1908','Many chunks of rock orbit the sun','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Many chunks of rock orbit the sun. Those that meet the earth glow and disintegrate from friction as they plunge through the atmosphere - and sometimes impact the ground. Other chunks of rock mixed with ice have long, off-center orbits that carry them close to the sun, where the sun\'s radiation (of light and particles) boils off frozen materials from their surfaces and pushes it into a long illuminated tail','Many chunks of rock orbit the sun. Those that meet the earth glow and disintegrate from friction as they plunge through the atmosphere - and sometimes impact the ground. Other chunks of rock mixed with ice have long, off-center orbits that carry them close to the sun, where the sun\'s radiation (of light and particles) boils off frozen materials from their surfaces and pushes it into a long illuminated tail',NULL,'chunks,rediation,orbits,paricles,ground,friction,atmosphere,rock,surfaces,meet,glow,tail,sun,orbit,center,materials,ice,earth,light',NULL,'en','2005-09-25',NULL,NULL,NULL,NULL,NULL,NULL,'4A/M4',NULL), (NULL,NULL,'Benchmark','SMS-BMK-1909','Although within any society there','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Although within any society there is usually broad general agreement on what behavior is unacceptable, the standards used to judge behavior vary for different settings and subgroups, and they may change with time and different political and economic conditions. ','Although within any society there is usually broad general agreement on what behavior is unacceptable, the standards used to judge behavior vary for different settings and subgroups, and they may change with time and different political and economic conditions. ','DLESE:biology,GEM:biology','psychiatry,society,behavior,subgroups,settings,agreement,health,standards,conditions,time,psychology,punishments,societies',NULL,'en','2006-10-04',NULL,NULL,NULL,NULL,NULL,NULL,'7A/M3a',NULL), (NULL,NULL,'Benchmark','SMS-BMK-1910','People may react to mental','Atlas of science literacy, Project 2061, 2001','6,7,8',NULL,'Accessioned','Often people react to mental distress by denying that they have any problem. Sometimes they don\'t know why they feel the way they do, but with help they can sometimes uncover the reasons.','People may react to mental distress by denying they have any problems. ','DLESE:biology,GEM:biology','help,psychiatry,psychology,way,problem,health,reasons,people,distress',NULL,'en','2006-10-04',NULL,NULL,NULL,NULL,NULL,NULL,'6F/M2a',NULL), *************** *** 3088,3092 **** ('SMS-BMK-0128','SMS-STD-2313','is part of'), ('SMS-BMK-0129','SMS-BMK-0133','Contributes to achieving'), - ('SMS-BMK-0129','SMS-BMK-0134','Contributes to achieving'), ('SMS-BMK-0129','SMS-BMK-0151','Contributes to achieving'), ('SMS-BMK-0129','SMS-BMK-0233','Contributes to achieving'), --- 3088,3091 ---- *************** *** 3118,3122 **** ('SMS-BMK-0131','SMS-STD-1294','is part of'), ('SMS-BMK-0131','SMS-STD-1303','is part of'), - ('SMS-BMK-0133','SMS-BMK-0134','Contributes to achieving'), ('SMS-BMK-0133','SMS-BMK-0151','Contributes to achieving'), ('SMS-BMK-0133','SMS-BMK-0269','Contributes to achieving'), --- 3117,3120 ---- *************** *** 3130,3138 **** ('SMS-BMK-0133','SMS-STD-1285','is part of'), ('SMS-BMK-0133','SMS-STD-1286','is part of'), - ('SMS-BMK-0134','SMS-BMK-0152','Contributes to achieving'), - ('SMS-BMK-0134','SMS-BMK-0675','Contributes to achieving'), - ('SMS-BMK-0134','SMS-BMK-1767','Contributes to achieving'), - ('SMS-BMK-0134','SMS-GRD-1290','is part of'), - ('SMS-BMK-0134','SMS-STD-1285','is part of'), ('SMS-BMK-0135','SMS-BMK-1765','contributes to achieving'), ('SMS-BMK-0135','SMS-BMK-1773','contributes to achieving'), --- 3128,3131 ---- *************** *** 5641,5645 **** ('SMS-BMK-0663','SMS-STD-2301','is part of'), ('SMS-BMK-0664','SMS-BMK-0133','Contributes to achieving'), - ('SMS-BMK-0664','SMS-BMK-0134','Contributes to achieving'), ('SMS-BMK-0664','SMS-BMK-0234','Contributes to achieving'), ('SMS-BMK-0664','SMS-BMK-0667','Contributes to achieving'), --- 5634,5637 ---- |
From: John W. <jwe...@us...> - 2009-10-21 19:38:03
|
Update of /cvsroot/dlsciences/sms-server-project/docs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3042/docs Modified Files: INSTALL_INSTRUCTIONS.txt Log Message: more docs Index: INSTALL_INSTRUCTIONS.txt =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/INSTALL_INSTRUCTIONS.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** INSTALL_INSTRUCTIONS.txt 21 Oct 2009 17:07:41 -0000 1.2 --- INSTALL_INSTRUCTIONS.txt 21 Oct 2009 19:37:55 -0000 1.3 *************** *** 103,106 **** --- 103,108 ---- 5. Build and deploy the SMS software using Ant + Note that Ant must be configured to use a Java 5 JVM to work for SMS. + To perform the build and deployment, issue the Ant target 'deploy' |
From: John W. <jwe...@us...> - 2009-10-21 17:08:00
|
Update of /cvsroot/dlsciences/sms-server-project/docs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15364/docs Modified Files: INSTALL_INSTRUCTIONS.txt Log Message: more install details Index: INSTALL_INSTRUCTIONS.txt =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/INSTALL_INSTRUCTIONS.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** INSTALL_INSTRUCTIONS.txt 20 Oct 2009 23:23:42 -0000 1.1 --- INSTALL_INSTRUCTIONS.txt 21 Oct 2009 17:07:41 -0000 1.2 *************** *** 3,7 **** The Strand Map Service (SMS) is a Web application that runs in ! a Tomcat Servlet container on Windows, Linux or other Unix variants. These instructions describe how to build, install and run the service. --- 3,7 ---- The Strand Map Service (SMS) is a Web application that runs in ! a Tomcat Servlet container on Windows, Mac OSX, Linux or other Unix variants. These instructions describe how to build, install and run the service. *************** *** 35,42 **** Pay close attention to the required versions - they do matter. ! 2. Set up a MySQL user that has read/write privalidges to create and drop tables and data ! for the database schema 'smsserver' Note the username and password, which will be used later. 3. Obtain the SMS server module 'sms-server-project' from the DLSciences SourceForge CVS repository. Follow the instructions here for anonymous CVS access: --- 35,44 ---- Pay close attention to the required versions - they do matter. ! ! 2. Set up a MySQL user that has read/write privileges to create and drop tables and data ! for the database schema 'smsserver'. The SMS software will populate the database tables when loaded. Note the username and password, which will be used later. + 3. Obtain the SMS server module 'sms-server-project' from the DLSciences SourceForge CVS repository. Follow the instructions here for anonymous CVS access: *************** *** 62,66 **** installation: ! # The directory path your Tomcat installation BoLT.tomcat.home=/usr/local/tomcat --- 64,68 ---- installation: ! # The directory path to your Tomcat installation BoLT.tomcat.home=/usr/local/tomcat *************** *** 81,90 **** # The global Web address for your Tomcat server. If the Tomcat ! # server is only available locally, use hte local host and port name instead BoLT.global.host.port.url=http://www.mydomain.org:8080 # The global Web address for the SMS JavaScript service on your server # The value here works by simply using the same setting as above ! # and adding the appropriate path jsapi.clients.service.url=${BoLT.global.host.port.url}/cms1-2/jsapi --- 83,92 ---- # The global Web address for your Tomcat server. If the Tomcat ! # server is only available locally, use the local host and port name instead BoLT.global.host.port.url=http://www.mydomain.org:8080 # The global Web address for the SMS JavaScript service on your server # The value here works by simply using the same setting as above ! # and adding the appropriate path: jsapi.clients.service.url=${BoLT.global.host.port.url}/cms1-2/jsapi *************** *** 92,93 **** --- 94,189 ---- # intend to use OAI oai.admin.email=use...@my... + + + Tip: If you change the settings in build.properties after the software has + been deployed, issue the 'clean' and then 'deploy' Ant targets to apply the + new settings in the software build (see below about Ant). + + + 5. Build and deploy the SMS software using Ant + + To perform the build and deployment, issue the Ant target 'deploy' + + To do this using the command-line Ant tool on Linux/Unix machines, + cd into the sms-server-project folder. Then type: + + ant deploy + + Read the output from Ant. If any errors occur, address them. Upon + successful deployment you should see a message from Ant like: + + BUILD SUCCESSFUL + Total time: 26 seconds + + + The deploy target builds the software and deploys it directly into + the Tomcat container inside its 'webapps' folder. + The SMS context name is /cms1-2 + + Tip: The file build.xml at the root of the module defines the Ant build + and targets. See that file for further notes about building the software. + Issue the Ant project help command to see other targets that are + available and what they are used for: + + ant -p + + Main targets: + + all Clean build dir, then compile + clean Delete the build directory + clean-tomcat-work Delete the Tomcat work directory + cleanall Clean the build and junit test directories + compile Compile Java sources + compile-dlese-tools Generate a fresh DLESETools.jar for this application (optional) + deploy Deploy application to servlet container + deploy-clean Delete the Tomcat deploy directory + deploy-jsp Deploy only jsp, js, html, css, xml and image files to Tomcat + javadoc Generate Javadoc this application + javadoc-dlese-tools Create Javadoc documentation for DLESE Tools library (optional) + junit Run JUnit tests + prepare Prepare the build area by copying in the web and docs dirs. + remove-obsolete-files Removes files that are no longer needed in the deployment area + war Creates a WAR file that can be used for internal application deployment + Default target: compile + + + 6. Start and verify the SMS server + + Start or re-start the Tomcat container. The SMS software will load its database and start up. Depending on your + machine, this process may take several minutes. + + Navigate to the SMS Web appplicaion in your Web browser. In a default Tomcat installation, + the local URL will be: + http://localhost:8080/cms1-2/ + + To verify the full functionality of the Strand Maps is working, navigate to one of the + example JavaScript clients that comes installed with the software. These are located + under 'JavaScript API' > 'Example Code' from the main menu. For example: + http://localhost:8080/cms1-2/docs/jsapi/api_v1/example_clients/sms_example1.html + + Use the navigation widget in the Map client to view the available topics and navigate + to one of the interactive maps. Click on one of the maps to open it. Depending on + your machine, it may take several minutes to open a map for the first time. Map images + are cached for fast retrieval after they have been accessed the first time. + + The software has been successfully installed if you are able to open the maps, + move them around interactively and open the information bubble + by clicking on the benchmarks in the maps. + + + -- Troubleshooting -- + + If problems are encountered, try the following: + + -The SMS software writes messages to standard out as it starts up. + Monitor the Tomcat standard ouput for status and error messages. + + In a typical Tomcat installation the standard ouput is written to a file + named 'catalina.out' locaed in the 'logs' folder of Tomcat. + + -Be sure the build.properties settings are correct + + -Be sure you are using the correct version of Tomcat, Java and MySQL + + + |
From: John W. <jwe...@us...> - 2009-10-20 23:25:06
|
Update of /cvsroot/dlsciences/sms-server-project/WEB-INF/src/edu/cu/cs/sms In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15045/WEB-INF/src/edu/cu/cs/sms Modified Files: ExtendedActionServlet.java Log Message: cleaned up a bit Index: ExtendedActionServlet.java =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/WEB-INF/src/edu/cu/cs/sms/ExtendedActionServlet.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ExtendedActionServlet.java 10 Sep 2008 03:41:48 -0000 1.7 --- ExtendedActionServlet.java 20 Oct 2009 23:24:53 -0000 1.8 *************** *** 42,45 **** --- 42,46 ---- import java.sql.SQLException; import java.sql.Statement; + import java.util.Arrays; import java.util.PropertyResourceBundle; import java.util.logging.FileHandler; *************** *** 91,101 **** private PropertyResourceBundle errorDescriptions = null; ! public void init() throws ServletException { super.init(); ! System.out.println("SMS Server starting. Please wait..."); - cxt = getServletContext(); - try { this.errorCodes = new PropertyResourceBundle(new BufferedInputStream(this.getClass().getClassLoader().getResourceAsStream( --- 92,102 ---- private PropertyResourceBundle errorDescriptions = null; ! public void init() throws ServletException { super.init(); ! cxt = getServletContext(); ! ! System.out.println(cxt.getServletContextName() + " is starting at context path " + getContextPath(cxt) + ". Please wait..."); try { this.errorCodes = new PropertyResourceBundle(new BufferedInputStream(this.getClass().getClassLoader().getResourceAsStream( *************** *** 529,533 **** } } ! System.out.println("SMS Server stopped."); } --- 530,534 ---- } } ! System.out.println(getServletContext().getServletContextName() + " stopped."); } *************** *** 548,550 **** --- 549,569 ---- } + + /** + * Returns the context path for the webapp, for example '/cms1-2' or '/' for the root context. + */ + private String getContextPath(ServletContext servletContext) { + try { + String path = "/"; + String [] pathSegments = servletContext.getResource("/").getPath().split("/"); + + if(pathSegments.length > 2) + path += pathSegments[pathSegments.length-1]; + return path; + + } catch (Throwable t) { + return null; + } + } + } |
From: John W. <jwe...@us...> - 2009-10-20 23:24:25
|
Update of /cvsroot/dlsciences/sms-server-project In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14978 Modified Files: build.xml Log Message: cleaned up a bit Index: build.xml =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/build.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** build.xml 5 Oct 2009 23:11:23 -0000 1.25 --- build.xml 20 Oct 2009 23:24:16 -0000 1.26 *************** *** 330,334 **** <!-- Deploy the compiled and configured Concept Map Service to tomcat webapps directory--> ! <target name="deployWar" depends="makeWAR" description="Please use this task when tomcat is running"> <echo>Note: This target requires Ant 1.6 or later; Tomcat must be running.</echo> <deploy url="${BoLT.tomcat.manager.URL}" username="${BoLT.tomcat.username}" password="${BoLT.tomcat.password}" path="/${context.name}" war="${BoLT.distDir}/${context.name}.war"/> --- 330,334 ---- <!-- Deploy the compiled and configured Concept Map Service to tomcat webapps directory--> ! <target name="deploy-war" depends="war" description="Deploy the SMS to Tomcat via the manager. Please use this task when tomcat is running"> <echo>Note: This target requires Ant 1.6 or later; Tomcat must be running.</echo> <deploy url="${BoLT.tomcat.manager.URL}" username="${BoLT.tomcat.username}" password="${BoLT.tomcat.password}" path="/${context.name}" war="${BoLT.distDir}/${context.name}.war"/> *************** *** 337,341 **** <!-- Please use this target when tomcat is running --> ! <target name="unDeployWar" description="Please use this target when tomcat is not running"> <echo>Note: This target requires Ant 1.6 or later; Tomcat must be running.</echo> <undeploy url="${BoLT.tomcat.manager.URL}" username="${BoLT.tomcat.username}" password="${BoLT.tomcat.password}" path="/${context.name}"/> --- 337,341 ---- <!-- Please use this target when tomcat is running --> ! <target name="undeploy-war" description="Undeploy the SMS in Tomcat via the manager. Please use this target when tomcat is not running"> <echo>Note: This target requires Ant 1.6 or later; Tomcat must be running.</echo> <undeploy url="${BoLT.tomcat.manager.URL}" username="${BoLT.tomcat.username}" password="${BoLT.tomcat.password}" path="/${context.name}"/> *************** *** 344,348 **** <!-- This target creates web archive file (WAR) file for distributions --> ! <target name="makeWAR" depends="buildApp" description="Makes a Web Archive File (WAR) for easy distribution"> <mkdir dir="${BoLT.distDir}"/> <war destfile="${BoLT.distDir}/${context.name}.war" --- 344,348 ---- <!-- This target creates web archive file (WAR) file for distributions --> ! <target name="war" depends="buildApp" description="Makes a Web Archive File (WAR) for easy distribution"> <mkdir dir="${BoLT.distDir}"/> <war destfile="${BoLT.distDir}/${context.name}.war" |
From: John W. <jwe...@us...> - 2009-10-20 23:23:57
|
Update of /cvsroot/dlsciences/sms-server-project/docs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14875/docs Added Files: INSTALL_INSTRUCTIONS.txt Log Message: New file with instructions to build/deploy SMS --- NEW FILE: INSTALL_INSTRUCTIONS.txt --- Installation instructions for the Strand Map Service (SMS). ------------------------------------------------------------------ The Strand Map Service (SMS) is a Web application that runs in a Tomcat Servlet container on Windows, Linux or other Unix variants. These instructions describe how to build, install and run the service. Required tools and components to install and run SMS: -Tomcat v5.5.x Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. http://tomcat.apache.org/ -MySQL v5.x MySQL is a popular Open Source SQL database. http://www.mysql.com/ -Java version 5 The Java runtime environment. http://java.sun.com/ -Ant build tool Apache Ant is a Java-based build tool similar to make. http://ant.apache.org/ -CVS client CVS is a mature version control and software repository system. CVS clients typically come pre-installed on Linux and Unix system. TortoiseCVS is a nice Open Source client for Windows: http://www.tortoisecvs.org/ Step-by-step instructions: 1. Obtain and install each of the tools and components listed above under 'Required tools and components'. Pay close attention to the required versions - they do matter. 2. Set up a MySQL user that has read/write privalidges to create and drop tables and data for the database schema 'smsserver' Note the username and password, which will be used later. 3. Obtain the SMS server module 'sms-server-project' from the DLSciences SourceForge CVS repository. Follow the instructions here for anonymous CVS access: http://sourceforge.net/scm/?type=cvs&group_id=198325 Check out the module 'sms-server-project' Place the module into a folder that will serve as a staging area to build and deploy the software to Tomcat. We'll refer to this folder as the 'staging area'. 4. Create a text file named 'build.properties' and save it to the staging area. The staging area should contain: sms-server-project - The SMS module folder build.properties - A text file that defines properties used in the Ant build Copy and paste the following properties into the build.properties text file. Edit the file and replace the example/default values with ones that apply to your installation: # The directory path your Tomcat installation BoLT.tomcat.home=/usr/local/tomcat # The MySQL user name BoLT.db.Driver.User=user_xxx # The MySQL user password BoLT.db.Driver.Password=xxxx # The MySQL database schema name (change only if different) BoLT.db.Driver.database=smsserver # The local host name for your Tomcat server BoLT.cmsServerHost=localhost # The local port for your Tomcat server (Tomcat default is 8080) BoLT.cmsServerPort=8080 # The global Web address for your Tomcat server. If the Tomcat # server is only available locally, use hte local host and port name instead BoLT.global.host.port.url=http://www.mydomain.org:8080 # The global Web address for the SMS JavaScript service on your server # The value here works by simply using the same setting as above # and adding the appropriate path jsapi.clients.service.url=${BoLT.global.host.port.url}/cms1-2/jsapi # (optional) The e-mail address used as a contact for OAI. This is only needed if you # intend to use OAI oai.admin.email=use...@my... |
From: John W. <jwe...@us...> - 2009-10-19 16:46:16
|
Update of /cvsroot/dlsciences/sms-server-project/WEB-INF In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9735/WEB-INF Modified Files: Copyright.txt Log Message: updated (c) date Index: Copyright.txt =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/WEB-INF/Copyright.txt,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Copyright.txt 13 Jun 2008 22:38:29 -0000 1.4 --- Copyright.txt 19 Oct 2009 16:46:02 -0000 1.5 *************** *** 1,3 **** ! Copyright 2002-2008 Digital Learning Sciences (DLS), University Corporation for Atmospheric Research (UCAR), P.O. Box 3000, Boulder, CO 80307 and the Institute of Cognitive Science, University of Colorado at Boulder. --- 1,3 ---- ! Copyright 2002-2009 Digital Learning Sciences (DLS), University Corporation for Atmospheric Research (UCAR), P.O. Box 3000, Boulder, CO 80307 and the Institute of Cognitive Science, University of Colorado at Boulder. |
From: John W. <jwe...@us...> - 2009-10-05 23:11:35
|
Update of /cvsroot/dlsciences/sms-server-project In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19494 Modified Files: build.xml Log Message: added more details in the js api docs and upped the version for release 1.2.14 Index: build.xml =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/build.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** build.xml 5 Oct 2009 18:04:27 -0000 1.24 --- build.xml 5 Oct 2009 23:11:23 -0000 1.25 *************** *** 52,56 **** <!-- The following two properties should be updated below each time a new release or version is issued --> ! <property name="app.version" value="1.2.13"/> <property name="context.name" value="cms1-2"/> --- 52,56 ---- <!-- The following two properties should be updated below each time a new release or version is issued --> ! <property name="app.version" value="1.2.14"/> <property name="context.name" value="cms1-2"/> |
From: John W. <jwe...@us...> - 2009-10-05 23:11:32
|
Update of /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19494/docs/jsapi/api_v1 Modified Files: index.jsp Log Message: added more details in the js api docs and upped the version for release 1.2.14 Index: index.jsp =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/jsapi/api_v1/index.jsp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** index.jsp 2 Sep 2009 23:10:54 -0000 1.11 --- index.jsp 5 Oct 2009 23:11:23 -0000 1.12 *************** *** 97,101 **** <h3>Creating an interactive map using the SMS JavaScript API</h3> ! <p>Follow these simple steps to place in interactive strand map in your page and customize the content displayed within it.</p> <p> </p> --- 97,101 ---- <h3>Creating an interactive map using the SMS JavaScript API</h3> ! <p>Follow these simple steps to place an interactive strand map in your page and customize the content displayed within it.</p> <p> </p> *************** *** 198,202 **** <h4>Class StrandMap</h4> ! <p> This singleton object is the central class in the API.</p> <p><em>Methods</em></p> --- 198,202 ---- <h4>Class StrandMap</h4> ! <p> StrandMap is a singleton object that controls the appearance, features and behaviors associated with the interactive maps. It provides a handle to the InfoBubble object and allows you to register actions that are performed when map-level events occur, such as when a user clicks on a benchmark in a map. It also provides access to data about the basic objects in the concept map information space such as the benchmarks, other maps, chapters and details about each.</p> <p><em>Methods</em></p> *************** *** 274,280 **** <h4>Class InfoBubble</h4> ! <p>This singleton object is the central class for the information bubble ! ! widget.</p> <p><em>Methods</em></p> --- 274,278 ---- <h4>Class InfoBubble</h4> ! <p>InfoBubble is a singleton object that controls the content, appearance, features and behaviors associated with the information bubble widget that appears in the maps. It allows you to add or remove tabs, register actions that are performed when the bubble is opened and closed, and access data associated with the bubble.</p> <p><em>Methods</em></p> *************** *** 394,398 **** <h4>Class InfoBubbleTab</h4> ! <p>This object defines a tab that is displayed in the InfoBubble.</p> <p><em>Constructor</em></p> --- 392,396 ---- <h4>Class InfoBubbleTab</h4> ! <p>InfoBubbleTab objects are used to control the tabs that appear inside the InfoBubble widget. Each InfoBubbleTab object describes a single tab, its content and any action that occurs when a user selects the tab.</p> <p><em>Constructor</em></p> *************** *** 435,439 **** <p>This namespace contains functions used to register event handlers for ! objects.</p> <p><em>Methods</em></p> --- 433,437 ---- <p>This namespace contains functions used to register event handlers for ! all objects.</p> <p><em>Methods</em></p> |
From: John W. <jwe...@us...> - 2009-10-05 23:11:32
|
Update of /cvsroot/dlsciences/sms-server-project/docs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19494/docs Modified Files: CHANGES.txt Log Message: added more details in the js api docs and upped the version for release 1.2.14 Index: CHANGES.txt =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/docs/CHANGES.txt,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CHANGES.txt 2 Sep 2009 17:45:49 -0000 1.17 --- CHANGES.txt 5 Oct 2009 23:11:23 -0000 1.18 *************** *** 3,6 **** --- 3,10 ---- ----------------------------------------------------------------------------- + Changes in v1.2.14 (released Oct 5, 2009) + - updated JavaScript client example 2 (coordinates with a new tutorial in the NSDL Wiki) + - added more details about each object in the JS API documentation page + Changes in v1.2.13 (released Sept 3, 2009) - added 'AAAS' and clarification to service documentation in a few places to make it more clear that the services |
From: John W. <jwe...@us...> - 2009-10-05 18:06:33
|
Update of /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11133/jsapi/api_v1/interactive_map Modified Files: strand_map_implementation.js Log Message: -fixed width rendering 2px adjustment in Firefox for top content (strandSelector, smsNavigation, etc) Index: strand_map_implementation.js =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/jsapi/api_v1/interactive_map/strand_map_implementation.js,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** strand_map_implementation.js 27 Jan 2009 22:42:06 -0000 1.10 --- strand_map_implementation.js 5 Oct 2009 18:06:23 -0000 1.11 *************** *** 68,79 **** function onPageLoad() { ! var strandSelector = $('strandSelector'); if(strandSelector && !isPrintView()) { strandSelector.update(strandSelectorHtml); ! onPageLoadSelector(); } - var strandMap = $('strandMap'); var defaultContent = $('defaultContent'); if(strandMap) { --- 68,104 ---- function onPageLoad() { ! var strandMap = $('strandMap'); var strandSelector = $('strandSelector'); if(strandSelector && !isPrintView()) { strandSelector.update(strandSelectorHtml); ! ! if( strandMap ) { ! var w = strandMap.getAttribute("mapWidth"); ! ! if(w){ ! frameWidth = Math.abs(w); ! var geckoOs = (browser.isGecko ? 2 : 0); ! if( frameWidth > 0 ) { ! if( $('smsMapTitleBar') ) ! $('smsMapTitleBar').setStyle( { width: frameWidth} ); ! if( $('smsNavigation') ) ! $('smsNavigation').setStyle( { width: frameWidth} ); ! if( $('strandSelector') ) ! $('strandSelector').setStyle( { width: frameWidth} ); ! if( $('customHeader') ) ! $('customHeader').setStyle( { width: frameWidth} ); ! ! frameWidth = frameWidth + geckoOs; ! if( $('strandMap') ) ! $('strandMap').setStyle( { width: frameWidth } ); ! //if( $('defaultContent') ) ! //$('defaultContent').setStyle( { width: frameWidth } ); ! } ! } ! } ! ! onPageLoadSelector(); } var defaultContent = $('defaultContent'); if(strandMap) { |
From: John W. <jwe...@us...> - 2009-10-05 18:04:39
|
Update of /cvsroot/dlsciences/sms-server-project In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv10962 Modified Files: build.xml Log Message: -updated for compatibility for Tomcat 6 Index: build.xml =================================================================== RCS file: /cvsroot/dlsciences/sms-server-project/build.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** build.xml 2 Oct 2009 23:05:55 -0000 1.23 --- build.xml 5 Oct 2009 18:04:27 -0000 1.24 *************** *** 61,68 **** <property name="BoLT.contextFile" value="context.xml"></property> <property file="../build.properties"/> ! <property file="${user.home}/build.properties"/> <property file="build.properties"/> ! <property name="BoLT.deploy.home" value="${BoLT.tomcat.home}/webapps/${context.name}"/> ! <!-- Default property settings - override in build.properties --> --- 61,73 ---- <property name="BoLT.contextFile" value="context.xml"></property> <property file="../build.properties"/> ! <property file="${user.home}/build.properties"/> <property file="build.properties"/> ! <property name="BoLT.deploy.home" value="${BoLT.tomcat.home}/webapps/${context.name}"/> ! ! <!-- Common lib at $TC_HOME/common/lib on TC5, $TC_HOME/lib on TC6 --> ! <property name="BoLT.tomcat.common.lib" value="${BoLT.tomcat.home}/common/lib"/> ! ! <!-- Server lib at $TC_HOME/server/lib on TC5, $TC_HOME/lib on TC6 --> ! <property name="BoLT.tomcat.server.lib" value="${BoLT.tomcat.home}/server/lib"/> <!-- Default property settings - override in build.properties --> *************** *** 121,129 **** </fileset> <!-- Including tomcat resources in classpath --> ! <pathelement location="${BoLT.tomcat.home}/common/classes" /> ! <fileset dir="${BoLT.tomcat.home}/common/lib"> <include name="*.jar" /> </fileset> ! <fileset dir="${BoLT.tomcat.home}/server/lib"> <include name="*.jar" /> </fileset> --- 126,133 ---- </fileset> <!-- Including tomcat resources in classpath --> ! <fileset dir="${BoLT.tomcat.common.lib}"> <include name="*.jar" /> </fileset> ! <fileset dir="${BoLT.tomcat.server.lib}"> <include name="*.jar" /> </fileset> |
From: S C. <sl...@us...> - 2009-10-05 14:58:58
|
Update of /cvsroot/dlsciences//sms-server-project/docs/jsapi/api_v1/example_clients/example2 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14190/docs/jsapi/api_v1/example_clients/example2 Modified Files: sms_basic_tutorial.zip index.html Log Message: increase the dimensions of the map and set default dimension Index: index.html =================================================================== RCS file: /cvsroot/dlsciences//sms-server-project/docs/jsapi/api_v1/example_clients/example2/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 2 Oct 2009 23:05:55 -0000 1.3 --- index.html 5 Oct 2009 14:58:46 -0000 1.4 *************** *** 10,14 **** <div id="contentArea"> <div id="strandSelector"></div> ! <div id="strandMap" mapColor="#E6E6FA" highlightColor="plum" mapHeight="400" mapWidth="600"></div> <div id="defaultContent" style="display:none;"><span class="titleText">Interactive Strand Map Viewer</span></nobr> </p> --- 10,14 ---- <div id="contentArea"> <div id="strandSelector"></div> ! <div id="strandMap" mapColor="#E6E6FA" highlightColor="plum" mapHeight="500" mapWidth="900"></div> <div id="defaultContent" style="display:none;"><span class="titleText">Interactive Strand Map Viewer</span></nobr> </p> Index: sms_basic_tutorial.zip =================================================================== RCS file: /cvsroot/dlsciences//sms-server-project/docs/jsapi/api_v1/example_clients/example2/sms_basic_tutorial.zip,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsyvYJhs and /tmp/cvsyIHxEV differ |