Skip Navigation Links.
MISSING BANNER

SobekCM Version 4.10.2 Release Notes

 

Release notes for version 4.10.2 which was released on September 4th, 2017.

Summary

Version 4.10.2 included a number of architectural changes, which continue the development of the open architecture and plug-in support.  This includes, among other things, the following categories of changes:

  • The builder included many updates, but most importantly, generation of the HTML static files is mostly relegated to the web application.
  • The system now supports result viewer plug-ins as well and a new timeline result viewer plug-in is currently under development. 
  • Potential customization of the digital resource pages was greatly increased with a new item layout configuration, allowing complete control of the page layout and support for a plug-in powered widget system on the page. 
  • HTTPS/SSL support was also increased, including a new worldwide CDN for HTTPS static content.  

The full list of changes appears below.

Version 4.10.2 Change Log

 

Builder Updates

The builder application received many updates primarily focused at removing as most HTML creation from the builder, increasing the support for builder plug-ins, and additional search engine optimization features. In addition, several bug fixes and configuration updates were also included.

In previous versions of SobekCM, the builder would include the SobekCM HTML rendering library and would directly write HTML for canned browses, item views, and other outputs. In the new version, all the HTML empty frames and item level pages are pulled from the web application directly. The pages that require some HTML generation are added with an empty frame pulled from the web application. The new builder no longer links to the SobekCM_Library DLL, after moving several stored procedures between database gateway classes. This allows more of the overall look and feel of the generated pages to be controlled through the plug-ins in the web application and configuration.

The builder assists with overall search engine optimization by building static browse HTML files, RSS feeds, and static pages for each item to allow item metadata and files to be served quickly for search engine requests, without building the full item in memory. These item level static pages are now pulled from the /robot item viewer from the web application, but this can be changed via configuration or plug-ins. This new version includes a complete rewrite of the code that created the non-item pages for search engine indexing, which includes the sitemaps and rss HTML pages. In addition, sitemap creation was corrected for multi-instance builders and a new sitemap collection file is being created. On a daily basis, a schedulable builder module is called to recreate all the sitemaps and aggregation pages daily.

Additional code reorganization prepares to move some existing modules into plug-ins and increases ease when creating plug-ins. For example, the FDA ( Florida Dark Archive ) module was moved into its own code and the database calls moved into its own database gateway. Much of the base builder codes ( like the interfaces and abstract classes for the modules ) was moved out of the Builder library and into the Core code. This allows builder modules to be created that don't need to reference the Builder Library. This early requirement was making testing difficult due to circular redundancies in testing. Some final code reorganization moved much of the start-up functionality into schedulable builder modules which can be enabled or disabled in the database. The ability to schedule the tasks will be necessary when the builder is moved into a service running non-stop.

The following additional builder changes were also included:

  • Changes to the main builder configuration files are immediately applied, especially used for multi-instance builders
  • Corrected an issue with the deletion of materials through the bulk delete METS files
  • Corrected the building of TIFFs from large JPEGs and prevented the builder from re-process items over and over if there is an error
  • When checking JPEG2000 create time versus JPEG create time, a 2 minute buffer was added to stop JPEGs from being recreated unnecessarily

 

Results Viewer Configuration and Plug-Ins

A new architecture was created for the different result viewers, including a configuration file and reader and new tables in the database connecting aggregations with their result viewers. This included a code restructure of the existing result viewers and updates to the result viewer factory. In addition, the types of results views included in a collection, including the order and the default view, are now stored in the database.

Plug-ins for new result viewers are supported by the architecture, and a new timeline result viewer plug-in is currently under development.

 

Item Viewers and Item Layouts

In previous versions of SobekCM, the general look and feel of the item viewer was static. Over the last year, the item viewer plug-ins were introduced, which allowed a plug-in to alter the main viewer portion of the page when viewing an item. This new version builds upon those changes, adds the ability to control the overall look and feel within the item viewer in your instance by utilizing item layout configurations, and corrects a number of miscellaneous issues with the item viewers. A new architecture for inserting metadata into the HTML head on the digital resource pages was added allowing better search engine indexing while simultaneously increasing the ability to customize the metadata included.

Item layouts can now be utilized to alter the overall look and structure of the page that displays the individual digital resources. Layouts are defined within the configuration files and reference HTML layout files with all the stub HTML. Within the configuration and html file, sections are defined that can then have objects referenced in the configuration to have complete control over what item data is written in each section. The layouts can be chosen at the item level and individual item viewers can override the current item layout. This allows the quality control tool and page-turner, for example, to not utilize the left navigation bar at all.

Several updates support increased search engine optimization with the items. A new robots item viewer was created to provide the raw HTML for the builder to use when creating the static HTML source files for quick search robot requests. In addition, a new configurable architecture was added to allow the metadata written in the HTML head, and subsequently indexed by search engines, to be customized.

The web and builder no longer keep a complete list of every item in memory. For each (apparently valid) item request, a database check is performed. This also allows for better error to be provided. The errors include an invalid BibID requested and can even suggest an alternate VID if necessary. The main item writer now uses these codes from the MidTier engine as well.

The following additional item viewer changes were also included:

  • Table of contents item viewer is now renders as HTML directly, without using ASP.net controls
  • Corrected an issue where the Other URL metadata was missing in the default citation
  • All methods in prototyper and viewer are now virtual, so they can be extended and selectively overriden
  • Update for the change in the menu item adding function in the item viewer prototyper ( Add_Menu_items --> Add_Menu_Items )
  • Downloads item viewer, including JPEG2000s, created, then moved into its own separate plugin (with Github repo)
  • Fix to the GeoSpatial_BriefItemMapper for items with geo-spatial data only linked at the tile level
  • Update fixes issue with the share buttons not working at the item level
  • Corrected issue with the MODS reader which could get caught in the relatedItem tag if it was not "mods:relatedItem"

 

HTTPS (SSL) Support

Support for HTTPS/SSL access was updated and a new content delivery network is available for all the static files over HTTPS. Within the system-wide settings, the option to choose the static resource configuration source is now a special drop-down box, which lists all the existing static resource configurations from the config folders. A new HTTPS static resource configuration file is now included that points to https://cdn.sobekdigital.com for all the digital resources, which utilizes our corporate certificate. The world-wide content delivery network was enabled for that URL as well, allowing the content to be served from over 30 locations worldwide, for best performance.

Two additional minor updates were also included to finish the HTTPS/SSL support:

  • JPEG2000 viewer SeaDragon URLs are now in the static content configuration file
  • Corrected an issue that the draggable jquery UI link was not being read from the configuration file correctly

 

Item Management Updates

  • Item submission / online editing templates
    • Aggregations can be added in the templates constants section and they now apply correctly
    • Code cleanup and changes to base elements within the templates
      • Changed names of classes and some properties to be correct capitalization per coding standard
      • Added ability to add a large number of events to each element as well (in the classes that extend them)
      • More work on the html events helper for the templates was completed
      • Converted all template elements to use XmlReader when reading inner configuration data from the template xml config readers, rather than XmlTextReader
  • Removed default 'All rights reserved by the submitter' rights statement from new users
  • Updated the VIDs that appear in the VID drop down when adding a new volume to a title to show the last added VID.  (may need to add configuration for this if others do not like this)
  • Updated stored procedure used for deleting items.. was missing a recently added table in the deletion process
  • Corrected the project template to exclude viewers (was causing crash)

 

Miscellaneous

  • A new email option added in the system-wide settings, to email whenever any user registers with the site
  • Main HTML Writer was updated to handle errors and web content modes being set by the HTML subwriters
  • Searches were updated to include items in a collection and excluded from the all ( via the IncludeInAll flag ) which were unsearchable in the side collection
  • Developer resources
    • Updates precompile script to not require IIS configuration
    • Added new stored procedure to delete an existing user ( mySobek_Delete_User )
    • Added script in the sql/common tasks folder for deleting all items from a repository
    • All private methods in the endpoint services classes converted to protected, so endpoints service classes can more easily be extended, especially useful for plug-ins
  • New Empty Viewers
    • Empty Added new empty viewers at the item, collection, and top-level
    • These return the basic HTML 'frame' with an empty div that can be replaced with content by the builder
  • Aggregation Tile View
    • Fixed an issue with the tile home page not pulling all the metadata correctly for collections with over 15 tiles
    • Added hover-over to the aggregation tile view
    • Builder module caches metadata for each tile in the aggregation each morning
    • If the metadata cache file is completely missing, the tile aggregation viewer will create it