FIX Data Definition & user preferences

4 messages Options
Embed this post
Permalink
sangaran

FIX Data Definition & user preferences

Reply Threaded More More options
Print post
Permalink
Hello,

I am looking into ticket 523.  The request is that the FIX data definitions be specified by the user in the ors_user.properties file with an entry like:

quickfix.dataDictionary=FIX42-broker.xml

Is the purpose so that the user can provide his/her own FIX version with custom in-house tags?

Taking a quick glance at the org.marketcetera.quickfix.FIXVersion enum, it seems that each value for this enum essentially couples a given: DataDictionary,  MessageFactory, beginString, & other version-specific information.

For example:

FIX40(FIXDataDictionary.FIX_4_0_BEGIN_STRING, 4.0, "FIX40.xml", new FIXMessageFactory(FIXDataDictionary.FIX_4_0_BEGIN_STRING, new quickfix.fix40.MessageFactory(), new FIXMessageAugmentor_40()))

By providing a quickfix.dataDictionary value, the respective DataDictionary can be created.   But what about the corresponding MessageFactory and beginString values?   Should we provide more user preferences like:

quickfix.beginString=FIX.4.2

and

quickfix.MessageFactory=factory.xml

Sangaran
sangaran

Re: FIX Data Definition & user preferences

Reply Threaded More More options
Print post
Permalink
Or perhaps this feature request is to simply allow the user to specify a version of FIX (and not specifiy his/her own custom DataDictionary)?

So instead of
quickfix.dataDictionary=FIX42-broker.xml

the user preference can be
quickfix.version=FIX42

And then the internally defined enums corresponding to the "quickfix.version" value will be referenced thru out the application?

Shankar

sangaran wrote:
Hello,

I am looking into ticket 523.  The request is that the FIX data definitions be specified by the user in the ors_user.properties file with an entry like:

quickfix.dataDictionary=FIX42-broker.xml

Is the purpose so that the user can provide his/her own FIX version with custom in-house tags?

Taking a quick glance at the org.marketcetera.quickfix.FIXVersion enum, it seems that each value for this enum essentially couples a given: DataDictionary,  MessageFactory, beginString, & other version-specific information.

For example:

FIX40(FIXDataDictionary.FIX_4_0_BEGIN_STRING, 4.0, "FIX40.xml", new FIXMessageFactory(FIXDataDictionary.FIX_4_0_BEGIN_STRING, new quickfix.fix40.MessageFactory(), new FIXMessageAugmentor_40()))

By providing a quickfix.dataDictionary value, the respective DataDictionary can be created.   But what about the corresponding MessageFactory and beginString values?   Should we provide more user preferences like:

quickfix.beginString=FIX.4.2

and

quickfix.MessageFactory=factory.xml

Sangaran
toli

Re: FIX Data Definition & user preferences

Reply Threaded More More options
Print post
Permalink
Sangaran,

If the user wants to use the off-the-shelf FIX dictionary, then it's
fairly simple - they specify it in fixVersionEnum bean.

But you bring up a good point, moving the FIX version out to the
config file would be helpful as well. However, since we are moving
towards supporting multiple simultaneous broker connection, a lot of
this logic may end up getting reworked in the next two months - and I
wouldn't want to see your work get redone immediately.

So maybe it'd make sense to just do the simple data dictionary URL
move to the ors_user.properties file, and we'll see how to move the
version out later.

thanks

On Tue, Sep 9, 2008 at 4:23 PM, sangaran <[hidden email]> wrote:

>
> Or perhaps this feature request is to simply allow the user to specify a
> version of FIX (and not specifiy his/her own custom DataDictionary)?
>
> So instead of
> quickfix.dataDictionary=FIX42-broker.xml
>
> the user preference can be
> quickfix.version=FIX42
>
> And then the internally defined enums corresponding to the
> "quickfix.version" value will be referenced thru out the application?
>
> Shankar
>
>
> sangaran wrote:
>>
>> Hello,
>>
>> I am looking into ticket 523.  The request is that the FIX data
>> definitions be specified by the user in the ors_user.properties file with
>> an entry like:
>>
>> quickfix.dataDictionary=FIX42-broker.xml
>>
>> Is the purpose so that the user can provide his/her own FIX version with
>> custom in-house tags?
>>
>> Taking a quick glance at the org.marketcetera.quickfix.FIXVersion enum, it
>> seems that each value for this enum essentially couples a given:
>> DataDictionary,  MessageFactory, beginString, & other version-specific
>> information.
>>
>> For example:
>>
>> FIX40(FIXDataDictionary.FIX_4_0_BEGIN_STRING, 4.0, "FIX40.xml", new
>> FIXMessageFactory(FIXDataDictionary.FIX_4_0_BEGIN_STRING, new
>> quickfix.fix40.MessageFactory(), new FIXMessageAugmentor_40()))
>>
>> By providing a quickfix.dataDictionary value, the respective
>> DataDictionary can be created.   But what about the corresponding
>> MessageFactory and beginString values?   Should we provide more user
>> preferences like:
>>
>> quickfix.beginString=FIX.4.2
>>
>> and
>>
>> quickfix.MessageFactory=factory.xml
>>
>> Sangaran
>>
>
> --
> View this message in context: http://n2.nabble.com/FIX-Data-Definition---user-preferences-tp1078733p1078829.html
> Sent from the m-etc-dev mailing list archive at Nabble.com.
>
> _______________________________________________
> Marketcetera Developers mailing list
> Marketcetera Documentation: http://trac.marketcetera.org
> To unsubscribe, go to
> http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-dev or send an email to [hidden email].
>



--
Toli Kuznets
http://www.marketcetera.com: Open-Source Trading Platform
download.run.trade.
_______________________________________________
Marketcetera Developers mailing list
Marketcetera Documentation: http://trac.marketcetera.org
To unsubscribe, go to
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-dev or send an email to [hidden email].
Toli Lerios

Re: FIX Data Definition & user preferences

Reply Threaded More More options
Print post
Permalink
FYI, Sangaran: the 1.0.0 release addresses this. The FIX dictionary and
version (specified in the BeginString) are both relegated now to
properties files to ease changes. Furthermore, the dictionary can

(a) be omitted (in which case incoming messages are not validated) or

(b) set to a custom XML file of your choosing (thus enabling validation
with your dictionary), or

(c) set to 'metc.DefaultDataDictionary' which enables validation using
the default QuickFIX/J data dictionary appropriate for the FIX version
in BeginString.

Cheers!

--
Toli Lerios <[hidden email]>

> Sangaran,
>
> If the user wants to use the off-the-shelf FIX dictionary, then it's
> fairly simple - they specify it in fixVersionEnum bean.
>
> But you bring up a good point, moving the FIX version out to the
> config file would be helpful as well. However, since we are moving
> towards supporting multiple simultaneous broker connection, a lot of
> this logic may end up getting reworked in the next two months - and I
> wouldn't want to see your work get redone immediately.
>
> So maybe it'd make sense to just do the simple data dictionary URL
> move to the ors_user.properties file, and we'll see how to move the
> version out later.
>
> thanks
>
> On Tue, Sep 9, 2008 at 4:23 PM, sangaran <[hidden email]> wrote:
> >
> > Or perhaps this feature request is to simply allow the user to specify a
> > version of FIX (and not specifiy his/her own custom DataDictionary)?
> >
> > So instead of
> > quickfix.dataDictionary=FIX42-broker.xml
> >
> > the user preference can be
> > quickfix.version=FIX42
> >
> > And then the internally defined enums corresponding to the
> > "quickfix.version" value will be referenced thru out the application?
> >
> > Shankar
> >
> >
> > sangaran wrote:
> >>
> >> Hello,
> >>
> >> I am looking into ticket 523.  The request is that the FIX data
> >> definitions be specified by the user in the ors_user.properties file with
> >> an entry like:
> >>
> >> quickfix.dataDictionary=FIX42-broker.xml
> >>
> >> Is the purpose so that the user can provide his/her own FIX version with
> >> custom in-house tags?
> >>
> >> Taking a quick glance at the org.marketcetera.quickfix.FIXVersion enum, it
> >> seems that each value for this enum essentially couples a given:
> >> DataDictionary,  MessageFactory, beginString, & other version-specific
> >> information.
> >>
> >> For example:
> >>
> >> FIX40(FIXDataDictionary.FIX_4_0_BEGIN_STRING, 4.0, "FIX40.xml", new
> >> FIXMessageFactory(FIXDataDictionary.FIX_4_0_BEGIN_STRING, new
> >> quickfix.fix40.MessageFactory(), new FIXMessageAugmentor_40()))
> >>
> >> By providing a quickfix.dataDictionary value, the respective
> >> DataDictionary can be created.   But what about the corresponding
> >> MessageFactory and beginString values?   Should we provide more user
> >> preferences like:
> >>
> >> quickfix.beginString=FIX.4.2
> >>
> >> and
> >>
> >> quickfix.MessageFactory=factory.xml
> >>
> >> Sangaran
> >>
> >
> > --
> > View this message in context: http://n2.nabble.com/FIX-Data-Definition---user-preferences-tp1078733p1078829.html
> > Sent from the m-etc-dev mailing list archive at Nabble.com.
> >
> > _______________________________________________
> > Marketcetera Developers mailing list
> > Marketcetera Documentation: http://trac.marketcetera.org
> > To unsubscribe, go to
> > http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-dev or send an email to [hidden email].
> >
>
>
>
> --
> Toli Kuznets
> http://www.marketcetera.com: Open-Source Trading Platform
> download.run.trade.
> _______________________________________________
> Marketcetera Developers mailing list
> Marketcetera Documentation: http://trac.marketcetera.org
> To unsubscribe, go to
> http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-dev or send an email to [hidden email].


_______________________________________________
m-etc-dev mailing list
[hidden email]
http://lists.marketcetera.org/mailman/listinfo/m-etc-dev_lists.marketcetera.org