Compatibility Notes for 1.02

Release 1.02 - ...

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 case, our policy is to document the change and the possible consequences.

Work Item 4586, 4566, 4707, 4591 - Culture dependencies.

The following Viper methods had culture dependencies, causing the Application Server's Regional Settings to affect the outcome:

  • datatable.setvalue()
    A culture dependant type conversion was performed.
  • string.format()
    If you depended on the exact outcome, revert to the locale.formatstring() method.
  • datatable.simpleformat()
    Floating point values would be represented in a culture-dependant way.
  • locale.culture.getstring() and locale.culture.translate() parameters were not localized.
    Arguments passed to these methods would not be converted to the correct cultural string representations.

Work Item 4581 - Incorrect Switch Case evaluation.

When a switch macro did not have any expression and used the case expressions instead, the fallthrough case (se:case without expression) would never be returned.

Scenario:

Smartsite SXML CopyCode image Copy Code
<se:switch whitespace="remove">
 <se:case expression="$action=='day'">
  day
 </se:case>
 <se:case expression="$action=='event'">
  event
 </se:case>
 <se:case expression="$mode=='overview'">
  Overview!
 </se:case>
 <se:case>
  Other
 </se:case>
</se:switch>

In 1.02, the macro will return 'Other'. If an application relies on this fall-through case never to be executed, a change in behavior would occur.

Work Item 4647 - Syntax-errors in viper calls were inconsistent.

Now, a syntax exception will be thrown when Viper non-existing methods were accessed in a registered viper class, whereas previously, the Viper method would not be resolved.

Work Item 4443 - For macro would perform an iteration if from is greater than to.

For example, the following code should not produce any result:

Smartsite SXML CopyCode image Copy Code
<se:for from="15" to="10">{this.index()}</se:for>

This fix could cause your applications to behave differently, if you relied on this bug.

Macro XHTMLPage now, by default, applies trim="both" to the parameter inner.

Work Item 4460 - RSS macro default query is based on vwActive in stead of the Channel View.

This fix causes items not to be included anymore, so check yoor code.

Work Item 4517 - HtmlPage and XHtmlPage extension Vipers now mediumrisk instead of highrisk

This change causes macros to become available in ContentTypeFields marked as MediumRisk.

Work Item 4504 - RenderTemplate macros now trim their content by default

This causes whitespace around the inner section of the macros to be removed.

Set the Trim parameter to None to revert to the old behavior.

Work Item 4451 - Xlinks would revert to default behaviour when inputdata contains 0 rows

The Xlinks macro will now return an empty data table if its inputData parameter is an empty data table.