Excelisys Custom Database eX Cetera Blog

FileMaker DevCon 2011

February 22nd, 2011

Come to the FileMaker Developer Conference 2011 and discover just how far your FileMaker solutions can go. Learn how to build more professional databases, extend your solutions to the web or deploy iPhone and iPad solutions using FileMaker Go.

Go Farther, join us at DevCon 2011!

Whether you’re a novice or a seasoned developer, you’ll increase your technical expertise – along with your career potential – in just a few days. Go farther when you come to San Diego by meeting people from over 35 countries to network and exchange ideas. And DevCon is the place to go when it comes to learning all about the latest products and services at the Exhibitor Showcase.

Come to DevCon and you’ll go farther.

FileMaker, Inc. Announces GO – For iPad and iPhone

July 20th, 2010

Looks like we have another way to access FileMaker Pro solutions! EXcellent – nice job FileMaker!

If you need any application tweaked or enhanced to take advantage of the new deployment strategy of GO from FileMaker, Inc. – Excelisys is the GO to team to help!

Want more info on go: http://www.filemakertrial.com/go/

Want more info on Excelisys’ FileMaker services: http://excelisys.com/database-development-consulting.php

Good Example of Poor Scalability

April 28th, 2010

A well-built FileMaker Pro database will have the ability to maintain its speed and usability over time while managing an ever-increasing number of records. When best practices are not applied, they can slow a database to a crawl under the most modest circumstances. This is the concept known as scaling.

So today a client comes to me saying they decided to use the Music Library starter solution that ships with FileMaker Pro to track their production department’s immense CD vault. It’s a simple template featuring a typical parent/child relationship between albums and tracks.

The problem was that every time they added a new record and entered the artist and title, it ran a replace upon exiting the field that was taking longer and longer – we’re talking up to 10 seconds and growing – with the dialog box indicating there were 96 records remaining. That was very interesting, since they’d only entered 40 album records thus far, each with a multiple number of tracks.

Upon close examination of this start solution, I was shocked to find the reason behind this. The “Artist” and “Title” fields have script triggers that execute upon exiting, both pointing to the same script. That script had two steps: replace all track records’ IDs with themselves, and then commit records.

Each time they exited a field, each and every track record was being updated. This was totally unnecessary, and was causing the solution to buckle under its own weight.

So first, we have to understand why the related track records need updating at all. In this template, some of the data fields for an album are copied to its child tracks. This may or may not be necessary for their particular purposes, but it’s just how this template was built. Now, two of those things that a track record grabs from its parent album when entered is the artist and title. If one should later change the album’s artist or title details, the child track records normally would not be updated automatically without some sort of mechanism in place, such as a script. So they would potentially contain different information than their parent record, when they should be identical.

So really, there’s no reason why EVERY track record should be updated when a title or artist is entered, just the tracks (if any) for the current album being edited. By adding a few script steps, we were easily able to speed up the data entry process and still satisfy the need to keep track records up to date. The modified script now first tests to see if any track records exist for the current album, and if so uses a GTRR step to find those records and runs the replace step just on those records, then commits and goes back to the original layout. So entering records is now as fast as you’d expect. And if they modify an artist or title for an album that contains track records, there will be only a slight pause that is barely noticeable. The best part is: no matter how many records are entered, that occasional pause will never increase in duration.

So the lesson here is: just because you saw it in a FileMaker Starter Solution, doesn’t mean it represents best practices.  Of course, there is a whole separate issue here about whether the Replace function should be used in this situation or not due to record-locking implications in a multi-user environment. But that’s for another time…

-Geoff Ryle

Excelisys is FileMaker 10 Certified

June 4th, 2009

Excelisys is proud to announce that eX-Team member Jeff Drake has passed his FileMaker 10 Certification exam, which was just released this week. Jeff has been certified in every version of FileMaker (7/8/9/10), since the exam was first created. The certification is an indicator of Jeff’s broad knowledge and experience across the FileMaker 10 product line. Congratulations, Jeff!! Well done!

Excelisys Featured in Latest Adatasol FileMaker Podcast

April 21st, 2009

A group from Excelisys consisting of Andrew Persons, Mike Duncan and Geoff Ryle recently participated in the recording of an Adatasol podcast that was just released. We had a great time, and enjoyed talking tech and FileMaker with co-hosts Dan Weiss and Theo Gantos. In the podcast, we discussed our latest free “tips-n-tricks” postings that take advantage of FileMaker Pro 10‘s new script triggers feature. Check out this and past podcasts at their website or on iTunes.

Excelisys to Appear on Adatasol Podcast

April 2nd, 2009

A group from Excelisys consisting of Andrew Persons, Mike Duncan and Geoff Ryle participated in the recording of an Adatasol podcast last night. We had a great time, and enjoyed talking tech and FileMaker with co-hosts Dan Weiss and Theo Gantos. In the podcast, we discussed our latest free “tips-n-tricks” postings that take advantage of FileMaker Pro 10‘s new script triggers feature. Check out past podcasts at their website or on iTunes, and stay tuned for our upcoming episode.

As-You-Type Search Filtering using Script Triggers

March 16th, 2009

Check out the new “Tips-n-Trick” file just posted to the “Downloads” section of our web site, contributed by Mike Duncan, Lead Developer at Excelisys, Inc.

FileMaker Pro 10 introduced native script triggers as a tool for developers to utilize in their solutions. This example demonstrates the usage of a search filter, which many FileMaker developers are familiar with in complex portal filtering solutions. Now, with the use of script triggers, it is simple enough to implement the same functionality but you are not restricted to displaying results in a portal, and therefore have much more flexibility in the interface. Instead of being required to set a complex key that drives a relationship, your search script can be as simple or exotic as your solution requires. One key difference available in FileMaker Pro 10 is that you no longer need to wait for a field to be exited in order to trigger an action, allowing interaction between the user and database not available before without the use of third party plug-ins.

This example is a simple implementation of script triggers by using the OnObjectModify trigger set on the global fields that are being used to provide search criteria on the sample data. As the user types search criteria, a search script gets run, narrowing the search results in real time. Also used in this demo is the new functionality to set a field by name. This is used to allow the user to select a field to search on, which is used to set the field by name that is searched. This sounds simple enough, and displaces the need for large, complex branching “if” statements in a script editor that might have duplicated this functionality in previous versions of FileMaker.

Since these fields wouldn’t be applicable in Find Mode, we also set an object with text that displays only when you are in Find Mode that alerts the user to this fact as a reminder, as well as graying out the filter fields. This is done using conditional formatting to change the appearance of text and layout objects that are dependent on the current mode.

Script Triggers in FileMaker Pro 10 are an absolute game changer for developer in what they can accomplish. Hopefully this example provides a small peek at the potential that this new functionality provides.

Special thanks to Brian Dunning for providing the sample data used in this demonstration that is available at http://www.briandunning.com/sample-data/

Drag and Drop-Dead Elegant Interfaces

January 28th, 2009

Everyone at Excelisys loves to hear that rhetorical question asked: “Woah! You can do THAT in FileMaker?” Oh yeah, you can. Well this is one of those moments, and we just posted a demo file and white paper about it up on our Excelisys web site.

http://www.excelisys.com/tips-tricks-filemaker-downloads.php

With the new script triggers introduced in the recently released FileMaker Pro 10, we all can now deliver a richer user experience to our customers – one that incorporates a familiar and elegant interface mechanism: drag-and-drop.

The new demo file we’ve posted is fully unlocked, requires FileMaker Pro 10, and includes three interface examples of the drag-and-drop technique. There is also an embedded PDF white paper that further explains how the whole thing is built, with sample code.

The most obvious use is sorting. Let’s say you’re in a band and you’re trying to organize a set list. Just drag the song titles into the order you want, or change it up again just by dragging. How long have we wanted this feature?

Another great use is building a list. Let’s say you’re managing the receiving dock in a warehouse and you have two lists: the one on the left shows four items ordered on a PO, while the list on the right is blank but will include the items you are receiving. Today you only received one item, so you drag that item from the list on the left into the list on the right. Easy, right?

But here’s yet another great example: nesting in a hierarchical interface. We’ve previously posted a tip on how to build a hierarchical interface, so here’s how to – BAM! – kick it up a notch. Let’s say you have an outline for a presentation, and you decide to move some of your subtopics to another parent topic. By just dragging the subtopic to another topic in the list, you have rearranged your outline – any nested subtopics in the item you moved are automatically moved with it, just as you’d expect.

And that’s when it hits you…   THIS is FileMaker???

These great techniques, examples and white papers are brought to you (once again) by eX-Team Senior Developer Andrew Persons.

Can you think of any other great drag-and-drop example ideas? Leave us a comment and tell us about it, and if applicable let us know how this technique helped you in your projects.

Free FileMaker Pro 10 Template

January 21st, 2009

Now that FileMaker Pro 10 is out, what are you going to do with it? Better yet, what can it do for YOU? If you want to learn about some of the new features, go to http://www.fmstartingpoint.com/ and take a look at their free FM Starting Point template.

At Excelisys, we love the idea of free templates — anything that can help jump-start a project. This was one of the reasons we agreed to build the FileMaker Business Tracker in 2005 for FileMaker Inc. We then updated it as the eX Biz Tracker 2 for FileMaker 9 in 2007, unlocked and completely free. In today’s economy, free goes a long way.

After reviewing all the free templates, give us a call. We can modify them to fit your needs or create a custom FileMaker solution for you.

Toll Free (866) 592-9235 or fill out our Services Request Form


New in FileMaker 10 – Updated Send Email Script

January 10th, 2009

Today’s post is by one of our lead developers. Mike Duncan

Updated Send Email Script (and sending email from your server)

You might be familiar with the way we’ve been able to use the “Send Email” step in previous versions of FileMaker, and those are all unchanged for the most part. Of course, it’s very easy to create a document such as a PDF brochure or Excel spreadsheet populated with data and send that as an attachement. As long as you’re using this from FileMaker Pro, this works great and there’s probably not an easier method of creating a PDF that is specific to the records in your database. Especially when using the Multiple Emails option to send one email for each record in a found set. Nice.

A new feature in FileMaker 10 is the ability to send email directly from FileMaker via SMTP. In the updated script step, you’ll find settings for an SMTP server. Almost all these settings can either be entered directly from the script, or by the result of a calculation if the values need to be more dynamic. The only settings you need to specify is the Authentication and if you’re using SSL. By the way, if you are using SSL, the port number does not automatically change for you. Usually, it’s port 465 for SSL and 25 for the regular non-SSL port.
This all means that when you send an email, we’re no longer dependant on an email client sending the email on our behalf. Hooray! Now for the bad news…

Unfortunately, the implementation falls short in some key areas, if you happen to need anything beyond basic functionality of sending email, that should keep various SMTP plug-in makers in business for a while. For most people, accepting HTML email is pretty standard nowadays, but if you want to send an HTML email (either nice looking reports or fancy marketing material) you’re out of luck with the built in tools FileMaker gives you. It’s plain text ONLY, with the consolation of including an attachment. I know that some email clients will display attachments inline, making this seem more like html email, but for me it falls short. I’m willing to live with the fact that some users can’t see HTML email, but I won’t expect attachments to show up in email messages for everyone. The people who deliberately turn off HTML email are increasingly in the minority, partly due to the fact that most modern email clients make it extremely difficult to do so. If you’re using a recent version of Outlook (on Windows) or Mail.app (on Mac OS) then take a few minutes and try to turn it off, I’ll wait.

Now let’s take a look at FileMaker Server and sending email.

More good news. This step is Server compatible, which means you can schedule it from the server, and it will send an email from FileMaker Server, without the need for a robot machine or similar nonsense! More bad news… the “Save records as PDF” script step is still NOT. So while you can send email from FileMaker Server 10, that groovy PDF won’t be able to be attached like you wanted. You also cannot “Export Field Contents” or “Save as Excel”, though these are somewhat available as a regular export.

This is state of the art 1995 for sending automated email. I can’t understand why adding an HTML option would be out of the question, but it’s just not here. I also don’t see why saving a PDF is also greyed out, but I’m sure there is a good reason behind it. It ends up being a feature I don’t see myself using too often because of these limitations. Of course, the ability to export records IS now able to run from the server, so you can export however you like and attach that to your email. And you can export as an excel spreadsheet this way, but not PDF.

So what are the options for sending email from FileMaker Server that might be more robust? I’m not aware of plug-ins that run server side, but there might be some that fit the bill that I’m not aware of. For me, using a web scripting language has filled this gap for some time now. PHP is the one used most now and is free and installed with FileMaker Server if you choose. It’s fairly easy to loop through found sets, and send an email to each record, with multi-part messages that will show both plain text as well as HTML. All the benefits of HTML email are available as well, including referencing images, complex html and clickable links. The payoff of a great end user experience is well worth the development.

There is plenty that FileMaker Server is capable of now from the server side other than just serve data. You can also imagine the possibilities of running some pretty complex scripts on the server that collect data that might be picked up by a php script that formats it as a nicely marked up html email and sends it out each night. Perhaps daily activity, or end of month sales reports, who knows. And no one needs to click a button to do it, or even launch FileMaker.

It’s worth mentioning that I’ve had good success with the phpmailer class for a more robust email sending method from PHP, which can be had for free from http://phpmailer.codeworxtech.com/ if you need it. It also allows for sending via sendmail from the server where PHP is installed, or you can specify a SMTP server as well.

The update to sending email from FileMaker is a welcome one, and much needed. The more robust options are still available and, in my opinion, still required. I will have to look forward to the addition of HTML in some future version.


Excelisys

Explore the eX Cetera Blog


Services Database Development
& Consulting

Web Site / Applications
Commercialware
Custom vs Commercial
The Development Process
Custom FileMaker Applications
FileMaker Consultants
FileMaker Consulting
FileMaker Developer
FileMaker Development
FileMaker Experts
FileMaker Help and Support
FileMaker Professional
FileMaker Programmers
FileMaker Services
FileMaker Web Solutions

Company Our Team
Why Choose Excelisys?
Our Philosophy
About Us
How Do We Charge?
Alliances
Industry News
The Goods eX Files
eX BizTracker 3.0
eX BizTracker 2.0
eX BizTracker Pro
Tips N Tricks
Demos
Portfolio Our Portfolio
Client Testimonials
Our Clients
Contact Us Our Team
About Us
Employment
1–866–592–9235
Legal | © 2012 Excelisys eX Logo Excelisys.com