Jump to content

Recommended Posts

So I am new to EasySync, and trying to get the best from it.

I am using it more to replicate a subset of a live database for external clients to access, but they will not be changing anything, so my only requirement is to pull data to my 'Mobile' dataset from my 'Hosted' dataset.

At the moment the live database is approx. 120k records, but this grows daily between 100 and 300 records for the main customer view, and possible 3 times that for associated activity.

I seem to have a serious speed issue, in that trying to sync the mobile version just locks everything up, trying to do an initial sync.

I can manually pull the data over at the end of a day, then mark all of these as EX_Exclude 1 and import them manually into my new portal

Set a OnCommit on the maincustomer view, so any changes will make the ES_Exclude to 0, thus marking these for sync

Question 1: How do I set these back to 1 once the sync is done?

Question 2: Is there a way to Schedule the sync to happen every 15 minutes so it has lessto sysnc, meaning less traffic?

Question 3: If I cannot schedule it, how do I prevent the 2 database's from appearing to lock, preventing users from working on either side, or slowing everything down?

Any help with this would be very appreciated as I am totally stumped at the moment.

Share this post


Link to post
Share on other sites

EasySync is a great tool for managing changes. Small changes in data transfer easily. It's not really good at loading large data sets over the wire. Do the initial data load on the same network or preload the mobile version with the current data set before sending it to the moblie device. 

The closest thing you'll get to a schedule on fmGo is using Install OnTimer Script. 

Share this post


Link to post
Share on other sites

Thanks for the pointer on running a scheduled task to update the data, I will have a look at that and see if it meets my needs, any idea how I can write back to the host to update records that have been synced to update the ES_Exclude to 1? 

Share this post


Link to post
Share on other sites

Jeff,

I've used EasySync extensively. I'm questioning some of the assumptions you've made in the workflow necessary for sync.

"I seem to have a serious speed issue, in that trying to sync the mobile version just locks everything up, trying to do an initial sync."

What do you mean by "locks everything up?"

Then, you start deviating from the intended use of sync. "I can manually pull the data over at the end of a day, then mark all of these as EX_Exclude 1 and import them manually into my new portal"

I suggest looking at what's the cause of your speed issues, before you start going around intended setup. I'm here to help.

-Barbara

Share this post


Link to post
Share on other sites

Hi Barbara, I think I didn't help with adding too much of my intended process in my question.

I did from some further work on this today that the speed issue is more to do with server issues and network traffic rather than FM itself, although I do seem to have a lot of Dropped connection issues, but these I think are now unrelated to ES.

My intention is to copy of a full dataset as it stands into my portal database, (This is running currently), as a starting point after which I want to set up a sync to it every x minutes, as with the previous reply, I think I can do this now, I just need to test it, my issue now is marking the records as synced (making ES_Exclude 1 instead of 0)

I have a script trigger that updates the ES_Exclude vale to 0 when something is changed, I am now just trying to set them back so when the onTimer script runs it sets these back.

I tried to use an update to the script that does the pull, but this doesn't seem to work as it looks for a value of Blank, and when I tried to change it seemed to stop working entirely.  Any help with this bit would be greatly appreciated..

Share this post


Link to post
Share on other sites
2 hours ago, jeffwest2 said:

My intention is to copy of a full dataset as it stands into my portal database,

by "portal database" do you mean the client file? *portal is a layout object in FileMaker

You may wish to preload the client before it ships.

2 hours ago, jeffwest2 said:

 after which I want to set up a sync to it every x minutes,

Not recommended. Provide a sync button on every layout and train the user to click it often (show the last sync, show it in RED if it's been past a threshold period). Starting a sync automatically is disruptive, imho.

2 hours ago, jeffwest2 said:

I just need to test it, my issue now is marking the records as synced (making ES_Exclude 1 instead of 0)

Not necessary. Records that have been pulled will not pull again unless their last modified timestamp (ES_UTC_Time) is greater than the client's last pull timestamp.

 

Share this post


Link to post
Share on other sites

Hi Barbara

Thanks again for the reply, it has made things a lot clearer now for me and is greatly appreciated.

In answer to your question, yes, I do me client side, 'portal' is what we have called it internally.

I may very well do a sync button, but was just wondering is a timed sync may also work, I may very well try a combination of both of these for a short while at least to see which will work better, if I do a button I may want to just pull the record at that point (the one that the button is being clicked on), rather than all records.

Am I right in thinking then that in many ways I do not need to worry about the ES_Exclude unless I actually want to exclude a record from syncing across for some reason rather than use it to decide what does needs to sync.

Share this post


Link to post
Share on other sites
5 hours ago, jeffwest2 said:

just pull the record at that point (the one that the button is being clicked on), rather than all records

You can pull just one record to see if it's updated. Use the $$additional_sync_parameters

5 hours ago, jeffwest2 said:

Am I right in thinking then that in many ways I do not need to worry about the ES_Exclude unless I actually want to exclude a record from syncing across for some reason rather than use it to decide what does needs to sync.

Exactly. The UTC times will only pull what's modified since the last pull.

 

By the way, the server scripts and mobile scripts are different. You cannot take a copy of the server file and make that the mobile file.

Share this post


Link to post
Share on other sites

Thanks, as far as the Client/mobile side is concerned, the 'portal' has already been built, and I have already added the 2 different codes into each of the database's, but thanks for the reminder on that one.

I will look at the $$additional_sync_parameters , so thanks for that pointer

I have linked up one of the 2 table sets I will be syncing, so just need to get the other one set, and finish the mass copy of the actual data from one to the other, which is taking a time as, unfortunately, I did not build the first one, and I have far too much data in one table to pull across :(

Share this post


Link to post
Share on other sites

Also, see this thread: 

 

Share this post


Link to post
Share on other sites

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


×

Important Information

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