Jump to content

Ddoughtie

Members
  • Posts

    15
  • Joined

  • Last visited

Everything posted by Ddoughtie

  1. UPDATE: I was using the wrong path. My bad. It works. Doesn't move but copies so I then delete it after moving. I'm trying to move a file that is in the Root (so the path is just the file name) to a folder in Root called "Moved". When I use FTPEEK_Rename with (" filename.pdf";"/Moved/filename.pdf") it deletes the file and it never appears in Moved. I tried this and (" filename.pdf";"Moved/filename.pdf") and same thing. Any suggestions? Using FMP 19 on MacOS 10.14
  2. I have been able to download files to a local directory. But I can't seem to have it download to a mounted directory. Is there a path syntax for a mounted volume? I've tried "filemac://Volumes/ShareName/FirstFolder/File.txt" and "/Volumes/ShareName/FirstFolder/File.txt" and "filemac://ShareName/FirstFolder/File.txt" and "/ShareName/FirstFolder/File.txt" ------- all generate an error. Can you write to a remote volume or do you have to download locally then move the file remotely? Using Mac OS 10.14.6, FMP 16.0.3.317
  3. I have successfully captured the list of files on the remote server. I loop thru them and can grab the moddate and then download the files successfully. But one file, even through it successfullly provides the moddate and downloads, it errors when using getfileinfo "file info" to the the file's size. I use the FTPeek_SetErrorCapture to keep from hanging on the error. But it says the file doesn't exist but yet the step finds the moddate and then successfuilly downloads it. The file does exist but what causes the error? This is one file out of 41 files. It doesn't appear to be any different, other than name. Using FTPPeek version Version 2.3 and FMP 18.0.3.317 and running on OS 10.14.6.
  4. I have a solution that syncs at the end of a "shift". The shift report says what happened during the shift. But I want to add a time card component that syncs when anyone starts work and ends work which doesn't always match the "shift" that one or two guards are covering. So, I want to keep the main Sync with Server script intact for the end of shift report but I want to dupe it, rename it and hardcode it to sync one or maybe 2 tables only. Since there will be only 1 or 2 records it should be fast. That way the timecards are always up to date and the shift reports are sent as a whole. I'm going to try and edit line 4 of "Sync with Server" to look for a Table Occurrence that starts with "ESS" and rename those Table Occurrences to start with "ESS." Not sure it would work with "ESS_PUSH_Etc"? Any thoughts on that or is there a better way of doing this? Dan
  5. Hopefully the record would never be duplicated. Leaving it checked I think is the best course for now. I'll just make sure any duplications are handled through a script that would gen a new UUID. With the users unable to use any of the menus I hope they won't find a way to dupe a record.
  6. thanks. The weird part is I've never noticed it and found that in some other solutions I've used this half are checked and some are not but they seemed to work. But tonight I'm adding Fmeasysync to a new solution and I can't get more than 1 record to sync from any table. I only get the last record. I've gone over the TO's. I guess I need to double check the payload layout next. Thanks, Dan Actually it was the payload layout. The portal was blank. I must have copied the layout prior to finishing up the TOs.
  7. The instructions say the easiest way to add the 5 ES_fields to each table is to simply copy and paste from the Demo database. I realized tonight that in one Table, "Surveys", the ES_Recod_UUID has the AutoEnter set to "Do not replace existing value of field if any" checked. But the other 2 tables, Survey_Hobbies and Survey_Documents do not have it checked. This is in both the Hosted and Mobile files. Which is correct? The instructions just mention unchecking it on US_UTC_Time. Dan
  8. Thanks. I'm noodling over it and think it will work. I think combining it with a script that will flag the exclude files will solve my problem. Basically I need 30 files out of 1500 and with the exclude flag set on 1470 of them and and resetting the other flags then I might have my solution. Shame Tim took down all the troubleshooting documents. Luckily I printed out the install docs. Wish I had printed the troubleshooting stuff. Thanks.
  9. I've had pretty good success using FMEasySync with pushing. I've got multiple users in the field pushing in records everyday. No problem. The issue I have is that there are some inspection records that everyone needs to get back to their Mobile. Each user is doing a monthly inspection. They need to have the record from the previous inspection to calculate how many "cycles" have occurred since the last inspection. It's never the same person going back. The issue I have had is that when Pushing from the server not everyone gets the necessary records. It seems like only those to created the original records get them back. Or one user will get the record and anyone after that does not. To get around that I push the new records from mobile to server using fmeasysync then after a successful sync toss away everything on the mobile device, then I do a regular import of all the records. (prior to the import I set a flag on the server for one field called "no_transfer" to 1. That field in the mobile solution is set to auto enter 0 when a record is created. I set the ES_EXCLUDE to be a calc field on the mobile side that says if "no_transfer" = 1 then exclude. [I could have left the ES_EXCLUDE as a regular field and used a script to set it to 1 after import but I also had it look for a "delete" flag to keep it from syncing a file that was marked "Delete" but we didn't really want it to get deleted from the ipad]. All new records have 0 in the No_transfer flag so the new stuff comes across. That prevents unnecessary roundtripping since no one can edit an old record anyway.) But as the records build up this secondary import process makes syncing longer. I would love to simply pull the last known inspection for that location (there's 30 of them). But everyone needs to get those 30 records, not just the last device to have that record or the first user to touch the record. How can I use the Pull side to grab the records for every user? I can easily script it to set the ES_EXCLUDE field to only allow those 30 files through, but what do I do to force them for every user? Do I reset one of the other ES_xxx fields to allow this. I've done some experimenting with trying to do a find before import but the 'found set" state of a server doesn't seem to act like a standalone file where the Found Set of a table will determine what comes in. I know I could do this with a middle man file but I would prefer sticking with fmeassync.
  10. Is there a method to exclude a specific field from the sync process? I assume that EasySync always excludes calc and summaries and probably globals (does it exclude globals?) and only lets through numbers, text, dates, times and containers etc. If there are some trigger fields on the mobile solution that have no bearing on the hosted files is there a way to tell the syncing process to ignore a field so that you don't have to add that structure on the host file? Thanks.
  11. I can't seem to find a clear definition of the term reset in the documentation so far. If you mean to reset the Device ID on the host, I find that the replace contents, as per the hosted demo database, is set to auto replace the DeviceID with the device that is touching it so I can't see any way of resetting it with the same device. Or do you mean reset it from the iPad I'm trying to sync? Has any attempted a document that compiles the bits and pieces on settings etc that are scattered through the website and the forums? Everything links back to the FAQ, troubleshooting and the Setup (and the forum). Across the forum I see more explanation about lots of setup tips that I don't see in the FAQ, Troubleshooting and Setup. Forums are helpful but often the solution you seek is not under a familiar header. (I hated using "newbie questions in my topic because it's not specific enough). I guess I need to break down my individual questions into multiple topics. For example earlier in this post I asked about some clarification if I was correct on how the timestamp fields and the DeviceID are setup on the host vs mobile. I'm still not sure if they are setup correctly since resetting the DeviceID on the host is important but from my viewpoint impossible.
  12. Okay. I found another laptop that has FMP on it. I Changed the DeviceID on the records and it now works. What I don't understand is why another device, such as my iPad, prior to my changing the device ID, couldn't pull them. That has a different ID. It had an empty database and no records in it. I get the gist of why you want to avoid roundtripping but the new device simply wants to upload, which is the step after you push when there is no chance of roundtripping. (As I understand it always pushes then pulls). What am I missing here?
  13. I've had to reverse engineer other sync solutions and have installed a couple GoZyncs with no problem. This is my first attempt at using EasySync. Broke my solution into 2 files pulled in everything as the instructions say and got it to work. I then started cleaning up my 2 new files so that one was more "mobile" and the other more "server." (different layouts and navigation). Now nothing works. I can get new files to push from Mobile but I can't get anything to Pull from server. New or old. I have an empty mobile file and want all the server files on mobile. I turned on debugging and if I read it correctly it's finding nothing to sync. I've checked the TO's a dozen times. Moved mobile to an iPad so it would have a new DeviceID and nada. I've replaced the RecordUUIDs on the server side several times, no result (same with the UTC_Time). I get no errors of any kind. First I need to understand the boilerplate fields. The instructions say "grab the fields from the demo DB" and do the same for Host and Mobile (ie. repeat steps 1-4). I grabbed them and pasted them in across the board. I'm pretty sure I copied the ones from Hosted and put them in both hosted and mobile solution. Like I said before that seemed to work. After things went south I opened the original demo files and I see where on the Hosted side the UTC_Time and the DeviceID fields are set to "replace content". Which I find odd in that several posts say clearing the Device ID helps get files to download. I tried what one poster suggested was replace the DeviceID with 5. I can't replace the DeviceID on the hosted file because it automatically replaces it with the servers persistentID. On the Mobile side it has RecordUUID and UTC_TIme as "replacing existing values." Device ID is auto Calc and not replacing. Any light on this would be helpful. And on a side note, I've never been able to get the sync, even on the demo to work, when both the hosted and mobile files are on the laptop. I added the path to the file in the External Data Services but nothing works. I made sure both were in the same folder (I have to admit I did not turn on debugging to find out why). I could only get it to work when I placed the host on my server. Do you have to change a sync setting to have the host be on the laptop?
  14. I sort of agree. I too see the full path on a Mac but I'm also seeing it on on Windows Server 2008 R2 (I'm running a script from FMSA12). I'm capturing the lists in a non-global field so I can see the results. So to get around it I tried to do a substitute (get(documentsPath)) and strip out the path. But the problem with that is that the plugin is returning the path with backward slashes and lacks a beginning slash. The Get(DocumentsPath) is returning the path with forward slashes and a starting slash. So before I can strip out the path and get just the file name I have to reverse the slashes and remove the first one. Not to mention on the Mac you have to strip out the Volume Name but not on Windows. I find this annoying but that is true for every plug-in I've ever tried. I added if statements to use different substitutions based on platform because I am working in mixed environment. (This is my first time using ScriptMaster and I have to say I do like it).
×
×
  • Create New...

Important Information

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