Implement sending email reports to harvest administrator and site administrator
Patched to make the date-time value insertion work under oracle. Now ittests fine under both oracle and postgres. Still need to write anaccess/query function.
Added additional logging calls for read, upload, insert, update, delete, andother commands. Now need to get a reporting function working and thisbug 101 will be largely finished.
Modified EventLog to eliminate the separate revision column and instead foldthat into the docid string. Log now includes read events, but need to updatethe data sent there.
Modified SQL scripts to add the new access_log table. I've partially tested this under postgres but have not yet tested under oracle.
Reformatted code for readability and consistency.
Added javadoc that was missing for the EventLogData class.
Added classes for basic event logging support. These classes write log entries to the database connection. Still to do: query the event log, write oracle sql code (postgres is done), possibly allow the log to be archived to a text file, and possibly do the dtabase writes asynchronously via a caching mechanism.
Made change in result tag that is returned in getprincipals action. Replaced userdn with username.
Added GPL license text to harvester source files.
Fixed a bug the text filed in path xml query maybe splited.
Fixed a bug if a document already has index, but now metacat doesn't use index. If you try to delete this one, will cause error.
Clean up some code.
Revise the handle query and squery method, not finished yet.
Add a new transform method.
Add a new transferm method for string reader.
Implement harvester scheduing capabilities and sending email reports to the Harvester Administrator
Validate user input data in registration servlet
Improve authorization logic for single file uload servlet
Add delete capability to single file upload servlet
Set content type properly for getversion action.
Added a simple action for finding out the current metacat version. The information is pulled from the property file, so be sure to update the version in the property file before shipping a release.
Fixed a bug in the new recursive SQL statements that prevented them from operating on oracle. Now they should work on both oracle and postgres.
Reformatted source for readability and conformance.
Excluded the update of the xml_index table in insert,update, and delete if the usexmlindex option is set to false.
Reformatted DBQuery.java for readability and consistency.
Changed printAttributeQuery() to no longer depend on the xml_index table. Now, if useXMLIndex is false, the method will use a recursive query on xml_nodes to match paths instead of using xml_index.
Some refactoring of the printExtendedSQL() methods to eliminate redundancy in the code andto provide more readable documentation.
Moved decision about whether to use xml_index forquery to the metacat.properties as "usexmlindex". Defaultis now false. Still have some refactoring to do to remove afew more uses of the xml_index table.
Created new printExtendedSQL function that can get the extendedreturn fields using only xml_nodes and not xml_index. Onestep closer to eliminating the dependence ofn xml_index.
Created test class QuerySpecificationTest and started process of removing the xml_index from the QuerySpecification code. Reformatted some classes for readability.
Removed the "getdataguide" action as it was always experimental and is no longer used in metacat or morpho.
removed the 3 versions of printPackageSQL which are no longer used by metacat. This eliminates some dependency on xml_index.
Implement Harvester Registration Servlet
Additional scheduling logic
Changes to Harvester properties
Changes to log entries
Made changes in these three files so that getPrincipal returns back more details about users and groups. Users now contain userDN, user Name and user Email. Groups now contain Group name and Group description. So some function calls which returned single string array earlier now returns multiple string arrays. AuthSession.java called one of these functions - so accordingly changes were made to fix that part of the code.
Fixed a bug which doesn't occur everytime. The bug occurs when lastid in (cfg).lastid is not unique. i.e. there is already a document in the server which has same docid. The earlier algorithm was:
while(not unique){ get accession number; update accession number written in document; (BUG)...
Added extra parameters (cfg & docid) to be passed on to generic response screen.
made changes so that organization name for the site or project is entered beforeany other creater.
Fixed the bug for sessionid storing, revision couldn't be zero and Ldap DN is case sensitive.
Replaced Hash table with Vector of Vector datastructure in getting <param> from Query. This was done so that the results are represented in same order as they appeared in the document.
fixed a bug in reloading of kewords from an eml file for edit-datapackage form.
Fixed bug that version could not be zero in replication.
Minor changes to allow the registry to work in the knb skin, mainly inhow to treat the 'site' field. Now it is a free-text organizationfield in the KNB skin. Need to test, install this on ecoinfo and link itinto the KNB web pages.
Added subroutine for replacing characters that might create problem in HTML.Specifically written for "being used in any text field. This create aproblem in confirmData template, when you specify input name value pair with valuehaving a " in it.
Additional Harvester development
Made changes so that & and other characters dont mess up the url that is passed to metacat.
Additional development of Harvester implementation
Mixed a bug reported by Rick and Dan. The form inserted a organizationName tag with no value. This happened only in NCEAS as the tag was included from the drop down site list which doesnot exsist in NCEAS version. Hence, a empty tag was inserted in the eml document.
Bug 1301 - changes made for a repeatable add keyword button
Made changes to fix bug# 1326. The templateVar are now passed on to the responseTemplate also in case of error - so that it can show a link which will send all the values back to register-dataset.
Harvester source files
Did editing to support changes mentioned in bug 1295
Fixed hardcoded admin account so that it works with more than just OBFSRegistry.
Fixed registry bug involving a string comparison (used numericequality instead of string equality).
Removed unneeded Net::LDAP dependency. Now all authentication occursindirectly through Metacat.
Added skin for the UCNRS data registry based on earlier work. Minormodifications to the templates to accomodate this. Fixed a validationbug in the register-dataset.cgi, and removed an unnecessary Net::LDAPlogin as well because the authentication is handled by metacat.
Restoring AuthLdap to previous search filter. Determined that the problem wasa missing o: attribute in the UCNRS LDAP directory. Adding it in makes the oldmethod work. The change I had made caused some confusion about authenticationbecause using just uid for a filter caused too many return dn's, and it was just...
Fixed validation check for samplingDescription.
Changes to re-enable the nceas admindb access for the production install.
Removed some debugging test code that isn't needed.
Added studyExtent and samplingDescription fields to the registry to accomodateSandy's request for a temporalDescription field. This is a little more thanshe wanted, but it was needed to satisfy EML minimum requirements.
Modified LDAP authentication to support a lookup for the NRS system. Ifthe auth on the provided string fails as a DN, try to look up a newDN based on the UID. If we get a match, use that DN for auth and seeif that works. This allows us to use a referral within the...
Added taxonomic coverage and authority fields, and fixed a bug in reentrywith the methods fields. Now we are collecting information on all of theadditional fields Sandy requested except for a general temporal description,which doesn't fit neatly in EML. Will need to consider how to accomodate...
Added the ability to describe taxonomicCoverage to the registry. Thisallows an arbitrary number of species or other taxa to be listed, and theediting form can dynamically grow through a simple javascript approach(also used in Methods). Need to test thoroughly, and need to test on...
Added geographic description to the fields of data collected, as it isa required field and was being improperly defaulted to an empty string in theXML document. This is a new field for all registries.
Modifications to add "Methods" collection to the data registry, and tomake the forms HTML 4.0.1 valid (in an attempt to figure out some ofthe rendering and layout oddities I'm seeing).
New formatting and text for the NCEAS data registry.
Further changes to the registry scripts to support the NCEAS registrywith access to the project list fromthe admindb. Also, fixed a bug withthe script where creators were getting duplicated in the editing processaccidentally.
Modifications that allow working group entries to be put in as creators, anda whole bunch of re-formatting for horribly formatted code that I need toread to finish this thing up.
Updated registry further for NCEAS-specific needs. Confirm data templatenow handles new wg field. Still need to write WG metadata into EML document.
Additional work on the NCEAS/AdminDB integration. Working Groups nowpresented as a dropdown box for multiple selection. Need to write theinfo to the XML file now and handle it in confirmation template.
Preliminary changes to support the NCEAS data registry connection to theAdminDB to retrieve project lists.
Enabled stylesheet parameters to be passed through metacat even when the'query' function is called. Previously, query would interpret allparameters except a few hardcoded ones to be pathexpressions that should bebuilt into a squery. Now, metacat.properties contains a new configuration...
Updates that allow registry script to update the lastid field more efficientlyby calling the metacat 'getlastdocid' function for a given scope. Also somedebugging support added, and a bug where the error message was inproperlysaved across calls to metacat, resulting in spurious error messages.
Added new function "getLastId" to the Metacat.pm perl Metacat client. Returnsthe hisghest docid in use in a given scope.
Moved the metacat.properties file from the jar file to now be located inthe tomcat context directory in WEB-INF. Now the metacat configuration iseditable in place. This change depends on a new Options.java class in theutilities module, so be sure you do a "clean" build in metacat so that you...
Improvements to Harvester single file upload servlets
Remove email notification from registry script.
This is the merge from the branch WEB_UI_REDESIGN_BRANCH back into the head.The only files that have been removed are those in lib/style/eml2; other filesthat have been cvs removed (only from lib/ and lib/style) have been re-addedelsewhere (i.e. moved from one directory to another)....
Remove unneeded file Upload999.java
If the sessionid is null and user will be treated as public.
Get rid of doctype declare in transfer.
Set system id for transforming.
Modified a method and can be reused.
If db pool size is maxium and no connection is free. The checkout will be wait.
Add a checking for xml_nodes insert finished, then start build index table.
Remove UPPER function for >, < operator.
Add a new search mode not-contains.
Modified a debug Message.
Add a new method to find document from queryspecification.
Revise code so it can be called directly.
Revied the class.
New class will be used in metacat ecogrid impl.
Updated more tests on session reuse. Made the http calls set the sessionidexplicitly rather than relying on cookies being passed around statically.Still need to modify HttpMessage to get rid of the static cookie.
Renamed the upgrade sql files to more understandable names, updated thebuild file to include some new targets for running these files, andupdated the installation docs to clarify which upgrade scripts need tobe run and when.
New versions of the Metacat client API that allow access to the sessionIdso that a session can be reused over several different instances.