We had 18 people out here Tuesday, including a couple of new faces, to hear Ernest Koe discuss ProofGroup’s fmSpark and ninjaCal products. I have to say personally I was very impressed with the quality of the products and especially the elegance of the underlying code. These products are a bargain just for the education they provide when you get under the hood.
They’re also great examples of modular, portable code.
fmSpark can be thought of as a bolt-on document management/output solution – it creates merged documents of all kinds on the fly using customizable templates. Integrating into an existing solution is a matter of adding two TOs and one or two other bits I don’t recall offhand – but it can be done in minutes.
ninjaCal is a portable UI interface and script that provides a very elegant way for users to select date ranges using minicalendar views. We’ve seen myriad versions of minicalendars over the years going back to FileMaker 3, all of them supplanted by the built in Calendar dropdown in later FM releases. NinjaCal trumps the built in Calendar dropdown in spades. Again, integration is a matter of importing a table, a script and copying/pasting a UI widget.
After pizza, we dumped the Saved Finds discussion in favor of a free-ranging discussion touching on data separation (we don’t practice it ourselves at ITS, but some of the local crew implement various flavors of it), abstraction and modular programming, and other random bits. Ernest Koe broke out pieces of the second half of his presentation on MVC, which was in itself worth the price of admission.
For those of you who didn’t make it, here’s a primer on MVC:
http://en.wikipedia.org/wiki/Model-view-controller
Basically you can think of MVC as a philosophy of modeling the architecture of a solution, and have that architecture guide your design decisions. It’s something that’s been around for awhile. I’m finding it refreshing that many of the methodologies in the programming sphere at large (Agile comes to mind as another example, and abstraction another) are beginning to be adopted and adapted to programming in FileMaker. Ernest and Corn’s contribution to this process is implementing FileMaker solutions using an MVC pattern – which acts both as proof of concept for the model and gives us a great example of one method of concretizing the concept.
Ernest talks a bit about the process of building fmSpark using an MVC approach here:
http://proofgroup.com/blog/2008/mar/fmspark_10_beta
We don’t have any vidcaps of the meeting, but our friends at the Orlando FMPug Chapter have posted Ernest’s presentation to their group on the FMPug site here:
You need to be an FMPug member to view the content. If you’re not an FMPug member, I highly recommend becoming one – the discounts alone justify the membership fees:
A portion of the membership fees go to us, the local chapter, the rest goes to supporting the FMPug org at large.
Next month:
We have Jesse Barnum for 360Works coming, with some 360Works giveways for FMPug members! More on that in the weeks to come.

many thanks, Colin. I had fun. You guys were a lot of fun.
We were happy to have you, and you’re welcome back any time. Chad and I were still talking about MVC this morning.
I just wanted to say that this was one of the more useful meetings I’ve been to and that I was impressed with the product presentation as well as the philosophical discussion that followed. Thank you.