index the ORE after we submit the metadata for indexing. https://projects.ecoinformatics.org/ecoinfo/issues/6520
include BioPortal lookup for Entity matches using the data table description. TODO: only associate measurements to the entity observation if they apply.
Index the document after it has been inserted.
Index the document after document is written to the db.
check for null entities and/or attributes (typically when otherEntity is being used in EML).
remove extra space in log message
attribute the datapackage to the creator (using orcid if we can find it). https://projects.ecoinformatics.org/ecoinfo/issues/6267https://projects.ecoinformatics.org/ecoinfo/issues/6423
add test for BioPortal annotator service.
refactor web service calls to bioportal and orcid outside of the annotator class. test with orcid sandbox server. include orcid uri for the annotations being generated (we can index these and drive our searches on these values down the road). related to this: https://projects.ecoinformatics.org/ecoinfo/issues/6423 and also some semtools tasks.
remove leading '?' in the query parameter for MN.query() implementation. We want it to match CN behavior/expectations and comply with the DataONE specification for the interface. https://projects.ecoinformatics.org/ecoinfo/issues/6488
Use OBOE-SBC ontology for looking up concepts (it contains subclasses of our OBOE Characteristic and Standard superclasses). Restrict annotations to only subclasses that fit the OBOE model. Correct the xpointer and individual naming conventions so they are unique, but express the exact entity/attribute being annotated.
remove my api key. oops
add comment/pointer to BioPortal annotation service.
Include method to look up annotation classes from BioPortal. We still have OBOE-SBC in there, and theyhave the SWEET ontology. The suggestions returned are not perfect, but they can be better than nothing. Ideally, we'd only query a few ontologies so we don't end up using terms from medical ontologies that aren't really appropriate for our domain. https://projects.ecoinformatics.org/ecoinfo/issues/6256
Add xpointer FragmentSelectors to each annotation.Split attribute label into tokens to attempt matching to OBOE concepts.
include code to generate random annotations for UI testing. Effective, but can be confusing to see so many unrelated concepts on duplicate EML packages.
Remove the code to lookup alias dn in the getGroups method.
Rather than directly to modify the env, we use context.addToEnv.This fixed a bug in non-tls env, the alias log-in doesn't work.
first pass at generating annotations from EML attribute information. uses the OpenAnnotation model that the metacat-index tests assume which allows us to populate dynamic index fields for the annotation class[es]. There is still much to be done with finding appropriate concepts for each attribute. https://projects.ecoinformatics.org/ecoinfo/issues/6256
support content from all serverLocations when summarizing entity info (semtools)
allow "+" in solr query syntax. https://projects.ecoinformatics.org/ecoinfo/issues/6435
include read events when re-indexing obsoleted objects. https://projects.ecoinformatics.org/ecoinfo/issues/6424
Set the userManagementURL property.
In the authenticate method, if metacat can't get user info, the login still can be successful.
change a log information.
In the getALiasedName method, the referral set to ignore. Since the alias name is the local referral, we need to set it to ignore.
recursively submit obsoleted objects for indexing when instructed. https://projects.ecoinformatics.org/ecoinfo/issues/6424
First pass at a class for summarizing attribute information for analysis. (semtools) https://projects.ecoinformatics.org/ecoinfo/issues/6256
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.
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
allow statements starting with 'WITH'
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
sync pids of <distribution><online> data objects with CN when their access rules change in EML 2.0.* <additionalMetadata>
Modified the usage.
do not set sm.archived=true when generating system metadata for objects that come in via the old Metacat API.
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.
can only log events with a valid localId.
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
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.
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.
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
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 main method which will be used in the command line users management tool.
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....
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.