At FileMaker DevCon 2019, I led over one hundred FileMaker developers in six hours of learning and working with JavaScript. It was a good day. We learned a lot. We made lots of mistakes. We fixed those mistakes. We felt pangs of frustration with the web viewer object. And we shouted with satisfaction when we got the web viewer to render our chart or datatable. In those six hours, however, we had to gloss over a few things. I intend to double back and talk in detail that which I blew right by to give all attendees the fullest experience. So here I’ll discuss how to extract and use the FM Web Viewer Bridge code and scripts from the JSPlayground file to your own.

One note: If you didn’t attend the session, feel free to participate in this post and video. There’s a lot in this video I’ve skipped over. But never fear: through future videos and webinars, I’ll retread what we did in the DevCon session.

Extracting the FM Web Viewer Bridge code

Working with the FileMaker Web Viewer Bridge was sort of the culmination of the JS training session. We were able to integrate the C3 Charting library and cause it to change without the web viewer flashing as the code reloads and without the rendered chart losing its state. (Again, we’ll come back to this later in another video.)

But we worked with the Bridge API within the context of the JSPlayground2019 file. Which is fun to play in, but hardly useful for production custom apps. So here’s how to extract the FM Web Viewer Bridge code into your own file. Follow along in the video. I’ve also written down the steps below. It’s pretty simple to do, and once you’ve done so you can use that first extraction in all your projects going forward. Let’s dive in.

Video Explanation

(15 minutes)

Written Explanation

Okay. Here are the steps you need to follow to extract the C3 chart with the bridge functionality out of your Playground file.

Export the Code

Export the code we wrote using the red Export button on the top right of the JSPlayground.fmp12 file. This exports this single record and all its code into a .fmp12 file to your desktop.

In this file, there’s an HTML_Calc field, but it is a text field. You can update it to be a calc field so that you can continue to tweak the JS code and have the web viewer grab the latest code. Here’s the code for the HTML_Calc field:

Substitute ( Code_HTML ; 
 ["__Script__" ; Code_Script];
 ["__CSS__" ; Code_CSS];
 ["__Data__" ; Code_Data] ; 
 ["__Library__" ; Code_Library] ; 
 ["__Extension__" ; Code_Extension1] ; 
 ["__D3__" ; Code_D3] ; 
 ["__FileName__" ; Get(FileName)] 
  )

Set up the Web Viewer

Set up a web viewer object on any layout. It really doesn’t matter the layout since you’re going to use a script to load the code into the web viewer. In the example, I just use the base table. Clear out all the checkboxes of the web viewer object set up except the “Allow Interaction . . . ” one (the first one). And finally name the object in the inspector. I called mine “BridgeWeb”. But that can be changed and updated in the scripting.

Custom Function

There is one small custom function, RandomNumber, that I used in the CreateColors script to pick two random colors from a list. Use it or not.

Windows Users Only

If you’re on Windows, or if any of your clients that will use this chart are on Windows, you need to add one more field to the table of the context that the web viewer object is on. Add any text field–I call mine ‘CopyPasteTarget’– and set the field to the right off the layout. Name it “CopyPasteField”. This will only be used when the FM WebViewer Bridge API is working with a hash (the URL) that is more than 2000 characters. It’s just necessary. :/

Copy / Paste Scripts

The next step is to copy and paste the necessary scripts into your file. If you wrote the C3 chart scripts, then you’ll copy those along with the scripts that runs the FM Web Viewer Bridge API. Select each of these, then copy them. Finally paste them into your file. If you do it that way, you’ll get no broken script references.

Here’s the full list:

  1. Load Bridge Example: this is the script that loads the code from the HTML_Calc field into the web viewer. Adjust this as you deem necessary, changing contexts to get to the layout with the web viewer. Here’s one place you need to update the web viewer’s name if you changed it.
  2. C3 Chart Folder: These are the scripts we wrote in the session. Copy the entire.
  3. FM WebViewer Bridge folder: Some of these scripts we’ll keep and some we’ll delete once the folder is in our file.

Copy all of these scripts/folders at one time and paste them into your file at one time. That will prevent any broken script references from showing up.

There will be a few errors; most of these are just broken field references. As you paste the scripts in, each script with an error will open in the Script Workspace. Go through each of these and fix what’s highlighted in red.

Delete Some Scripts

We don’t need all the scripts in the FM Web Viewer Bridge folder. Here’s a list of the scripts you can delete.

  1. ClickOn
  2. Inlined
  3. All the “Set ENV” scripts
  4. Compile URL Copy
  5. IsWebViewer Loading
  6. Close Web
  7. Generate JSON object

As you delete them, test to make sure you haven’t broken anything. To be super-sure, use FMPerception to find unreferenced Scripts.

Complete

After the above steps, you should be complete. You’ve successfully extracted the FM Web Viewer Bridge Code. The scripts and the functionality is copied from the JSPlayground file to your own custom app. From here you can use your file as a template.

If you do implement more than one bridge set up in your app, simply copy over that integration’s scripts. You shouldn’t have to recopy the Bridge scripts. It should be ready to go.

On Going

In the near future, we will continue our study of FileMaker & JavaScript. If you attended the session, I’ll have more videos and posts regarding stuff I had to gloss over. If you didn’t attend, I can lead you on from the beginning. Stay tuned for the plans we have.

Okay. Here’s the file

I planned on not uploading the file that I demoed here, but decided to reverse course. The more people that see and experience JavaScript in FileMaker, the better. So here’s the file. Pick it apart. And feel free to let me know if you have questions about it!

We are very proud to announce that the Geist Interactive team won not one but two FBA Excellence Awards at FileMaker DevCon 2019. These mark our 4th and 5th awards in the last 6 years. Since next years event will has been renamed “Claris Engage”, these also mark the very last award given at a “FileMaker DevCon”.

Community Leader Award

Geist Interactive’s Evangelist, Jeremy Brown won the award for Community Leader for his tireless work helping build Claris’ online community. The community is a critical part of the Workplace Innovation Platform. Jeremy spends a lot of time helping people get answers to their questions, and he helps to ensure that the community continues to provide a positive experience for everyone looking for help with the platform.

Innovation Award

The innovation award is given to companies who create innovative solutions or tools, extensions or plugins that add innovative features to custom applications or make them better. In our case the award was given for our extensions and tools. Our three most innovative tools are likely the ones that got us the award. Remember they are on sale through the 16th of this month.

Here is quick look at three of the products that were entered and the developers who created them.

FMPerception

FMPerception is our realtime developer analytics tool. It is huge favorite in the developer community. Its blazing fast progressive search approach means you can get the information you need about your solution now, not later. You do not need to wait for long imports or parsing steps. You just ask a question and you get an answer. Access to this much information in realtime will make you a better developer.

FMPerception is a creation of Dave Ramsey and Hierarch LLC. Dave can be found each year at our booth with a huge crowd around as he waxes philosophical on the power of real time analytics

WidgetStudio

WidgetStudio is our vision for what we hope for the future of the Claris Workplace Innovation Platform. It helps you create, customize and deploy FileMaker WebViewer Widgets. Widgets are highly interactive user interface elements, that break free of traditions FileMaker user limitations. You can pick from the constantly growing set of included widgets or build your own and deploy it quickly.

WidgetStudio is the brain child of Cason Lind of Eagle Optimizations. This year he used FileMaker to control an industrial robot as it poured a cup of coffee. Amazing stuff from an amazing developer.

Otto and Otto Migrator

Otto is our FileMaker Server developer operations and data migration tool. You can turn tedious, error prone, slow manual data migrations into full automatic processes that you can kick off with the click of a button or at a particular time. You will not believe how good it feels. If you have a vertical market solution Otto will save you countless hours, when you push out new versions to your customers.

Otto can also send backups to amazon S3 for offsite backups. With just a few clicks you set up Otto to send a backup to S3 running in your own AWS account. Since Amazon doesn’t charge for uploads, your costs are really low.

The Last FileMaker DevCon

Although we didn’t know it when we arrived, this was to be the last FileMaker DevCon. In a surprise move FileMaker renamed itself Claris and changed the name of DevCon to Claris Engage. Although we are totally and completely psyched by these changes, it is a little bittersweet. Many of us have been to more than 20 DevCons. That chapter is now closed and new one begins.

Thank You

We get the trophy, but really we couldn’t do it with out you, our customers in over 50 countries around the world. Your dedication to the platform and your enthusiasm for our products is what made this happen. We thank you and we promise to keep innovating.

We are excited to announce that our Automated data migration and developer operations utility, Otto now includes an App Store. You can instantly install 3rd Party applications on your Otto powered FileMaker Server with a single click, making it super easy to demo interesting applications. Now Otto can migrate, backup, AND install FileMaker Applications.

It is available now. Existing users can download the latest version from their account on our website.

Available Applications

We are starting with a small list of applications from Geist Interactive and Seedcode. We expect this list to grow and are actively looking for apps from other developers to add to the list. If you are a developer with a server based application, that you would like to get into the app store please get in touch.

Pricing and Availablilty

Otto has a free version with some features limited. The App Store doesn’t require the full license. So you can enjoy the benefits of the App store without purchasing a full license. We hope you do purchase a full license though. Pricing starts at $400/year for a 3 server license.

Let’s just keep this short and sweet. 🙂 Geist Interactive’s DevCon 2019 Sale is back and better than ever. Get 20% off products in our store. If your order total is $3000 or more you’ll get an additional 10% off. That adds up to 30% off. Implementation Packages are 10% off. The discount will be automatically applied when you check out.

FAQs

Q. Will the discount apply to renewals of licenses FMPerception?
A. Yes but the usual 50% renewal discount will be 40% for the duration of the Sale. That 40% will get added to the 20% or 30%, you get from the DevCon sale. Making it a 60 or 70% discount if you renew during the sale. This is the first year we have included renewals in our DevCon special.

Q. Will the discount apply to upgrades?
A. YES

Q. When does the promo end?
A. August 16th, 2019

Celebrate

DevCon is just about the BEST TIME EVER. Even if you aren’t here at the show, you can still celebrate with us by taking advantage of this awesome sale!

In about a week, I’ll be presenting at FileMaker DevCon on two topics related to the Workplace Innovation Platform. As part of those talks I am going to be talking about Custom Application Networks. In this post, I’m going to introduce Custom Application Networks and talk a little bit about what makes the FileMaker Workplace Innovation Platform so good at building them.

Bridging the Gap

In FileMaker’s recently released white paper on the Workplace Innovation Platform, the authors list five reasons you should invest in a Workplace Innovation Platform; number two is: “Bridge the gap between appliance apps and enterprise systems.” If you look around you’ll see it isn’t just enterprise applications that need bridging—it’s the dozen SaaS applications that most business now use as well.

Companies today have a mishmash of apps and services that they try to string together into some kind of cohesive whole, but duplicate data exists in many apps. Information needs to move from one application to another with custom transformations unique to business processes, and somehow they need to extract valuable business intelligence.

Who designed this mess? How did we get here? Wouldn’t it be better just to build a big monolithic application so we could avoid the chaos?

It’s the Economy, Silly

Well, it’s the API Economy to be specific. As more and more applications and services get added to the network through APIs, they all get more powerful. They get cheaper to build and maintain, they get easier to sell, and they generate more revenue. This is a classic example of the network effect.

It didn’t start out this way. When the first SaaS apps where released 10 years ago, they weren’t very good, but they were affordable. I used to joke that SaaS applications were the fast food of the software industry. They were cheap, satisfied a craving, and were available everywhere, but if you lived on them they would kill you. That said, over time these apps improved substantially.

Just getting better wouldn’t have been enough fo them for them to transcend the fast food category—the internet as a whole got better too. Internet Explorer was killed off. JavaScript become the dominant programming language, and developers settled on REST or REST-like APIs with JSON as the payload. Suddenly these applications could talk to each other. Platforms like Zapier were born which focused solely on connecting SaaS applications.

Now we have applications that are improving at an ever-quickening pace, they can interoperate efficiently, are drop-dead simple to try out, and relatively inexpensive if you consider all the costs of building the functionality on your own. Add this up and you have an economic incentive so compelling that companies start using more and more of these apps without even really knowing that they are doing so. At first slowly, and then quickly, companies begin to assemble custom application networks.

Custom Application Networks and Innovation

Now, many companies have many SaaS applications that they rely on. They are maybe partially integrated using Zapier or other custom code. Each company has a different set of applications that are connected in different ways. The “Custom” part of the solution has moved partially out of the custom application and into the network layer. It is the unique collection of apps, connected in a unique way that defines a “Business System.” This a Custom Application Network.

Look closely at what this Custom Application Network does—it runs a business. If it isn’t working well, the business isn’t working well. If it’s too rigid, the business can’t adapt. If you can’t change, you can’t try new ideas. If you can’t try new ideas, you can’t innovate. Suddenly, the health of this Custom Application seems pretty important.

Custom Application Networks
Custom Application Networks mimic the organization of human brains and neural networks

Build vs Buy

As a brief aside, I want to make it clear that custom software development isn’t going away. We still need to build things that are unique for our businesses. There will be apps to build, dashboards to build, custom integrations to build, and APIs to build. The incredible opportunity is that now we get to build more of what really matters to our businesses—or for our clients—and less that doesn’t. Anything that is essential but provides no competitive advantage can be purchased and integrated. So the answer to the old question of “should we build it or buy it?” is “both.” You’ll buy and you’ll build, but you’ll just get to build more of what matters. Almost everything you do will be connecting in some way to a Custom Application Network.

Back to the Future

If you’ve been paying attention, you will note that there are some problems with this arrangement. The Custom Application Network was probably designed over time, and without a game plan. Data is spread across many applications, and the flow between the applications is not great. You can’t see the data you need to see when you need to see it. This feels remarkably like the beginning of my career.

Back in the 90’s and early 2000’s, building business software often meant translating paper-based systems into databases. Collecting and organizing everything, creating reports, crafting finds, and writing scripts to get these data to flow from form to form or table to table. Now we have a similar situation, but instead of data existing in a bunch of filing cabinets on paper or maybe excel spreadsheets, we have it in separate applications. Fundamentally the goal is the same: organize these data, get it to flow where it needs to be, make reports and charts, and design data in/out forms. How we do it is different, but the end goal is the same. Back then, we were creating databases that were shared over the LAN. Now, we are creating Custom Application Networks that might reach around the world.

Workplace Innovation Platform

Let’s consider the basic set of capabilities you need to keep your Custom Application Network going. Whatever tool you use, it will require the use of REST APIs to create custom data flows between SaaS applications. It will need to be able to create web, mobile, and desktop apps. It will need to have a database component. It will need to be easy to get started with, and powerful enough to build pro-level applications. It would be great if it offered escape hatches through a plugin API and integration with JavaScript. Where can we find such a tool?

If you accept the premise that healthy innovation in a business is tied to the business’s Custom Application Network, it’s really no surprise that a Workplace Innovation Platform tool like FileMaker would provide these capabilities. Business Innovation is managing, building and maintaining the Custom Application Network. Even if you are only building a small custom application for your company, it is almost certainly going to need to plug into the network at some point, and so your custom app will be improving the health of that network.

FileMaker has all of the capabilities I outlined above. I am not aware of any other tools out there that have the full stack that FileMaker has, making it the perfect platform for building part, or all, of your Custom Application Network.

It’s Not That Hard, but it is Different and it’s Getting Easier. Oh, and it’s Worth it.

Many of you are probably thinking, “Ok sure, but integration is not easy. The Custom Application Networks that you advocate are a sort of distributed database system and that is more complicated than building everything in one system.” This is true to a degree. It was certainly true in years past, but I don’t think it as true today. The tools for integration are getting better, and best practices and patterns are emerging that will help us reason about these problems.

Also, it is undeniably worth it to make the effort. Once you begin to build systems in this way, you will begin to feel how much more robust, more flexible, and less risky your system is.

The Opportunity

It’s hard to overstate the opportunity presented by the Custom Application Network. Every business of any size is creating one, whether they know it or not. If you’re a business owner, understanding your network will help you decide what to build and what to buy. If you’re a custom app developer, every company has technical challenges, which you have skills to solve. If you’re a vertical market developer, understanding how to fit your app into your customers’ custom application networks will help you decide what features to build and what to leave to the network.

The Geist in your Business Innovation Machine

At Geist Interactive, we have a methodology we use to work through the Custom Application Network’s opportunity. We call custom application networks that are built with intent “Business Innovation Machines,” for what I hope by now are obvious reasons. If you’re curious about this, and wonder how it might help you, please reach out. We’d love to be the Geist in your Business Innovation Machine.

More at DevCon

Custom Application Networks aren’t the only thing I’ll be covering at my two talks at DevCon, although it will make up a substantial part of my first talk. The other presentation will be about where I think we’re headed in the next few years. I hope to see you there.

My username on the FileMaker community is “jeremy_fm_js”, and I’ve been known to advocate using JavaScript in FileMaker for a few years now. It might be interesting to be typecast into ‘the guy that always talks JavaScript’ (I don’t always recommend JS in my posts in the community), but I advocate for many good reasons. Some of them are reasons I’ve stated before, but also, there’s a few new ones I’ve thought of in the past year 🙂 If you need an escape hatch–this is, if you need to build an interface that is more interactive than we can do using ‘idiomatic‘ FileMaker–we can consider JavaScript, and we can consider learning the language. To help you learn JavaScript, JavaScript is part of FileMaker DevCon.

Why JavaScript?

The answer to this question is: why not JavaScript? There’s a lot of innovation we can bring to custom apps using the language native to FileMaker. JavaScript and JavaScript libraries brings thousands of testers to its foundation. I’ve written about all this before.

More reasons

FileMaker itself seems to be giving some weight to JavaScript in the platform (the entire platform, of course). There are two pieces of evidence. First, exploring JavaScript, for the third consecutive year, is part of FileMaker DevCon, the FileMaker conference. Along with APIs and Zapier and microservices, attendees will have the chance to see and experience what JavaScript can do in our apps.

Secondly, JavaScript is specifically mentioned in the product roadmap. In the past it’s been rare to see something so ‘outside’ of FileMaker be mentioned in the FileMaker plans, but there it is. So FileMaker, Inc, and my friends in the product-development team, must have some special plans for it.

The roadmap states: “Within a web viewer, directly call JavaScript from FileMaker scripts and vice versa.” That’s a very amazing idea. We will be able to solve certain web viewer problems with this functionality and give more control to FileMaker interacting with the JavaScript code.

JavaScript at DevCon

All day pre-conference training

This year I have the honor of leading folks in a full-day training of FileMaker & JavaScript. We will work together for six hours to talk about the following objectives and concrete activities.

Learn the basics of the JavaScript language

We’ll work together on exercises that teach us the basics of the language. We’ll talk about JavaScript concepts, and we’ll connect what’s true about JavaScript with what we already know in FileMaker.

Each exercise comes with one or more extra practices. We’ll do those to drive the point home.

Identify the peculiarities of the web viewer object on different devices

The web viewer object in FileMaker is powerful, but it is quirky. We have to understand its needs for each device, so as we practice and exercise, we’ll talk about how the web viewer works differently in different operating systems.

Integrate JavaScript libraries into any custom app

The fun of this day will be to spend time putting charts or data tables or any number of other libraries into our apps. We’ll learn how to do this from scratch. We’ll also review the tools out there that make this part very easy.

Just so you know: In order to work with libraries, we need to know a little JavaScript. We can’t run until we learn to walk.

Learn to communicate between JavaScript and FileMaker easily

The FM WebViewer Bridge framework is an important last-piece of the puzzle. It solves quite a few problems when working with the web viewer, and it provides a less jarring experience for your users. We’ll examine how this framework works.

We will work through examples and practices to learn more about how we can use JavaScript, and it will be a productive day. Attendees will learn a lot about how to use the language. We won’t be JS experts, but we will at least know a bit more of our way around its use in FileMaker. I have two ultimate soft goals:

To be comfortable enough with JavaScript we can look a JavaScript library in the face and not run away screaming in terror.

and

To expand our horizons of what is possible with FileMaker and JavaScript.

The six hours will be more than enough time to get our feet wet. If you haven’t signed up yet for this training time, I encourage you to give it a consideration. JavaScript brings to our fingers much power, and this session can help you see how to harness that power.

Discussions throughout the week

I wish to continue the JavaScript discussion well after the training session ends (after we’ve had a chance to recover from the workshop). Last year I was available to talk shop and sat with a few folks to talk one-on-one about how to integrate a chart or a data table into their in-production apps. That was a blast. So this year I wish to continue that. While at the booth or at food time or in the hallway, I’ll be available to talk with folks about their use of JS in their apps. So feel free to find some time with me and we can continue to discuss this innovative tool.

JavaScript after DevCon

The fun doesn’t end when FileMaker DevCon 2019 ends. Oh no. Energized from that experience, I’ll continue to talk about JavaScript and FileMaker. I’d love to do a follow up training session with interested folks to continue to learn more about the language and how to use it in FileMaker. So stay tuned to this blog and our Twitter page for more information.

Preparing for DevCon

If you do plan (or are thinking about) on joining me for FileMaker & JavaScript, please take a moment to download the file (below) and test your setup (computer, browser security settings, FileMaker version etc) to see if all will go well with your time. Basically click some buttons and confirm you see the web viewer user interface and interactions. Those running macOS will be fine. Windows users should really test it out.

I want you to be successful in the session. The file here contains a small sample of what we will do; all the items you’ll test here we want to make sure work. If you download the file and run thru the tests and all is good, you’ll have no issues with the work we do during the training. If you do have issues, please reach out to me at support@geistinteractive.com and we can work on finding a solution so that you can attend and learn and exercise your innovative spirit.

Don’t worry if your copy ‘fails’. I have a plan in case you can’t view the C3Chart or the DataTables or the PivotTable. The only extremely-vital one is the Code Editor test.

See yah in just a month! And get ready for JavaScript at FileMaker DevCon.

Downloads

The following list of downloads reflects what we did during the FileMaker & JavaScript session. More is coming soon.

JS Test File: test your machine to be ready for the training

Session Slides: The slides we used to talk about JavaScript and FileMaker and the web viewer.

To view all the resources we used and to view tutorial videos walking through each exercise we did during the session, go to this page.

WidgetStudio, the best tool out there to create and customize and deploy FileMaker web viewer widgets, is only a few months old. Yet its creator, Carson Lind of Eagle Optimizations, has added many new features to the dev tool. His goal was to make it easier to create and customize widgets. And he did so with the three big new features: Using an External Editor, Offline Compiler, and Easy Access to Variables.

Using an External Editor

The biggest feature–and the one we enjoy the most–is that WidgetStudio will now work with an external code editor. Though WidgetStudio provides a great basic editor for some widgets, most widgets we’ve built recently can get complex with many lines of code and many separate parts (HTML and some CSS and some JavaScript). WidgetStudio can now both sync a new or existing widget’s code from the files on the machine and ‘watch’ for any changes made to those files. A FileMaker developer can now use the editor outside of WidgetStudio, writing and organizing her code there, and then use WidgetStudio’s tools to customize and deploy that widget.

This is incredibly handy. Editors such as Visual Studio Code are commonplace among HTML / JavaScript developers. There are a lot of features built into these apps that make writing code efficient. And these developers can write code faster in an editor and in a more organized fashion.

Web Viewer widgets can get complex, having many different files. An external code editor helps organize. WidgetStudio can work with all of these.

Compile for offline use

Many widgets tap into additional JavaScript or CSS libraries that are found online somewhere. If this is the case, the widget must be able to reach that library, so the device must be able to access the internet.

WidgetStudio 2.0 now can compile for offline use. This means that any online resources such as JQuery or BootStrap that are available online will ‘sucked’ into the Widget at compile-time. WidgetStudio is clever in that it brings these online resources into a FileMaker table. And the widget then has all the libraries it requires without the need for being online.

WidgetStudio grabs the libraries that are hosted online and makes them available to your widgets.

Access to Variables

In WidgetStudio 2.0, widget creators can now access the variable settings much easier. While working in an external editor, the creator places variables to represent the customizable items. She needs to add additional settings to each variable to make it easy for a user to understand the value. WidgetStudio presents those settings with fewer clicks.

WidgetStudio truly gives us easier access to innovative web viewer widgets that enhance our user’s work and experience. And developers of widgets now have more tools to create and organize web viewer widgets. Check out the new features and download the demo. If you’ve already purchased WidgetStudio, you can get the update through your account here at www.geistinteractive.com or through the tool itself.

Today our FileMaker DevOps tool, Otto, gets a big upgrade; automated offsite backups to any S3 compatible storage service. Otto the only product that automates data migration, solution upgrades and offsite backups for on premises FileMaker servers. Otto 2.0 is now compatible with FileMaker 18 server.

Once Otto is installed on your server you can configure it to move a folder full of backups offsite. You can use S3’s storage retention policies to keep backups on S3 for as long or as short a time as you want. S3 is so cheap though, that you might just decide to keep daily backups stored there indefinitely.

Otto transfers Backups to S3

If your Workplace Innovation Platform Servers run on premises, then you need to make sure that you have a reliable backup method to make sure your valuable data is backed up offsite. Otto now has you covered.

Otto 2.0 is available today on our website. There is a free limited demo version available. Prices for the full version start at $400 for a 3-server pack. If you already have an Otto License, you can download this new version from your account on our website for free.

FileMaker 18 ups its game even more with a whole set of script steps (and a few functions) that allow us to write data to an external file. This can be done without an export. There’s a lot of potential in this FileMaker write data workflow.

I had the chance to play with these script steps and was aware enough to record the exploration. I knew only a little bit about these steps before I started. And during the exploration I learned a lot.

Here’s the recording. It’s rough and unedited. I prepared nothing for the video, so you get to see me developing and figuring this out as I talk (hopefully in a clear way).

So take a look at the video of the FileMaker write data workflow. It is 30 minutes. You’ll probably get a kick out of how I develop. After the video, I have a list of what I learned. Don’t read that yet! Watch the video first 🙂

Jeremy’s exploration of FileMaker write data workflow

What did you think of the video? Send me your thoughts about it here: support@geistinteractive.com. On to what I learned about the FileMaker write data workflow.

What I learned

Do you do this sometimes? DO you just build a test file and play around with a step or two? As I said in my video, I have thousands of files that explore single new features or help me study for the certification test. My desktop and a “databases” folder are littered with these. But they’re useful because I can test it out and build something for implementation later on.

I learned a lot in this exploration. Here’s what I learned.

  • You don’t have to just write to .txt files. Other file types will work, though I like the simplicity of the .txt file.
  • There’s a certain workflow, a certain order of steps to follow each time:
    • Check if the target file exists
    • Create it if it doesn’t
    • Open the file
    • Get the file’s size (to determine the next position to write to)
    • Write the data
    • Close the file
  • This process has to be in this order.
  • If I don’t close the file, I can’t open it again.
    • I wonder if I can write to it if I forget to close it. I bet I can.
  • In order to identify files, FIleMaker keeps an ID of each one. WE use the ID of the file to target the file to write or close.
  • There’s a few functions that identify open files and the position. So I’m using a combination of script steps and functions to do this work.

Some observations

  • I found the script steps that we use here that target a variable to be weird, something to get used to. I like them and I hope this trend continues, but it is weird. These steps can set the value to a field or a variable I like that.
  • Since this workflow is a specific order, I find it a good idea to modularize it. I did so in the video above. My public scripts call the “Write Data to File” script and they pass a JSON object ( of course) as a parameter. Here’s mine.
    I see this as an important piece: pass to the modular script the file name, the path, and the data as parameters from a parent script.
  • There’s a whole lot that we can do with this. . . I just haven’t thought through all those possibilities.

Onward

The new workflow: FileMaker write to data is just another star in FileMaker’s rank as the number one Workplace Innovation Platform. In an already-limitless platform, we can do even more.

 

FileMaker DevCon 2019 is fast approaching. There’s less than three months left, and we at Geist Interactive are busy, getting ready for the conference. Todd Geist and myself–Jeremy Brown–will attend (this will be our 20th and 8th time respectively) and spread the good word about JavaScript and the Workplace Innovation platform. We will be busy during the week, but will always make time for chatting about FileMaker or JavaScript or any other tech topic. Read on to see what we will be up to in Orlando, FL.

Conference Sponsor

Geist Interactive is proud to be a sponsor of this year’s FileMaker DevCon. We believe the three-day conference is great for every innovator out there. FileMaker DevCon 2019 will be full of great people, great innovations, and great food. We want to give back in the form of sponsorship so that all developers can learn as much as possible and make great connections.

Training Day

For the second year in a row, I will lead folks in a training session titled “JavaScript for FileMaker Developers“. This full-day session (upgraded from a half-day last year) will focus on how to use JS in our FileMaker apps. Attendees will spend time working on exercises in the JavaScript language. Each person will build a complete integration of a data table or a chart into a custom app. And everyone will learn how to work with the FileMaker Web Viewer object (which can be a bit prickly in some situations). Finally, we will focus on advanced topics like how to communicate to the JavaScript from FileMaker without causing a rude flash of the web viewer.

Our playground for the day.

I am dusting off my teaching skills and pulling out my manipulatives so that everyone–from the JavaScript beginner to the more advanced person–can learn something and walk away with a good set of next steps. Every FileMaker developer can (and should) use JavaScript as another tool in their apps. Join me in this session and learn how to use this powerful tool.

WorkPlace Innovation

Todd Geist is extemely a little obsessed with Workplace Innovation and FileMaker. He’s written about the beginning and the continuation of innovation with each incremental release of the platform. So at FileMaker DevCon 2019, Todd gets to speak about what he sees in the current status and the future trajectory of the Workplace Innovation Platform. Here is a description of his sessions:

Why a Workplace Innovation Platform?

What’s so special about a Workplace Innovation Platform? You’ve seen the videos, you’ve read all the marketing material, but practically speaking what is that makes a Workplace Innovation Platform standout from other options? We are going to look at the current state of business and work group innovation, and learn through a series of examples and mini case studies why FileMaker, as the leading Workplace Innovation Platform, can be so effective in driving business innovation.

What’s Next in Workplace Innovation?

Workplace Innovation doesn’t stop. Neither does the flow of exciting new technology that the FileMaker Workplace Innovation Platform makes available to us. In this session, we are going to look at some of my favorite bleeding-edge techniques, tools, and integrations that really make the FileMaker Workplace Innovation Platform shine. Come and see what the future looks like. There will even be some fun demos you can download and try on your own.

These two sessions are going to be lively and challenging and full, so you may want to show up early to get a spot.

No matter the size of the booth, we’re happy to talk all things Workplace Innovation Platform

Hanging at the Booth

Todd and I along with Tonya (another member of the team) will spend their time at our annual booth in the exhibit hall (though we do wish it were located down by the pool). We always welcome folks to come and stop by and talk anything you want. We’ll demo our products (FMPerception, Otto, WidgetStudio, GoDraw3, and many others) and our custom development offerings. So stop by for a spell and chat us up. Bonus points if you come ready to talk about, A. JavaScript; B. JSON; C. FileMaker Modules; D. Innovation in FileMaker.

Vendor sessions

At FileMaker DevCon 2019 we will feature FMPerception and Otto in two separate vendor sessions. Dave Ramsey will demonstrate the value added to your development using the only Realtime Developer Intelligence tool. He’ll open your eyes to the major features as well as the intricate details that really makes it more intelligent.

Todd will demonstrate what the best Dev Ops tool “Otto” do for you. He’ll walk you through how Otto can help automate the tedious and error-prone process of deploying, migrating, and monitoring solutions.

Check out the schedule as we get closer to DevCon. Stay tuned to us on social media for updates as well.

Packing our Bags (soon)

We’re getting ready for FileMaker DevCon 2019. We’re excited about all the innovations that will be on display and shared throughout the week, and we can’t wait to share a few of our own.

If you’ve never attended, check out my blog post on attending the conference for the first time from last year. Eventually he will post a new one with an updated theme 🙂

See yah in just a few months!