Made changes to fix 1301. Works fine with eml2 - need to check if works with emlbeta6.
Refactored a number of methods to allow for more effective JUnit testing
Made changes to control whether a skin wants to use keywords or not. Keywords probably will be used by all skins alsways. But similar changes can be made for Geographic Coverage or Temporal COverage to control whether a particular section of the insert data template needs to be shown or not. This can be controlled from .cfg file. For example, in nceas.cfg is you define hasKeyword = false, none of the templates will show the keyword part. (Unless, you are using NCEAS skin and you try to modify a document which already has keywords.)
Removed beta6 specific code which is no longer being used.
Removed repetition of code. Also fixed the link to the modified file submitted from responseTemplate
Changes to comments
Replace Harvester dbDriver property with database property
Added ou also to getprincipal output. So now organizationUnitName is also returned in getprincipal output.
Made changes so that PISCO and NRS trees are also returned in getPrincipals action.
Allow user to set frequency to 0 for testing purposes
Modify schema location
Fixed getprincipals output. Earlier DNs for LTER were in URL form. Now they appear in DN form.Earlier:ldap://knb.lternet.edu:389/DN,baseNow:DN
Have to make changes so that PISCO and NRS also show up.
Fixed two small bugs.
Made changes in XML that is sent back as result of action=getprincipals. Changes are as following:
1. <authSystem> tag contains organization attribute which specifies organization name2. <user> tag now has <organization> tag which specifies the organization name of the user. This is being generated as null for LTER as of now.
Perl script for transfering documents from one metacat to another metacat. list_of_docids contains list of names of the documents that will be transfered.
Rename url property to defaultDB
Added the EventLog functionality to the servlet as action=getlog. Valid parameters are ipAddress, principal, docid, event, start, end. All parameters can be repeated except start and end.
Correct minor problems with foreign keys in Harvester tables
Partial implementation of a query facility for the access log. Need to fix problems with the date filtering, and tie this into the servlet action when completed and tested.
Interim checkin of EventLog reporting structure. Still basically incomplete but compiles.
Add three new Harvester tables
Omit HARVEST_OPERATION_TABLE and store harvest operations in properties file instead
Fixed the returndoctype bug in DBQuery as described in bug 1451. Now,results are returned even if returndoctype is null, which is theappropriate behavior.
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.