FMPug Meeting Feb 11, 2009 - LIVE(ish)
Getting ready for the meeting today with Rosemary Tietge and Ernest Koe. Also pleased to say Corn Walker of Proof is going to be present as well.
Watch this space for updates throughout the day and hopefully will blog live from the meeting tonight (depends on internet availability). Worst case will be mini iPhone updates as the night progresses.
Meeting starts at 6pm EST
@2pm - room is ready for the presentations. Audio and video are ready for recording the meeting.
@6:30pm Ernest introduced himself and talks about MVC
Demonstration of NinjaCal
Due to “technical dificulties” we could not live blog this event but will be posting details shortly. Seems typing, moving the camera to track your presenter (who is quite animated) and taking photos all at the same time is a tad difficult!
FMPug Orlando Meeting Notes
Many thanks to Rich Willis for taking the time to take notes and fill in some of the areas I missed!
Speakers for the night:
Rosemary Tietge from Filemaker to tell us about FileMaker 10
Ernest Koe from Proof , FM Spark -a bolt-on mail merge solution, sends data driven and HTML emails.
NinjaCal - A persistent mini-calendar, for your personal and professional use.
Corn Walker is Ernest’s assistant for the evening.
Ernest Koe introduces himself. Corn is in attendance with him.
Work for proof, a virtual company focused in Education
Talking today about fmSpark and NinjaCal. More focus today on under the hood.
Want to talk today about the MVC methodology.
Model <-> View <> Controller
MVC is the BIG Idea - MVC is geek for Model, View, Controller. A process format for software development and developers. Based on engineering process thinking.
How to modularize design.
Ernest very passionate that FileMaker developers are developers. If you write a script you are a developer.
MVC is about imposing modular design.
3 connected ideas. Based around modular design. Having separate delegations for scripts. Modular design gives you the ability to compartmentalize your design
Modular
Not separate files, but having separate delegated roles for scripts is Ernests idea of modularity.
Clean
You should be able to open the Manage scripts window and you should not “freak out” when you view.
DRY
Do not repeat yourself
such as not rewriting scripts or code. Re-use scripts or design components over and over again.
MVC & DRY are related.
Ernest begins to show NinjaCal
NinjaCal - NinjaCal is a toolkit for filemaker which allows you to select ranges of dates and copy and paste them into your solution. How does it work? They wanted a tool which could be quickly deployed. NinjaCal is essentially a controller script. It’s capturing actions and setting parameters.
- One Script To Control Them All
- The Ninja Cal script can call itself
- The View is the layout and what you display.
- The model is your data (not necessarily the tables)
Action variables are set, and then the script runs through a process until it finds the specific action required by the variable. The reason for using one script is to limit the necessity of using lots of little subscripts. The script is written more like lines of a program than like a specific function or calculation.
Advantages are that the script is compact. Diagnosis of problems (debugging) can be easier than working through many smaller scripts. Every action runs through the same script. This is an example of the “Controller”
“View” - The things that display. The “Model” is the data that is displayed, not the database itself.
fmSpark - This is a BIG application. Manages many different document types. The goal is that the user gets a process flow that is manageable, and usable. With complexity comes headaches…how do you write scripts and where do you put them, how do you deal with change control.
The model is complex, multiple tables etc.
How do you deal with patches, updates etc. A lot of problems contended while building fmSpark. Building applications is very different to consulting.
Under the hood - fmSpark is 3 files (technically two as one is used to lock down the plugins used for distribution), Interface file and application file. Based on separation model. Separaction is good because it follows the philosophy of MVC
fmSpark is “simple” separation. Not preaching the separation idiology. Proof practices the church of logic when it comes to the relationship graph
What is a model. It is an abstract relationship of what is real
In FMPro you use the relationship graph to create the model.
In MVC the model is also the scripts that are used.
In the data file are examples of object models. Similar to tables or table occurrences, but based on the MVC concept. Attributes are all contained in one file.
New record, in an object model, is not sufficient to describe the model. The table or tables contain the components.
Practice the church of logic when it comes to the relationship graph — fun quote regarding the Rel Graph in fmSpark data file)
Corn Walker takes the floor to discuss
The new model is to create a script to handle the attributes of the car, not to create the records containing the attributes of the car.
Examples: messages are broken into three related tables. Scripts handle the work of creating things like batches, adding attachments, etc.
The core idea behind the single script is the ability to easily debug, since the single script handles all the applicable functions. MVC!
Thanks to both Corn & Ernest for a top-notch presentation. Sorry we lost the screen capture but the video of Ernest & Corn is available at http://www.fmpug.tv for FMPug members to watch
Rosemary Tietge presents FileMaker 10
Rosemary has been on a whirlwind tour of FMPug chapters. Dallas last week, then Atlanta, here tonight, then Charolette on Feb 16th.
New Quick Start menu.
New links, video and tutorial content in the resource center.
Create new database from an existing… now includes multiple versions of excel and also Bento
Starter Solutions revamped to take advantage of new features in FileMaker 10
Content Management (based on new template)
New toolbar - record slider, there’s a new pie chart, tied to find record. Quickly invert/revert found set by clicking on the pie!
Toolbar is customizable
One thing, the toolbar is set in the application only. No developer control)
Adding developer tools to toolbar is great (such as DataViewer or Script Debugger). Also if you add New Layout/Report to the toolbar when in Layout mode it will stay visible when in Browse mode and save a click or ten during the day!
Find mode shows mag glass in fields (as long as field borders are turned on
Find toolbar includes New Request. Operators replace symbol.
Saved Finds
Saved finds are account specific, so a user can move to different workstations and their saved finds will be available.
External Authenticated users can benefit from this feature.
Save current find from last find
Question asked by Hal of CampSoftware . If you duplicate an account do the saved finds travel with it?
The answer is yes, duplicated accounts keep the saved finds
Table View
Users can now modify the table view layout and turn on or off fields, reorder them
Security cautions here
Can add fields from related tables
You cannot turn off modify button, only way is to turn off table view.
Live Reporting
You should never (maybe) see the unsorted option. Things will be Semi Sorted or Sorted
Live sorting will not happen while in a script
Sorting on fly is now more standard with interfaces like iTunes.
Summaries now in table view as well
Multiple summary options on layout can be displayed on the fly (but how you ask?)
Now lets talk about exciting developer features
In layout mode Layout properties button is now available.
Fourth tab on Layout Setup showing Script Triggers
Biggest most requested feature from developers EVER!
White paper written by Steve Romig available to TechNet members ($99)
Rosemary shows script trigger OnLayoutLoad
Second group of triggers are object based
Script triggers on object can be seen via “firecracker” icon when in layout mode (similar to the tooltip note icon)
Insert into Tab Order!
Now onto something a little different
Showing on keystroke triggers in a date to use up or down arrow to change the date
Set Field By Name
Set field by indirection
How about Server Side changes in FileMaker 10
Schedules for backups can now be reduced. No longer need 7 daily backup scripts, can use just one and keep backups for 7 days. Applies to hourly as well
Logs now visible from the admin console













