Metacat: Issueshttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362016-01-11T17:49:07ZEcoinformatics Redmine
Redmine Task #6937 (Closed): Remove ant/source instructions for harvester documentationhttps://projects.ecoinformatics.org/ecoinfo/issues/69372016-01-11T17:49:07Zben leinfelderleinfelder@nceas.ucsb.edu
<p>We rarely have users deploying Metacat from source and should remove references to that from the harvester configuration and running documentation.</p> Bug #6936 (Closed): Harvester registration login redirects to incorrect locationhttps://projects.ecoinformatics.org/ecoinfo/issues/69362016-01-11T17:47:48Zben leinfelderleinfelder@nceas.ucsb.edu
<p>David Blankman reported this for Metacat 2.4.3.</p>
<blockquote>
<p>After a successful login using the default skin HarvestRegistrationLogin, one is returned to a page without the the context, for example, data.lter-europe.net/harvestRegistration rather than the correct URL: data.lter-europe.net/knb/harvestRegistration</p>
</blockquote> Bug #4637 (Resolved): Metacat Harvester fails to catch some insert and update failureshttps://projects.ecoinformatics.org/ecoinfo/issues/46372009-12-17T19:34:31ZDuane Costadcosta@lternet.edu
<p>Metacat Harvester is not catching all insert and update errors.</p>
<p>Recently at LTER, there have been a handful of documents that have been reported by Metacat Harvester as successful inserts or updates, but in fact the documents are not being successfully inserted or updated into Metacat. <br />The logical error is in method HarvesterDocument.putMetacatDocument(). The problem is that Harvester treats the absence of an exception as a success condition, when it should instead require hard confirmation of success from the Metacat client that the insert or update operation succeeded:</p>
<pre><code>if (harvester.connectToMetacat()) {<br /> try {<br /> if (insert) {<br /> metacatReturnString = metacat.insert(docidFull, stringReader, null);<br /> inserted = true;<br /> harvester.addLogEntry(0, docidFull + " : " + metacatReturnString, <br /> "harvester.InsertDocSuccess", <br /> harvestSiteSchedule.siteScheduleID, <br /> null, "");<br /> }<br /> else if (update) {<br /> metacatReturnString = metacat.update(docidFull, stringReader, null);<br /> updated = true;<br /> harvester.addLogEntry(0, docidFull + " : " + metacatReturnString, <br /> "harvester.UpdateDocSuccess", <br /> harvestSiteSchedule.siteScheduleID, <br /> null, "");<br /> }<br /> }<br /> catch (MetacatInaccessibleException e) {<br /> logMetacatError(insert, metacatReturnString, <br /> "MetacatInaccessibleException", e);<br /> }<br /> catch (InsufficientKarmaException e) {<br /> logMetacatError(insert, metacatReturnString, <br /> "InsufficientKarmaException", e);<br /> }<br /> catch (MetacatException e) {<br /> logMetacatError(insert, metacatReturnString, "MetacatException", e);<br /> }<br /> catch (IOException e) {<br /> logMetacatError(insert, metacatReturnString, "IOException", e);<br /> }</code></pre>
<p>Harvester does not check the value of the string returned by Metacat ('metacatReturnString' in the above code). In the cases where the insert/update operations have been failing, the return string is empty or null. Harvester should examine the return string to confirm that it contains the substring "<success>" or something similar.</p>
<p>The fact that no exception is thrown by Metacat could point to an additional problem in Metacat, since the insert/update operation completes without raising an exception even though the document is not inserted or updated. The documents that appear to trigger this condition are unusually large EML documents (currently there are three documents from CDR and one document from LUQ that trigger this bug).</p>
<p>After the Harvester bug is resolved, or as part of resolving it, further investigation should be done to determine whether there is also a Metacat bug involved here, and if there is, a separate bug entry should be entered for it.</p> Bug #4245 (In Progress): Harvester command line scripts don't executehttps://projects.ecoinformatics.org/ecoinfo/issues/42452009-07-13T21:55:42ZDuane Costadcosta@lternet.edu
<p>Metacat Harvester is normally launched as a Java servlet, but also has the option of being invoked manually from a pair of command-line scripts ('lib/harvester/runHarvester.bat' on Windows, 'lib/harvester/runHarvester.sh' on Linux). As of Metacat 1.9.x, execution of Metacat Harvester via the command-line scripts is not working.</p>
<p>Solution:<br /> 1. Additional dependencies need to be specified in the Java CLASSPATH:<br /> a. METACAT_LIB/log4j-1.2.12.jar<br /> b. METACAT_LIB/xalan.jar<br /> c. METACAT_LIB/postgresql-8.0-312.jdbc3.jar (for POSTGRESQL)<br /> 2. The Harvester.java class needs the following changes:<br /> a. Add support for log4j initialization in the 'main' method.<br /> b. In the 'loadProperties()' method, change the PropertyService constructor from 'PropertyService.getInstance();' to 'PropertyService.getTestInstance(configDir);' where 'configDir' is a relative path to the directory where 'metacat.properties' resides.</p>
<p>Note: The solution implemented to resolve this problem for Metacat Harvester will also be beneficial toward the implementation of the new Metacat OAI-PMH Harvester described in Bug <a class="issue tracker-1 status-2 priority-5 priority-highest" title="Bug: design and implement OAI-PMH compliant harvest subsystem (In Progress)" href="https://projects.ecoinformatics.org/ecoinfo/issues/3835">#3835</a>.</p> Bug #4243 (In Progress): Harvester db errors due to fixed character length overflowhttps://projects.ecoinformatics.org/ecoinfo/issues/42432009-07-13T16:59:04ZDuane Costadcosta@lternet.edu
<p>In a recent release of Metacat (1.9.0), the Harvester property names were<br />refactored to begin with the prefix 'harvester.'. Some of Harvester property<br />names are used as operation codes in metacat's 'harvest_log' table,<br />'harvest_operation_code' field, which is declared with a fixed length of 30<br />characters. The 'harvester.ValidateHarvestListSuccess' code is 35 chars, which<br />exceeds the limit and results in DB errors on record insertion during a harvest.</p> Bug #3367 (New): Harvester stores passwords in clear texthttps://projects.ecoinformatics.org/ecoinfo/issues/33672008-06-05T20:18:24ZChad Berkleyberkley@nceas.ucsb.edu
<p>The harvester stores the user's password in clear text in the database. Passwords need to be stored as md5s or use some other secure form of encryption.</p> Bug #1048 (Resolved): create delete from ldap table codehttps://projects.ecoinformatics.org/ecoinfo/issues/10482003-04-18T18:36:08ZDavid Blankmandblankman@lternet.edu
<p>Once the insert or update is successful, delete the record ffrom the ldap table.</p>
<p>need to capture the $emailalias value.</p>
<p>delete from LDAP where emailalias = $emailalias</p> Bug #1047 (Resolved): Create triggers on LTER tables for ldap inserthttps://projects.ecoinformatics.org/ecoinfo/issues/10472003-04-18T18:32:17ZDavid Blankmandblankman@lternet.edu
<p>Need insert and update triggers for person, contact, lter tables. to insert<br />records into LDAP table.</p> Bug #1046 (Resolved): LTER LDAP database coordination perl script changeshttps://projects.ecoinformatics.org/ecoinfo/issues/10462003-04-18T18:24:38ZDavid Blankmandblankman@lternet.edu
<p>need success and failure messages & rountines built into perl scripts since ldap<br />inserts will be done behind the scenes.</p>
<p>success log file: uid, date<br />failure email to ? information needed: uid, action status, error message</p>