Home > .net, Finance > FIXatdl: breaking changes in v1.1

FIXatdl: breaking changes in v1.1

November 6, 2009 Leave a comment Go to comments

For those who’ve been consuming the interim FIXatdl builds leading up to v1.1 and haven’t upgraded to the latest internal build v2.6.5, be aware that there are several breaking changes which will require you to update the algo xml.

Some of the changes are cosmetic only (proper case vs camel case attributes) but others changes are major. Additionally, there are values that the xsd won’t validate but as a developer, it’s your responsibility to check the algo xml.

  1. The latest build separates the data contract (over the wire) from the UI components. As a result:
    • Parameters are now defined separately from the layout and no longer have attributes like initValue, minValue or maxValue.
    • They are referenced by name from a control’s parameterRef attribute.
    • It’s your responsibility to confirm that the names specified in parameterRef are actually tied to Parameters.
  2. Although the “id” attribute on an Edit is marked as optional, without it, the rule cannot be referenced by any control. Therefore, treat “id” as a required attribute.
  3. Olson TimeZones referenced in localMktTz attribute should now map to the LocalMktTz_t simple type defined in atdl-timezones-1-1.xsd. Regions are also referenced similarly via atdl-regions-1-1.xsd
  4. When validating a list parameter (with EnumPairs) that are mapped to a list control with its own ListItem, or defining a rule on such elements, normalize the values back to the EnumPair’s wireValue. However, if the ui widget is display-only (that is, it’s not tied to a Parameter_t and is just used for StateRule), then normalize to the Control’s value.
  5. Avoid using spaces in wireValues associated with EnumPairs as in the case of MultipleCharValue_t and MultipleStringValue_t data types, extra spaces will cause parsing to fail on the other side of the wire.
  6. Unless you’re using RepeatingGroups, treat “fixTag” attribute on Parameter_t as required.
  7. FIXatdl treats RadioButton_t and CheckBox_t identically in terms of functionality. However, treat a RadioButton_t which is not present in RadioGroupButton_t as a CheckBox_t since you can’t unselect a radioButton after selecting it without writing additional code.
  8. FIXatdl does not support the use case where you might need to reset a control after its value is set by a StateRule.  You might want to handle this case explicitly by setting up a StateRule to null out the control in order to prevent erroneous wireValues to be generated. For example, if you have a StateRule defined as
    <flow:StateRule value=”0″>
    <val:Edit field=”Posting” operator=”EQ” value=”e_NOPOST”/>
    </flow:StateRule>
    Then you may want to also add a rule to clear the field when Posing is changed from e_NOPOST to something else.
    <flow:StateRule value=””>
    <val:Edit field=”Posting” operator=”NE” value=”e_NOPOST”/>
    </flow:StateRule>
Advertisements
Categories: .net, Finance
  1. No comments yet.
  1. February 1, 2010 at 8:55 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: