FmPro Script Diff compares, edits, searches and stores FileMaker ScriptMaker scripts - outside the FileMaker database. Changed scripts are compared on a line-by-line basis and displayed with color coded tags to the left of each modified line. Interline changes are also highlighted to indicate Changed, Added or Deleted text. Each scripts XML source can be manually edited or updated via the Search & Replace feature, and pasted back into FileMaker. Transferring scripts between FileMaker and FmPro Script Diff is done by copying & pasting the scripts via the clipboard. No DDR Export is required. Even large numbers of scripts are transferred to/from FileMaker within seconds.
Compliance and Certifications - A common requirement for regulatory
compliance and industry certifications (including: Sarbanes-Oxley [aka:
Sox, Sarbox], FDA 21 CFR Part 11, ISO 9000) is to maintain a verifiable
audit trail for modifications made to IT systems. The unique line-by-line
script comparision feature implemented by FmPro Script Diff
enables companies to quickly document ScriptMaker changes between any
two versions of a FileMaker database solution. Pressing the TAB key
within the Diff screen enables an auditor to instantly advance thru
each of the changed scrpt lines, potentially saving hours of work looking
for these changes manually.
High Performance Diff Feature - A checksum is calculated for the text of each script as it is transferred from the clipboard into FmPro Script Diff. The Diff process first compares the checksums between scripts having the same name. If the checksums match, the scripts are considered to be identical, thus a line-by-line comparison is not required. This technique improves the performance of the Diff process because typically only a few scripts within an entire database will be modified between revisions. The line-by-line comparison functionality processes the output results from the UNIX diff utility, which only requires about 200mSec to complete for a typical script.
Easily Find Changed Scripts - Quickly display only the modified scripts within a large group of scripts by using the Diff screen menu item Changed Scripts. If you have dozens or even hundreds of scripts, it can be a significant time saver to filter the Diff results to display only the Changed, New, Deleted or Unchanged scripts.
& Replace Text Within Scripts - How long would it take to manually
find and replace a piece of text like a customer name or product name
within dozens or even hundreds of scripts? FmPro Script Diff can perform
these types of search
and replace tasks within a few seconds. Search & Replace can
be performed on variable names, Tablename::Fieldnames, Table Occurrences
and text strings throughout an entire group of scripts. Updated scripts
can then be pasted directly into FileMaker. All script attributes including
Script Name, Script ID and Include in Menu status are retained when
transferring scripts via the clipboard.
TAB to Highlighted Text - When a script is clicked in search mode, the search text is highlighted in yellow in the Script Text display field. Pressing the TAB key automatically advances to the next occurrence of the found text within the field. This timesaving feature is also used for the Script Errors display, which shows script errors highlighted in red. For Diff results, the field automatically scrolls and highlights the first changed line of text, and pressing the TAB key advances to the next changed line.
Quickly Browse Scripts - Each script is displayed in a format which is similar to the FileMaker script printout format. Script step names and comments are displayed in bold, options are plaintext, and Tablename::Fieldnames are underlined. Disabled instructions are displayed in italic text. Complex script steps with many options are displayed in a multi-line format, without requiring the opening of modal dialog boxes within ScriptMaker. Import and Export field lists are especially easy to read as a list of fields with Match/Import/Export parameters.
Scripts Among Developers - The XML source for any group of selected
scripts can be exported and transferred between developers working on
a project. This file can be archived for historical purposes or imported
by other developers into their own copy of FmPro Script Diff.
Script Error Check Feature - As each script is copied from the clipboard it is converted from XML into human-readable text and checked for errors. This error checking feature is a straightforward check to verify the existence of tablenames, fieldnames, find requests and export file parameters. Depending upon the programming techniques being used, every missing item which is flagged as an error may not actually require changes to the script. The errors found within the scripts should be considered to be items to review in order to verify script completeness. This review process can be done rather quickly by Tabbing thru each of the errors to review the code. Very little manual scrolling is required to perform this type of code review.
Edit XML Definition for Scripts - The Script XML field allows developers to browse and modify the XML definition for any ScriptMaker script. Changes are automatically saved to the embedded database when clicking outside the Script XML field. The XML is re-parsed into human-readable text and checked for errors. Every parameter of a script (including Script ID, Script Name etc) or individual script step can be modified by editing the script XML definition. Scripts can also be generated by external tools and pasted into the Script XML field, for pasting back into FileMaker.
Script Grouping Feature - ScriptMaker scripts can be pasted into three different screens within FmPro Diff. These three screens (Database1, Database2, Script Repository) enable developers to make comparisons between scripts, have scratchpad work areas and a centralized storage area for commonly used scripts. Diff comparisons are done by pasting groups of scripts into the Database1 and Database2 screens. All scripts located within these two groups are compared to each other and the results are displayed on the Diff screen. The Database1 and Database2 screens can also be used as scratchpad work areas, in order to limit the affect of Search & Replace tasks. Search & Replace tasks only affect the scripts located within the screen where they are performed.
Script Repository Feature - The Script Repository screen can be considered a longer term storage location where commonly used scripts may be stored in one convenient location. Scripts can be copied between each screen by using the same copy and paste mechanism used to transfer scripts between FmPro Script Diff and FileMaker.
Persistent and Robust Storage - FmPro Script Diff utilizes a high performance SQLite3 embedded database for storage of all imported scripts and preferences within the application. This database is capable of storing up to 2TB of data. All changes to the stored scripts are immediately written into this embedded database file. Diff results are also stored in order to provide persistent storage of these results, and to allow filtering of the Diff results list. SQLite database maintenance on the embedded database is automatically performed each time FmPro Script Diff is closed.
Copy Whole Scripts or Script Steps to Clipboard - The normal mode for copying scripts onto the clipboard copies the entire script definition with all included script steps. Holding down the Shift key when copying scripts onto the clipboard copies only the individual script steps. This method enables the pasting of script steps into an existing ScriptMaker script. All of the individual script steps for the first script selected in FmPro Script Diff are pasted at once onto the clipboard.
Paste Whole Scripts or Script Steps into FmPro Script Diff - FmPro Script Diff recognizes the difference between whole scripts or individual script steps located on the clipboard. If individual script steps are found on the clipboard, these script steps get put into a new script named "Untitled ??" within FmPro Script Diff, where the ?? is replaced with an incrementing integer.