Re: Filemaker und WebObjects?
Re: Filemaker und WebObjects?
- Subject: Re: Filemaker und WebObjects?
- From: Sam Barnum <email@hidden>
- Date: Wed, 1 Mar 2006 16:17:29 -0500
Hello Clark,
First, let me mention that we're most likely going to make the source
available for WooF7 and our custom JDBC driver very soon. To address
your points:
You can't synchronize from EOModel to Filemaker, but WooF can reverse
engineer an existing Filemaker database. This is because the XML
publishing API does not have any mechanism for modifying table
structure.
Issue 1 is a Filemaker XML limitation. The XML search is severely
limitted, mixing AND and OR clauses doesn't work, nor does searching
on the same attribute multiple times. The latter limitation is what
is causing the problem with batch fetching. If you can get
prefetching to work instead of batch fetching, I'd recommend that,
although i can understand there are plenty of cases where that
wouldn't be feasible. An alternative is to add a calculation to
your Filemaker database and EOModel which references the related
fields. Be sure to mark the calculation as READ-ONLY in the EOModel
so EOF does not try to write to the calc field.
issue #2: You should use Filemaker's primary key generation with
WooF, EO_PK_TABLE is not something we've experimented with, but it
sounds like it might not be too much work to get it working.
Issue #3: This is resolved in a new version of WooF, which we should
be posting shortly. Contact me directly at email@hidden and I'll
send you the patched version (without the xerces dependency)
Ciao,
Sam
On Feb 24, 2006, at 5:45 PM, Clark Mueller wrote:
[I know this is a bit old now, but since Sam mentioned this on the
list, and FMP questions come up every now and then, I thought I'd
go ahead and reply to the list...]
Sam,
I have started working with Woof7 a bit since I wrote the below,
and it seems to work very nicely, for the most part. Dates and
times work excellently, PKs from FMP serial numbers work great. I
haven't tried synchronizing a model. Docs for Woof7 would suggest
that actual synchronization can't really be done, presumably since
it bases its functionality on table layouts in FMP, but I actually
really like that it does that.
However, batch faulting still doesn't seem to work quite properly.
This one is a real thorn in my side, and it's my biggest gripe with
the default JDBC driver. I have asked FileMaker about this, and
they seem to be clueless (what else is new?). When a batch fault is
fired with Woof7, I get this error:
[2006-02-22 02:22:38 MST] <WorkerThread0>
com.webobjects.jdbcadaptor.JDBCAdaptorException: EvaluateExpression
failed: <com.prosc.woof7.FMPExpression: "SELECT "clientAddress",
"clientAddress2", "clientAddress3", "clientAddress4",
"clientPhone2", "clientCity", "clientID", "clientCompany",
"clientEmail", "clientNotes", "clientPhone", "clientPOCName",
"clientFlag", "clientSiteID", "clientState", "clientZip" FROM
"WOClients" WHERE ("clientID" = ? OR "clientID" = ? OR "clientID"
= ? OR "clientID" = ? OR "clientID" = ? OR "clientID" = ? OR
"clientID" = ? OR "clientID" = ? OR "clientID" = ? OR "clientID"
= ?)" withBindings: 1:100021(customerID), 2:5496(customerID), 3:7838
(customerID), 4:9306(customerID), 5:100013(customerID), 6:100012
(customerID), 7:10744(customerID), 8:6128(customerID), 9:10816
(customerID), 10:10798(customerID)>:
Next exception:SQL State:null -- error code: 0 -- msg: You
cannot use the same search time twice unless they are being used
with >, >=, <, or <= operators for ranges.
FileMaker XML limitation, or WooF limitation? clientID is a Number
type, FYI.
Second issue I had is with a previous method I had to generate PKs
for an entity, based off of EO_PK_TABLE. It makes a call like this
one: ((Number)rowWithPk.objectForKey("PK")).intValue(). This gives
me an exception telling me that getPrecision() is not implemented yet.
Last thing I noticed is that the xercesImpl.jar installed w/ WooF
seems to conflict with Axis - I was able to resolve this problem by
installing the other three Xerces libraries from 2.7.1. My web
services calls worked properly after that, as did WooF.
All in all though, if the above are addressed, Woof7 is definitely
going to be a great addition to my toolkit.
Regards,
Clark
On 17 Feb 06, at 10:08 AM, Sam Barnum wrote:
If you run into any other issues with Filemaker, please post them
here or send email to the WooF support team, we'll do our best to
get them answered. Since WooF7 uses XML to query the database,
there are some unexpected issues with regards to speed and
equality searches. Doing an equals search on a TEXT field is not
speedy, for example, since Filemaker XML publishing is more geared
towards "contains" searches.
On Feb 9, 2006, at 2:50 PM, Clark Mueller wrote:
Ute,
I have used WO to interface with FileMaker on a couple of
occasions. If you search the list archives, you'll find a brief
exchange from me previously on the topic. Woof has only recently
been upgraded to work with FileMaker 7 databases, so I haven't
tried it out yet, but my rules of thumb when working without it are:
- Build your model manually; don't expect to be able to
synchronize it, either. The classpath issue you mention, I
believe, is the result of trying to have EOModeler build your
model for you.
- Time related data types from FileMaker simply do not work
correctly; FM's JDBC driver expects them to be enclosed in {},
instead of in quotes (""), which is how EOF writes its SQL (it
looks like Woof7 does this; see below).
- Default values/serials don't work properly (again, Woof7 does
this).
- Don't use batch faulting. This is very counter intuitive, I
know, but this results in EOF creating a SQL statement that uses
a series of OR qualifiers (as expected). FM7's JDBC driver
completely chokes on these queries, and in my experience, can
time out or at least create noticeable delays when dealing with
tables containing upwards of 50,000 records.
Those are the only big gotchas I've found. I suspect that Woof7
takes care of the first three with no problems, but again, I
haven't used it personally just yet. I don't know of any way it
would help you with the last one, however, as that appears to be
a bug in the FM JDBC driver that I am able to reproduce outside
of the EOF environment.
Regards,
Clark
On 9 Feb 06, at 3:00 PM, Ute Hoffmann wrote:
Hi,
there is a jdbc-Driver for filemaker now
(com.ddtek.jdbc.sequelink.SequeLinkDriver).
Has anyone had success in using it? I get a classpath error, but
I know it is in the classpath (had such issues, when driver was
not properly regognized before) so could someone please confirm
that it works with EOModeler?
Thanks a lot,
Regards,
Ute
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40mac.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40prometheus-systems.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden