Below are the release notes for version 4.10.1, which was released on December 23rd, 2016.
Summary
Version 4.10.1 includes many updates and fixes for issues introduced in the major architectural changes from version 4.10.0. Many small improvements were implemented to the management interfaces as well, providing more managing web skins and the system-wide settings.
A new standard TEI plug-in was added which adds native support for TEI, including online editing and metadata extraction. This allows TEI items to be uploaded into the system and displayed via server-side XSLT application with custom stylesheets for each TEI. In addition, metadata mapping configuration files control how the bibliographic data is imported into the system from the TEI header. System admins can manage multiple different XSLTs, stylesheets, and mappings and individually permission users for access to each. Once the TEI is in the system, users can also edit the TEI in an online XML editor.
This new version continued to make incremental improvements to the architecture of configurations and plug-ins resulting in a more mature open framework system. This open architecture has already begun to be used in multiple instances, to support customizations, new item viewers, or new ways to access data. Several of the plug-ins have been released as open-source and are made available as sample code on the community maintained plug-in page.
In addition, many community-suggested improvements and user-reported issues were included in this release.
The full list of changes appears below.
Version 4.10.1 Change Log
TEI Plug-In
Added a new TEI plug-in with a number of TEI-related updates
Added the TEI item viewer and item viewer prototyper for displaying a TEI with a XSLT and CSS
Adds new TEI submittion mySobek viewer for submitting the new TEI item
Puts a 'Add new TEI Item' on the mySobek menu
TEI type items have the standard 'Edit Metadata' options changed to 'Edit TEI'
Users can either upload updated TEI or edit the TEI directly in a nice Ace editor screen
A new admin screen allows users to upload XSLTs, CSS, and mapping files to map from TEI metadata to METS/MODS/SobekCM
Also, added two standard ( TEI Boilerplate, and TEIC ) XSLTs to the TEI plug-in.
Added all the admin features to permission users to have access to different XSLT, CSS, and Mappings
Added a new top-level admin page to add permissions to multiple users at the same time
Added a new tab on the users screen to enabled TEI for that user and permission for single user
TEI is only enabled by using the TEI plug-in.. eventually all the TEI stuff will be in the plug-in, but currently some of it is in the base code
Builder Updates
Item views
Updated stored procedure to save a single item to an existing group to now include the default views if not existing
List of item views now set to NULL before saving to the database
If the views list is NULL, the views are no longer marked excluded as soon as they are added
Web derivative generations
Update to the way derivatives are created by the builder, allowing derivatives to be created from the JPEG2000 as well as PNG and GIF images.
JPEG attributes are always recalculated by the builder now.
Update to the create image derivatives to correct issue that METS was not pre-read
Plug-Ins
Updated the builder to correctly work with plug-ins for builder modules
Builder configuration pulled from the engine endpoint now correctly includes the folder modules
Fix for builder when there are no plug-ins in some situation .. unexpected null fixed
Added sample Wolfsonian builder plug-in module
Minor style update to incoming builder folders online system settings screen
Solr indexes will be deleted by the builder if an item is dark or private
Fix for builder when processing multiple instances and one or more are set to in-active
Verified that new items loaded through the builder get all the default viewers correctly
Item Viewer Updates
Fixed issue with page 9 reverting to non-zoomable when viewing an item and stepping through the pages
Fixed the style on the show and hide TOC. Standard width in CSS was too narrow
The share buttons at the item level work again. They were not getting the HTML snippets from the engine endpoints correctly.
Breadcrumbs to the aggregations at the item level restored
Fixed the downloads viewer to correctly use the built in file proxy for restricted materials ( SOBEK-256 )
DARK and IP restricted issues
Corrected issue with the video player not correctly playing files that were IP restricted ( AURARIA-23 )
Restricted items viewers still suppressed, but not included on menu and RESTRICTED is included for IP restricted items
Citation is correctly suppressed for DARK if indicated in system-wide settings
Citation viewer changes
Special citation section writers now obey the display label set in the citation config file
URLs are now utilized by the standard citation viewer correctly ( when no search code included for that field anyway )
Added the linked list of aggregations back to the citation screen of items
Citation now correctly includes a URL for any standard element, if one is given ( WOLF-50 )
Item Management Updates
Corrected issue saving four or more icons from the item behavior saving procedure
Item and the list of items within an title were not always being cleared from the cache correctly
Previously uploaded files no longer appear in the upload files option. TIFF image resources were not being released correctly, preventing deletion.
Quality Control tool
Corrected an issue deleting the first page from an item in QC when no divisions exist
QC tool had some incorrect code for pulling the SobekCM item, corrected that ( AURARIA-30 )
Corrected a couple issues with QC tool not allowing move and thumbnail selection correctly anymore
Fixed the METS Validator object to better report a validation issues ( SOBEK-257 )
Corrects issue in the item behaviors screen and submission forms if the user is not an internal user and no aggregations are provisioned for the user. ( USF )
Corrected the equal check on the Identifier object to include identifier AND type, not just TYPE. Was leaving out a second identifier with a different type but the same ID.
Metadata Mapping Changes
Corrects metadata configuration file that caused the VRACore sections to be ignored.
New bibliographic mapping architecture
Adding ability to implement different bibliographic mappings in configuration and plugins
Allows the standard mapping to be replaced or augmented via plug-ins
Allows the mapping to be extended for additional metadata modules added through plug-ins
Previously, the mappable fields were filtered through an enumeration, which was not extensible.
Fix for metadata mapper object creation method where a null on code assembly threw an error
Added new sample bibliographic mapping object (Henderson_Bibliographic_Mapper) to show how that is done. Will likely convert into a plug-in.
Corrected serialization of the Metadata_Mapping_Config object (lacked serialization decorators at top class level previously)
Update to metadata mappings (for ContentDM import)
MODS support changes
Added a new top level Table of Contents object, to allow display label to be used for the contents, and made it a list to support repeatability. (previously was a single string)
Added a new collection of other dates in the origin info tag. Other dates support type (can be used by display label) and key date as attributes.
New generic XML mapper object
Added a new generic XML metadata reader, which reads data from a XML file into the SobekCM item object
Uses the new bibliographic mapping architecture and a XML configuration file that essentially maps between XPath and metadata field name
Utilized by the TEI plug-in
Aggregation Viewer Updates
Corrected default SQL for collection browsing ( to remove Subject.Display and Publisher.Display from final display labels )
Aggregation Management
Corrected default zoom of the custom map browse/search to zoom level 5, rather than zoom level 1, which equals a view of the whole globe
If aggregation html source was missing it was failing to rewrite after editing the home text if folder was missing
Added back missing ckeditor browser file which caused browsing images uploaded to server to fail when editing collection home pages
Added a new tile-based home page for aggregations, which requires bib/vid names jpegs in the images/tiles subfolder under the aggregation design folder.
Corrected an issue where referencing an unexisting aggregation would cause errors ( AURARIA-30 )
Invalid collection subcode request
Received errors when NEW was requested for collections.
Corrected behavior when an invalid subcode is supplied for an aggregation.. now it defaults to home.
Web Skin Updates
Headers / Footers
Added some exception catching around the writing of the header, for some debugging working on with USF.
Changed the way the headers/footers get the directives replaced to use StringBuilder for memory/performance and reformatted for ease of reading
Added the following new directives to be used in the header and footer
[%COLLCODE%] provides the collection code
[%BIBID%] provides the bibid
[%VID%] provides the vid
[%MODE%] provides a string for the current mode ( 'aggregation', 'results', or 'item' only currently )
The [%MYSOBEK%] directive now also works in the footer HTML in a web skin
Web skin online management
Font files can now be uploaded in to the web skin through the web interface.
Editing the CSS for the web skin now uses the Ace Editor, giving syntax checks and syntax highlighting
Added ability to edit web-skin-specific javascript file in the online editing, and included in header as reference
Added second row of buttons at the bottom of the web skin management screen (can mess up header to make top row not accessible, I learned the hard way)
Search Results Changes
Subtitle was added to the main title search term, allowing it to be searched with the other titles
Facet column title ( Narrow Results By ) is no longer written as all-caps, but a text-transform was added to the sobekcm.css file. This can, of course, be overridden to NOT capitalize in your instance.
New search system-wide setting flag indicates if the search explanation includes the ' results in XX records' ( i.e., your search for .. resulted in XX records ) or if that is omitted for searches with results.
If a point in the map browse has only one item, clicking the link for more information about the results sends the user to the one item
Corrected issue that the google map api was not dynamic in the map search results screen
Corrected issue in the related item pop-up form HTML code
Plug-In Architecture Updates
Corrected the item viewer factory to load item viewers from plug-ins correctly
Added a way to clear the dynamically loaded engine DLLs (mostly from plug-ins) when the cache is reset
Added new abstract class to be used as the base for the plug-in enabled/disabler ( i.e., like a MSI installer )
Corrected the code used in the builder to load builder modules through reflection to correctly find the assembly, enabling plug-ins for the builder modules now.
Added new flag in the plug-in extension XML config files which only allow users with highest privileges to enable/disable (i.e., must be a host admin in a hosted environment)
System-Wide Settings
Corrected the placement of the document solr index URL in the system-wide settings, was in a different section than the other solr URL
Updated system-wide settings to better enforce restrictions
Corrected alphabetical/categories choice in system-wide settings
Corrected issue with the HTML ( no results and missing page ) snippets not being editable in the system-wide settings
Added ability to edit the monthly statistics usage email body html in the system-wide settings
Added ability to set the Ace editor theme in the system-wide settings, under General Settings > UI Settings
Corrected the styles around the enable/disable of plug-ins and button is suppressed if flag is set to only allow users with the highest privileges to enable/disable.
SMaRT Tool
Several database methods moved into the Engine library from the UI library database and changes around in the code to accommodate that.
Updated the installer to recognize newer versions of Apache Tomcat
Updated the installer to work around a bug in Windows 10 that affected verification of the web and builder accounts. In Windows 10, if the first method fails, a new impersonation method is used.
Miscellaneous
Added a governor to the email from database system. No recipient list will get more than 250 emails in a 24-hour period
Corrected issue with viewing your individual usage on submitted items when no submode existed in the URL (null issue)
SobekCM file utilities get files method will no longer possibly return duplicated entries for one file that matched multiple search criteria
Updated the SobekFileSystem architecture, adding some new utility methods to work from BibID/VID, without the BriefItem
Corrected potential XSS vulnerability script reference in a field that accepts UI input (like the search terms)
Corrected two default sample templates which incorrectly included an email-to address on them
Added a sample configuration file for adding the builder IP to the IP restrictions on engine
Cleaned up the default templates folder
Corrected the way requestor IP worked in debug mode, to ensure the loop-back ( ::1 ) IP address is mapped to the local IP
Fixed issue with an exception thrown for sys admins when trying to navigate to a missing web content page
Corrected issue with extra long titles not saving in the group sort title correctly and throwing an exception
Corrected issues with some searches returning private items occasionally
Change the length of the item group sort title column. it was only 250 rather than 1000, which resulted in an occasional truncation error on saves