Select Old Files
Click this button to select the folder where you keep a copy of the old files. RefreshFM will search for any files with the same file extension as the main file ( obviously .fmp12 by default ) and copy one of each of those into the working folder.
Which folder to select?
This can be any folder that contains a copy of the Live or Production files with data in them. Don't select your live, on the server files, just a copy. The only requirement is that they have some data in them to test the import with. So you might select a recent backup folder for files hosted by FileMaker Server or a local folder containing a copy of the files from a server.
Once the files are copied, the list of files found is in the portal below. You can delete files from this list if some aren't required, or add to it by selecting a new folder.
The path to these files is also remembered, and stored as the "Production Data Folder". If this was just a backup folder, not the actual live folder or the files are on FileMaker Server then you can alter that later.
What happens in the background?
The "RefreshFMControl" folder is created if it doesn't already exist. Inside that folder, a "DataFiles_New" folder is created and a copy of the live files are placed there. These files are deleted later when RefreshFM is closed, they are only ever copied to this location as needed, and are not stored inside RefreshFM.
Select New Files
This can be any folder that contains cloned or otherwise empty copy of your development files with the programming changes in them. It is important that these are cloned files when you start the import as you want to be importing into empty tables.
Once the files are copied, the a copy of each file is added to the portal row below. You can manually remove or add to the file list there. If you add files manually to this list you should also insert the matching FileMaker file into the container field. As well you can update the files later on by inserting an updated file into the container field.
What happens in the background?
The "RefreshFMControl" folder is created if it doesn't already exist. Inside that folder, a "DataFiles_New" folder is created and a copy of the files is placed there. These files on disk are deleted later when RefreshFM is closed but the clones are stored in container fields.
The file in the container field is to store the actual copy of your development version of the solution. Each time you run an import, the files are exported from the container field to disk and then the import happens. This is done for two reasons :
- RefreshFM can repeat the import process easily at any time by just exporting the file to disk again. There is no need to re-clone the files or delete all the records we just imported.
- You can move the main RefreshFM file ( for example from your development box to a testing server ) and the only thing you need to copy is the main RefreshFM file. There is no need to setup folders or copy other files as everything is self contained inside the main RefreshFM file.
A couple of things to be aware of :
- The intention is that the files you import are your "ready to go" dev files that are all cleaned out ( cloned or otherwise ), all set to have data imported into them.
- You don't have to have your set of cloned development files available right now while you do the setup if you don't want.
- You can replace these files by importing a new file into the container field at any time.
- Be aware though that if these files have test or old data in them you will get errors about mismatched record counts when you do the imports.
Notes about cloned files
Be careful when cloning files that may be used in other locations than your own. Cloned files take on the default system formats for date and times etc of the computer that does the cloning. In some situations that can be desired, but in others it may not and may adversely affect data entry at a later date.
A handy way to do this is to have a script or process that creates clones or deletes records and resets global fields in order to get the file into a "clean" state to begin importing. That way you can do your development with some sample data, but run your build process to generate your empty set of files whenever you need.