4.20 (2018-12-06)
WARNING!
This update will remove support for historic and future WRD entity settings (creationdate and limitdate at entity_settings).
At upgrade, any existing settings with history are moved to WRD.BACKUP_ENTITY_SETTINGS (you can drop this table once you've confirmed you have no data loss). There may be a bit of downtime as the database is scanned and these records are migrated.
If your have a thousands or tens of thousands of wrd.entity_settings that need migration (select from wrd.entity_settings where creationdate != default datetime or limitdate != max_datetime
)
we recommend running 4.19 before upgrading to 4.20, as 4.19 will run a daily cleanup of these history-settings to cut back on the eventual migration time. You should also
prevent any more history settings from being created (check the notice logs for UpdateEntity errors in 4.19)
WARNING FOR SOURCE CODE INSTALLATIONS !
We no longer support the 'old' style installation where data maps are scatted throughout the project tree. We are also removing support for the configuration XML files. We have the following migration paths:
If you never created/modified webhare-config.xml
wh console
will move dbase
, log
, output
and the subdirectories of var
into a new whdata folder. Symlinks will be
kept in place for backwards compatibility - existing paths, but you should eventually migrate away from them.
If you're using <basedatadir>
in your webhare-config.xml
Set up an environment variable WEBHARE_DATAROOT
to point to your base data directory, or at least make sure that variable
is set whenever you start WebHare. eg: WEBHARE_DATAROOT=~/projects/whdata/moe/ wh console
If you've changed the database port in webhare-config.xml
Set up an environment variable WEBHARE_BASEPORT
with your new database port, or at least make sure that variable
is set whenever you start WebHare. eg: WEBHARE_BASEPORT=23679 wh console
Update/changelog
Incompatibilities and deprecations
- UpdateEntity (and similar functions) will now throw an exception on test and development systems, if invoked withan 'update at' time. On production and acceptance, it will ignore the parameter and log an error.
- Removes support for
oninstallationtype="production"
- useunlessenvironset="WEBHARE_ISRESTORED"
(already available in 4.19) - Formhandlers no longer implicitly parse all attributes as strings. You'll need to provide an explicit
parserfunc
- GetAllWebHeaders returned 'name', 'value' cells which was inconsistent with any other calls involving headers. It now returns 'field' and 'value'.
- Password (re)set links generated in user management will now point to the backend's loginpage instead of the application portal, if set
- WRD schemadefinition (initial) values are now inserted in XML source order, not alphabetically.
- Forms api: ListResults no longer accept 'titles' for export columns, you must specify explicit column names
Things you should do
- Horizontal select fields (radiobuttons and checkboxed) in Publisher forms now wrap their options in individual fieldlines. Flex is used to place these next to each other, instead of below each other. You should check if this doesn't cause layout problems, for example margins that are applied between fieldlines.
Things that are nice to know
ValidateOptions
will now throw aInvalidOptionException
if you pass an incorrect option, simplifying feature testingGetWRDAuthPages
offers afallbacktologin
option which you can disable to suppress it falling back to the login page route- User edit policies can now disable the password fields and password reset links in user management.
GetCachedImageLink
andWrapCachedImage
now automatically use the filename for more SEO-friendly links.<addtowebdesign webdesign= siteprofile=>
allows modules to add additional siteprofiles to existing webdesigns.- WRD now supports 'temporary' entities - invisible to queries unless referenced directly by id and automatically cleaned.
To use this, add
temp := TRUE
option toCreateEntity
. To activate the entity, set itswrd_creationdate
ANDwrd_limitdate
<wrd:entity>
has temporary support if used with a staticwrdtype=
. SeeEnsureReservedEntityId()
andGetReservedEntityId()
<wrd:entitylist>
and<wrd:entitiesedit>
now support alinkfrom
parameter, which you can point to a<wrd:entity>
which will be its leftside link. This entity will be automatically created as a temporary if needed- Added a standard anchor widget
http://www.webhare.net/xmlns/publisher/widgets/anchor
- you will need to explicitly enable this widget to allow it.