4.16
Version 4.16 covers all accepted MRs between 166 (March 1st) up to 344, except 304, 334 and 336. See the merge requests for full information on what has been added - the list below may be incomplete.
Incompatibilities and deprecations
- Custom form components should not import ../xmlns/publisher/formdefs but instead use the system common XSD. Future versions will no longer import tollium/data/screen.xsd when you import formdef.xsd, so form definition XSDs who rely on this indirect import will fail
- Fragment support for form components/handlers will go away. 4.17 will start complaining loudly on non-live servers if you still use it.
- Parsley validation support for publisher forms will go away. Use the 'noparsley' debugflag to switch to the Publisher forms native validation immediately to see what might break. Report any issues.
- The default system:classic and system:games application groups have been removed. Tollium is no longer a gaming platform
- The docker containers will switch from Fedora to Ubuntu 18.04 pretty soon. Prepare to test for missing packages
- Expect pdftk, qpdf, mcpdf and wkhtmltopdf modules to be deprecated soon
- Expect the builtin wkhtmltopdf support to be replaced by Chrome headless soon (you can already optin to this using the 'engine' parameter to some PDF functions)
- Expect PhantomJS to be removed in 4.17. Screenshots should be made using the Chrome headless APIs
- The generic http://www.webhare.net/xmlns/socialite#analytics webdesign plugin has been deprecated. Please switch to http://www.webhare.net/xmlns/socialite#googleanalyitcs or http://www.webhare.net/xmlns/socialite#gtm
- mod::publisher/lib/forms.whlib has been deprecated - please use the mod::publisher/lib/forms/* libraries
- Don't set a namespace (xmlns attribute) for your plugin
- Tollium autocomplete APIs have been removed and replaced with autosuggest
- WRD authentication cookies are marked as SameSite=lax by default.
- The WebBrowser timeout now sets a default timeout of 5 minutes
Things you should do
- Common XSD definitions like 'Tid' have been moved to a separate XSD, system/common.xsd. Using this XSD instead of importing full tollium/publisher schemas will speed up form parsing.
- Make sure your filesystem supports timestamps precisions below 1 second. macOS Sierra (10.12) users, it's really time to upgrade to High Sierra (10.13).
- Stop including parsley. Test and switch form native validation
- Stop using complex JS polyfills for checkboxes and radios. Use the 'input + label' CSS tricks and use our wh-form-hidenativecontrol mixin instead of display:none so accessibility won't suffer
- Stop using MakeEmailComposer - there's a new email api.
- Help us document everything mentioned here.
- Help us to update existing documentation and examples.
Things that are nice to know
- We have fully switched to a merge workflow for commits to WebHare.
- Dompack dialog api now supports borrowing nodes for dialogs
- Publisher.forms load performance has been greatly improved
- The RTD support Undo. Test and report issues!
- AddPublicationWarning has been added to WebContext and PreviewContext, making it much safer to use
- Archiving folders now offers a choice of wharchive (with metadata) or zip (no metadata). Only the first one contains metadata, and only sysops can extract archives with metadata.
- All development on webpack (surveys, guestbook, polls and forums) has ceased. New installations will not have webpack support by default. Upgrades will activate the webpack module only if webpacks already exist. Alternatives to all of these are available now.
- Support for RTD widgets that don't have any settings to edit. No useless 'nothing to edit' edit screen and the 'edit pen' icon will be hidden
- Dompack-building has switched to webpack 4, all related dependencies are up-to-date too
- The EnforceStructure API helps you to normalize inconsistent datatypes and structures, and is especially useful with JSON input. Think of it like a non-fatal recursive ValidateOptions
- A script to open external links in a new window ships with WebHare now
- The wrdauth router can help to implement common password reset and email change flows
- WebHare now supports a password reset option (existing installations need to explicitly enable this in the backend configuration settings)
- (Upcoming) GDPR issues
- WebHare bv is working towards ISO 27001 certification which will include our WebHare SaaS offerings and the software development process for WebHare.
- WRD master password support will be removed at some point and should no longer be used, as it's almost impossible to track who used the master password
- Webpack survey never deletes data by default, which is generally incompatible with GDPR demands. The new webtool forms default to a retention period of 365 days.
- ValidateOptions supports enumerations (limit a 'string' parameter to specfic values)
- Other cool new features
- Embedded headless chrome. Let it generate screenshots, PDFs, run your frontend tests...
- For source checkouts, 'wh fixbuild' runs all best known commands to fix broken builds. So just run that if a build fails, and let us know if we missed something.
- New email API which is 1100% better than MakeEmailComposer or QueueMail
- AWS SES integration for more robust handling of email, bounces and complaints
- Forum plugin (for comments below the page AsSeenOnThisSite) to replace quite a few webpack guestbook uses
- Focus handling, especially when dealing with multiple tollium applications trying to steal focus, has been rewritten. All known focus issues are fixed, let us know about new issues
- Country flags have been updated
- UCTruncate now uses a true ellipsis character instead of three dots (as UC implies you want Unicode), and keeps the string byte length properly inside the maximum length