Contact Us

T: (425) 481-8175
info@portagebay.com

Twitter   Facebook   LinkedIn RSS

Subscribe to our Email Newsletter
Subscribe to our Bi-Monthly email newsletter
*



* required
Site Search
Friday
Apr082016

Button Bar Sort Header

One of the missing features in FileMaker is the ability to add portal headers that can both sort portals and easily display the ascending or descending sorted order. Building and maintaining solutions that have sorting features has always been difficult to set up and maintain. It seemed as though adding and sorting was full of problems.

That is, until I found a great article by Kevin Frank on filemakerhacks.com. It is a multipart article about a very nice, fast sorting technique. I highly recommend you check it out. Geared more for the intermediate developer, it provides a great solution to sorting.

I began implementing the technique and was very happy with it. It seemed as though many of my portal sorting issues were solved. The sorting technique worked great, but a problem still remained. It was lacking a nice user interface that made "click to sort" feel like it should. Kevin’s technique was solid, but FileMaker lacked a good user interface element. Because of this, it was difficult to manage and maintain. At the time, FileMaker hadn’t introduced .svg support. Using raster graphics for icons came with a bunch of problems. You could use text characters, but they just didn’t look good.

Fast forward to the days of .svg and the button bar, and suddenly things begin to click into place. The modular piece I am sharing with you is actually the visual interaction with that sorting function. There are still some challenges, but this gets a lot closer.

For the sample file, I created 12 buttons total. After implementing the structure for Kevin’s sorting technique, they can be placed on any layout and, as long as you set the global variables that drive them, they set the sorting dependency and sort portals or lists.

In the sample file, the global variables that drive the sorting technique are set by a conditionally formatted text object. It evaluates itself to create the globals listed. You could just as easily create them in a script or some other process. If you use a multi-file solution, you will want to use global fields instead of global variables, and you will want to change the tables sort field calculations to use the global fields as well.

You also need to be careful when pasting them on a layout; basically, make sure they don’t rename themselves. But other than that, they should be easy to use.

Check out the video and download the sample file to find out more.
~Xandon Frogget 

Monday
Mar212016

Pause on Error 2016 - Cleveland

I wrote this from Detroit last week, returning home to Seattle after the Pause On Error conference in Cleveland earlier in the week. I enjoyed my stay in Cleveland; it’s an interesting city architecturally.

The Pause On Error conference is a FileMaker developer’s conference on a smaller scale than FileMaker’s annual Devcon (in Las Vegas this year). It gives you a nice opportunity to more easily meet people and the sessions tend to be less formal. You get some interesting speakers that I don’t think you would ever see at the much bigger Devcon event.

One of my coworkers at Portage Bay, Xandon Frogett, also attended and these are four sessions that stood out for us:

FM Server panel discussion
I didn’t learn a great deal new in this session, but it was a really good opportunity to hear about issues and resolutions that other people have with FileMaker Server, and what other people think about the upcoming change in FileMaker’s licensing that will eliminate shared hosting as a hosting option.

WAN Connections
Many people use FileMaker over the internet these days and so this session on optimizing FileMaker for use over wide area networks was quite interesting. Design choices can make a huge difference on how fast your application performs over the internet, without necessarily changing what the end user sees at all.

Selector-Connector
Jonathan Fletcher held a round table on Selector Connector. The big takeaway for me on this one was his technique for flattening the anchor buoy down to a first order reference for all table occurrences. It required using UUID’s so that all records across the solution would have a unique id. With all table occurrences related directly to the Selector’s global field joins, you could create modular portal viewers that could be placed anywhere to display any table records by simply changing the global. Pretty cool.

Auditing
This session was unique in that Vince Menanno presented a different process where he utilizes global fields in a popover for editing records. The technique would then concatenate and hash the values for a comparison against the current values. Only if there was a change would he then send those changes to run a script on server via script parameter. The script on server would add them to an audit log and make the changes. While this technique did have a bit of overhead to set up, it allowed for total control over changes and worked well with previous techniques Vince has held sessions on. One of those was a session at Devcon 2015 about Localization and Multiple Languages.

If you’d like to read more about any of these sessions, the conference Wiki is available online
~John Newhoff

Wednesday
Feb102016

Google Maps Integration into FileMaker

Since the addition of the web viewer to FileMaker, we have been able to use JavaScript to personalize aspects of the user interface that couldn't be done before. One of these boons comes in the form of the Google Maps API. By utilizing Google maps and loading it with data from FileMaker, we can display customized map info. While incorporating address information to render markers on Google maps is fairly common these days, we have made some additional strides in working with the common Google api and are able to leverage some useful but obscure API services.

The first one of these exciting services, often overlooked, is clustering. Clustering provides a way to manage a scenario where you have too many markers. It provides a grouping technique for several markers to display as a single marker. This has many uses, one of which is to help you navigate quickly into the region you need to look at, without accidentally clicking on the wrong marker. That is a big one when you are working on a mobile device. Trying to click on just one marker in a sea of markers is difficult. You find yourself pinch zooming in awkward ways, trying to zoom in enough - to separate the markers enough - to get a clean click area. With the cluster, you will automatically be zoomed into the area by touching the cluster and can then drill down quickly to the single marker you seek.

The second of these services is a bit more common. It is the ability to add color to the markers. The ability to show all of your customers on a single map is great. When you are able to color-code them, you can truly explore your data. Having a different colored marker for varying sets of data becomes useful when you can adjust it easily. You might want to show the sales rep associated with a customer or mark the perspective value of customers in different colors. This is where refining the UI comes in to play even more.

In order for colors to help differentiate your data, it is necessary to have both a legend of the color's meaning and the ability to select which items in the list to display. We have been able to use a combination of the FileMaker button bar and a JavaScript color picker to provide elements that make working with your data a lot easier. Teaming up these elements makes working with a large plot of color-coded pins much easier.

 
(Additional resources.)
~Xandon Frogget 

Wednesday
Jan062016

Hashtags in FileMaker

With the dawn of social media, hashtags have taken on new form. What was once used for phone calls and code comments has now become commonplace among social media for “tagging” posts. While it’s easy for FileMaker to keep a repository of indexed keywords, FileMaker cannot easily display those keywords in a format that resembles the UI found on most social networks.

Web viewers, in a way, are essentially the “black box” of FileMaker development. There are seemingly endless use-case scenarios for web viewers, but in this example, we’re using the web viewer to display those user-defined keywords in a format that more closely resembles the UI found on most social networks. Download the demo file and follow along!

The keywords can be stored however you wish, but in this case, they are concatenated into a single indexed field. The magic is in the script that creates the html that will be used to set the web viewer. (If you’re new to web viewers, Soliant Consulting did an excellent blog post introducing the basics of FileMaker Web Viewers.)

In the demo file, the script "trig_Refresh Web Viewer Tags” loops through the list of keywords and creates a variable from the href links that will be wrapped with the html elements and used to set the web viewer object. 

Perform a find on the keyword: 
<a href=\"fmp://$/ & Get ( FileName ) & "?script=FindTag&param=" & $tag & "\">" & " #"&$tag & "</a>

Remove the keyword from the “Tags” field: 
<a href=\"fmp://$/" & Get ( FileName ) & "?script=DeleteTag&param=" & $tag & "\">" & "x" & "</a>

The links in the web viewer reference two scripts that perform either a find on the “Tags” field (script “FindTag”) or remove the tag word from the “Tags” field (script “DeleteTag”). With a bit of HTML styling, you can style the web viewer to match your solution, and there you have it: hashtags in FileMaker!

The one caveat for referencing FMP files in a web viewer is, there can only be one copy of FileMaker running on the local machine. When FileMaker is installed (on both Windows and Mac OS), it installs some sort of redirect that launches any URL starting with “fmp://“ in FileMaker, but the version of FileMaker isn’t specified, so it launches the first running version it finds.

For a brief explanation of hashtags, or for a good laugh, check out The Tonight Show host, Jimmy Fallon, and musician Justin Timberlake giving their take on using hashtags.
~Joe Ranne

Thursday
Dec172015

Congrats, Kate!

Once again, Kate has led the way in getting certified in the newest version of FileMaker. She is now a certified v14 developer, having passed her test just the other day. Congratulations, Kate, and good luck to John, Joe, and Xandon when they take their turns!