merge changes to accommodate multiple alternative identifiers into trunk from 2.6 branch.
Merge registry changes into the trunk.
Merge minor registry changes from the 2.6 branch back to the trunk.
refs https://github.nceas.ucsb.edu/KNB/arctic-data/issues/107
Add a fundingElement() method to insert the funding element into the generted EML. Ensure it is added to the template variables hash for maintaining state across stages.
refs https://github.nceas.ucsb.edu/KNB/arctic-data/issues/42
Fix a bug in testing the validity of the CGI Session. It can't be empty or expired.
Validate the session during the modification stage, rather than just assuming a CGI session (support tokens too).
Also, fix the XML document validation issue where an <additionalParty> element is added prior to the <metadataProvider> element. This seems to be an intermittent issue, and may be due to more recent versions of perl returning hash contents more randomly than previous versions. The %orig hash passed in to personnelList() is assumed to be random now, and I just ensured the metadataProvider is first in the produced string....
Modify getCredentials() to support token-based credentials.
We ended up not being able to use IO::Socket::SSL, so I removed the import statement. Also, add the new Perl module dependencies to the installation documentation.
Change getUsername() to also support adding usernames into an EML access element from the authentication token's 'sub' claim.Also, add a bit of debugging output for tracing the flow of the XML generation.
dd the hasValidAuthToken() method to determine if the current token (if any) is valid. Use this and validateSession() within the script to determine if we need to call Metacat->login() or not. Add some minor debugging to work through the code stages using auth tokens....
Fix a couple of syntax issues.
Don't forget to set the token variable from the HTTP_AUTHORIZATION environment variable.
Add a setAuthToken() method. when the HTTP_AUTHORIZATION environment variable is set, set the value as the `auth_token_header` instance variable in the Metacat instance passed in. This requires that the Apache installation includes an HTTP rewrite rule to pass the header on to an CGI processing the request. Call this method whenever we instantiate a Metacat object....
do not require site parameter if registry.show.siteList=false.https://projects.ecoinformatics.org/ecoinfo/issues/6687
use configured auth.base rather than hard-coded dc=ecoinformatics,dc=org. https://projects.ecoinformatics.org/ecoinfo/issues/6592
Login automatically via curl rather than manually entering the cookie info for the registry test script
Create a lock file for the registry if one doesn't exist
Allow the registry form to specify a docid scope
Only lock the local docid file when creating a new docid, not when inserting, for faster upload times. Remove extra debug messages from testing.
Fix bug in the online registry where data files were not using the new docid creation process
Lock a local file while docids are being created so multiple docs can be uploaded at once
Pass the userManagementUrl to templates.
always return the metacat logout form when calling the perl registry logout action, even when there is no perl session to invalidate -- needed for metacatui.
do not include default organization for the metacatui "skin"
correctly delete data file when we are done with it. https://projects.ecoinformatics.org/ecoinfo/issues/6007
send the original filename in the upload() method since that is supported by the Metacat API. https://projects.ecoinformatics.org/ecoinfo/issues/6007
remove the unique string when generating data file metadata. https://projects.ecoinformatics.org/ecoinfo/issues/6007
debugging. https://projects.ecoinformatics.org/ecoinfo/issues/6007
use File::Temp to write data files in registry. https://projects.ecoinformatics.org/ecoinfo/issues/6007
use correct test for PID param.
Allow use of PID instead of docid in the Perl registry. At least for reading/editing and deleting existing content. Does not create content using a pid. https://projects.ecoinformatics.org/ecoinfo/issues/5932
use 'allowFirst' for access rules. We have deprecated 'denyFirst' and deny rules in Metacat as of 2.0.0
handle https-only server configuration -- must pull resources from https not http for the skins etc.
ROLLBACK: check for non-public session in Metacat before showing the registry formhttp://bugzilla.ecoinformatics.org/process_bug.cgi
check for non-public session in Metacat before showing the registry formhttp://bugzilla.ecoinformatics.org/process_bug.cgi
use EML 2.1.1 and UTF-8
Merge 1.9.2 changes back into the trunk
Fix two issues: Remove State from 'Data Set Contact' section of confirmation form (part of #3922), and make sure when editing a document that email addresses are picked up appropriately (capitalization).
Get the latest revision from metacat when a modify call docid does not have a revision number.
remove extra open paren
When comparing lat and long ranges, make sure the values have content first. Perl values with no content = 0.
fix file name reference for skin configuration file
Further fixes to handle mixed-file uploads: - set the fileCount object based on upCount existing files - use ucount only if it exists; remove debugging' - the entry form javascript now correctly tracks the file numbers, and can be relied on instead of using upCount...
Display helpful error message when user lacks permissions to edit a document, supress the 'use Morpho' message (closes Bug #3928)
Three small fixes: - 'salutation' was misspelled and wasn't picked up correctly in document modificiation - keyword handling wasn't setting the thesaurus correctly - check against the full list of moderators for the ACL validation
Adding back fix for editing documents with multiple keywords, closing #3929
Add a short sleep when moderator accepts document so system can update. This will make sure correct documents get returned to moderators list.
A slew of fixes in the process of fixing bug #3679: - omit port number from the contextUrl if running on 80, looks bad in exposed URLs - explicitly pass the metacat object to newAccessionNumber, the global definition of the object had introduced a difficult to track bug...
- move moderatorComments into //additionalMetadata/metadata/ as per EML 2.1 (Bug #3679) - overlay skin-specific email properties on system-level properties (email hostname)
DRY out login request code
Ensure that file permission is always set. If unset, it'll cause the EML document to be invalid.
Complete implementation of otherEntity editing and deletion, syncronizing changes to EML document. Now all elements which are created by the form can also be edited (Bug #3319). Also prevented associated party duplication on modification.
only shift once; fix typo in writeFile
Fix issue with missing AdminDB parameters causing the registry script to fail (Bug #3741)
standardize registry debug messages with 'Registry:' prefix
Further fixes for allowing editing with otherEntity objects, completed deserialization and copying of file metadata from existing data objects (Bug #3319). Still needs more work.
fix typo preventing guide pages from showing (Bug #3726)
Don't die if the xml-debug file can't be written to the temporary directory. Instead, write a warning. Include the directions for making the temporary dir writable to the apache user in documentation.
Include error checking for required distribution elements, which must be non-empty strings in EML 2.1 (bug #3721).
Update moderators element to current token, fix undefined variable in ESA logic.
Number of ESA-related fixes: - fix review panel to reference valid URL using cgiPrefix - update ESA document creation to use XSLT methods instead of split() - add code for ESA access rules fix (to be used in 1.9.1) - use moderators in metacat.properties (postpone skin-based configuration till 1.9.1)...
Further ESA fixes: More 2.1.0 compliance, fix security issue
updated handleModAccept to be EML 2.1.0 compliant, streamlined document generation to use EML creation functions.
Update accessElement to accept a value for publicly readable
Add wrapper function for transforming XML documents to current EML, change ESA skin to use newAssessionNumber, parse EML document with query instead of split()
Add incrementRevision function to replace duplicated code
CODE FORMATTING ONLY: Fix all the inconsistencies I found within the script to follow the standards used within 80% of the code: No tabs, 'if (eval) {' operator spacing, four spaces indentation, replace exit(0) with exit().
add start of otherEntity processing for registry edits
Editing documents should check for ACL elements under //access now instead of //dataset/access
Transform EML 2.0.x documents to 2.1.0 which are found when editing with the registry, using an XSLT transformation.
Remove EML2 beta6 document conversion support, the files required for conversion have been deprecated from Metacat.
Update STMML to the newest version as per EML 2.1.0
Dump copy of EML document being uploaded when debug mode is enabled.
Partial fix for #3496, making the registry create EML 2.1.0 documents. The documents are internally valid 2.1.0 (they run against the validator correctly) but aren't inserting into Metacat correctly as of yet.
Further rework on ldapweb.cgi for 1.9 compatibility. Finished changes needed to have skinnable presentation for ldapweb.cgi, and reworked the organization logic to be compatible with our current method of storing the data (organization.* within metacat.properties).
Number of fixes, including removing all lastid code and replacing with a single function which always queries remotely instead of relying on lookups, solving #3019. Fixed parsing of spatial coordinates for site-based skins, removed dependency on AppConfig as we're fully using .properties files at this point.
Source the lib directory in the metacat application. This is the new location of Metacat.pm
Further improvements to the registry to properly support the new properties. Removed all variables previously passed around between forms which should always be available canonically from the skin.properties file and replaced with refences to properties value for the skin being used. Removed some cruft from both files, fixed mior issues mentioned in bug #3487.
Allow script to be run from command line, more token changes including all path changes for URLs and directories.
Consolidation of property names in register-dataset.cgi; returned runConfiguration to default true
Merge 1.9 changes into Head
Merge METACAT_1_8_1 to cvs head.
Modified the normalize subroutine - don't use 26 (url encoding) to replace x%x
Workaround for a bizzare submission issue stemming from the debug sub. Modified the NCEAS project list to be robust and rely on the presence of the AdminDB module and a working connection to the DB for listing projects.
Updated the ResponsibleParty object creation to be more robust. Now handles N MetadataProvider elements as expected.
refactored <access> and <allow> element creation. Added logic to give both owner and skin admin privilages to access uploaded data objects.
Cleaned up regexes used in register-dataset.cgi to support arbitrary numbers of elements for keywords. Cleaned up regexes for state selection, to omit default values. Added debug as a GET parameter, so a page can be debugged by appending `&debug=1'. Committed latest changes to file processing, to allow files to be deleted after returning to the entry page from confirmation or processing errors. Seperated out entryForm.js from entryForm.tmpl to simplify debugging.
Added submission of data files to the registry. New parameter 'hasUpload' can be set on a per-skin basis to enable the uploading of data objects to be associated with a metadata document. NCEAS skin is using this by default, to be changed in the future for other skins....
Getting project list from nceas admin db.
fixed bug that input form coudn't be shown.
Fixed bug that docid has no seperator in email.
Remove the rule that the access allow rule should equals three.
added function to get list of projects for NCEAS from a given project list
variable for showing instructions
added code to give access to moderator group on the review document
Added template for getting the review
Made changes so that the user is prompted to login before entering a dataset
Added functionality for storing comments and displaying them. Also added functionality for reading the eml document.
bugfixes in previous code and added functionality to store reviews on various documents...
modified mod_revise so that Revision Requested is added to the document in additionalMetadata/moderatorComment which can be used by the skin in searching for documents which havnt been requested for revision