FileMaker Wish List
I know, it's not even Christmas! But here's my wish list for FileMaker Santa to consider for inclusion in future versions(s). (Hopefully sooner rather than later.)
It's a long list, so bear with me. Feel free to leave comments, but know that I moderate my comments, so don't be surprised (or offended, please) if yours doesn't show up immediately (or at all).
NOTE: If you are not a FileMaker developer, this list will not mean anything to you, so you can feel free to skip this post. Don't worry: I'm not offended. :)
- Formatting Enhancements
- Conditional Formatting of Number/Date/Time/Container types.
(currently only supports conditional formatting of Text)
- Conditional Formatting of Line/Fill Patterns.
- Conditional Formatting of object'sexistence.
(i.e. whether it even displays)
- Ability to specify Alpha channel (transparency/opacity) for all Fills & Colors
(RGBA instead of RGB).
- Conditional Formatting of Number/Date/Time/Container types.
- Developer Features
- Manage Scripts
- Script Numbers
- Quick Find: search inside scripts also
Currently only searches Script Names.
Currently only available by printing script(s) to PDF and searching that.
- Script Editor
- Script Line Numbers
- Colorization of Script Steps
- Expand/Collapse code blocks
Specifically
Loop...End Loop
andIf...Else If...Else...End If
blocks.Defaults to Expanded
State stored
—per file?
—per session? (i.e. until last window close)
—per FM Instance? (like Save Layout Changes Automatically)
- Calculation Editor
- Most of these would be toggleable and customizable.
See Apatana or any decent IDE for example(s).- Calculation Line Numbers
- Colorize/Format Calculation
- Type-Ahead Code Suggetions
- Automatic Code Completion
Similar to Code Suggestions, but actually inserts other half of pairs of Parentheses and Brackets, and also inserts semicolons where it can, etc.
- Automatic Whitespacing (default Off)
- Enclosure Highlighting (parentheses/brackets)
e.g. Click an Open Parenthesis, and it's highlighted, and the Closing Parenthesis (if any) that FM think corresponds is also highlighted.
- Code Collapsing
If FM determines that you have closed a particular code block properly, it should let you collapse that code, at least until the Calculation is saved.
The "Expand All" state would be restored when the user is finished editing the Calculation and closed the Calculation window, either by OK or Cancel.
- Layouts
- Layout Numbers
Display automatically to the left of the Layout Name, wherever it appears.
This is the number that displays in the Status Area ("flip book" number).
- Layout Folders (like Script Folders)
- Layout Numbers
- New/Altered Calculation Functions
- Altered:
TableNames
becomesTableOccurrenceNames
This more accurately reflects this function's actual feature set.
- Altered:
TableIDs
becomesTableOccurrenceIDs
This more accurately reflects this function's actual feature set.
- New:
TableNames
Lists the names of the actual base tables in the file.
- New:
TableIDs
Lists the internal FM IDs of the actual base tables in the file.
In case there is any confusion:
by "base tables", I'm referring to the tables and their names, as displayed in the Tables tab of Manage Database.
- New:
Get ( ActiveScripts )
Lists the active scripts — the script stack.
This is currently only available in the bottom of the Script Debugger window.
- New:
Get ( VariableNames )
Lists the names of the active variables, including scope indicator.
This is currently only available in the "Current" tab of the Data Viewer.
- New:
VariableType ( Variable )
Returns the data type (Text, Number, Container, Date, Time, TimeStamp) of the data stored in the variable.
Does for Variables what
FieldType
does for fields. - Altered:
Last
updated to handle Lists, too.Equivalent to
GetValue ( listOfValues ; ValueCount ( listOfValues ) )
- Altered:
FilterValues
updated to allow user to specify whichFilter to apply.Currently only does Intersection.
- New:
CollapseValues ( listOfValues )
De-duplicates Value List.
- New:
ReplaceValues ( listOfValues ; start ; numberOfValues ; replacementValues )
- New:
FilterValuesByPattern ( listOfValues ; searchText )
Acts like
FilterValues
combined withPatternCount
Iterates over values, and keeps the ones where
PatternCount ( value ; searchText ) >0
- New:
ForEach ( listOfValues ; do )
Iterates over value list, and runs the
do
code block.Uses
Self
to reference current value. - New:
While ( condition ; do )
As long as
condition
evaluates to Boolean TRUE, it evaluates thedo
block, and reiterates.Otherwise, it stops.
- New:
Function ( {[}
paramName1 {= defaultValue1}
do {; {{$}$}functionName } )
{; paramName2 ]};Allows custom functions to be defined on the fly.
Can recurse.
Scope assigned like variables.Example:
]
I do:Set Variable [
$create_function ;
Function (myParam = 0 ;
)
Case ( myParam ; "Hello World" ; 0 ) ;
"$my_hello_world_function"
I then do:Set Variable [ $call_my_function ; $my_hello_world_function( TRUE ) ]
$call_my_function
is now set to the string "Hello World".IsValid
would be used to check if aFunction
is defined or not, like normal.Scope is defined exactly like variables:
no initial sign = calculation scope (like
Let
variables)
$ = local/script scope
$$ = global scopeAdded to the Data Viewer's Current tab. The "Value" column would show the parameters (their defaults) and the text of the
do
block —notthe results of evaluating thedo
block, since it hasn't been called specifically (that's what the Watch tab is for).
- Altered:
- Miscellaneous
- ActiveX object update
- Allow Script Parameters
- Script calls return Script Result to ActiveX object for retrieval.
- Ability to designate Custom Function parameters as Optional.
- Ability to display Variables on Layouts, as Merge Data.
- "Merge Data" = New name for "Merge Fields".
- Includes
Function
variables of the Script and Global scopes — see above. - Would cut down significantly on the number of "display" calculation fields clogging up the Schema.
- Ability to specify OR relationships.
- Ability to use Variables in relationships.
- Change
Self
when used on Buttons to refer to the underlying object, not the FM "ghost" object grouped on top of it when the button is created. - New Layout Object: Calendar (details TBD)
- Make all Windows windows independent of main FM App window, like on Mac.
- Ability to programmaticaly manipulate layout objects
- Includes ability to hide/delete them, and create/show them.
- Any changes are temporaray. For how long would be TBD, but no longer than 'til the last window for the File closes.
- Relevant layout editing permissions would apply.
- Perhaps new function?:
SetLayoutObjectAttribute ( objectName ; attributeName ; value )
- Perhaps new Script Step?:
Set Layout Object [ object ; attribute ; value ]
- Ability to trigger Scripts from Calculations
New function:
PerformScript ( fileName ; scriptName ; parameter )
Function returns Script Result (if any). - Ability to programmatically (script steps) create/alter/delete Schema items
- Tables
- Table Occurrences
- Fields
- Relationships
- Layouts
- Layout Folders
- Layout Objects (see above)
- Scripts
- Script Steps
- Script Folders
- etcetera
- ActiveX object update
Comments
Post a Comment
Hi! Feel free to comment. However, I was getting posts from different Anonymous people, and it's difficult to know who is who so I can keep the conversation straight in my head. So I'm requesting that you please bear with my weakness, and identify yourself. Even if you want to use a different name than your real name -- that's fine. But give yourself a handle for me, please. :) Thanks...