New widget option: Hide “Show all” pagination links
Widgets that support pagination can now specify hide_pagination_show_all=true to optionally disable the “(X total)” link. The widget will still be paginated and will display the “Show {X} more…” link until all results are shown.
Disabling notifications for “declined” suggestions
When users have “All notifications” enabled in their user settings, they get emails for all sharing actions, including when someone in another group has declined their content suggestion. Now you can disable this type of notification site-wide by adding the following to client/global.config.php:
$_LW->CONFIG['DISABLE_SHARING_DECLINED_NOTIFICATIONS']=true;
Customizing the default timezone for RSS feeds
By default, the /live/rss/events endpoint sets event date/time as the “pubDate” attribute using Coordinated Universal Time (UTC), and it’s up to any RSS integrations consuming LiveWhale events to translate that into their local timezone (or the event’s timezone, using the livewhale:timezone RSS attribute). Now, you can choose to customize that site-wide timezone for the /live/rss events endpoint by adding the following to client/public.config.php:
$_LW->REGISTERED_WIDGETS['events']['custom']['rss_timezone']="America/New_York"; // default: UTC
New theming option: deferred styles and scripts
We’re still experimenting with this functionality in some of our projects, but the tools are here now if you’d like to try them out too: any script or stylesheet files in your theme’s scripts/ or styles/ folder can now be moved into scripts-defer/ and styles-defer/, where LiveWhale will auto-detect them and load them after the initial page load. That is, it won’t wait until the entire page has loaded, but “deferring” the files tells the browser “don’t wait on this CSS/JS, keep loading and display the rest of the contents.”
Render-blocking CSS has a big impact on site speed, so this may represent a big performance improvement (especially for mobile) – often times your complete global theme includes CSS/JS that isn’t critical for the first above-the-fold page load. If you end up finding success (or struggles) with this new option, please let us know!
LiveWhale CMS: New option for pre-defining image sizes
Adding data-image-size=”300x200” to HTML containers in your WYSIWYG-editable areas and content layouts will require users select an image of that size when adding/editing an image inside that area via the Edit Page interface. This matches the existing class=lw_fixed_dimensions functionality that already exists – and you may already be using – but will persist even if the original image is deleted and a new one is added into that area.
Accessibility improvements
- The h4.lw_accordion_block_title tag generated by accordions can now be customized and replaced with div or any other block-level HTML tag using the new ACCORDION_BUTTON_WRAPPER config option in client/global.config.php:
$_LW->CONFIG['ACCORDION_BUTTON_WRAPPER'] = 'div';
Behavior adjustments
- LiveWhale now validates replacement images by file type extension, to ensure that the file type does not change.
- LiveWhale CMS Only: The QuickAccess widget (for placing top links on a search page results) will no longer match partial words (like “art” returning “department”).
WYSIWYG editing
- Added descriptive label to XPHP includes when viewing in the WYSIWYG editor.
Bugs
- Fixed a bug that could allow non-admins to remove admin tags from content.
- Fixed an issue where the accordion +/- icons wouldn’t change when an accordion was opened.
- Fixed an issue that could cause some RSS feeds to not make their link tags full remote URLs.
- Fixed a MySQL 8.x compatibility issue that impacted the display of bulletins in the bulletins manager.
- Fixed an issue introduced in 2.14.1 that could cause javascript breakage with JSON-encoded iframes in the page source.
- LiveWhale CMS Only
- Fixed an issue preventing widgets from being placed in editable areas that only allow inline (and not block) elements.
- Fixed an issue preventing Linked Profile fields from showing more than 1000 options.
- Fixed an issue where using a CSV as a profile data source could cause the wrong values to be pulled during sync.
- Fixed an issue that could cause erroneous 404 page errors referencing local links to dynamic content.
- After running a prod-to-dev content sync, LiveWhale will now attempt to load each page from all navigations to warm the page and image caches.
- Fixed an issue where the code samples button, when enabled, wouldn’t show up in the front-end page editor.
- Fixed an issue with pages appearing in a stream widget and sorted by last-modified.
- Fixed an issue where the incorrect meta image could be used when sharing Issues to Facebook.
- Fixed an issue that prevented profile types with location=”none” (“never display”) from being used in custom sort orderings.
Developer options
- For custom back-end modules: exposed the manager state object (LW.manager.manager_state) to custom code, allowing for modules to save custom data using the “Save these changes” action from list view.
Release date: April 12, 2024