We’ve all heard of the Selector-Connector model, but how many could list the benefits clearly and succinctly? And move from there to actual implementation? It’s said a person never understands a subject completely until he is able to easily teach it to others.
Jason Young, of Seedcode, explains it completely and thoroughly in his latest post, taking the reader through the creation process from beginning to end, showing how Todd Geist and he developed the steps necessary to make it come into being. At every key point, they took advantage of the some not so well know features of FileMaker to make it work:
Adding the ability to create a new Contact from the chooser turned out to be remarkably easy, and this was really the point where I realized we were onto something cool.
As we all know, FileMaker allows the ability to create new records through a relationship. And any fields that are set up as match keys in the relationship force the newly created child record to inherit the values for these fields from the parent, thus making sure the relationship remains valid after the new record is created. However, less well known is what happens if the parent value for one of the match fields is empty. If the child field is set to auto-enter a value, then that value will be “popped back” to the parent record. Presumably this is FileMaker’s attempt to maintain the relationship after the creation of the child record. “Pop-Back” is the term I learned for this behavior. Our friend Kevin Frank refers to it as the “Magic Key” which I’ve also always liked.
Following the logic from Anchor Buoy to Selector Connector, with illustrations, examples, and, most importantly, several downloadable example files makes it easier to grasp the whole concept and then apply it.
Their goal was simple:
Todd and I both had a specific problem we wanted to solve: we wanted to build portable choosers (aka pickers and selectors), e.g. a chooser that we could easily move from layout to layout. Not only would this make our development go considerably faster, but in the case of SeedCode Complete, our customers would be able to take advantage of this portability as they customized and expanded the template.
As it turns out, they were able to choose Records easily, but also able to Edit and Create related records using the Selector-Connector model.
Download the files and study this technique: It will save plenty of development time and make your solution more powerful–not a bad combination!