API FormsFly System

We’re always looking to make our integration API FormsFly System as accessible and easy to understand as possible.

To date this has been achieved by having detailed documentation on each API endpoint and option, but we’ve released a new way to discover and understand our APIs – introducing the API Explorer!

You can access the API Explorer on:

https://secure.formsfly.com/apiexplorer

Built on the Swagger open source library, we’ve exposed our current version 2 API endpoints in an easy to understand visual format.
Browse each available endpoint and its supported HTTP verbs, view the model properties and even test out calls to the API in the API Explorer.
Simply put its an integrators dream and we think it should make API integration projects much easier to implement.

While the primary focus of the Explorer is in JSON format requests and responses, there are areas where you can specify an XML response type to get an idea of what the API requires and responds with on the XML side too.

The API Explorer is a dynamic, living document of our version 2 API and is generated directly from our API code, thus allowing you to have confidence that what you see in the Explorer is exactly what is supported and available on the API.

Metadata on Company and Users

Metadata

You now have the ability to associate key/value metadata on both the Company/Organisation and User level on our platform.
This enables you to record additional information against these entities, and then access this data in Forms and other areas of the system via new META formula functions.

Adding/Editing Metadata

To get started with adding or editing metadata, simply head over to the “Edit User” and “Organisation Setup” pages in the secure website.
There you will see a new “Metadata” field, which lets you add key/value sets of information.
Don’t forget to hit the Save button to persist your changes :)

Screen Shot 2015-09-07 at 9.19.22 pm

The new metadata is also available right now on our v2 Company and User APIs, so you can programatically get and set metadata values as desired.

Accessing Metadata

To make use of the metadata you have loaded, we’ve added two new formula functions:

  • ORGMETA(‘keyname’)
  • USERMETA(‘keyname’)

Both the above functions will get you the value for the given key name at Organisation and User level respectively.
As this is part of our formula engine, you can make use of these functions anywhere formulae are supported – Form screens, data templates, conditions etc.

 

New External User Auth Functionality

If your users are already maintained in a separate external system, then today’s update is for you!

We have a new option on the Organisation Setup page which allows any Platform Administrator to configure external “pass through” authentication.
This lets your users authenticate against an external system when they log in, avoiding the need to have your user’s passwords stored on our platform.

Once external auth is configured, every time a user logs in (on our website or apps) our system will receive the login request and first ensure the user email is registered on our platform.
Assuming the user email is found, our system will then transparently “pass through” the login credentials to the external service you configured for authentication.
The external service MUST return a 200 HTTP status code to be considered authenticated by our platform; any other response will be deemed a login failure.

Currently HTTP/REST endpoints are supported, we’re looking at adding Active Directory support in the future.
User passwords are never stored on our platform when external auth is configured.

The following placeholders can be used to inject the user’s login details, use these to form a dynamic URL, Headers and/or Body:
{{USEREMAIL}}
{{USERPASSWORD}}
{{ORGID}}

Android Update 1 Available in Preview

IMPORTANT NOTE:

All items described below are considered to be in BETA.

The new features/changes included in this release are:

Title Bar Navigation Text Color option

New option in App Setup page, lets you specify the colour of title bar navigation text (e.g. “Exit”, “Back” etc)

Remember App Logins

New in App Setup page, lets you specify that the app should remember logins for all users of that company account.
This means that after the user’s first initial login, the app will auto-login on subsequent app launches.
Of course users can still log out manually via the Settings screen in the app.

Task Attachments

On the Activities page of Tasks, you can upload files for the user to access on the app.
The new V2 of our Tasks API will include support for Task Files as well as pre-setting answers on the new Table field type in Forms.
Tasks V2 API is due out in the next few weeks.

Push Notifications for Tasks

When a Task is Sent, a push notification will appear on the target user’s registered devices.
This is feature is being switched on progressively across company accounts – we expect full operation by Wednesday.

Download on Demand option for Docs

Previously, Docs were always downloaded to the device when a user had access to them.
This could be heavy on data allowances and often the Docs in question were not needed offline.
Use the Download on Demand option to prevent the pre-emptive downloading of Doc files – when the app user attempts to access the file, it will be downloaded at that point.

Show a Pages tab on Forms

This is a new option in the Title bar part of Form Designer (click on the Title Bar in the design preview to see these options).
When enabled, the app will show a horizontal tab at the top of the Form, with every visible Page name displayed.
Can be useful for quick navigation to Pages, though in complex Forms where Pages are conditionally displayed this may prove confusing for users.

New Table field on Forms

Display a set of captured rows in a tabular format within your Form.
The user can add new rows to the Table, and they can edit existing rows by tapping on the chosen row to enter an editing Page.
In the Form Designer, you define the fields in the Table by dragging fields into the Table field itself.
Control which fields will display as columns by using the “Disable Table Display” property found on fields within the Table.

New “IN” Data Source Filter option on Choices fields

A long requested filter option – allows you to filter a Choices field by looking for all Data Source column values that are found within a given comma or pipe delimited text list of values.

Removed “max 50 column” limit when referencing columns using [] syntax in Forms

For those with larger Data Sources containing more than 50 columns, previously a limit was applied when referring to columns via our [ ] syntax in Form formulae.  This restriction no longer applies.

Settable Background color of horizontal Choices option buttons

Another highly requested improvement, you can now set the “unselected” background of option buttons via the “Option Background Color” property on Choices fields set to use horizontal field layout.

Hosted GET connected Data Sources now display the rows pulled from the given GET url on the Rows page

Key Fixes & “Under the Hood” Improvements

– File downloads to the app have been made more robust and efficient
– Improvements to app handling of timezones in date/time Form fields
– Fix sporadic app crash when no data source sort order is defined
– Fix bug with MIN() formula function returning zero is certain scenarios
– Fix bug with data source filters in certain Form user cases
– Fix Detail screen not refreshing when editing row on Form screen that was access from a field link on said Detail screen
– Fix issues with assigning default or dynamic co-ordinates to Location field in Forms
– Fix bug with Listing screen ordering in cases where not set correctly in Listing Designer

Syncing the App

How to Synchronise the FormsFly app

This would be necessary after any new Form version and new or modified Template document.

Tasks

If using a Form from a sent Task, any existing forms sent previously to a new form version or Template, would not reflect the changes.
In this case, the old Task would need to be cancelled and a new Task sent to the device. Whether this Task was sent from the Platform or via the API system like a Widget.

Syncing

After a new version or template has been published or uploaded and any new task has been sent, the sync needs to be done on the device.
cog

Click the cog in the top right of the app screen.

appScreen

Then click on “Check For Updates” part way down the page.
formsfly setting screen

You will then see the Updates Progress.

syncing

If the update lasts only a second, it is possible the device isn’t connected to a data network like 3g or WiFi at that moment so click the Update button again until the Progress popup lasts for a few seconds. There should be a notification icon appear to indicate the device is syncing.

 

Finding the Time

I was speaking with a client a couple of weeks ago, who already signed up to get mobile forms working for his team as part of a plan to reduce paper usage and to speed up their operation.  Let’s call him Ted. 

Now when Ted first spoke with us, he loved the product and, after trialling it, realised that it could do all the things on his “wish list”.  But, a few months on, his project was no further forward and the organisation was still not getting the benefits of a solution they already investigated and selected.  Sound familiar?

Ted is not alone – this is a situation which crops up fairly regularly, and there are recurrent themes and issues which are common to most of these cases.

I thought I’d share some of them, as they relate to other types of project too.  Some of it is familiar territory, but I reckon it doesn’t hurt to remind ourselves sometimes.

The Moon On A Stick Will Take Longer

Yes, it’s great to know the full picture about where you’d like to be at the end of the project.  You probably won’t get there if you don’t know the direction in which you’re heading.

But, for all but the simplest projects, it’s a good idea to break the project down into more manageable chunks, and to have milestones and deliverables along the way.

In Ted’s case, the ultimate aim is to have data flowing freely from the office to the mobile workforce and then get the results back into the Head Office system, with a copy to his clients.  For that, the Head Office system is going to require some adjustment by a 3rd party supplier, which is a possible hold-up.

So we created a “Phase 1” project where the data comes back to the office, and to the end client, in PDF format.  We identified with Ted that this would immediately cut a large hole in his team’s administration task, and impress his clients with the increased speed of reporting.  It’s a “quick win”, while the software people look at writing the code for the full integration.

No One Said It Would Be Easy

If you’re implementing something new, there WILL be issues.  It’s a fact of life, but it seems to stop some folks in their tracks, whilst others crack on.

Could it be that those who push onward were expecting to have issues and so were not perturbed?  Or is it that the non-implementers weren’t so serious about the project as they thought?

At the outset, it’s worth doing a couple of things.

Firstly, ask yourself if this change is going to drive your company forward and improve the way you work in some material way.  Is it going to save you money?  Save you time?  Improve the quality of your product or service, or increase the speed at which you provide it?  Is it going to help you comply better with your policies, for instance your Environmental Policy?

If you’re answering “yes” to these kind of questions, then it’s a no-brainer.  COMMIT!  Decide that you’re going to implement your plan, and mean it.

Secondly, get it clear in your head from the start that there will probably be some hurdles to overcome along the way.  This is to be expected and your commitment (remember, you just made it?) will help to see you through.

We’re Just Too Busy!

This one sort of comes under the same heading as the previous one, but is often the reason given for “Failure To Implement”.

Being busy is a good thing, of course.  But if the planned project truly is a priority for you, I’d strongly suggest that you can usually find one or two current activities which are lower priority, and slip or skip those in order to progress your money-saving/time-saving/product-enhancing project.

Most of us spend some time on business-related social media, for instance.  You’re reading an article right now!

If you cannot give your important project any time during a 14 day period, then it probably just isn’t a priority for you, is it?  Maybe go back and re-examine the potential benefits to see if you’re short-changing yourself and your business.

Use All Your Resources

It transpired that one of the things holding Ted up was that he didn’t know how to create the forms he needed.  We’d actually offered to do them for him but he hadn’t picked up on that.

Once he realised that a large chunk of the exercise could be delegated, the pace soon picked up in that area.

You may need to call on colleagues or employees, your senior management, or perhaps external third parties.

Maybe, if your time is in short supply, someone else needs to be the “Champion” for the project.  Whatever it takes, within reason, to keep things on track.

Everybody Onboard?

Because change can be difficult, you need to get everyone onside.  If your senior management don’t see the benefit of the project, then it may be hard to keep it on track and/or to fund it.

But equally, if those “on the ground” (who have to use the new solution) can’t see something in it for them, then it will make implementation a steeper climb.

You already identified the benefits of your project up front.  But try to also see those benefits from each stakeholder’s point of view.

In Ted’s case, he admitted that he’d been working pretty much alone on the project.  Once he talked to the field service team, they were so excited about the whole thing that they went out of their way to help drive things forward.

Call To Action?

Whether your project is mobilising your data or something completely different, I really hope you won’t let inertia hold things up.

Seize the day and you’ll be glad you did.

Oh and Ted?  He is a real client of ours and he gave me permission to talk about his project – only his name has been changed, to spare his blushes!  The good news is that he now has six mobile workers submitting their data electronically with FormsFly and they no longer have to buy multi-part stationery, nor decipher scrappy handwriting on their returns.