<?xml version="1.0"?>
<rss version="2.0"><channel><title>SeedCode</title><link>https://fmforums.com/blogs/blog/50-seedcode/</link><description/><language>en</language><item><title>New In-App Update for DayBack Calendar</title><link>https://fmforums.com/blogs/entry/1332-new-in-app-update-for-dayback-calendar/</link><description><![CDATA[
<p>We just posted a new update of DayBack with a sweet little enhancement to the Resources tab: you can now change the number of resource columns on the fly. This short movie shows how that works and how to download the update into your copy of the calendar.</p>
<p>If you’re new to DayBack, learn more [...]</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/new-in-app-update-for-dayback-calendar/">New In-App Update for DayBack Calendar</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><p><a href="http://www.seedcode.com/new-in-app-update-for-dayback-calendar/"></a></p>
]]></description><guid isPermaLink="false">1332</guid><pubDate>Tue, 14 Apr 2015 20:45:35 +0000</pubDate></item><item><title>Speed Up ProMaps on Windows &#x2013; A Simple Mod</title><link>https://fmforums.com/blogs/entry/1198-speed-up-promaps-on-windows-%E2%80%93-a-simple-mod/</link><description><![CDATA[
<p>Folks using ProMaps on Windows may be seeing slower performance on some versions of Internet Explorer. Fortunately there is a super-easy mod to speed up the map on these Windows machines. A huge thanks to JohnAustin Lamprecht of <a href="http://www.soliantconsulting.com/" rel="external nofollow">Soliant</a> for finding this!</p>
<p>Instructions for making this change in your copy of ProMaps follow:</p>
<p><span style="text-align:center;"><iframe width="640" height="390" src="http://www.youtube.com/embed/UVMDnmtnFwk?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" frameborder="0" loading="lazy"></iframe></span></p>
<p style="text-align:center;">(If you’re new to ProMaps you can learn more about this add-on here: <a href="http://www.seedcode.com/promaps/" rel="external nofollow">ProMaps for FileMaker</a>.)</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/speed-up-promaps-on-windows/">Speed Up ProMaps on Windows – A Simple Mod</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/speed-up-promaps-on-windows/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1198</guid><pubDate>Tue, 07 Apr 2015 12:25:51 +0000</pubDate></item><item><title>Update: What&#x2019;s New In DayBack Calendar 9.41</title><link>https://fmforums.com/blogs/entry/1196-update-what%E2%80%99s-new-in-dayback-calendar-941/</link><description><![CDATA[
<p>We’ve just released a new free update to DayBack Calendar. This version adds a couple of hooks (new FileMaker scripts) so you can go to an event from outside the calendar; check out how it works in the movie below. We’ve also fixed some bugs and paved the way for a couple of future features. The movie offers a short overview of what’s new along with how to find <a href="http://www.seedcode.com/support/viewtopic.php?f=40&amp;t=4151&amp;p=11318#p11318" rel="external nofollow">instructions for updating your copy</a> of the calendar.</p>
<p>If you’re new to DayBack, you can learn more about the calendar, and download a 30-day trial here: <a href="http://www.seedcode.com/filemaker-calendar/" rel="external nofollow">DayBack Calendar for FileMaker</a>.</p>
<p>Enjoy!</p>
<p><span style="text-align:center;"><iframe width="640" height="390" src="http://www.youtube.com/embed/_xWxOGgKhpU?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" frameborder="0" loading="lazy"></iframe></span></p>
<p style="text-align:center;">(A detailed list of changes in this update can be found <a href="http://www.seedcode.com/pmwiki/index.php?n=DayBackForFileMaker.VersionHistory" rel="external nofollow">here</a>.)</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/update-whats-new-in-dayback-calendar-9-41/">Update: What’s New In DayBack Calendar 9.41</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/update-whats-new-in-dayback-calendar-9-41/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1196</guid><pubDate>Mon, 06 Apr 2015 19:52:36 +0000</pubDate></item><item><title>Design Patterns: &#x201C;Cards&#x201D; in SeedCode Complete</title><link>https://fmforums.com/blogs/entry/1191-design-patterns-%E2%80%9Ccards%E2%80%9D-in-seedcode-complete/</link><description><![CDATA[
<p></p>
<h3>SeedCode Complete 13</h3>
<p>Our newest version of SeedCode Complete has been out for about 3 months and we’ve now had an opportunity to see how people are using and modifying it for themselves and their customers. Happily, one of our customers’ favorite design patterns is the one I’m personally the proudest of: we think of them as “Cards”. It’s essentially an updated take on the Selection Portal or Master Detail design patterns you may have seen. However, the new UI elements introduced in FileMaker 13 (Pop-Overs and Sliders), combined with the new <a title="Selector-Connector" href="http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/" rel="external nofollow">Selector-Connector</a> data model, really make Cards shine in Complete.</p>
<h3>The Contact Card</h3>
<p>In designing Complete We wanted to make the design patterns consistent throughout the entire solution. For example, when looking at a Contact–whether on the Contact layout or as a related contact on another layout–we wanted that presentation to be the same.  The pattern we established in the main Contact layout would therefore be replicated throughout the solution so users could always recognize the interface for “Contacts”. Before FileMaker 13, this would be a challenge because there would typically not be enough real estate to show detailed Contact information in other contexts–on a Project layout, for example–without intruding on the Project information or seeming out of place. With 13, pop-overs and slide panels give us a lot more flexibility.</p>
<p>For the Contact layout we now display the basic information of the Contact with their thumbnail. We then use pop-overs as an easy to drill down to more information like additional e-mails, etc. Since we use a modal edit mode, all these fields are clickable, resulting in the appropriate action, e.g. open address in Google Maps in browser, open e-mail with selected address, etc.</p>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/03/contact.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/contact-1024x737.png" alt="The Contact Layout in Complete" width="1024" height="737" loading="lazy"></a><p>Contact Layout.</p>
</div>
</div>
<p>This upper left section of the Contact layout, shown in red above, now becomes the “Contact Card.” When looking at related contacts, our original thought would be to access these Cards with Pop-Overs, however, we wanted the additional e-mails, etc. to be included and you can’t put a pop-over in another pop-over! After some experimenting we came up with the pattern of “sliding” to the card using a slide panel. This actually turned out better than the pop-over, particularly on OSX and iOS where we have animation making this feel like a modern mobile app. You click on the portal, and the whole portal slides to reveal the detail of the clicked row, very much like clicking on a Contact in iOS.</p>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/03/portal.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/portal-1024x737.png" alt="The Contacts Portal on a Project's Record" width="1024" height="737" loading="lazy"></a><p>Contact Portal In Projects</p>
</div>
</div>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/03/slide.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/slide-1024x737.png" alt="Sliding a portal to reveal the Card" width="1024" height="737" loading="lazy"></a><p>Clicking on the portal row slides the portal to reveal the “Card”</p>
</div>
</div>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/03/slidepop.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/slidepop-1024x737.png" alt="Pop-Overs showing related info in Cards" width="1024" height="737" loading="lazy"></a><p>Pop-Overs showing related info in Cards</p>
</div>
</div>
<p>So now the user can “slide” to a Project Contact, access a summary of their information, send them an e-mail, or look up their address. If more Contact information is needed, or an edit needs to be made, then one more click takes you to the actual Contact record. It really smooths out the users’ navigation experience to have the Card as an intermediary between the current layout and the related records anchor layout.</p>
<h3>The Selector-Connector Pattern</h3>
<p>As pleased as we are about the Card design, we’re even more pleased about the way it was implemented. By using the <a href="http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/" rel="external nofollow">Selector-Connector</a> model, the Cards are all in the same context, so we can literally paste them from layout to layout and not have to change their fields to work in the new context. When we slide to a card, all we need to do is to set the Global Contact ID in the Selector table occurrence. If our “Card’s” fields all reference the SelectedContact table occurrence then they will work from <strong>any</strong> of our anchor layouts! This means when our customers need to add a Contact Card to a layout, they can copy it from any other instance of the card, and if the new layout is set up with the Selector-Connector pattern, they can paste the Card layout objects in without modification.</p>
<div>
<div style="width:906px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/03/graph.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/graph.png" alt="The Selector-Connector Table Occurrences in Complete" width="896" height="732" loading="lazy"></a><p>The Selector and SelectedContact Table Occurrences in Complete</p>
</div>
</div>
<p>For more on the Selector-Connector model check out our original <a title="article" href="http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/" rel="external nofollow">article </a>as well as this <a title="post" href="https://www.geistinteractive.com/2014/11/21/filemaker-selector-connector-video/" rel="external nofollow">post</a> from our friend and colleague Todd Geist.</p>
<h3>Best of Both Worlds</h3>
<p>It can be challenging to build something that gives the user a great experience, while making that same pattern easy for developers to carry into their own additions to SeedCode Complete. We love this Card pattern and probably would have implemented it even without Selector-Connector, but being able to provide it AND make it easy to work with has been very gratifying!</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/design-patterns-cards-in-seedcode-complete/">Design Patterns: “Cards” in SeedCode Complete</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/design-patterns-cards-in-seedcode-complete/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">1191</guid><pubDate>Tue, 17 Mar 2015 23:21:51 +0000</pubDate></item><item><title>Mods: Multi-Point Google Maps</title><link>https://fmforums.com/blogs/entry/1188-mods-multi-point-google-maps/</link><description><![CDATA[
<p>We’ve recently seen some great examples of modding multi-point Google Maps in FileMaker Layouts. Here are two very slick mods based on our <a href="http://www.seedcode.com/promaps/" rel="external nofollow">ProMaps</a> template…</p>
<h3>Filtering (and Color Coding) Based on Found Sets.</h3>
<p>This first mod was done by Lisette Wilson of <a href="http://informingdesigns.com/" rel="external nofollow">Informing Designs</a>; she’s linked ProMaps to SeedCode Calendar so that the contents of the map change as users navigate the calendar. That alone is pretty cool, but she’s also letting users change the way the appointments on the map are color coded. In the first screenshot they’re color coding by the customer’s tank capacity:</p>
<div><a href="http://www.seedcode.com/wp-content/uploads/2015/03/Screen-Shot-2015-03-05-at-2.40.46-PM-1.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/Screen-Shot-2015-03-05-at-2.40.46-PM-1-1024x609.png" alt="Screen Shot 2015-03-05 at 2.40.46 PM (1)" width="1024" height="609" loading="lazy"></a></div>
<p>While in this one they’re color coding by the day of the week the appointment is scheduled for. This lets users scan their map for appointments that are physically close to each other but aren’t scheduled for the same day:</p>
<div><a href="http://www.seedcode.com/wp-content/uploads/2015/03/Screen-Shot-2015-03-05-at-2.39.39-PM-1.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/Screen-Shot-2015-03-05-at-2.39.39-PM-1-1024x611.png" alt="Screen Shot 2015-03-05 at 2.39.39 PM (1)" width="1024" height="611" loading="lazy"></a></div>
<p>Note that the pins also have the trick number assigned to that job (or “U” if a truck hasn’t been assigned yet). Lisette is using the Google Charts API to create those pins on the fly since there could be any combination of pin color and truck number. Very cool trick.</p>
<p>For more information about this kind of deep integration between maps and calendars, and other interesting mapping mods, please <a href="http://informingdesigns.com/contact-us/" rel="external nofollow">get in touch with Lisette</a>.</p>
<h3>Creating a Found Set by Circling Pins on the Map</h3>
<p>The mod below was done by David McCulloch and represents a really cool workflow. He looks at his customers on the map–having filtered them down by zone and account type–and then draws a polygon around the ones he’s interested in. His scripts then gather the selected pins into a found set to which he assigns a sales rep and a date to visit them (in step “3” of the screenshot below).</p>
<div><a href="http://www.seedcode.com/wp-content/uploads/2015/03/save-group-polygon.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/03/save-group-polygon-1024x504.png" alt="save group polygon" width="1024" height="504" loading="lazy"></a></div>
<p>While we added the polygon thing to ProMaps for him, David did the rest of the scripting here and has embedded little maps like this all over his solution to help his users keep their customers in context. Really nice work.</p>
<p>If you’re interested in adding drawing tools like this to the multi-point Google maps in <a href="http://www.seedcode.com/promaps/" rel="external nofollow">ProMaps for FileMaker</a>, please <a href="http://www.seedcode.com/contact/" rel="external nofollow">let us know</a>.</p>
<h3>More Inspiration: Beautiful Icons for your Maps</h3>
<p>If  you’re building your own maps, or making your own mods to our ProMaps template, you’ll want to check out these map icons from <a href="http://mapicons.nicolasmollet.com/" rel="external nofollow">http://mapicons.nicolasmollet.com</a>. Nicolas Mollet has been maintaining a great resource of free map icons but his site is currently down for maintenance (?). We hope it comes back soon but you can see the kinds of icons he offers in another one of our customers mods <a href="http://www.seedcode.com/beautiful-filemaker-maps/" rel="external nofollow">here</a>. Enjoy!</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/filemaker-multi-point-google-maps/">Mods: Multi-Point Google Maps</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/filemaker-multi-point-google-maps/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1188</guid><pubDate>Fri, 06 Mar 2015 15:56:10 +0000</pubDate></item><item><title>A Custom Sidebar for DayBack Calendar</title><link>https://fmforums.com/blogs/entry/1187-a-custom-sidebar-for-dayback-calendar/</link><description><![CDATA[
<p></p>
<h3>Adding a FileMaker Portal next to DayBack’s WebViewer</h3>
<p>Recently Arie Covrigaru of PlanOmatic ( <span><a href="http://planomatic.com" rel="external nofollow">http://planomatic.com </a></span>) hired us to add some custom features to his <a href="/filemaker-calendar/" rel="external nofollow">DayBack calendar.</a></p>
<p>His main request was to be able to filter the calendar by resource(s) by selecting from a searchable, scrolling list. And he wanted that in the main calendar window, beside his calendar, not in the “advanced filters” popup window where this is usually done. The solution was to nudge the webviewer object 300 pixels to the right to make room for a tab-control object with a filtered portal on each tab.</p>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_3.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_3-1024x660.png" alt="FileMaker calendar sidebar in layout mode" width="1024" height="660" loading="lazy"></a><p>The new sidebar in layout mode.</p>
</div>
</div>
<p>Arie’s resources are photographers, and each is associated with a “service area” (geographical location). The first tab in the side bar shows all the service areas, with a “search” field at the top to filter the portal. To filter the calendar by one or more resources, you can manually select them from the “Photogs” list, or you can click on a service area to select all photographers in that service area.</p>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_1.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_1-1024x660.png" alt="Browsing services areas and the number of photographers in each." width="1024" height="660" loading="lazy"></a><p>Browsing services areas and the number of photographers in each.</p>
</div>
</div>
<p>The custom sidebar has been styled to match the stock DayBack webviewer sidebar, which is hidden by default. The “Delivery” tab behaves the same as the “Status Filters” tab on the stock sidebar.</p>
<div>
<div style="width:1034px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_2.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/dayback_arie_2-1024x660.png" alt="Photographers for the selected region." width="1024" height="660" loading="lazy"></a><p>Photographers for the selected service area.</p>
</div>
</div>
<p>Arie loves it! If you’re interested in mods like this, <a href="/contact/" rel="external nofollow">get in touch</a> or purchase one of our <a href="/implementation-packages/" rel="external nofollow">implementation packages</a>.</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/custom-sidebar-for-dayback/">A Custom Sidebar for DayBack Calendar</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/custom-sidebar-for-dayback/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">1187</guid><pubDate>Tue, 24 Feb 2015 16:09:47 +0000</pubDate></item><item><title>FileMaker Data Modeling with Selector Connector</title><link>https://fmforums.com/blogs/entry/1186-filemaker-data-modeling-with-selector-connector/</link><description><![CDATA[
<p></p>
<h2>Overview</h2>
<p>The Selector-Connector is a data model for organizing your FileMaker table occurrence graph. It is something we’ve been loosely collaborating on with our friend and colleague <a title="Todd Geist" href="https://www.geistinteractive.com/" rel="external nofollow">Todd Geist</a>. I say loosely, because during the evolution of the model, we never really reviewed each others work, but talked in very general terms about our progress. The fact that we ended up with something so functionally similar makes me think that we’re actually onto something! Todd has a great post and video on his approach <a title="here" href="https://www.geistinteractive.com/2014/11/21/filemaker-selector-connector-video/" rel="external nofollow">here</a>.</p>
<div><div style="width:310px;">
<a href="http://www.seedcode.com/wp-content/uploads/2014/12/home1.jpg" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/12/homesm-300x213.jpg" alt="The new SeedCode Complete Template" width="300" height="213" loading="lazy"></a><p>The new SeedCode Complete Template</p>
</div></div>
<p>We’re also using Selector-Connector as the data model for the new  <a href="/complete-filemaker-template/" rel="external nofollow">SeedCode Complete</a> and it is one of the primary reasons we feel Complete is working so well; seeing how Selector-Connector is letting folks extend and modify Complete also tells us this approach is being validated.</p>
<p>The most important thing to me about the Selector-Connector model is that the techniques themselves are not new new at all. It uses powerful, native techniques that have been around since FileMaker 7–like global keys and cross-joins–but it organizes them as a pattern that we can describe, much like we can describe the Anchor-Buoy pattern.</p>
<h2>FileMaker Data Models: Extending Anchor-Buoy</h2>
<p>The Selector-Connector should be seen as an extension of the currently predominant data model, <a href="http://www.kevinfrank.com/anchor-buoy.html" rel="external nofollow">Anchor-Buoy</a>. Anchor-Buoy is arguably the most widely adopted FileMaker standard in the development community, and there are two very good reasons for that.</p>
<ol>
<li>It organizes the graph very clearly with a small set of rules</li>
<li>It has a great name that is very visually descriptive.</li>
</ol>
<p>We want to make sure we don’t lose either of those things  if we’re going to tinker with the model. In general terms, Selector-Connector keeps the current Anchor-Buoy model but builds “on top of it.” We’re just going to “bend” its rules a little bit.</p>
<p>A very basic interpretation of the Anchor-Buoy rules would be:</p>
<ol>
<li>All layouts must reference Anchor Table Occurrences</li>
<li>Interacting with Buoys is only done from the context of their Anchor</li>
<li>Anchor Table Occurrences cannot be related to each other.</li>
</ol>
<p>By sticking to these rules, the Anchor-Buoy model forces us to be aware of context and it also limits the chance of us doing an operation out of context, like picking the wrong table occurrence for a portal; very important things in FileMaker and generally these benefits have outweighed the draw-backs of Anchor-Buoy, and that’s why it’s the standard.</p>
<div>
<div style="width:840px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/ab.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/ab.png" alt="FileMaker Data Modeling: the Anchor-Buoy model in action" width="830" height="749" loading="lazy"></a><p>Typical Anchor-Buoy model in action</p>
</div>
</div>
<h2>The Pop-Over Cometh</h2>
<p>As I mentioned above, there’s nothing technically new to the Selector-Connector model. So what changed to start us down this road? For me, it was the introduction of the Pop-Over in FileMaker 13. Here was a great new object that would be a light weight alternative to pop-up windows and dialogs. <span></span></p>
<p>It would be great for picking records from a portal, and for editing and creating records. And, using the new slide panels, selecting, creating, and editing, could be done all in one place! FileMaker Inc. seemed to have a similar thing in mind as the demo files that came with 13 had a nice example of this “all in one place” behavior: bring up a pop-over with a portal and filter for the record you’re looking for. If you can’t find it, then hit new and “slide” to a new record form right in the same pop-over…very slick! We were starting to work on the new <a title="SeedCode Complete" href="http://www.seedcode.com/complete-filemaker-template/" rel="external nofollow">SeedCode Complete</a> and I saw a great design pattern taking shape.</p>
<div>
<div style="width:685px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/pop-overs.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/pop-overs.png" alt="FileMaker Pop-Overs using the Selector-Connector Data Model" width="675" height="534" loading="lazy"></a><p>A simple Pop-Over with Picker Panel and then a New Contact Panel</p>
</div>
</div>
<p>However, when I started exploring this, I realized (obviously) that these pop-overs would have to be done as single purpose objects: even though both Projects and Invoices would need to pick Contacts, I wouldn’t be able to use the same pop-over as it would be bound to the context of the Project or Invoice layout. Even if I was using a virtual list for my Contact Picker, the portals would each <em>still</em> need their own buoys attached to Projects and Invoices. This suddenly seemed like madness, and I was determined to find a way to copy and paste my pop-overs from Anchor to Anchor and have them work with very little modification.</p>
<h2>Universal Context</h2>
<p>If we wanted the pop-overs to work universally, then there was no way around it, we would need to have a context for them to work in, and the idea of Universal Context was born. For a long time, Todd and I were both using this description of the model as the Selector itself hadn’t taken form. Here’s a representation of our first pass.</p>
<div>
<div style="width:840px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/uc.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/uc.png" alt="The early Universal Context Data Model" width="830" height="1024" loading="lazy"></a><p>Early Connector Model, aka Universal Context Model</p>
</div>
</div>
<p>We decided to “compromise” on the Anchor-Buoy rule of Anchors being related to each other. We still don’t want them directly related to each other, or even interacting directly with each other. However, we do want them all to be able to access the Universal Context table occurrences of Home and Virtual List Rows. This way, any Anchor layout can all use the same portal on our Pop-Over Selector. Not only can they use the same portal, but the scripts that reference the portal can also be generic: and we’re a little closer to having the portable pop-over we’re after!</p>
<h2>What about Record Locking?</h2>
<p>The idea of the above graph is that I can set the RowsToShowGlob global field in Home and control the contents of my virtual list (setting a list of contacts to select from, for example). But what if another user is trying to do the same thing? This isn’t a <a href="https://www.geistinteractive.com/2014/12/10/filemaker-session-model-video/" rel="external nofollow">Session Model</a>, and we don’t want to have to manage multiple records in Home to prevent record locking, so how can we get around that? It turns out that if the Home table only has global fields in it, you’ve, in essence, made it a global table that multiple people can interact with without locking. This was really a critical milestone in the process. By having a central/single TO that we could connect through, we could enforce a similar, although slightly looser, model as Anchor-Buoy.</p>
<h2>Create From Anywhere</h2>
<p>The model above solved my problem of being able to use a Contact Picker Pop-Over from any of my layouts, but I also wanted to be able to create new contacts right from my pop-over. Since we’ve already extended the Anchor-Buoy model for our Virtual List, we’ll extend it a little bit further and create a dedicated TO for contact creation. So now you’ll see a table occcurence called CreateContacts hanging off our Home table occurrence below.</p>
<div>
<div style="width:741px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/create.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/create.png" alt="Creation-Relationships in the FileMaker Data Model" width="731" height="443" loading="lazy"></a><p>Adding a Table Occurrence for creating contacts</p>
</div>
</div>
<p>We can create new Contacts through this relationship. If the relationship between Home and CreateContacts is a creation relationship and the ContactIdGlob in home is empty, we can create a new Contact simply by typing into a field in the CreateContacts table occurrence. The Contact id is an auto-generate field and this value for the new record will be pushed back into the global. This behavior may seem a little strange, but has existed for as long as I can remember in FileMaker and is referred to as the “pop-back” or “<a href="http://filemakerhacks.com/2011/07/31/magic-key-and-check-box-reporting/" rel="external nofollow">magic key</a>.” For us it allows us to create a new Contact from anywhere by creating a temporary “parent” in Home, and we no longer need to go to a Contact layout to do this. We can use our Pop-Over Contact Picker on any layout to both pick and create contacts! Problem Solved and our graph is not a mess.</p>
<h2>The Selector</h2>
<p>Soon after we got this part working, we began to realize that there was more we could do with this model. If we’re using this Universal Context to create records from anywhere, then we can also very easily use this same model to view and edit records from anywhere. <a href="http://www.modularfilemaker.org/module/master-detail/" rel="external nofollow">Master Detail</a> or Selection Portals are very common in FileMaker, and we soon realized that the Universal Context would work great for them.</p>
<p>Typically an Anchor would need two Buoys to a related table to do a proper Master Detail view. Normally we’d click on a portal row of our first Buoy to get the id of the record we clicked. We would then set that id to a global to set up a relationship to the second Buoy where we would see additional data about the selected record. With Selector-Connector we can now set that global in our central Home Table Occurrence and use the relationship to CreateContact for our detail view. This means we can get rid of that second Buoy for the detail, and more importantly, <strong>any</strong> Anchor that wants to see Contact details can use that same Table Occurrence.</p>
<p>This is really the birth of the Selector. The central table is now no longer called Home, but the “Selector”. The table occurrences to its right are the “Selected”, and they’re also the relationships that let us create new records. We’ve now consolidated, pickers, creation and master-detail into a single “component” of the graph instead of a bunch of similar Buoys attached to each of your Anchors.</p>
<div>
<div style="width:840px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/screen-shot-2015-02-23-at-2-26-12-pm.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/screen-shot-2015-02-23-at-2-26-12-pm.png" alt="The Selector component of the FileMaker Data Model" width="830" height="683" loading="lazy"></a><p>The Selector Model Takes Shape</p>
</div>
</div>
<h2> The Connector</h2>
<p>As we started working with this new model, there was this great sense of relief that we weren’t “fighting” with FileMaker like we have in the past. Context and Layouts were still tied to the Anchors, and it was living up to the promise of being the best of both worlds! In addition, we started to see some residual benefits.  For one, since most of the global keys were being moved to the Selector, we didn’t need them in actual data tables anymore. In SeedCode Complete, we were able to remove virtually all global fields from our the data tables. This keeps them much easier to work with, particularly if integrating with another data source or doing imports as you don’t need to wade through all the globals. This led to the idea of the Connector.</p>
<p>For me, the Connector is about modeling the graph to not just symbolize what’s a layout and what isn’t, but the different logical components of the graph. Initially we were thinking we had just two components, the Anchor-Buoy component and the Selector component, but once you adopt that model, it can be taken a little further. Really, the Selector is different than the Virtual List, so we decided to make our graph represent that. We also now have a place where we can keep indexed values available to all Anchors as well. Things like settings or graphics can also be cross-joined to our central Connector and <strong>accessed from anywhere</strong>. These things working together is the full Selector-Connector model.</p>
<div>
<div style="width:840px;">
<a href="http://www.seedcode.com/wp-content/uploads/2015/02/screen-shot-2015-02-23-at-3-02-53-pm.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/screen-shot-2015-02-23-at-3-02-53-pm.png" alt="The Finished Data Model for FileMaker Pro: Selector-Connector" width="830" height="850" loading="lazy"></a><p>The Selector Connector</p>
</div>
</div>
<p>In conclusion, I’d like to remind you of this great Picasso quote my mother recited to me for as long as I can remember, and how I think it applies here.</p>
<h2>“Learn the rules like a pro, so you can break them like an artist.”</h2>
<p>-Pablo Picasso</p>
<p>After going through this exercise, I believe that Anchor Buoy was not necessarily what the developers of the graph had in mind, but it was an absolutely critical step in our collective development. The idea of approaching something like the Selector-Connector without a complete and thorough understanding of FileMaker Context would be daunting and probably fruitless. The only reason we can use, or even talk about, a model like this is because of what Anchor-Buoy has taught us, and I want to re-emphasize the idea that the Selector-Connector (as I see it) is an extension and/or continuation of Anchor-Buoy. We’ve worked hard to learn and honor its rules, so we might be ready for a little artistry.</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/">FileMaker Data Modeling with Selector Connector</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">1186</guid><pubDate>Tue, 24 Feb 2015 13:20:02 +0000</pubDate></item><item><title>Mapping Found Sets</title><link>https://fmforums.com/blogs/entry/1185-mapping-found-sets/</link><description><![CDATA[
<p>ProMaps, our Google Maps add-on for FileMaker, lets you use filters to constrain which locations show up in the map.</p>
<div><a href="http://www.seedcode.com/wp-content/uploads/2015/02/ListOf.jpg" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/ListOf-300x228.jpg" alt="ListOf" width="200" loading="lazy"></a></div>
<p>But sometimes you want to go beyond filters and show the results of an ad hoc find request. Using the new <strong>List Of function in FileMaker 13</strong> this is now a simple mod and we’ve written up <a href="/pmwiki/index.php?n=GoMaps.Filters#FoundSets" rel="external nofollow">instructions to add this to your copy of ProMaps</a>.</p>
<p>Learn more about ProMaps and checkout some movies of it in action here: <a href="/promaps/" rel="external nofollow">ProMaps for FileMaker</a></p>
<p> </p>
<hr>
<div><a href="http://www.seedcode.com/wp-content/uploads/2013/06/promapslarge1.jpg" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2013/06/promapslarge1-1024x839.jpg" alt="PageLines- promapslarge.jpg" width="1024" height="839" loading="lazy"></a></div>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/mapping-found-sets/">Mapping Found Sets</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/mapping-found-sets/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1185</guid><pubDate>Fri, 06 Feb 2015 15:31:07 +0000</pubDate></item><item><title>A JavaScript Approach to FileMaker Custom Web Publishing</title><link>https://fmforums.com/blogs/entry/1184-a-javascript-approach-to-filemaker-custom-web-publishing/</link><description><![CDATA[
<p>This is the beginning of a new, open source project to create a lightweight wrapper for FileMaker Custom Web Publishing designed for use in JavaScript applications.</p>
<h2>Background: DayBack</h2>
<div>
<div style="width:390px;">
<a href="http://www.seedcode.com/wp-content/uploads/2014/11/dbkresources7.jpg" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/dbkresources7sm.jpg" alt="PageLines- dbkresources7sm.jpg" width="380" height="242" loading="lazy"></a><p>DayBack running in a FileMaker layout.</p>
</div>
</div>
<p>The release of <a title="DayBack" href="http://www.seedcode.com/filemaker-calendar/" rel="external nofollow">DayBack for FileMaker</a> last month has started a very exciting time for us here at SeedCode! Bringing the Calendar to a new code base and seeing it successfully deployed in the real world has been nothing short of thrilling. We’ve recently <a href="http://seedcode.createsend1.com/t/ViewEmail/y/BC5FE0CDF76FB5D3" rel="external nofollow">added mobile support</a> and are looking forward to the future enhancements of DayBack for Pro and Go.</p>
<p>However, now that we have this great JavaScript code base, it’s time to get going on <a href="http://dayback.com/" rel="external nofollow">DayBack</a> for the browser, and starting with FileMaker Server as our first data source is the logical next step.</p>
<h2>Assumptions</h2>
<p>One of the goals for DayBack is to do as much of the data work as we can in JavaScript. This is based on two big assumptions, and seeing how these bare out will be an interesting part of this project:</p>
<ol>
<li>FileMaker Server is a powerful tool, and it can do a lot. However, this ability to multi-task tends to lead to deployments where it’s simply trying to do too much. On the web publishing side things like portals on target layouts, server side scripting, huge data sets, etc. often put a considerable load on the server. Can we architect DayBack to do this kind of work in the browser and therefore put a lighter load on our FileMaker Server?</li>
<li>Supporting server side processes requires a different level and type of support than client side ones.  This is not just the case for FileMaker Server, but any server based application.  Supporting the server often requires working on a specific machine with specific issues that extend well beyond your app, web servers, permissions, program versions, etc. can all affect how things run.  By minimizing our server side footprint we hope to minimize the need for this kind of support.</li>
</ol>
<h2>fmxj.js</h2>
<p>With these assumption in mind we’ve built a <em>preliminary</em> JavaScript library for building and posting queries to FileMaker Server and converting the results to JavaScript objects in a JSON format.  We have some working demos <a title="demo" href="http://www.seedcode.com/fmxj/fmxj.html" rel="external nofollow">here</a>.  We’ve also decided to make this part of the project <strong>open source</strong> (MIT License), so you can download (or fork) the library and demos from <a title="github" href="https://github.com/seedcode/fmxj" rel="external nofollow">GitHub</a> for free!</p>
<div style="width:674px;">
<a href="http://www.seedcode.com/fmxj/fmxj.html" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/fmxj.jpg" alt="fmxj.js - working examples" width="664" height="455" loading="lazy"></a><p>fmxj.js – working examples</p>
</div>
<p>Here is what fmxj lets you accomplish:</p>
<ul>
<li>Build complex queries and perform HTPP POSTs to your FileMaker Server.</li>
<li>Return FileMaker parent and child records as JavaScript Objects/JSON.</li>
<li>Create, edit and delete FileMaker records with JavaScript objects.</li>
<li>Filter and sort Javascript objects locally with complex criteria.</li>
<li>Query strings are created from JavaScript Objects and then sent as an HTTP POST to FileMaker’s XML Web Publishing Engine. An XML FMPXMLRESULT is returned and converted into JavaScript Objects/JSON by fmxj.</li>
<li>HTTP POSTS can be done directly to the FileMaker Server’s XML WPE or a simple PHP relay can be used to get around cross-domain issues and provide more authentication options.</li>
</ul>
<p>As always, we love to take any opportunity we have to share our code, and I’m personally looking forward to keeping you posted on our progress.</p>
<p>Cheers!</p>
<p style="text-align:center;"><a href="https://twitter.com/seedcode" rel="external nofollow">Follow @seedcode</a><br></p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/filemaker-javascript-custom-web-publishing/">A JavaScript Approach to FileMaker Custom Web Publishing</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/filemaker-javascript-custom-web-publishing/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1184</guid><pubDate>Wed, 04 Feb 2015 13:10:05 +0000</pubDate></item><item><title>Sudoku for FileMaker</title><link>https://fmforums.com/blogs/entry/1173-sudoku-for-filemaker/</link><description><![CDATA[
<p>Travis Spangle has posted a great example file showing Sudoku in FileMaker. It includes a couple example screens for those of us who didn’t grow up playing <a href="https://en.wikipedia.org/wiki/Brain_Age" rel="external nofollow">Brain Age</a> (guilty).</p>
<p><a href="https://github.com/TravisSpangle/filemaker-sudoku" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/02/Sudoku2.png" alt="Sudoku2" width="562" height="635" loading="lazy"></a></p>
<p>Dowload the unlocked file here: <a href="https://github.com/TravisSpangle/filemaker-sudoku" rel="external nofollow"><span style="font-size:130%;"></span> filemaker-sudoku</a>.</p>
<p>Thanks for this, Travis! </p>
<p>Travis is a member of <a href="http://www.meetup.com/FileMaker-Seattle" rel="external nofollow">FileMaker Seattle</a> where he’s also presented some great stuff comparing the speed trade-off of different architectures in his reporting solutions. If you’re in Seattle, our next meeting is this Tuesday where Cosma from <a href="torquedb.com" rel="external nofollow">torquedb.com</a> will be speaking about deployment options on Amazon Web Services. Feel free to stop in.</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/sudoku-filemaker/">Sudoku for FileMaker</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/sudoku-filemaker/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1173</guid><pubDate>Tue, 03 Feb 2015 13:18:45 +0000</pubDate></item><item><title>JavaScript Portals for FileMaker: Clicking on Rows</title><link>https://fmforums.com/blogs/entry/1169-javascript-portals-for-filemaker-clicking-on-rows/</link><description><![CDATA[
<p></p>
<h3>Coming full circle with JavaScript and SQLexplorer</h3>
<p>Having the opportunity to work on a project like <a title="SQLexplorer" href="http://www.seedcode.com/filemaker-sql-explorer/" rel="external nofollow">SQLExplorer</a> has been a highpoint in my FileMaker career. It was a great way to participate in the collective learning of the ExecuteSQL function by the community when it first hit the scene. But, it’s also been a great way to get a handle on the increasingly popular interaction of FileMaker Pro and JavaScript.</p>
<h3>The Idea: JavaScript Portals for FileMaker</h3>
<p>SQLexplorer has always displayed your query results in a “JavaScript Portal” in a web viewer , and this was born from a pretty simple requirement. Since you can choose different columns for your SQL query, having pre-formatted fields in a traditional portal often didn’t “look right.” We thought that with a “simple” JavaScript grid we’d be able to dynamically set column widths as well as apply some basic formatting, i.e. text floats left and numbers float right. We settled on using <a title="jQuery" href="http://jquery.com/" rel="external nofollow">jQuery</a> and the<a title="jQGrid" href="http://www.trirand.com/jqgridwiki/doku.php/" rel="external nofollow"> jQGrid plug-in</a> for this. They’re  easy to set up, and being able to use <a title="Theme Roller" href="http://jqueryui.com/themeroller/" rel="external nofollow">Theme Roller</a> provided us an easy way to keep the “portal”‘s theme matching the layout’s theme. With this, we were able to get a great looking grid that not only met are original requirements, but also had some great additional features that came with the jQGrid plug-in; notably, column sorting, changing the column order via drag and drop and a filtering tool. The end result ended up very polished, and to our great delight, several developers have re-engineered this technique for their own solutions.<span></span></p>
<h3>The Limitation</h3>
<p>As exciting as the JavaScript portal was, it made the limitations glaringly obvious. At this point in history, <a href="http://www.twdesigns.com/fmp_url_protocol/" rel="external nofollow">the FMP URL protocol</a> was new (a byproduct of FMGo) and we didn’t have the ability to initiate action from our web viewer on local files. For SQLExplorer, this was OK: it was designed to display data, and it did that beautifully. However, for the developer trying to take this technique to the next level in a production FileMaker solution, this limitation made the portal pretty limited. This all changed when FileMaker 13v2 came out, which gave us consistent behavior for the FMP URL protocol across all deployments. Now we could write our JavaScript so it can actually fire FileMaker scripts, and we’ve seen an increasing number of web viewer based solutions hitting the scene.</p>
<h3>New SQLexplorer</h3>
<p>With this in mind, we decided to revisit SQLExplorer and release a version that demonstrates firing a script from the jQGrid plug-in, so hopefully folks will be able to take this technique to the next level.</p>
<h3>onSelectRow Event</h3>
<p>This actually turned out to be a pretty easy modification, because in the original JavaScript I had set up on onSelectRow event in the jQGrid plug-in. I had done this simply to give the ability to deselect/unhighlight a row. The natural jQGrid behavior is for a row to highlight when you click it, and stay highlighted until you click another row. I ALWAYS write my FileMaker routines to deselect/unhighlight the row if you click it again, and it was bugging me that the jQGrid wasn’t doing this, so I added:</p>
<pre>onSelectRow: function (id, status, e) {
<span style="padding:24px;">if(status===false){</span>
<span style="padding:36px;">$("#list4").jqGrid('resetSelection');}</span>
}
</pre>
<p>to the <strong>Configure jQGrid script</strong>, which is the API for the jQGrid settings. This is a simple event that simply checks if the current row is selected, and if so, we reset it.</p>
<p>With this in place I just needed to add some code for my script.  I left my deselection in place, but if you are selecting, we add:</p>
<pre>onSelectRow: function (id, status, e) {
<span style="padding:24px;">if(status===false){</span>
<span style="padding:36px;">$("#list4").jqGrid('resetSelection');}</span>
}
<span style="padding:24px;">else{</span>
<span style="padding:36px;">var firstColumn = $(this).getCell(id,0);</span>
<span style="padding:36px;">var p = encodeURIComponent(firstColumn);</span>
<span style="padding:36px;">var url = "fmp://$/"&amp;Get(FileName)&amp;script=RowOnClick&amp;param=" + p</span>
<span style="padding:36px;">window.location = url;</span>
<span style="padding:24px;">}</span>
}</pre>
<p>The id represents the row id and is passed from the event itself, you can then use the jQGrid method .getCell(rowId,columnIndex) to get the contents of a particular column/cell. Remember, JavaScript uses 0 based indexing, so a column index of 0 is the first column. Once we have that value, we encode it and create a url that will call a script with our cell value as the parameter. Once we have that url, we just call it using window.location. The script itself is just a simple dialog that shows the parameter, but once you’ve got the circle completing in a script, the possibilities are endless.</p>
<p>It’s important to note that onSelectRow is just one of many trigger events set up in the jQGrid plug-in, so this basic model can extend to all sorts of different triggers. Check out the <a href="http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events" rel="external nofollow">jQGrid docs on this</a> to see all it can do.</p>
<h3>But I Need the ID!</h3>
<p>It’s great to be able to pass the information in a row column back to FileMaker, but is FileMaker going to be able to do anything with it? My JavaScript portal doesn’t show the primary key, just the data I want to show, so returning the first column doesn’t really do me any good!</p>
<p><a href="https://seedcoder.files.wordpress.com/2015/01/screen-shot-2015-01-12-at-8-48-33-am.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/01/sqlx1.png" alt="sqlx1" width="551" height="274" loading="lazy"></a>What I need is the primary key, but I don’t want to show that in the portal. What we came up with is an option to “Hide The First Column” checkbox in the query, so you can add a column with your id to the “front” so you can reference it, but not see it. We’re already dynamically defining the columns in the script <strong>Test Query, </strong>so we just added a little routine to see if we’re the first column, and if we are and the checkbox is checked, the first column will have it’s hidden property set to True.</p>
<p><a href="https://seedcoder.files.wordpress.com/2015/01/screen-shot-2015-01-12-at-8-50-45-am.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2015/01/sqlx2.png" alt="sqlx2" width="686" height="485" loading="lazy"></a></p>
<p>Then you can set the id as the first column and return it to your script without messing up your display.</p>
<p><a href="https://seedcoder.files.wordpress.com/2015/01/screen-shot-2015-01-12-at-8-52-39-am.png" rel="external nofollow"></a></p>
<p><img src="http://www.seedcode.com/wp-content/uploads/2015/01/sqlx3.png" alt="sqlx3" width="750" height="276" loading="lazy"></p>
<p>First column with the id is hidden, but can be referenced by jQGrid.</p>
<p><img src="http://www.seedcode.com/wp-content/uploads/2015/01/sqlx4.png" alt="sqlx4" width="551" height="274" loading="lazy">And that’s it!</p>
<p>We hope you’ll take some time to download the newest version of <a title="SQL Explorer" href="http://www.seedcode.com/filemaker-sql-explorer/" rel="external nofollow">SQLExplorer</a> and that it will be a useful tool for not just continuing to strengthen your SQL chops, but your JavaScript ones too!</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/javascript-portals-filemaker/">JavaScript Portals for FileMaker: Clicking on Rows</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/javascript-portals-filemaker/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">1169</guid><pubDate>Thu, 15 Jan 2015 19:21:01 +0000</pubDate></item><item><title>FileMaker Templates On Sale</title><link>https://fmforums.com/blogs/entry/1165-filemaker-templates-on-sale/</link><description><![CDATA[
<p>SeedCode’s year-end sale continues through Dec 31st.</p>
<p>And we’re thrilled to have finished both the new SeedCode Complete template and the new calendar, DayBack, in time for the sale: the last mile of shipping a product–the wish-list features, sample data, and documentation–can seem to stretch on forever. We’ve rarely taken so long to work on a new release, but they’re done!</p>
<p>So now you can save up to 25% off on <a href="/filemaker-calendar/#pricing" rel="external nofollow">upgrades</a> to our <a href="/filemaker-calendar/" rel="external nofollow">newest calendar</a>, on <a href="/filemaker-sync-gozync/" rel="external nofollow">GoZync</a> and <a href="http://sites.fastspring.com/seedcode/product/upgradetogozync5?action=adds&amp;source=seedcode" rel="external nofollow">additional GoZync licenses</a>, and on <a href="/complete-filemaker-template/#pagelines-pricing" rel="external nofollow">upgrades</a> to the <a href="/complete-filemaker-template/" rel="external nofollow">new SeedCode Complete template</a> for FileMaker 13 and WebDirect.</p>
<p><a href="/year-end-sale/" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/12/HolidayLogo25percent5.png" alt="HolidayLogo25percent5" width="398" height="334" loading="lazy"></a></p>
<p>In fact, <a href="/list-all-filemaker-templates/" rel="external nofollow">all products</a> are on sale, so grab something to make your development easier. <a href="/contact/" rel="external nofollow">Get in touch</a> with questions; we’re here to help. =)</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/filemaker-template-on-sale/">FileMaker Templates On Sale</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/filemaker-template-on-sale/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1165</guid><pubDate>Mon, 15 Dec 2014 13:15:41 +0000</pubDate></item><item><title>Printing PDFs in FileMaker WebDirect</title><link>https://fmforums.com/blogs/entry/1164-printing-pdfs-in-filemaker-webdirect/</link><description><![CDATA[
<p>FileMaker’s WebDirect offers some exciting deployment opportunities. However, not being able to create PDFs or print like we can with Pro and Go is a big limitation. For many of us, an invoice may exist in a database, but until it’s represented as a printable document, it’s just not a real invoice. Finding a solution to this for the new <a href="http://www.seedcode.com/complete-filemaker-template/" rel="external nofollow">SeedCode Complete</a> was a high priority for us.</p>
<p><a href="http://www.ted.com/talks/theo_jansen_creates_new_creatures" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/12/robot2-177x300.jpg" alt="" width="177" height="300" loading="lazy"></a>We looked at some plug-ins out there that allow FileMaker Server to generate PDFs: MonkeyBread and 360Works’ Scribe are two that come to mind. These work fine, but Filemaker Server is headless; this means it can’t read layouts like the client can as far as object positions, etc. so these PDFs made by these plugins can’t be based on FileMaker layouts like we’re used to doing in Pro. We’d need to have the server use templates independent from FileMaker layouts to create these PDFs.</p>
<p>Our friend and colleague John Renfrew has been doing some very impressive work bridging this gap between server PDF generation and FileMaker layouts. We’re looking forward to the final results of his work <a href="http://www.fmtopdf.com/" rel="external nofollow">here</a>, set to be released early 2015 as we think basing PDFs on FileMaker layouts is an important part of the platform for all deployments.</p>
<p>For SeedCode Complete, we’re recommending that folks go with the tried and true approach of setting up robot station of FileMaker Pro to generate the PDFs for the WebDirect clients. In the past we could have done this with a plug-in or have the station run on a continuous loop looking for PDF requests coming from WebDirect clients and generating them as needed, but this year at DevCon (2014) we learned of a great technique from the folks at ClickWorks, so the robot client can do this natively with no continuous loops. The general idea is that by deleting a record (something I can do from WebDirect), I will change a found set on another client’s machine, which in turn causes the OnRecordLoad script trigger to fire! Basically I can trigger a script on another client natively. Here’s the ClickWorks <a href="http://clickworks.be/en/trigger-script-another-client" rel="external nofollow">blog post </a>on this really clever technique.!</p>
<p>And here’s a video of the <a href="/http://www.seedcode.com/complete-filemaker-template/" rel="external nofollow">SeedCode Complete</a> PDF Robot in action.</p>
<div><div><iframe frameborder="0" scrolling="no" loading="lazy"></iframe></div></div>
<p> </p>
<p> </p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/printing-pdfs-filemaker-webdirect/">Printing PDFs in FileMaker WebDirect</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/printing-pdfs-filemaker-webdirect/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">1164</guid><pubDate>Thu, 11 Dec 2014 16:36:56 +0000</pubDate></item><item><title>The New SeedCode Complete: what we&#x2019;ve learned about FM13</title><link>https://fmforums.com/blogs/entry/892-the-new-seedcode-complete-what-we%E2%80%99ve-learned-about-fm13/</link><description><![CDATA[
<p>The new version of SeedCode Complete is almost here. This is the platform we use to start new projects and this new version lets us share a lot of what we’ve learned about FileMaker 13, about WebDirect, and about making solutions that are easy to maintain.</p>
<p><em>If you’re new to Complete, this unlocked template links contacts to projects, invoices, and activity on the calendar. Added to that in this version is purchasing, inventory, and shipments. We’ve wired up the tough stuff: you add the specifics for your business. Checkout the current version of Complete <a title="SeedCode Complete" href="http://www.seedcode.com/complete/" rel="external nofollow">here</a>.</em></p>
<h2>Our Approach: designing with constraints</h2>
<p>We’d been working on this new version of Complete for a while and at some point Jason was inspired to ask, “What if WebDirect were the <strong>only</strong> platform for FileMaker?” “How would we design things differently?” He thought about that for a while…and then he <strong>started over </strong>as if that were the premise. I think it was kind of an experiment at first, but he stuck with it and a lot of good stuff fell out of working with that kind of constraint. The SeedCode Complete we’re previewing today is a result of that change in direction.</p>
<div>What if WebDirect were the only platform for FileMaker?</div>
<p>Some of the things that came out of this are <a href="https://www.geistinteractive.com/2014/11/21/filemaker-selector-connector-video/" rel="external nofollow">Selector Connector</a>: this new way of managing the graph that focusses on simplicity and portability. We’ve also had to be very sensitive to the number of layout objects that are in WebDirect, lest the layouts bog down, so the layouts that are in SeedCode Complete are very simple: they don’t have a lot of stacked objects on them. We’ve taken great care to make them look elegant, but there aren’t a lot of objects a developer needs to wade through. (You’ll see some more of Complete in layout mode at the end of the video below.)</p>
<div style="width:310px;">
<a href="http://www.seedcode.com/wp-content/uploads/2014/11/JvFLayout.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/JvFLayoutsm-300x212.png" alt="Contacts in Layout Mode" width="300" height="212" loading="lazy"></a><p>Contacts in Layout Mode</p>
</div>
<p>That means you end up with layouts that are a lot easier to modify–and that’s the whole point of Complete: giving folks a platform that’s both powerful and easy to work with.</p>
<p>One of the biggest things that came out of this is that Complete is so fast. You work so hard to make something perform well in WebDirect, you end up with an app that performs <em>really well</em> in FileMaker Pro. And of course we worked with a big sample data set in there while we were building so any speed issues showed up right away.</p>
<p>This is not only a platform for us to use for our own projects–and a platform for our customers to use as they’re starting new solutions–it’s an opportunity for us to share all the stuff we’ve learned since we’ve started digging into FileMaker 13 and WebDirect. Things we’ve learned about animations and how to get them smooth across all platforms, things about speed and slimming down layouts. We’re really looking forward to sharing all this more widely, in a format developers can really take advantage of.</p>
<h2>A Preview</h2>
<p>Here are a few screenshots, followed by a video of how this all feels in action:</p>
<div>
<a href="http://www.seedcode.com/wp-content/uploads/2014/11/JvF1.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/JvF1.png" alt="JvF1sm" width="800" loading="lazy"></a><br><a href="http://www.seedcode.com/wp-content/uploads/2014/11/JvF2.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/JvF2.png" alt="JvF1sm" width="800" loading="lazy"></a><br><a href="http://www.seedcode.com/wp-content/uploads/2014/11/JvF3.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/JvF3.png" alt="JvF1sm" width="800" loading="lazy"></a>
</div>
<p> <br></p>
<div><div><iframe frameborder="0" scrolling="no" loading="lazy"></iframe></div></div>
<p>Look for the new version some time in the next few weeks: it will be on sale through year end.</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/the-new-seedcode-complete/">The New SeedCode Complete: what we’ve learned about FM13</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/the-new-seedcode-complete/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">892</guid><pubDate>Wed, 26 Nov 2014 14:24:00 +0000</pubDate></item><item><title>The Fear</title><link>https://fmforums.com/blogs/entry/888-the-fear/</link><description><![CDATA[
<p>Reading <em>The Soul of a New Machine</em>,  Kidder 1981. Describing work on the Data General MV/8000 in 1979.</p>
<p></p>
<p></p>
<div>Alsing [lead architect] thought that even under the best circumstances, several kinds of fear attend a debugging. One was the fear of “The Big Mistake”, the one that would be discovered late in the game and would require a major redesign–and with it perhaps a fatal delay. There was “the flakey fear”: that they’d designed [the machine] and were debugging it in such a way that it would never be reliable or easy to build in large numbers. [They] had that one fairly well in hand. But there was also “the bogeyman fear”. “Just something dark and nameless,” said Alsing, “that the machine just won’t ever work.” “It’s the infinite page fault you didn’t anticipate. The bogeyman is the space your mind can’t comprehend.”</div>
<p>
</p>
<p><a href="http://michaelhyatt.com/reframe-fear.html" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/11/fear.png" alt="fear" width="500" height="334" loading="lazy"></a></p>
<p> </p>
<p>Sounds very contemporary for an industry that’s supposed to have changed so radically in the last 30 years. Reminds me that many of the problems of software production identified in the 60’s continue to be the problems we wrestle with today. So maybe we should own up to the enormity of what we’re working on and beat ourselves up just a little less.</p>
<p><a href="http://www.amazon.com/Soul-New-Machine-Tracy-Kidder-ebook/dp/B005HG4W9W/" rel="external nofollow"><em>The Soul of a New Machine</em></a></p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/fear/">The Fear</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/fear/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">888</guid><pubDate>Sat, 08 Nov 2014 00:47:29 +0000</pubDate></item><item><title><![CDATA[Drag & Drop Example File]]></title><link>https://fmforums.com/blogs/entry/881-drag-drop-example-file/</link><description><![CDATA[
<p>Love this little demo we put together for FileMaker DevCon 2009. A customer recently asked about this and I thought folks might like to see it. The demo shows how to create a grid of buttons without having to use different script parameters on all the different buttons. It’s also a tidy example of scripts used in drag and drop.</p>
<p>Enjoy!</p>
<p><img src="http://www.seedcode.com/wp-content/uploads/2014/10/Cell.png" alt="Cell" width="109" height="110" loading="lazy">Download “Drag &amp; Drop Example File: Airplane Seating Demo” from <a href="/downloads/" rel="external nofollow">www.seedcode.com/downloads</a></p>
<p>Oh, and check out that cell phone icon on About / Contact Us… it was 2009, LOL.</p>
<p> </p>
<div>
<a href="http://www.seedcode.com/wp-content/uploads/2014/10/PlainExamplFile.png" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/10/PlainExamplFile.png" alt="PlainExamplFile" width="1010" height="751" loading="lazy"></a>
</div>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/drag-drop-example-file/">Drag &amp; Drop Example File</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/drag-drop-example-file/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">881</guid><pubDate>Wed, 22 Oct 2014 16:48:28 +0000</pubDate></item><item><title>Project Management Grammar Hack: Time Words</title><link>https://fmforums.com/blogs/entry/877-project-management-grammar-hack-time-words/</link><description><![CDATA[
<p></p>
<h2>Using time words</h2>
<p>Projects wander. Customers have unreasonable expectations. We make promises we can’t keep and that our customers misinterpret. Yet a simple grammar hack may help curb all of this.</p>
<p>Consider the difference in clarity between these two versions of a project’s “next steps” we might send to a customer:</p>
<p style="padding-left:60px;">“The project would cost $X,XXX and take about two weeks. We’ll also need your high-res images.”</p>
<p>Versus the clearer version:</p>
<p style="padding-left:60px;">“The project would cost $X,XXX. After we receive your payment and high res images, the project will then take us about two weeks.”</p>
<p>The words “after” and “then” make a huge difference. Include a payment link with the second version and the customer clearly knows what’s expected. Send the first version, and you’ll email back and forth a few more times before you get started. An even clearer version would be:</p>
<p style="padding-left:60px;">“The project would cost $X,XXX. After we receive your payment and high res images, the project will then take us about two weeks. If you can get the payment and images to us by 2pm Monday we’d be able to deliver your project the morning of the 21st.”</p>
<p>Time words are those that put a pin in the temporal map–day names like “on Monday” and times like “by 2pm”–as well as words that describe sequences in time: “before” “after”, “until”.</p>
<div>Communicating *without* time words is like sending someone a madlibs version of your plans</div>
<p>Sentences that include time words create a more explicit story about what you’ll be doing for someone or what you expect them to do for you. Lacking these words, people will fill in the gaps in the story you’re telling with their own specifics. Folks will also fill in their own details if you use vague time words like “soon” or vague calendar names like “next week” Our minds like to solve puzzles and finish incomplete stories. So communicating *without* time words is like sending someone a <a href="http://en.wikipedia.org/wiki/Mad_Libs" rel="external nofollow">madlibs</a> version of your plans.</p>
<p><a href="http://www.theendearingdesigner.com/11-unique-word-clock-time-pieces" rel="external nofollow"><img src="http://www.seedcode.com/wp-content/uploads/2014/10/70251-271x300.jpg" alt="70251" width="271" height="300" loading="lazy"></a>Telling someone you’ll reply to them “next week” is a similar problem. Your type-A contact who has a high need for social inclusion may interpret that to be “as soon as next week begins,” meaning Monday morning. While I, perhaps more given to procrastination, may figure I’ve given myself until Thursday or Friday before I’m breaking my word by not replying yet. That gap between our two interpretations leads to disappointment and to stress: I know I’m disappointing my contact less if I reply earlier in the week and displeasing them more if I reply later in the week. Carrying around five or six such vague obligations–where the best case outcome is displeasing someone <em>less</em>–is a sure fire way to feel like you’re never keeping up.</p>
<p>(Like many things, this is really just an interpretation of the first of the <a href="http://www.amazon.com/The-Four-Agreements-Practical-Personal/dp/1878424319" rel="external nofollow">Four Agreements</a>.)</p>
<h2>Making time words part of your routine</h2>
<p>Giving your correspondence a quick read-through to make sure you’ve included specific time words takes only a minute and will really improve the quality of your interactions. Putting these specific times on the calendar at the same time (during that read-through) will help you record your commitments and assure you’re making new promises in the context of the commitments you’ve already made.</p>
<p>It would be greta if there were a tool out there that could take your email containing time words and make a series of appointments out of it–make a little gantt chart for you automatically–so you could see your commitments in context. I’m sure someone’s working on that.</p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/project-management-grammar-hack-time-words/">Project Management Grammar Hack: Time Words</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/project-management-grammar-hack-time-words/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">877</guid><pubDate>Thu, 09 Oct 2014 15:06:45 +0000</pubDate></item><item><title>Data Modeling Sessions (my favorite)</title><link>https://fmforums.com/blogs/entry/874-data-modeling-sessions-my-favorite/</link><description><![CDATA[
<p>The data modeling sessions at Pause have always had a big impact and so far there are some great ones planned for October in Portland.</p>
<p style="padding-left:60px;">Dave Graham – Workforce.org : <em>Let’s Party! – pitfalls and benefits to implementing a Party Model and generalized frameworks in FileMaker.</em></p>
<p style="padding-left:60px;">Jason Young – SeedCode : <em>Wet and Dry Development in FileMaker checking our assumptions</em></p>
<p style="padding-left:60px;">Todd Geist – geistinteractive : <em>Universal Context You can get there from here!</em></p>
<p style="padding-left:60px;">Kevin Frank : <em>Runtime Code – Blurring the distinction between data and schema. If you have examples, bring them to share.</em></p>
<p style="padding-left:60px;">(<a href="http://pausepdx2014.wikispaces.com/Sessions" rel="external nofollow">Complete Schedule</a>)</p>
<p>These remind me of the grand-daddies of data modeling sessions: Ernest Koe’s 2010 session on <a href="https://vimeo.com/10597051" rel="external nofollow">MVC</a>, and Corn Walker’s followup in 2011: <em><a href="https://pauseonerror.wikispaces.com/A+Minimalist+Graph+Approach" rel="external nofollow">Beyond A/B: A Minimalist Graph Approach</a> – </em><em>What happens when you take Chris Crim’s vision seriously?</em></p>
<p>(Sessions won’t be recorded this year unless presenters want to record their own.)<img src="http://www.seedcode.com/wp-content/uploads/2014/09/logo.png" alt="logo" width="250" height="90" loading="lazy"></p>
<p>The post <a rel="external nofollow" href="http://www.seedcode.com/data-modeling-sessions-favorite/">Data Modeling Sessions (my favorite)</a> appeared first on <a rel="external nofollow" href="http://www.seedcode.com">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/data-modeling-sessions-favorite/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">874</guid><pubDate>Wed, 24 Sep 2014 23:14:20 +0000</pubDate></item><item><title>Hover Tricks for FileMaker Buttons</title><link>https://fmforums.com/blogs/entry/860-hover-tricks-for-filemaker-buttons/</link><description><![CDATA[
<p>A couple of demos showing how you can reveal additional text, or even new buttons, when rolling over buttons in FileMaker 13. We used to hide text from some button states by making the text unusually large, but Jason Young showed us a <em>much</em> better method. More in the video below.</p>
<p>Download the “Hover Tricks” example file towards the bottom of our <a href="/downloads/" rel="external nofollow">downloads</a> page.</p>
<div><iframe src="http://www.youtube.com/embed/nj2ff9UsheY?wmode=transparent" frameborder="0" loading="lazy"></iframe></div>
<p style="text-align:center;">
</p>
<p style="text-align:center;"><a href="/newsletter-signup/" rel="external nofollow"><span>Want more? Subscribe to SeedCode for more tips.</span></a>
</p>
<p>The post <a href="http://www.seedcode.com/hover-tricks-filemaker-buttons/" rel="external nofollow">Hover Tricks for FileMaker Buttons</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/hover-tricks-filemaker-buttons/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">860</guid><pubDate>Wed, 03 Sep 2014 18:48:28 +0000</pubDate></item><item><title>The Running Test</title><link>https://fmforums.com/blogs/entry/857-the-running-test/</link><description><![CDATA[
<p></p>
<p style="text-align:left;">Testing code is one thing, but how do we test our ideas. (I’m not talking about <em>validating</em> ideas with customers as in Lean Startup, but testing an idea against your gut. Is there a way to <em>measure</em> that?)</p>
<p style="text-align:left;">When you’re small, opportunity costs are huge–your best customer is another customer you didn’t meet–so how do you know at a real gut level if you’re making a decision for the right reasons or if you’re reacting to fear? How you do test if you’re aligned with your idea?</p>
<p style="text-align:left;"><img alt="runtestlg2" src="http://www.seedcode.com/wp-content/uploads/2014/08/runtestlg2-216x300.png" width="216" height="300" loading="lazy">The Running Test is one way to get information about decisions, and I’ve found its results surprising. When I’m mulling something over, I’ll find it has one of two impacts on my run. I’m not a brand new runner, but it’s not second nature either; each run has a good amount of talking to myself about slowing down or walking this part of the trail. But sometimes I move through those parts of the trail much more easily–if the idea I’m mulling over is a good one, I find it gives the run energy. I see the idea expanding and suggesting new ones. My run times are actually faster: sometimes a lot faster.</p>
<p style="text-align:left;"><span style="line-height:1.5em;">The opposite experience is pretty hard to miss also: there is more negative self-talk than usual on the run and I find myself rehearsing negative outcomes or confrontations. Run times are slower and I am walking up those hills. </span></p>
<p style="text-align:left;">The first time this surprised me I was preparing my talk for <a href="http://www.filemaker.com/developers/devcon/2014/" rel="external nofollow">DevCon</a> and figured I should chastise myself just a little for agreeing to speak at the conference at all: it wasn’t strictly on mission and would take a lot of time I should be devoting to getting our new calendar wrapped up. Instead I found myself sketching segments of the talk on my run and really enjoying how the talk came together. I was running a bit faster than normal and not worrying about the hills or tough sections of the trail: there was no background worry for that trail-worry to attach itself to.</p>
<p style="text-align:left;">I was going to enjoy working on this talk and that was somehow not clear to me before the Running Test. It was also on mission as I now saw the talk connected to all the things we were doing in our new calendar. Maybe the run wasn’t so much a test as a creativity-lab, a place to spin up better versions of the idea. But while new ideas certainly come on runs,  the Running Test feels more like a gut check.</p>
<p style="text-align:left;">Good ideas let me run faster. Strangely, it’s sometimes that simple.</p>
<p style="text-align:center;"><a href="https://twitter.com/seedcode" rel="external nofollow">Follow @seedcode</a></p>
<p></p>
<p>The post <a href="http://www.seedcode.com/running-test/" rel="external nofollow">The Running Test</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/running-test/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">857</guid><pubDate>Wed, 20 Aug 2014 11:20:13 +0000</pubDate></item><item><title>JavaScript Functions in FileMaker</title><link>https://fmforums.com/blogs/entry/843-javascript-functions-in-filemaker/</link><description><![CDATA[
<p></p>
<h2>JavaScript Functions for Speed and Profit</h2>
<p>The movie below is from one of our most popular demos from “Year in Review” at DevCon 2014. I was talking about what a breakthrough custom functions were back in 2004 and how they unlocked a whole new kind of code-sharing among FileMaker developers. JavaScript functions in FileMaker may unlock even more potential.</p>
<p>Jason Young introduced the idea of using JavaScript as a calculator–as a library of functions–instead of using it for perhaps the more obvious purpose of building interface elements. (<a href="/filemaker-webviewer-javascript-calculation-engine/" rel="external nofollow">Jason’s original article on this</a> can be seen as part 1 of this post.) This gives us a huge opportunity to share and borrow code from the immense catalogue of JavaScript functions and examples.</p>
<div style="width:310px;">
<a href="http://www.seedcode.com/wp-content/uploads/2014/08/cfs.png" rel="external nofollow"><img alt="FileMaker Custom Functions Forum" src="http://www.seedcode.com/wp-content/uploads/2014/08/cfs-300x273.png" width="300" height="273" loading="lazy"></a><p>FileMaker engineers start posting custom functions to a public forum: March 2004</p>
</div>
<p>As just one example, we (Jason) rewrote the venerable “namwoB” function in JavaScript. namwoB was the first recursive functions I ever saw and was posted by Andy LeCates back in March of 2004. The title comes from Court Bowman’s name spelled backwards… which is all the functions does, rewriting a string of text in reverse. This simplicity makes it a great way to talk about the different kinds of recursion in FileMaker and what a faster version of the function might look like in JavaScript.</p>
<p>Our example file shows the same recursive custom functions done as a “stack” recursive function (limited to about 10k loops), as a “tail” recursive function (limited to 49,999 loops), and as a JavaScript function executed in a webviewer and then passed into a FileMaker script.</p>
<p><a style="line-height:1.5em;" href="http://www.seedcode.com/?wpdmdl=27" rel="external nofollow">Download the example file</a><span style="line-height:1.5em;">. </span></p>
<p style="text-align:center;"><a href="/newsletter-signup/" rel="external nofollow"><span>Want more? Subscribe to SeedCode for more tips.</span></a>
</p>
<h2>JavaScript Functions in FileMaker are Fast</h2>
<p>Looping through 49,000 characters took our tail-recursive custom function almost 3 seconds.</p>
<p>The JavaScript version of the function looped through 10 times that much text–nearly 500,000 characters–in 3/10ths of a second.</p>
<p>And thanks to the improved <a href="http://www.twdesigns.com/fmp_url_protocol/" rel="external nofollow">fmp url in FileMaker 13</a>, we can grab the results of functions like these quite easily. The movie below demos this and walks through our example file. It also gives a nice side-effect-demo of how webviewers get their own thread in FileMaker Pro and what that may mean for trying to measure performance.</p>
<div><iframe src="http://www.youtube.com/embed/Lgm3XvUDcmA?wmode=transparent" frameborder="0" loading="lazy"></iframe></div>
<p style="text-align:center;">
</p>
<p>The post <a href="http://www.seedcode.com/javascript-functions-filemaker/" rel="external nofollow">JavaScript Functions in FileMaker</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/javascript-functions-filemaker/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">843</guid><pubDate>Thu, 07 Aug 2014 11:09:05 +0000</pubDate></item><item><title>20% Off DevCon Sale Continues</title><link>https://fmforums.com/blogs/entry/842-20-off-devcon-sale-continues/</link><description><![CDATA[
<p>If you couldn’t make it to DevCon, SeedCode is extending our 20% off sale on all templates and add-ons through this week (August 8th).</p>
<p><a href="" rel="external nofollow"></a>That’s 20% off our <a title="FileMaker Pro Calendar &amp; Resource Scheduling" href="http://www.seedcode.com/filemaker-calendar/" rel="external nofollow">Pro Calendar</a> (with WebDirect support), <a title="ProMaps" href="http://www.seedcode.com/promaps/" rel="external nofollow">ProMaps</a>, and 20% off the new <strong>faster</strong> <a title="GoZync: FileMaker Sync for Pro, Go and iPad" href="http://www.seedcode.com/filemaker-sync-gozync/" rel="external nofollow">GoZync</a> for syncing FileMaker Go.</p>
<p style="text-align:center;"><img alt="20off" src="http://www.seedcode.com/wp-content/uploads/2014/08/20off-300x289.png" width="210" height="202" loading="lazy"></p>
<p style="text-align:center;"><a href="http://www.seedcode.com/list-all-filemaker-templates/" rel="external nofollow"><span>See all products on sale</span></a>
</p>
<p style="text-align:left;"><em>Implementation packages are not on sale. Please <a title="Contact Us" href="http://www.seedcode.com/contact/" rel="external nofollow">get in touch</a> if you have questions: we’re here to help.</em></p>
<p>The post <a href="http://www.seedcode.com/20-devcon-sale-continues/" rel="external nofollow">20% Off DevCon Sale Continues</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/20-devcon-sale-continues/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">842</guid><pubDate>Mon, 04 Aug 2014 14:35:16 +0000</pubDate></item><item><title>DevCon Meditation Challenge</title><link>https://fmforums.com/blogs/entry/839-devcon-meditation-challenge/</link><description><![CDATA[
<p>With so much going on at DevCon–and so many friends to catch up with–it can be tempting to put yourself on auto-pilot for the whole conference, just reacting to what’s around you.</p>
<p>You can feel a little aimless that way. And you can miss things. You’ve sacrificed a lot to be here so double-down on that commitment: join the <strong>DevCon Meditation Challenge</strong> and see what it does for you.</p>
<div>This even works if you’re not at <a href="http://www.filemaker.com/developers/devcon/2014/" rel="external nofollow">DevCon</a> =)</div>Folks who take up the challenge will take time to meditate on their own, for <strong>two eight minute sessions each day</strong>. You can do this whenever you want but we’d suggest before breakfast and after the day’s last session.Sitting down (anywhere) and simply watching your breath is great. You might also lightly think about an open question like “How can I share what I’ve learned?”
<p>I think you’ll find yourself refreshed and refocused: ready to dive into example files, blog some stuff, or hit the bar. Get the most you can out of this DevCon: <a href="https://twitter.com/intent/tweet?text=I%27m+In.&amp;hashtags=FileMakerDevCon,MeditationChallenge," rel="external nofollow">tweet “I’m In #FileMakerDevCon #MeditationChallenge”</a> to join us and encourage others.</p>
<p style="text-align:center;"><a href="https://twitter.com/intent/tweet?text=I%27m%20In.&amp;hashtags=FileMakerDevCon,MeditationChallenge," rel="external nofollow"><span>I’m in – Take up the Challenge</span></a>
</p>
<p>Take this practice home after DevCon and you may be surprised what you can accomplish.<img alt="ganeshblue" src="http://www.seedcode.com/wp-content/uploads/2014/07/ganeshblue.png" width="100" height="120" loading="lazy"></p>
<p>The post <a href="http://www.seedcode.com/devcon-meditation-challenge/" rel="external nofollow">DevCon Meditation Challenge</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/devcon-meditation-challenge/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">839</guid><pubDate>Mon, 28 Jul 2014 10:34:35 +0000</pubDate></item><item><title>Virgin Date Pickers</title><link>https://fmforums.com/blogs/entry/838-virgin-date-pickers/</link><description><![CDATA[
<p>If you haven’t played with flights on Virgin America’s new site you should definitely check it out. A great rethink of the flight booking workflow, it’s also a nice argument for the long-scrolling site.</p>
<p>Big, sexy date pickers are dear to my heart. <a href="https://www.virginamerica.com/book/" rel="external nofollow">Book a flight</a>. Details on the redesign, Work &amp; CO, and their use of AngularJS <a href="http://www.wired.com/2014/06/the-super-slick-ux-of-virgin-americas-new-booking-site/" rel="external nofollow">here</a>.</p>
<div><a href="http://www.seedcode.com/wp-content/uploads/2014/07/virgin.png" rel="external nofollow"><img alt="virgin" src="http://www.seedcode.com/wp-content/uploads/2014/07/virgin.png" width="1200" height="856" loading="lazy"></a></div>
<p>The post <a href="http://www.seedcode.com/virgin-date-pickers/" rel="external nofollow">Virgin Date Pickers</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<br><br><a href="http://www.seedcode.com/virgin-date-pickers/" rel="external nofollow">Source</a>
]]></description><guid isPermaLink="false">838</guid><pubDate>Fri, 25 Jul 2014 16:44:20 +0000</pubDate></item><item><title><![CDATA[Sync Webinar: Q&A with Todd Geist and John Sindelar]]></title><link>https://fmforums.com/blogs/entry/835-sync-webinar-qa-with-todd-geist-and-john-sindelar/</link><description><![CDATA[
<p></p>
<h2>Syncing FileMaker Go</h2>
<p>We got some great questions about sync in our last webinar and we’ve posted a video below. Big thanks to Todd Geist for joining me to answer questions and talk sync…</p>
<p><span style="line-height:1.5em;"></span></p>
<div><iframe src="http://player.vimeo.com/video/101377181" frameborder="0" loading="lazy"></iframe></div>
<p style="text-align:left;">If you’d like to attend and ask your own questions we have two more sync webinars scheduled:</p>
<p>August 5, 10am PST – <a href="https://attendee.gotowebinar.com/register/8967638086638329090" rel="external nofollow">https://attendee.gotowebinar.com/reg…38086638329090</a></p>
<p>Aug 13, 3pm PST – <a href="https://attendee.gotowebinar.com/register/2307129797594544130" rel="external nofollow">https://attendee.gotowebinar.com/reg…29797594544130</a></p>
<p>Both webinars will have the same format as the original with Todd Geist and I taking questions on sync in general, FileMaker 13, and what’s new in GoZync 5.</p>
<p style="text-align:center;">Learn more about Syncing FileMaker Go with GoZync</p>
<p><a title="GoZync: FileMaker Sync for Pro, Go and iPad" href="http://www.seedcode.com/filemaker-sync-gozync/" rel="external nofollow">GoZync download, demo &amp; screenshots</a>.</p>
<p><span></span></p>
<div style="background:#778899;border-color:#708090;color:#F7F7F7;"><div>
<h2>Subscribe to Blog via Email</h2>
		
			<p>Enter your email address to subscribe to this blog and receive notifications of new posts by email.</p>
			<p></p>

			<p>
				</p>
		

		
</div></div>
<p>The post <a href="http://www.seedcode.com/sync-webinar-qa-todd-geist-john-sindelar/" rel="external nofollow">Sync Webinar: Q&amp;A with Todd Geist and John Sindelar</a> appeared first on <a href="http://www.seedcode.com" rel="external nofollow">SeedCode</a>.</p>
<p></p>
<p><a href="http://www.seedcode.com/sync-webinar-qa-todd-geist-john-sindelar/" rel="external nofollow">Source</a></p>
]]></description><guid isPermaLink="false">835</guid><pubDate>Tue, 22 Jul 2014 21:26:08 +0000</pubDate></item></channel></rss>
