Reza/all,
I've been going through 1.0.1 data and tested it via the DDR API.
Two major problems so far, "inventing" new device builders on the fly must
not be done, as they have to match concrete Builder implementations in the
implementation of W3C DDR API.
As for "DesktopOSDeviceBuilder" that is somewhat similar to e.g.
"IOSDeviceBuilder", so it seems sound.
However there is also a need for a "BotBuilder".
First and foremost it should be "BotDeviceBuilder" as there are also other
Builders, e.g. various OSBuilders, that deal with the OS aspect, not the
device.
I see there are a couple of bot examples like Google, etc. but where do
they manifest a User Agent string or something "device like" to justify
calling them "device"?
I noticed, there's a new DesktopDevice section, but the same id
"desktopDevice" also occurs for
SimpleDevice:
<device id="desktopDevice">
<list>
<value>Mozilla/4.0</value>
<value>Mozilla/5.0 .compatible</value>
<value>Mozilla/5.0 .Windows</value>
<value>Mozilla/5.0 .Macintosh</value>
<value>Mozilla/5.0 .X11</value>
<value>Mozilla/5.0 .Ubuntu</value>
<value>Opera</value>
<!--<value>Safari</value>-->
<value>Chrome</value>
<value>Konqueror</value>
</list>
</device>
So if this works across multiple builders, the question why the "bot" even
required its own class should be discussed. If you just need to declare a
"genericWebBot" section, it could technically work fine under
SimpleDeviceBuilder. Unless you forsee a specific analysis of things like
UA details, etc. that's what the particular builder classes do, it should
not be put under a non-existing class.
Thanks,
Werner