Jump to content
Server Maintenance This Week. ×

Limiting Sets of Records


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

Recommended Posts

I am trying to find out where to make the changes to limit the records on the iPad to yesterday / today / tomorrow from one table (and it's associated children)

 

Is this added to the script in the Hub or the Spoke or both?

 

Do I have to do a constrain found on each table or does doing it on the parent table take into consideration it's children?

 

-

 

Also when sending a "clone" file is there any way to have it "rename" the file instead having the word clone in the file name.

 

 

Link to comment
Share on other sites

Do you want to delete records from the spoke that are not in the yesterday / today / tomorrow timeframe?

 

If not, then maybe provide more details on what you're trying to accomplish?

 

If so, then modify the hub section of the script to include that limitation. Do not do anything in the spoke section.

 

The filtering is applied separately to each table, so yes, you would need to change it for each table.

 

There is not a way to rename the clone file - we ask FMS to generate the clone for us (by using the 'fmsadmin backup' command), and we use the name that it auto-generates.

Link to comment
Share on other sites

Thanks Jesse,

 

just need to keep the iPad light with data and only need a small window of data on the iPad for the current working days. Wouldn't want to delete data from the hub.

 

So the filtering is all based on constrain found set so if on each layout I constrain to the date range to the related parent table that would result in the smaller found set. on each child table, I am not sure I can rely on GTRR or collecting data from parent to child as I am not sure the order the sync occurs.

 

-

also I have been getting a LOT of stalls from the java webstart - where it will just refuse any entry or clicks - always have to force quit and restart the process any suggestions to make java happier?

Link to comment
Share on other sites

Yes, everything you said is right. The child table should do a search on a related field in the parent table and constrain based on that.

 

Regarding the stalls in the web start application - this is not a problem that I've had on my own computer. I'm guessing it's a hang with MirrorSync communicating with the WPE, as opposed to a problem with Java. If it happens again, go to the MirrorSync launch page and click the 'report a bug' link. This will send me the log file, which should show why the server is hung up. Be sure to do this WHILE the client is still hanging.

Link to comment
Share on other sites

  • 1 month later...

coming back to this i am finding that parent records are not being transmitted to the iPad because they were never "updated" 

 

Here are the comments from the MS Customization script

When this script is called, it will be on one of the sync layouts specified in the configuration,

and the found set will be the records modified since the last sync.

 

If you would like to restrict the records sent from the hub to the spoke, you should enter find mode, set your search fields,

and then do a 'Constrain Found Set'. Be sure to NOT do a 'Perform Find' or 'Extend Found Set'.

Also, do not use 'Go to Related Record' to change the found set on this layout.

If you restrict records from the found set, they will NOT be synced on future

changes (even if the restriction is removed) unless they are modified in the future.

 

You may switch to other layouts to look up necessary information, such as user IDs,

but be sure to switch back to the original layout before exiting the script.

Error capture is ON at this point, so you do not need to check for errors in your Constrain Found Set operation.

 

 

When script gets to the parent table according to this it's already in a found state of what as modified since last sync

then my script step does a constrain find to find records ONLY in the date range by doing this I think other records that are NEEDED to be on the iPad

are not being pulled over because they have been excluded from this step.

 

so when a user modifies a child record do i have to some how update the modified timestamp in it's parent record too?

 

because what i end up with is orphaned child records and no parent records on the iPad, for the same date range that i have requested.

 

---

 

How do i know what order syncs are performed  are they top down or bottom up does the If / ElseIF matter in the order of the layouts such as parent to child or child to parent?

 

--

Link to comment
Share on other sites

Parent tables are always synced first (according to the relationship settings in the MirrorSync configuration). If there is a circular relationship, or if there is no relationship between tables, then they are done in alphabetical order.

 

If you are using the filtering to remove records that were not recently modified, then you will get the behavior you see now (recently modified children but no parent records). There are a few solutions that come to mind, in order of what I think is the 'best' solution:

 

* Filter on some more meaningful criteria then modification date, such as completion status of the parent record

* Remove all date filtering, so that once records are synced to the iPad, they stay there regardless of modification date

* Add script triggers to modify the parent when the children are changed (this is what you're asking about, but this would be my least recommended approach)

Link to comment
Share on other sites

This topic is 3586 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.