WebHare community

WebHare 4.23 was forgotten!

(oops! will add this step to the guidelines and here’s the missing changelog)

4.23 (2019-05-23)

Incompatibilities and deprecations

  • The default mail styling for form feedback and result mails is no longer included when using a custom template. The custom template is responsible for including default styling rules. The default template with default styling can be found in mod::publisher/data/forms/defaultmailtemplate.html.witty.
  • Support for wrdchema->types->typetag has been removed. Use the hat operator (wrdschema->^typetag))
  • The consenthandler now uses wh:consent-changed instead of wh:consent-change for its events as external code was already using the latter event (backported to 4.22.2)
  • Bind...Tables functions (such as %BindSystemTables) have been removed. Use %OpenPrimary to open and bind, and use %SetPrimaryWebhareTransaction and %RunInSeparatePrimary to consistently manage multiple transactions
  • SetWebCookie has been removed (deprecated since 3.06)
  • GetServerBootTime has been removed. It was an alias for %GetHostingProcessStartTime and only reported webserver time when running in the webserver itself
  • SetHTMLClasses, SetBodyClasses, SetHTMLData, SetHTMLDirection and SetHTMLManifest have been removed from WebDesignBase - just set the properties
  • Error information/stack traces are no longer shown by default. To get them back, enable ‘Show error stacktraces (etr)’ in the debug settings
  • %WidgetEditExtensionBase has been deprecated. You can use a standard %TolliumTabsExtensionBase as the base class for widgets or implementation=“none” to avoid
    supplying an implementation for widget tabsextensions
  • Mollie PSP users MUST now explicitly enable their payment methods (eg iDEAL)
  • The optional boolean parameter round_forward in %AddYearsToDate and %AddMonthsToDate has been replaced by a standard option record
  • GetStreamLength64, GetFileLength64 and GetFilePointer64 have been removed - their ‘plain’ version now just returns 64bit integers
  • WebDesign::UpdateBaseConfig has been removed. it’s a tricky hook to use and appears unused
  • Consilio, publisher and wrd schemas/tables are moved from lib/database.whlib to lib/internal/dbschema.whlib. The table definitions
    are considered internal and should not be accessed by internalmodules
  • System schemas/tables (except for system.fs_objects and system.sites) are now offered by mod::system/lib/internal/schema.whlib
    as system_internal.
    • system.fs_objects and system.sites ARE considered public APIs and will remain available

Things you should do

  • Form questions and handlers should now set allowresize="true" on their <tabsextension> if needed - it now defaults to false, where it used to be enabled everywhere.

Things that are nice to know

  • <select> now supports type inlinecheckboxlist - like checkboxlist but wrapped inside an <inlineblock>, so you can still see the field title
  • <wrd:field> now uses inlinecheckboxlist for domains instead of plain checkboxes, so we avoid standard entity dialogs with hundreds of checkboxes
  • Consenthandler can be setup with an empty cookie name if you’re managing consent storage/setting yourself (backported to 4.22.2)
  • Public API added for GetAuthObjectsWithRightsOn: %GetGrantedAuthObjects (note that the options are inverted from the original GetAuthObjectsWithRightsOn call)
  • RTD widgets implemented using a <tabsextension> can now set allowresize="true" to make their editor resizable.
  • WebHare can be configured to change the From address in emails using any non-whitelisted sender to use the fallback address
  • Adds %WRDType::GetDescendantIds - get all ids from a certain point in a WRD entity tree (ie domains)
  • Adds %RunColumnFileExportDialog as a cleaner interface to CreateColumnFilExportDialog
  • WHFS Register entries will now recover from pointing to a deleted object if a new object is in place at the expected location
  • %GetCSVRows offers a better CSV parser with automatic header extraction.
  • WebApi oauth2 components to simplify storing oauth2 configuration.
  • Added ‘Confirm email address’ handler to forms. See Mail confirmation handler for more information on how to integrate this in your forms.
  • PSP Mollie has been upgraded to the V2 API and supports directly linking to payment methods
  • %TolliumRowEditScreenBase now allows you to hook SetEditRow to manipulate the incoming row data
  • wh catlog <logfile> simply cats todays logfile. <logfile> may be rpc, notice, etc, and -f will keep following the log
  • %LogAccountingHit added to allow simple accounting of API requests and outgoing emails
  • Form conditions now support matching all of the given values (matchtype HAS) and matching exactly the given options (matchtype IS), in addition to the default of matching one ore more of the given values (matchtype IN).