Difference between revisions of "EPrints 3.4.4"
(→Changes Since 3.4.3: Fixes broken link syntax) |
(→Changes Since 3.4.3: Added changes up to 14th April 2022.) |
||
Line 19: | Line 19: | ||
* Adds function to check whether a dataset with a particular ID actually exists. | * Adds function to check whether a dataset with a particular ID actually exists. | ||
* [https://github.com/eprints/eprints3.4/issues/201 Adds <tt>redo_hash</tt> option to <tt>epadmin</tt> to allow MD5 hash of files to be recalculated]. (E.g. If something when wrong with this originally). | * [https://github.com/eprints/eprints3.4/issues/201 Adds <tt>redo_hash</tt> option to <tt>epadmin</tt> to allow MD5 hash of files to be recalculated]. (E.g. If something when wrong with this originally). | ||
+ | * [https://github.com/eprints/eprints3.4/issues/202|Adds EPC tag <tt>list</tt> and EPScript functions <tt>dumper</tt>, <tt>to_dataobj</tt> and <tt>subproperty</tt>]. | ||
==== Security and Privacy Improvements ==== | ==== Security and Privacy Improvements ==== | ||
Line 26: | Line 27: | ||
* Ensures workflow cannot update a data object with anything other than a <tt>POST</tt> request. | * Ensures workflow cannot update a data object with anything other than a <tt>POST</tt> request. | ||
* [https://github.com/eprints/eprints3.4/issues/199 Adds monitoring for login attempts for better intrusion detection]. Stored as hierarchical log files (e.g. <tt>2022/04/13/</tt>) in <tt>login_attempts</tt> sub-directory of archive's <tt>var/</tt> directory. | * [https://github.com/eprints/eprints3.4/issues/199 Adds monitoring for login attempts for better intrusion detection]. Stored as hierarchical log files (e.g. <tt>2022/04/13/</tt>) in <tt>login_attempts</tt> sub-directory of archive's <tt>var/</tt> directory. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/208 Creators/editors ID should not (by default) be exportable for better GDPR]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/194 Adds repositpry function that says whether current request is for a preview]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/216 Allows review buffer to be skipped just for eprints of certain owners]. (Rather than binary choice of to skip buffer for all or no eprints). | ||
==== General Improvements ==== | ==== General Improvements ==== | ||
Line 50: | Line 54: | ||
* Provides a more Accessibility compliant version of <tt>limit_names_shown.pl</tt>. | * Provides a more Accessibility compliant version of <tt>limit_names_shown.pl</tt>. | ||
* Extricates PrototypeJS from core codebase into ingredient, so in future JavaScript library of choice could be used. '''You may need to manually update your <tt>flavours/pub_lib/inc</tt> file.''' | * Extricates PrototypeJS from core codebase into ingredient, so in future JavaScript library of choice could be used. '''You may need to manually update your <tt>flavours/pub_lib/inc</tt> file.''' | ||
+ | * [https://github.com/eprints/eprints3.4/issues/203 Allows PubMed and DOI import plugins to set corporate creators]. | ||
+ | * Allows DOI import plugin to set ORCIDs for creators, editors and contributors. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/200 Modifies <tt>requester_user_agent</tt> column for access table to use <tt>LONGTEXT</tt> rather than <tt>VARCHAR(255)</tt> so long user agent strings do not get set as <tt>NULL</tt>]. (Only update existing archives' access database tables if <tt>NULL</tt> values for <tt>requester_user_agent</tt> have been discovered). | ||
+ | * Replaces old DOI import plugin with newer version that uses UNIXREF import source. | ||
+ | * Allows PubMed import plugin to set <tt>id_number</tt> with most significant ID, (doi > pubmed > pii). | ||
+ | * [https://github.com/eprints/eprints3.4/issues/207 Removes hard-coding of citation style to use]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/189 Adds upload URL field for documents and warns users if file not uploaded properly]. (This should both make it easy to debug upload issues and reduce the chances eprints will failed documents uploads being moved to the live archive). | ||
+ | * [https://github.com/eprints/eprints3.4/issues/209 Switches between <tt>department</tt> and <tt>divisions</tt> as default advanced search field]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/181 Allows top of subjects based view ot be different to field's <tt>top</tt> subject] | ||
==== Bug Fixes ==== | ==== Bug Fixes ==== | ||
Line 104: | Line 117: | ||
* Removes duplicate definition of <tt>$c->{make_orderkey_ignore_extras}</tt>. | * Removes duplicate definition of <tt>$c->{make_orderkey_ignore_extras}</tt>. | ||
* Removes <tt>dc:doi</tt> element that does not exist in Dublin Core use <tt>dc:identfier</tt> <tt>dc="dcterms:doi"</tt> attribute instead. | * Removes <tt>dc:doi</tt> element that does not exist in Dublin Core use <tt>dc:identfier</tt> <tt>dc="dcterms:doi"</tt> attribute instead. | ||
− | + | * [https://github.com/eprints/eprints3.4/pull/204 Fixes separator characters used to parse a date]. (To include a space used in EPrints typically format and the letters T and Z used in the ISO 8601 date and time format). | |
+ | * [https://github.com/eprints/eprints3.4/issues/196 Ensures appropriate default values are set for <tt>allow_null => 1</tt> fields for compatibility if strict rules enforced on MariaDB 10.x]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/213 Fixes bug with <tt>EPrints::System::sanitise if used in no CGI context], (e.g. in a bin script). | ||
+ | * [https://github.com/eprints/eprints3.4/issues/211 Fixes various bugs with <tt>/cgi/cal</tt> resource]. | ||
[[Category:Eprints3.4]] | [[Category:Eprints3.4]] | ||
[[Category:Planned Releases]] | [[Category:Planned Releases]] |
Revision as of 21:57, 17 April 2022
This page contains information about the provisional EPrints v3.4.4 tag and release on GitHub. A date for this release is planned for the end of June 2022.
Contents
Provisional Release Notes
- Zero codename: To be determined
- Publications flavour codename: To be determined
New Dependencies
None. Check earlier dependencies for EPrints 3.4.3 and before.
Changes Since 3.4.3
New Functionality
- Adds new script to about unit test results in JUnit format to better support use with Continuous Integration applications (e.g. Jenkins).
- Adds function $document->get_derived_versions to get derived documents, such as preview and thumbnail images.
- Allows custom list of fields for meta tags in summary pages.
- Allows parts of the subject tree to be expanded by default.
- Allows top of subjects based view to be different from field's top. (E.g. have a browse view for a sub-division of the organisation rather than the whole organisation).
- Adds show_timestamps_in_log config option to log.pl config files.
- Adds --reload flag to generate_static to also reload the repository configuration. This ensure changes to both static pages and templates are applied at the same time.
- Adds function to check whether a dataset with a particular ID actually exists.
- Adds redo_hash option to epadmin to allow MD5 hash of files to be recalculated. (E.g. If something when wrong with this originally).
- EPC tag list and EPScript functions dumper, to_dataobj and subproperty.
Security and Privacy Improvements
- Ensures render_fileinfo always uses https URLs if enabled. So files can be downloaded securely.
- Allows EPrints::System::proc_exists to work when SELinux is enforcing.
- Ensures access settings (i.e. security field) of all derived versions of a document are updated when the document's access settings are updated.
- Ensures workflow cannot update a data object with anything other than a POST request.
- Adds monitoring for login attempts for better intrusion detection. Stored as hierarchical log files (e.g. 2022/04/13/) in login_attempts sub-directory of archive's var/ directory.
- Creators/editors ID should not (by default) be exportable for better GDPR.
- Adds repositpry function that says whether current request is for a preview.
- Allows review buffer to be skipped just for eprints of certain owners. (Rather than binary choice of to skip buffer for all or no eprints).
General Improvements
- Includes check of dark_document dataset before assuming no document in certain position on eprint is present.
- Allows bespoke function ultimate_doc_pos to be defined to work out position for new document, if eprint can use more than one document dataset (e.g. document and dark_document).
- Allows saved search alerts to go to additional recipients.
- Adds title phrase and warning to /cgi/set_lang if it were ever to be called without an immediate redirect.
- Allows CSS to be applied to specific subjects in a tree of Subject field.
- Send test email multiple recipients.
- Adds high resolution timestamps to database debug lines.
- Deal better with field type mismatches in SWORD POST requests.
- Allows epadmin reindex, recommit, redo_thumbnails and redo_mime_type to specify a range / multiple eprints
- Add timestamps to significant error messages.
- Allows distinctby search condition if fields if they are sub/super classes (i.e. types) of each other.
- Adds DOIs to OAI_UKETD_DC export plugin.
- Makes progress on improving Pod documentation in code files to update API wiki pages.
- Removes no longer implemented misc.pl configuration settings.
- Merges all RDF URI configuration files to tidy into a single file.
- Merges user_password_maxlength.pl into user_auth_limits.pl.
- Removes flowplayer as Flash is no longer supported.
- Removes defunct <t>ie6.css stylesheet file.
- Replaces old bespoke theme with leaner example theme.
- Ensures summary page EPrint::Box plugins have unique class for CSS.
- Provides a more Accessibility compliant version of limit_names_shown.pl.
- Extricates PrototypeJS from core codebase into ingredient, so in future JavaScript library of choice could be used. You may need to manually update your flavours/pub_lib/inc file.
- Allows PubMed and DOI import plugins to set corporate creators.
- Allows DOI import plugin to set ORCIDs for creators, editors and contributors.
- Modifies requester_user_agent column for access table to use LONGTEXT rather than VARCHAR(255) so long user agent strings do not get set as NULL. (Only update existing archives' access database tables if NULL values for requester_user_agent have been discovered).
- Replaces old DOI import plugin with newer version that uses UNIXREF import source.
- Allows PubMed import plugin to set id_number with most significant ID, (doi > pubmed > pii).
- Removes hard-coding of citation style to use.
- Adds upload URL field for documents and warns users if file not uploaded properly. (This should both make it easy to debug upload issues and reduce the chances eprints will failed documents uploads being moved to the live archive).
- Switches between department and divisions as default advanced search field.
- Allows top of subjects based view ot be different to field's top subject
Bug Fixes
- Ensures epadmin upgrade also adds new dataset fields
- Checks whether id_number field is set before parse test in Export::DC and Export::EndNote plugins.
- Fixes data read in hack with Import::BibTeX plugin so it works with unit test.
- Fixes way EPrints::Utils::crypt_password is called in unit tests.
- Fixes validation for date field when it is multiple
- Sets a search_input_style for document license field.
- Fixes is_public check for documents and returns 0 (false) if security field is not set. (Rather than generating a warning, but still returning false).
- Ensure send_out_alert errors if search expression is EPrints::Plugin::Search::Xapianv2 (as well as EPrints::Plugin::Search::Xapian. As such search expressions cannot be used for alerts.
- Fixes bug in defining cookie settings when using /cgi/set_lang>.
- Fixes mismatch in calling code and method (EPrints::Apache::Rewrite and EPrints::Update::Views).
- Various fixes to prevent bad filenames/formats being used or processed.
- Considers datestamp for deleted records when finding the earliest record.
- Updates td element to div in views missed during Accessibility improvements.
- Fixes aria-describedby for non-multiple itemref/dataobjref components.
- Fixes rendering issues for Multipart type field.
- Adds aria-labelledby and aria-describedby to Boolean menu.
- Fixes anomaly with unordered fields.
- Ensures requests with text/* in the Accept header work.
- Moves license/copyright boilerplate for testdata/bin/import_rand_data to ensure it does not break random abstract generation.
- Ensure all fields are added to XML revision files even if export_as_xml is set to 0 (false).
- Fixes journal autocomplete to also group on publisher field.
- Prevents undepositable subjects being unset when eprint is edited.
- Fixes subject and body of test email to stop it getting lost in spam filters.
- Use reply-to rather from to reduce email sent being marked as spam.
- Fixes non-compulsory boolean radiogroup fields cannot deselect UNSPECIFIED.
- Fixes email field validation to not allow commas in domain.
- Fixes date validation so it still allows archive bespoke validation.
- Use default_value for compound sub-field if it is set and value is not.
- Allow uppercase characters in REGEXP_VARNAME to allow for user-defined database password.
- Various minor fixes to bin/check_xapian script.
- Fixes aria-describedby reference when date field used within a compound field. (E.g. in the Dates, Dates, Dates plugin).
- Uses EPrints::Language has_phrase to check whether fieldhelp is set for EPrints::MetaField's get_describedby function rather than generating unnecessary warning messages if missing.
- Fixes DOI import error handling.
- Use CURRENT_USER() to get hostname or database server rather than assuming localhost, when creating MySQL database user and granting privileges.
- Uses more reliable EPrints::Time::iso_date to get current date to use in lift_embargos search.
- Fixes bug with applying mysql_enable_utf8=1 when database driver is not MySQL.
- Sets IsNotNull search condition to 0 rather than empty string for date, int and time type fields.
- Removes invalid characters (x00-x08, x0B, x0C and x0E-x19) from being output as XML, specifically Dublin Core (DC) export.
- Prevents repository admins from modifying usernames where they would create duplicates.
- Display UNSPECIFIED in subject tree if the sort name that would be displayed is an empty string. (This ensures it is still clickable).
- Removes EPrints::Apache::Beast as is no longer needed and has unsupported dependencies.
- Fixes Pod2Wiki to not automatically assign own category to generated API pages (e.g. EPrints::DataObj::EPrint should not have category API:EPrints/DataObj/EPrint).
- Prevents non-ASCII characters causing index tasks to fail when using Xapian.
- Ensures $c->{cookie_domain} can still be set if $c->{host} is not set. (This should make little difference, as no cookie domain means only allow for the current domain).
- Includes EPrints::DataObj::SAX::Handler in use list for EPrints. (Previously present but not in use list).
- Fixed regular expression for matching browse view URLs on Apache::Rewrite.
- Ensures password length validation cannot break if parameters undefined.
- Provides better handling of error if TeX::Encode Perl library is not installed.
- Fixes assumption that PostGreSQL table_schema will always be 'public'.
- Fixes typo on EndNote export to check isbn field is set before exporting it rather than checking issn before trying to export isbn.
- Removes duplicate definition of $c->{make_orderkey_ignore_extras}.
- Removes dc:doi element that does not exist in Dublin Core use dc:identfier dc="dcterms:doi" attribute instead.
- Fixes separator characters used to parse a date. (To include a space used in EPrints typically format and the letters T and Z used in the ISO 8601 date and time format).
- Ensures appropriate default values are set for allow_null => 1 fields for compatibility if strict rules enforced on MariaDB 10.x.
- Fixes bug with EPrints::System::sanitise if used in no CGI context, (e.g. in a bin script).
- Fixes various bugs with /cgi/cal resource.