merge recent upgrade changes from 2.4 branch
look up guid when done setting access by docid so we can sync and refresh accesspolicy on MN and CN.
additional logging for set access
get guid from online id for call to SyncAccessPolicy
setAccessAction: get guid from passed in id for calls to SyncAccessPolicy, HazelcastService.refreshSystemMetadataEntry
example of how we can look up pid (guid) given a metacat docid.
remove sensorML from the catalog since we don't actually ship it (yet?)
Add in Darwin Core schema support into xml_catalog, and insert it on upgrade as well. The schemas are cached in lib/schema/dwc, and Matt and Ben noted that the tdwg_basetypes.xsd and tdwg_dwctypes.xsd are part of the same namespace, but are xs:include'd rather than imported via namespace.
include a few tests for isEqual method. https://projects.ecoinformatics.org/ecoinfo/issues/6407
Change isEqual to private so it can be used by test suite
Add DataONE, Dublin Core, and Dryad schemas during the 2.4.0 upgrade, and be sure to remove the appropriate entries before inserting to avoid duplicate rows.
Add schema support for the DataONE, dublin Core, and Dryad schemas. Schemas get downloaded into lib/schema priior to jar and dist targets, and get loaded into xml_catalog on installation.
move the postgres changes to the oracle version -- update note about not attempting to restore because no Oracle MNs exist.
do not include "sm" alias in the SET clause.
allow statements starting with 'WITH'
comment out the select statements so they do not run during real upgrade.
loosen the restriction on which archive flags we set to false -- if we have an obsoleted_by value then it need not be marked as archived.
add [partial] upgrade to the oracle script -- does not look for any records that the CN deleted because there are no Oracle-backed MNs at this time.
add comment (and commented out code) for possibly inspecting the /dirtySysMeta call for archive=true flag. https://projects.ecoinformatics.org/ecoinfo/issues/6417
only index event information for known events. https://projects.ecoinformatics.org/ecoinfo/issues/6346
call getDescription on cn.setaccesspolicy service failure
make all objects in a package publicly readable when published. https://projects.ecoinformatics.org/ecoinfo/issues/6415
Add the code to check if the docid contains the whitespaces in the handleInsertOrUpdate, handleUpload and handleInsertMultipartInsertAction methods.
make all package contents publicly readable when publishing with a DOI. https://projects.ecoinformatics.org/ecoinfo/issues/6415
Run syncAll in a single thread so admin config UI doesn't freeze
Change CnodeService.archive() to no longer broadcast MN.archive() calls to all of the replica MNs of a pid, but rather broadcast MN.systemMetadataChanged().
allow utf-8 user first/last names to be used in responses for: login, logout, validatesession, getprincipals.
Couple modifications:-use "pid" throughout so as not to confuse docids and pids-ensure any failures in the set do not prevent synching for other pids in the set
adjust whitespace for consistency
sync pids of <distribution><online> data objects with CN when their access rules change in EML 2.0.* <additionalMetadata>
restrict the archived=false update to revisions that still have current entries in the xml_documents table.
tested the restore insertions - adjusted for FK constraints. I was able to delete a document locally, then restore it, then update the document with a new revision as expected.
use 'with' query to find the most recent revision of an object that was archived. still want more feedback on the criteria.
Modified the usage.
continue to work on the criteria for selecting documents to restore.expanded the criteria for setting archived=false to include any revision that was already obsoleted_by somethign else.
correct syntax - add more criteria for selecting documents.
do not set sm.archived=true when generating system metadata for objects that come in via the old Metacat API.
draft of fix for erroneously archived documents - first discovered by LTER - but also applicable to other Metacat MNs that still use the Metacat API as of Jan 2014 CN changes.
Modify the usage message.
Use a DN name for the group in the usage message printout.
Fixed bug where sync'ing not working when CN had more access rules than MN
Sync access policy between MN -> CN when access rules are updated in EML 2.1+ for data object
Remove code to add the organzation in the search filter. This is not necessary since we use the dn as the search base. The code was not actually used but caused some problem.
use v2.4.0 for documentation and upgrade scripts.
can only log events with a valid localId.
Add a note to let users know where to run the script.
Add a note to let user know he/she should use single quotes to surround the hashed password.
edit some of the user management phrases. use UTF-8 for all returned XML. https://projects.ecoinformatics.org/ecoinfo/issues/6320
Use an array of a hash to keep the orgName/orgLabel pair.
Fixed a bug that AuthFile constructor didn't read the new value of the password file path from the metacat.properties.
Add the code to handle a runtime exception.
Add code to persist the properties in the group 3.
If the user doesn't exist in the password file, the auth configuration will give an error.
Add a method to get the user management url.
Pass the userManagementUrl to templates.
Fixed Exception declaration problem
minor changes to error msgs
When a docid's access policy is modified with metacat native api, update CN with the new access policy
Add a note to the administrator to tell the name format of groups and users.
Use the verity=>none for start_tls method on some search methods.These methods will search the referral servers, some of which is using self-signed certificate. There is a difficuty to verify it.The search methods don't have any critical data, so the down-grade doesn't have too much impact.
fix typos/compilation
Change to use AuthFile constructor.
Add code to check if groups is null.
Sync access policy between mn -> cn in case where metacat native ui being used to update ap on mn
Change the base directory location.
Consolidate the user/group utitlities code.
Change the element name in the user from "group" to "memberof".Fixed a bug that in groupadd.
Add methods to handle modify user's attributes.
Complete the method - handleUseradd.
Add code to handle useradd command.
Fixed a bug that showing illegal options in the groupadd command.
Add a double quotes at $@. This will make the any argument in the double quotes as one argument.
Pass all arguments to the java class.
Add a main method which will be used in the command line users management tool.
Add a script to help administor to manage usrs/groups.
Add the code to handle the organization name.
Add the getUserInfo method.
Add the common name, organization name and email into the getprincipal method.
Add some contants.
Add the description in the getGroups methods.
Add the common name and email address information into the getUsers method.
Fixed a bug that the method addUser didn't set password.
Change the code to use BCryptHash to protect password.
Unify solr indexing with an IndexTask that is added to the queue -- allows us to send more than just the systemMetadata to the indexer. Initially this is for READ event counts for each document. https://projects.ecoinformatics.org/ecoinfo/issues/6346
Add code to get user info and group info for an alias.
Add the code to handle the login action if it is an alias.
Add the methods to get the aliased dn through non-tls or tls.
Add a method to get the aliasedDn.
On changes to system metadata in CNodeService and DocumentImpl, increment the serialVersion.
(task #6297): sync pid(s) access policy between member node and coordinating node
Change CNodeService's archive() and delete() methods to only update Member Nodes in the replica list (not CNs!), since calling CN.archive() again would cause an infinite loop. Thanks for catching this Ben.
Update CNodeService.delete() and .archive() to handle situations where the pid is of formatType DATA, and therefore are not registered in the identifier table, and caused NotFound exceptions. For DATA objects, we just update the system metadata now, and for all other objects (METADATA, RESOURCE), we continue to use super.{delete()|archive()}. Also, log the delete/archive into the event log....
prep for 2.3.1 release
Remove the broadcastSystemMetadataChange() method since it was a duplicate of notifyReplicaNodes(). Consolidated now.
Add some log information.
retrieve the given file names (entityName) of the data files from the EML and use those for our file names in the BagIt content.
Change the BagIt file names to the pid+resource type. Create new Files instead of createTempFile to avoid the randomly generated numbers in the name.
Add a description element for the group.
Change the user id from the name to the uid.