We’re rolling out a number of platform improvements along with a new app update. There’s a bunch of enhancements to be had, plus some brand new features sprinkled in 🙂
Lets get into it!
Following our regular process of shipping to the Appenate Mobile Client app first for a short preview period, we’re going to be rolling out to all customer branded apps very soon.
This update contains many improvements and fixes, along with some brand new features added to barcode scanning in particular.
New Barcode Features
- New “On Scan” option for Barcode scan events
This allows you to specify an interaction to occur every time a Barcode field successfully scans a code. So for example, you could launch a new Screen or you could navigate to another page in a Form when the scan occurs.
We think this opens up many new scenarios to make your apps even more dynamic.
- New “Show Inline” option for Barcode fields
With this option, you can embed a barcode scanner window directly into your Form pages.
Previously this needed to be launched from the “Scan” button on the Barcode field. Make your Forms faster and more intuitive with this great little option.
- New accuracy options – “Supported Format” and “ITF Minimum Length”
By default the Barcode field tries to match scanned images against 9 popular barcode formats.
Most of the time, this works great, however if your codes are small, short or near to other unrelated barcodes, then scanning can become inaccurate.
We’ve added options to specify the exact barcode format(s) to scan for as well the ability to adjust the default minimum code length up or down. This allows support for short 4 digit ITF barcodes as well as improving scan accuracy if you are targeting specific barcode formats and digit lengths.
New Formula Functions
- Added TASK() function for access to linked Task information in Form entry scenarios
Often there is key data on the Task that you would like to pull into a Form activity occurring on that Task. For example, the “Complete By” date/time might be useful in your Form design for calculating time frames.
We’ve added TASK() to address this need – so in the example above, you can access the Task’s complete by date using a simple TASK(‘COMPLETEBY’) formula 🙂
- LAT() and LON() functions now support Image fields that have GPS data attached
A few months ago we added the ability to geo-tag images via the “Include GPS Information” option on Media fields.
Now you can access this GPS data from the above geo functions for improved location formulae.
Form Screen Improvements
- New Inline Validation option on Pages
Field validation was previously only applied when the user navigated to a new page – on larger Forms this created confusion and forced the user to scroll back up to fix their mistakes.
Now fields can be validated immediately after the user inputs or navigates away from a field – this is enabled via the new “Validation Behaviour” option available on Page level properties.
For all new Form screen designs, Inline will be the default – however you can still choose Page Change or End of Form options to customise how your Form validates fields 🙂
- Disable “Exit Without Save” Confirmation option
This allows you to remove the default double confirmation that the app applies when a user chooses to the “Exit Without Save” option when exiting a Form entry on the app. Useful for cases where you are providing edit functionality on a chosen Data Source row.
- Don’t Allow Repeat Deletes option
By default, a delete “X” button is always displayed on repeatable Pages to allow the user to remove repeats they don’t want to keep. However for some scenarios – e.g. pre-populated repeat data – this can cause problems if the user deletes a repeat that they shouldn’t. This new option allows you to hide the delete button for cases where repeats should always remain in the Form entry.
- Date/Time field now provides option to display in 12 or 24 hour format
Previously display was limited to 12 hour format only.
- New Auto-Download Images option on Data Source column settings
This is a great new way to control when the app should download images stored in Data Sources. The standard behaviour of the app is to only commence an image download when the image is to be displayed in a Screen – e.g. when it is requested by a Listing screen for display as a row thumbnail. While the image is being downloaded, the app shows a black icon with three dots to indicate that the image is being downloaded.
The Auto-Download Images option instructs the app to download images immediately as part of the app’s background sync, thus allowing images to already be downloaded and stored on the device when a Screen requests the image.
Since the option is formula based, this allows you to avoid a scenario where potentially 1000s of row images are being downloaded, instead allowing you to filter to only the rows that are likely to be first displayed based on expected Screen filters or groupings.
- New “User Filtering Overrides Default Filter” option in Listing and Mapping Screens
We recently added the ability to specify a default filter to apply to the Data Source rows displayed in a Listing and Mapping screen. At the time we decided that the default filter should always be applied, even if the user specifies their own custom filters on top of this. Based on customer feedback, we have now added the option to disable this behaviour, thus allowing you to choose whether or not user filters should override default filters.
- New “Search Pattern” option for Listing and Mapping
By default, the auto-complete search in these Screens will filter rows based on the user’s search text matching anywhere within the displayed row values. This new option lets you specify a custom regular expression to replace the default matching behaviour.
- Hosted GET calls now include last updated date/time for all Data Sources requested
Previously the Hosted GET functionality sent a single “lastupdated” value which was the oldest date/time for all Data Sources included in that request. We’ve added a “lastupdateds” query parameter to the request, which provides the last updated value for each Data Source requested, comma separated and ordered to match the Data Source “ids” parameter.
Fixes included in this app release
- Fixed photo rotation issues on certain Android device cameras
- Fixed icon display issue with Table field “Add Row” button in iOS
- Fixed crash issues with Save & Exit functionality
- Fixed local device data source updates when using “Bind to Data Source Column” option
- Fixed issues with incorrect interaction being launched on Detail Screen title bar buttons
- Fixed sync issues for certain cases where a user’s Screen and Docs access changes rapidly
- Fixed Map button disappearing on iOS when clearing a selected value on Location fields in horizontal layout
- Fixed cases where interaction parameters were not being correctly passed into target Screens
- Fixed issues relating to unnecessary Screen refreshes being triggered by multiple updates of a Data Source row through a Form entry
- Fixed bug with Process Step validation not skipping required fields in irrelevant/future step Form pages
- Fixed bug with Global Value not correctly storing raw answer values for number fields
Folders are now “opt in” for restricting user access
Previously Folder contents were always restricted to users that had access to the Folder (either via direct user assignment or belonging to a linked user group). This functionality allows specific sets of Screens and other content to be visible to users based on their roles or departments. However the “always restrict” nature of Folders was confusing to new customers and many customers requested the ability to use Folders purely for organising content without access being restricted.
Today we rolled out a change to Folders that adds a new “Restrict User Access” option that defaults to false, meaning all new Folders created going forward will not have access restrictions by default.
All pre-existing Folders still have this option enabled to ensure the system remains consistent with previous behaviour – you’ll see little “lock” icons next to Folders enforcing access restrictions.
We think this change gives the best of both worlds – if you want to restrict access using Folders, you still can, and if you don’t, well now that’s possible too 🙂
We’ve combined our Groups functionality into the Users listing page to allow simple filtering and display of users by group, in the same style that you can filter Screens and Docs by Folder. This approach simplifies the Groups feature and provides a more obvious route to setting up role or activity based groups of Users.
We’ve also added External Id and Highest Role columns to the Users listing page to allow easier identification of users and their access levels.
- New Repository API
This API is only available to vendor customers, and allows integration and automatic execution of our Repository (previously called Store) functionality that enables packaging and delivery of standardised apps (Screens, Docs, Data Sources) to client accounts.
- Retrieve Form entries as part of a Task request
We’ve added some new options to the Task API that allows you to request the Form entries linked to a Task as part of a single /task/search request. This allows you to save on API usage while also getting the relevant Form entry data captured as part of a Task – take a look at our API Explorer for the new “RetrieveEntries” option.
- Filter Task searches by Task Template
We’ve added support for filtering your Task searches by Task Template identifier via the new “TemplateId” option.
This should allow more focused results when using the /task/search API.
- New “Flat” Form Entry data format
This is a complement to the existing “Rich” and “Raw” options, providing the option to retrieve your data in a “flat file” key:value type format for simpler integration into various external services. Available anywhere you can retrieve Form entry data on the API.
Various other improvements / fixes
- Store renamed to Repository to better communicate the purpose and use cases for this functionality
- Data Source -> Rows page now applied sorting to rows as per Settings page
- External Id and
- Action field answers were being included in generic PDF outputs – this has been reverted back to the original behaviour of these being excluded
- Screen designer auto-save no longer continously prompts when no changes occurred
- NFC and Barcode field types can now be excluded from Table column display
- Fixed issue with editing Data Sources with less than 100 rows but more than 8000 cells
- Improved memory usage of data template processing to allow faster PDF generation
August Has Been Busy!
We’re rolling out the above features to the live platform and all customer apps, so take a look around to spot these great new options – we’re sure you’ll love them!