Compatibility Notes for 1.2

The Smartsite iXperion development team puts much effort into guaranteeing compatibility with previous, official releases. Sometimes however bugfixes may introduce problems with code that relied on the buggy behavior. In these cases, our policy is to document the change and the possible consequences.

 

  • Column Users/Visitors.FailedPasswordAttemptWindowStart has been renamed
    Due to Oracle limitations the column FailedPasswordAttemptWindowStart of the database tables Users and Visitors has been renamed to FailedPasswordAttemptWndStart. Custom code that you have written that uses this column will have to be changed to use the new column name.
    Impact: Limited, only if manually query the column you will need to modify your sql query.

  • The database tables Users and Visitors are now views
    Users are now stored in a new database table AllUsers. The tables Users and Visitors have been replaced by views on the new table AllUsers. Several related tables have also been changed likewise.
    Impact: None, the removed database tables have been replaced by equivalent views.

  • The vipers {string.eval()} and {sys.executesxml()} have been deprecated
    The vipers {string.eval()} and {sys.executesxml()} have been deprecated in favour of the viper {sxml.execute()}.
    Impact: None, the deprecated vipers are still supported.

  • The viper {response.setexpires()} has been deprecated
    The viper {response.setexpires()} has been deprecated in favour of the viper {response.setmaxage()} which now sets both the http header max-age as well as the http header expires.
    Impact: None, the deprecated vipers are still supported.

  • The macro <se:webservice /> returned no error when an error had occurred
    The error code returned by the <~se:webservice /> now correctly reflects the true error status.
    Impact: Limited, if you use the webservice macro, you may need to check your error handling.

  • Sxml inside an <se:xmldatatable /> macro is now resolved
    In prior releases, the <se:xmldatatable /> macro did not resolve Sxml statements.
    Impact: Limited, you may need to check calls to this macro. Chances are small though that a viper or macro was used in a place were it would not be resolved.

  • Sxml inside an <se:xslt /> macro is now resolved
    In prior releases, the <se:xslt /> macro did not resolve Sxml statements. You can use the compatibility settings compatResolveSxmlInXsltFormatting to revert to the old behaviour.
    Impact: Limited, you may need to check calls to this macro. Chances are small though that a viper or macro was used in a place were it would not be resolved.

  • The ItemData viper now returns the default value if the returned datatable is empty
    If the datatable returned by the {itemdata.field()} viper contains zero rows and a default value has been specified, the default value is now returned instead of the empty datatable. In previous releases the default value was only returned when the viper returned null. You can use the compatibility settings compatItemDataViperUsesDefaultParameterForEmptyDataTable to revert to the old behaviour.
    Impact: Medium, you may need to check calls to this viper. Only viper calls that retrieve an empty datatable and have a default parameter are affected.

  • The viper {smartlet.getresource()} now uses the current channel instead of the default channel
    The viper  {smartlet.getresource()} incorrectly always used the default channel to create a link.
    Impact: None, the resource will only be loaded from the current channel instead of the default channel.

  • Locators with on a non-default host header were sometimes changed into a locator on the default host header
    In previous versions urls were sometimes generated with the default host headers instead of the current host header causing visitors to "jump" to another host header.
    Impact: Limited, if you use multiple host headers, you may need to check if you customer stays on the correct host header.

  • The configuration of channels and host headers has changed
    In prior versions of Smartsite, the channels were defined in the Smartsite.config file by the <publications /> element and the host headers were defined in the channel items. With the introduction of Smartsite 1.2, the channels configuration in Smartsite.config has changed and the host header configuration has moved to the Smartsite.config file.
    Impact: None, the old configuration is automatically converted into the new configuration.

  • Translations called with the translation.localscope prefix will no longer resolve to a non-overridable translation with the same name residing outside the current scope
    As of iXperion 1.2, translations called with the translation.localscope prefix will no longer resolve to a non-overridable translation with the same name residing outside the current scope, as opposed to calling the same translation without the prefix.
    Impact: Limited, only calls to non-overridable translations called with translation.localscope are affected.