DAQFactory has the ability to store Sequence script and Pages in external files. This is designed mostly for developers that wish to use source code control tools, external editors, or reuse script and pages between multiple docs without copying and pasting.
In order to use this feature you must set the External File Root Directory and the File Developer Code in Document Settings, along with the Local Developer Code in Preferences. The Root Directory ensures that DAQFactory writes the external files to exactly where you want it. The File and Local Developer codes are used to ensure that you only create external files on your development machine and don't accidentally create files on your customer's machine when making edits on their computer. DAQFactory will only save external files if the File and Local Developer codes match. The Local Developer code is specific to the computer and not tied to the document, while the File Developer code lives in the document. In general you will want to just pick a code, such as your company name, and put that in as the File Developer code on your documents, and as the Local Developer code only on your development machine.
Once you have done that you can right click on any Sequence or Page and select External File Properties...:
File Name: this is the path to the external file. The External File Root Directory is prepended to whatever you put here. Since the External File Root Directory always adds a \, you should not start your file name with \, nor should you include the drive letter here. You must provide this or no external file is created.
External Only: if checked, the item is only stored as an external file. It is not stored in the .ctl document. In general, you will not want to check this so that the item is saved both as an external file and inside the .ctl document. Then when you distribute your application you can simply copy the .ctl document. If any of your items are external only, then you would have to be sure to distribute the external item as well. This feature is mostly used in cases where you are only using DAQFactory in your own business, you have a secure repository for files available to all systems and you are creating libraries that you use across different applications.
Always Encrypt: if checked, and the external item is a Sequence, the external file will be encrypted using the Encrypt Key provided. Note that the encryption is not particularly strong. If you are concerned about the security of your source code being distributed to customers, you should not distribute the external files (i.e. don't check External Only or Delay Load).
Encrypt Key: a string containing your encryption key. It should just be characters that you can type on the keyboard. The longer and more random the better. Do not lose this key as it is not something that we can recover, though unless you specify External Only or Delay Load, your external item is also being stored internally in your .ctl document.
Delay Load: if checked, then the external file won't be loaded when the .ctl document loads. This also means that the item is external only and isn't included in the .ctl document. The difference between External Only and Delay Load is that External Only items are loaded when the .ctl document loads, but Delay Load items have to be explicitly loaded. This feature is designed for extra large applications that have memory concerns and don't want to load everything in one.
Read Only: if checked, then the external file will not be written to. It will be read (if available) on loading of the .ctl document, but any changes you make to the item are not saved to the external file. The edits are still saved to the .ctl file unless External Only or Delay Load is specified. This is typically used when an external editor is being used.
Auto Reload: if checked, then DAQFactory will check to see if the item has been modified outside DAQFactory and reload the item if it has changed. This does not apply until after the file is first loaded (see note below). This is also used primarily for external editors. For security reasons, this DOES NOT apply when running in runtime mode.
Note: if External Only or Delay Load is enabled and the Local and File Developer codes do not match, any changes to the item will be not be saved, even inside the .ctl document.
Note: Unless External Only or Delay Load is enabled, the item is always saved with the .ctl document even if it is also saved as an external file. When you load the .ctl document, the version of the item in the document is used until you explicitly ask for a reload. Auto Reload won't apply either until you do this. This allows you to make edits on your customer machine and bring the .ctl document back to your development machine and not have those edits be overwritten by the ones in your external files. You then have a choice: 1) you can re-save the .ctl document at which point DAQFactory will save the changes into your external files, or 2) selectively reload items to overwrite the changes with the versions from the external files.
You can tell DAQFactory to load / reload your external files by clicking on the item in the Workspace and selecting Reload. Likewise, you can click on either SEQUENCES: or PAGES: in the workspace and select Reload and DAQFactory will load / reload all the external files of the corresponding type.