The Cow
|
Re: xpost, can it do better than just add & subtra
Reply #5 - May 2nd, 2007 at 1:14am
|
Print Post
|
I certainly won't grant that your mind is in any way "little", and I always wish I had a bigger picture of how Sesame will be used. The users never fail to surprise me much in the same way they surprised Andreas with Q&A 5.0.
There are several problems with XPost running on change code. Chief among these is the danger of "pushing" as opposed to "pulling" data. It causes a inherent data blindness that would be made even more treacherous by code running blind where no one can see what it is doing. It would have to be very carefully crafted code.
Additionally, in Sesame all code (other than Application Open code) is atteched to a particular form, not to a record definition or database. XPost, on the other hand operates directly on records on the server, without specifying one form or another. In that Sesame can have many forms all serving the same database or record definition, the question arises, which form's code applies.
Even if only one form (and at least one) is attached to the database, there are a lot of Sesame commands that are not possible without a user interface. We would need some way to limit the programming only to those commands that can operate directly on fields and records, without forms or elements. And, should we be able to affect that limitation, we would still be very limited in error reporting, and may have to leave a record an "undefined state" with uncommitted changes.
Also, because we are true client / server, as opposed to file sharing / locking, there is a small possibility that between multiple XLookups and XPosts to affect the changes needed, another user could, while using the external application introduce a new record or change an old one so that in the midst of operations the newly altered record becomes the record to be affected by the XPost, instead of the record originally intended. Of course, this would only be true in the case where multiple XPosts and XLookups are combined to affect the change. This is true in any system that does not keep batched result sets and is part of the justification for the XResultSet commands.
|