DataONE Tasks: Issueshttps://redmine.dataone.org/https://redmine.dataone.org/favicon.ico2019-06-19T01:44:19ZDataONE Tasks
Redmine Infrastructure - Bug #8822 (New): Account queries in STAGE-2 failing from web browserhttps://redmine.dataone.org/issues/88222019-06-19T01:44:19ZBryce Mecummecum@nceas.ucsb.edu
<p>Steps to reproduce:</p>
<ol>
<li>Visit <a href="https://search-stage-2.test.dataone.org/">https://search-stage-2.test.dataone.org/</a></li>
<li>Log in</li>
<li>Navigate to <a href="https://search-stage-2.test.dataone.org/data">https://search-stage-2.test.dataone.org/data</a></li>
<li>Observe an HTTP 500 in the Network pane of whichever browser you're using to <a href="https://search-stage-2.test.dataone.org/cn/v2/accounts/?query=%7BYOUR_DN%7D">https://search-stage-2.test.dataone.org/cn/v2/accounts/?query={YOUR_DN}</a></li>
</ol>
<p>Response body:</p>
<pre><?xml version="1.0" encoding="UTF-8"?>
<error detailCode="500" errorCode="500" name="ServiceFailure">
<description>Internal Server Error: The server encountered an unexpected condition which prevented it from fulfilling the request.</description>
</error>
</pre>
<p>Some notes:</p>
<ul>
<li>I notice this in multiple browsers</li>
<li>I notice this only when the request is issued from MetacatUI, not when I visit the URL in my browser or hit it with curl</li>
<li>I don't notice this error on search.dataone.org</li>
<li>MetacatUI on search.dataone.org doesn't even issue this request</li>
<li>MetacatUI on stage-2 is at v2.4.2 and on search is at 2.6.1</li>
</ul>
<p>It seems like a bug to me that we see a service failure but I'm not sure if this is a MetacatUI bug or an issue in the CN stack (i.e., Apache config or something) but I wanted to file it for someone to take a look.</p>
Infrastructure - Decision #8693 (In Progress): Support Google Dataset Search on search.dataone.or...https://redmine.dataone.org/issues/86932018-09-07T00:16:59ZBryce Mecummecum@nceas.ucsb.edu
<a name="Background"></a>
<h2 >Background<a href="#Background" class="wiki-anchor">¶</a></h2>
<p>Yesterday, <a href="https://toolbox.google.com/datasetsearch" class="external">Google Dataset Search</a> launched. We previoiusly attempted to make MetacatUI (and by extension, DataONE Search) compatible with it by <a href="https://github.com/NCEAS/metacatui/issues/482" class="external">injecting Schema.org JSON-LD into appropriate pages</a>. During development and testing, we checked our compatibility with the upcoming Google Dataset Search using Google's <a href="https://search.google.com/structured-data/testing-tool" class="external">Structured Data Testing Tool</a>. During development, this was all working fine and the feature appeared to be compatible but, after launching the feature on search.dataone.org, behavior changed on Google's end making it so Google no longer saw this JSON-LD. The reason for this is likely that, because MetacatUI follows a single page application architecture and we inject the JSON-LD on the client side, Google's JSON-LD crawler only saw what was sent from the server (a nearly empty index.html) and not our full page (with JSON-LD). I was able to test this theory and, while Google's crawler does execute JavaScript, it limits execution to about or exactly five seconds and MetacatUI <em>usually</em> doesn't finish injecting JSON-LD and rendering all content until after that timeout.</p>
<p>Potential paths forward to get DataONE Search compatible with Google's Dataset Search include (none of which are mutually exclusive):</p>
<ol>
<li>The assets that make up MetacatUI and the asset loading strategies could be optimized: <a href="https://github.com/NCEAS/metacatui/issues/224">https://github.com/NCEAS/metacatui/issues/224</a></li>
<li>Move the code (and any dependencies) that injects JSON-LD further up in the app boot so that Google sees it</li>
<li>Inject the appropriate JSON-LD on the server side to guarantee that Google sees it (originally Matt Jones' idea!)</li>
</ol>
<p>(1) is being worked on for sure, and (2) may not be needed if (1) is successful. I want to talk about option (3) because:</p>
<ul>
<li>It's a quicker solution (I already have something working) which would help get us involved in the project faster</li>
<li>It paves the way for future features and/or improvements to MetacatUI (we could be rendering more on the server side than just JSON-LD, like other metadata, more page content, etc)</li>
</ul>
<a name="What-I-did"></a>
<h2 >What I did<a href="#What-I-did" class="wiki-anchor">¶</a></h2>
<p>To test this idea, I modified a <a href="https://github.com/amoeba/backbone-pushstate-example" class="external">previous project</a> which is just a simple Node (Express.js) app that hosts MetacatUI by intercepting every request and serving the appropriate asset. In injects Schema.org JSON-LD, when appropriate, by querying the CN Solr index before sending MetacatUI's index.html to the client. <a href="https://github.com/amoeba/metacatui-ssr" class="external">Code is here</a> and its deployed <a href="http://neutral-cat.nceas.ucsb.edu/" class="external">here</a>. View source on any /view/... pages and you'll see a minimal Schema.org/Dataset description in the head. More properties can be added later. I did it quick and dirty: The app pre-loads MetacatUI's index.html as a <code>String</code> at app boot and injects the JSON-LD into it. No templating language or other magic.</p>
<a name="Things-to-address"></a>
<h2 >Things to address<a href="#Things-to-address" class="wiki-anchor">¶</a></h2>
<ul>
<li>How do we feel abouts switching from hosting MetacatUI via Apache (simple, bullet proof) to a Node based deployment just to support this feature (new territory, at least for me)?</li>
<li>If we do switch, we'd want to make really sure the Node app doesn't have weird failure cases where it doesn't return index.html (e.g., when Solr is down, or slow). The app needs to return index.html (and every other static asset) on every request and do it very fast and we should decide what the cutoff is so that it doesn't hold up app boot if Solr is slow/down.</li>
<li>Can this type of deployment easily be integrated with CN buildouts? I've deployed Node apps before by fronting them with Apache/nginx (via reverse proxy) and then keeping the node process up with Upstart</li>
<li>Is this performant enough for DataONE? I think my implementation is non-blocking but I'm not a Node expert so we'd want to code review and probably benchmark </li>
<li>We could wait on (1) and stick with our current deployment strategy</li>
</ul>
<a name="Other-notes"></a>
<h2 >Other notes<a href="#Other-notes" class="wiki-anchor">¶</a></h2>
<p>Unrelated to the Google Dataset Search issue but related to Google's crawling for Google Search, we've also identified:</p>
<ul>
<li>That the Metacat View Service is often unreasonably slow: <a href="https://github.com/NCEAS/metacat/issues/1234">https://github.com/NCEAS/metacat/issues/1234</a> and are planning to figure out why</li>
<li>That we can and should make use of sitemaps to help Google crawl our pages: <a href="https://github.com/NCEAS/metacat/issues/1263">https://github.com/NCEAS/metacat/issues/1263</a></li>
</ul>
DataONE API - Bug #7684 (New): Call to MNStorage.update() via REST API returns java.lang.StackOve...https://redmine.dataone.org/issues/76842016-03-21T23:07:39ZBryce Mecummecum@nceas.ucsb.edu
<p>I was trying to update an object via the REST API via cURL and forgot to enter the correct URL. The cURL command I used and response is:</p>
<p>$ curl -X PUT -H "Authorization: Bearer $TOKEN" -F "pid=resourceMap_doi:10.5065/D6G44NFV" -F "object=@object.xml" -F "sysmeta=@sysmeta.xml" -F "newPid=resourceMap_doi:10.5065/D6G44NFV_v3" $URL<br>
<?xml version="1.0" encoding="UTF-8"?><br>
java.lang.StackOverflowError<br>
</p>
<p>Where $URL was '<a href="https://arcticdata.io/metacat/d1/mn/v2/object">https://arcticdata.io/metacat/d1/mn/v2/object</a>' instead of '<a href="https://arcticdata.io/metacat/d1/mn/v2/object/resourceMap_doi:10.5065/D6G44NFV">https://arcticdata.io/metacat/d1/mn/v2/object/resourceMap_doi:10.5065/D6G44NFV</a>'</p>
<p>I expected to receive some sort of warning/error that I had forgotten to specify the URL properly for this call but instead saw a StackOverflowError.</p>
Member Nodes - MNDeployment #3684 (New): Branner Earth Sciences Library - Stanford Universityhttps://redmine.dataone.org/issues/36842013-03-22T16:57:33ZLaura Moyerslmoyers1@utk.edu
<p>From DataONE website "contact us" – Want to be DUG member</p>
<p>Website: <a href="http://www-sul.stanford.edu/depts/branner/">http://www-sul.stanford.edu/depts/branner/</a><br>
Entity: Branner Earth Sciences Library – Stanford University<br>
POC: <a href="mailto:winklerh@stanford.edu">winklerh@stanford.edu</a><br>
Date of inquiry: 7/25/12<br>
Responder: Andrew Sallans<br>
Date of response: 8/24/12<br>
Response: You're added. Info on DUG.</p>
Member Nodes - MNDeployment #3680 (New): Federal University of Pernambuco, Brazilhttps://redmine.dataone.org/issues/36802013-03-22T16:54:01ZLaura Moyerslmoyers1@utk.edu
<p>From DataONE website "contact us" – Hope to contribute data</p>
<p>Website: <a href="http://www.ufpe.br/english/">http://www.ufpe.br/english/</a><br>
Entity: Federal University of Pernambuco, Brazil<br>
POC: <a href="mailto:felipe.plmelo@ufpe.br">felipe.plmelo@ufpe.br</a><br>
Date of inquiry: 3/29/12<br><br>
Responder:<br><br>
Date of response:<br><br>
Response: </p>
Member Nodes - MNDeployment #3633 (New): Bay Delta Member Nodehttps://redmine.dataone.org/issues/36332013-03-01T15:42:38ZJohn Cobbjohnw.cobb+dataoneRM@gmail.com
<p>MN lead from Bob Cook at the AGU meeting.</p>
<p>The following note is from a January 21, 2013 e-mail</p>
<p>Hi Mike and John</p>
<p>Have you seen this?</p>
<p>Bay Delta Live:<br>
<a href="http://www.baydeltalive.com/">http://www.baydeltalive.com/</a></p>
<p>At AGU, I met one of the staff who run the data system behind this Web site (pulling data from various sources in near real time) and visualizing for resource managers.</p>
<p>They are interested in becoming a DataONE Member Node.</p>
<p>Attached is a talk they sent: </p>
<p>Something worth considering!<br>
Bob</p>
Member Nodes - MNDeployment #3628 (New): Harvard Filtered Push MNhttps://redmine.dataone.org/issues/36282013-02-28T18:27:18ZJohn Cobbjohnw.cobb+dataoneRM@gmail.com
<p>During the NSF REverse Site Visit on 20130228, Bill Michener mentoined that he had had conversations with the Harvard Filtered Push as a potential MN.</p>
Member Nodes - MNDeployment #3520 (New): ARCTOS Collaborative Collection Management Solutionhttps://redmine.dataone.org/issues/35202013-01-25T19:33:16ZRebecca Koskelarkoskela@unm.edu
<p>Arctos is a collaborative Collection Management Information System that currently serves over 1.7 million records from multiple natural history collections. The data reside in an Oracle database administered by the Texas Advanced Computing Center. We are looking for off-site options for data backup and disaster recovery, and would like to discuss the possibility of partnering with DataONE for this purpose. Perhaps we can set up a conference call to discuss this?</p>
<p>Contacts:Carla Cicero <a href="mailto:ccicero@berkeley.edu">ccicero@berkeley.edu</a> <br>
Dusty McDonald <a href="mailto:dustymc@gmail.com">dustymc@gmail.com</a>,<br>
Chris Jordan <a href="mailto:ctjordan@tacc.utexas.edu">ctjordan@tacc.utexas.edu</a>,<br>
Link Olson <a href="mailto:leolson@alaska.edu">leolson@alaska.edu</a>,<br>
Gordon Jarrell <a href="mailto:gordon.jarrell@gmail.com">gordon.jarrell@gmail.com</a></p>
<p>Conference Call on 24 January 2013</p>
Member Nodes - MNDeployment #3519 (New): Prairie Research Institutehttps://redmine.dataone.org/issues/35192013-01-25T19:03:58ZJohn Cobbjohnw.cobb+dataoneRM@gmail.com
<p>on 20130125 LT call, Dave V. mentioned a conversation with Randy Butler about the Prarie Research Institute.</p>
<p>The following is a snippet form ePad <a href="http://epad.dataone.org/2013Jan25-LT-VTC">http://epad.dataone.org/2013Jan25-LT-VTC</a></p>
<p>Discussion with Randy Butler also touched on interest by the various Illinois Surveys (Prarie Research Institute) (e.g. Natural History Survey, Geological Survey, Hydrological Survey) on how they can participate in DataONE, perhaps as a set of Member Nodes. NH Survey likely to be the first candidate according to Randy ("endangered data").</p>
Member Nodes - MNDeployment #3241 (New): ALA - Atlas of Living Australia member nodehttps://redmine.dataone.org/issues/32412012-09-07T01:46:59ZDave Vieglaisdave.vieglais@gmail.com
<p>The Atlas of Living Australia has been identified as a potential member node. This issue track progress towards that goal.</p>
<p>ALA - <a href="http://www.ala.org.au/">http://www.ala.org.au/</a></p>
Member Nodes - MNDeployment #3240 (New): AZGS - Arizona Geological Survey member nodehttps://redmine.dataone.org/issues/32402012-09-07T01:45:24ZDave Vieglaisdave.vieglais@gmail.com
<p>The Arizona Geological Survey (AZGS) has been identified as a potential member node. This issue track progress towards that goal.</p>
<p>Lee Allison has been identified as an initial contact.</p>
<p><a href="http://www.azgs.az.gov/">http://www.azgs.az.gov/</a></p>
Member Nodes - MNDeployment #3176 (New): QUT member nodehttps://redmine.dataone.org/issues/31762012-09-05T01:45:37ZDave Vieglaisdave.vieglais@gmail.com
<p>The node is described as "Queensland University of Technology, Australian supersite network"</p>
Infrastructure - Task #1585 (New): add exec-maven-plugin to trigger python integration tests at v...https://redmine.dataone.org/issues/15852011-05-23T22:34:17ZRob Nahfrnahf@epscor.unm.edu
<p>see:</p>
<p><a href="http://steveberczuk.blogspot.com/2009/12/continuous-integration-of-python-code.html">http://steveberczuk.blogspot.com/2009/12/continuous-integration-of-python-code.html</a><br>
and<br>
<a href="http://mojo.codehaus.org/exec-maven-plugin/examples/example-exec-using-plugin-dependencies.html">http://mojo.codehaus.org/exec-maven-plugin/examples/example-exec-using-plugin-dependencies.html</a></p>
Infrastructure - Task #991 (New): implement HEAD /resolve/<guid>https://redmine.dataone.org/issues/9912010-10-11T17:41:17ZRob Nahfrnahf@epscor.unm.edu
<p>The resolution service supports the HEAD method:<br>
HEAD Returns basic information resolve response document<br>
Last-Modified: Date the resolve information was last updated for that identifier. This is helpful to clients that may cache resolve responses.</p>
Infrastructure - Task #817 (New): Integration testing: Make Java and Python stack return values e...https://redmine.dataone.org/issues/8172010-09-02T15:58:30ZRoger Dahldahl@unm.edu
<p>This is derived from the <a class="issue tracker-5 status-5 priority-5 priority-high3 closed" title="Task: post initial WBS for CCIT from the management meeting to the SVN/Collab site (Closed)" href="https://redmine.dataone.org/issues/8">#8</a> integration test, "Do the Java Stacks and Python stacks return the same thing for the same object?" This seems to focus on the get call, but I think all aspects of the stacks need to be compared and the differences fixed. A week may be a conservative estimate for this.</p>