Jump to content

Exporting and importing on a field by field basis


This topic is 6607 days old. Please don't post here. Open a new topic instead.

Recommended Posts

  • Newbies

Hi everyone,

I have been trying to create a sync button that will be on the client file(using filemaker 7), and it will sync with a server file (filemaker 7 server). All 5 of the clients need to be able to sync to the same file. The problem i notice is when going through the export and import script that i created, I notice synching is just done on a record by record basis. Can filemaker compare on a field by field basis where if one field was changed by one client and another field was changed (in the same record) by another client, the sync would honor both? If so how??? Thanks a bunch

Link to comment
Share on other sites

[After writing the long post below, I read your question again. It is possible that you are not using FileMaker correctly. In a Server-client situation, there are ONLY FileMaker files on the Server machine; no data files on the client machines. Hence there is no "synchronization" method; all data is shared, by FileMaker networking, from the served files, none belongs to the client.

I thought you were talking about "remote files" as in, "put the file on your laptop and walk out the door." If so, read on. If not, please ask about setting up your FileMaker network properly, because it will share your data transparently.]

Oh boy :-| No, and yes. FileMaker doesn't really "sync." It updates data, on a record level, in one direction at a time, using the latest modification time stamp. In order to do this on a field-by-field basis there would need to be a modification time stamp for each field. There isn't such built in.

You could create your own, with a auto-enter by calculation time stamp field for each field, with "replace contents"

Case ( field=field, Current(TimeStamp) )

Then you would need to loop through records, testing each pair of fields against each other. If you have a lot of fields this could be possibly be done with a generic script; but it would be tricky (to say the least).

And that's only 1 direction. You would have to do this on both sides, both files. Unless you isolated only the records needing this, the process would take a long time. And you cannot mark or change the records on either side during the process, or it will consider them modified later. I believe you can isolate the correct records by using an Update Matching import, and import a dummy global field into a global; which doesn't trigger modification stamps.

So yes, I believe it could be done. But I have never gone beyond record-level synchronization myself. I would only attempt the above if someone was willing to pay me by the hour, with no time limit. I'm afraid that, unless you have unlimited time and patience, this is beyond the skills of a beginner.

There is a commercial solution, SyncDek, which does a fantastic job of synchronizing remote records. But even it operates on a record-level basis (which is understandable, since that's all FileMaker has built-in).

It can synch automatically via email, or via remote connection. So that's an alternative. If you synced often, every time you made substantial changes, you would get much the same results as synching on a field-level basis; unless people were working on the same record in the time interval. It is capable of doing a "merge" sync, so that if both records have been modified, fields with different data will be merged together, keeping all the data. Of course, you'd then have to sort out your "multi-valued" fields.

Much of this sync stuff has to do with business rules. Serious questions need to be asked:

"Why don't they just log in remotely to change data?"

"Why are the same records being open for editing on both the central and the remote files?"

Link to comment
Share on other sites

bandit43cat: The whole point of networking and sharing files is to avoid the necessity of "syncing." All users are updating the server files, not their own files. Are you talking about backup of the server files to the clients? A better approach here is simply to use RAID or a cluster server.

Link to comment
Share on other sites

This topic is 6607 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.