Ocean West Posted May 10, 2014 Posted May 10, 2014 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.
Jesse Barnum Posted May 12, 2014 Posted May 12, 2014 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.
Ocean West Posted May 13, 2014 Author Posted May 13, 2014 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?
Jesse Barnum Posted May 13, 2014 Posted May 13, 2014 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.
Ocean West Posted July 5, 2014 Author Posted July 5, 2014 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? --
Jesse Barnum Posted July 7, 2014 Posted July 7, 2014 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)
Recommended Posts
This topic is 3791 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 accountSign in
Already have an account? Sign in here.
Sign In Now