As usual, we have been hard at work improving JourneyApps. Here are some of the latest features that we have shipped:
Before diving into the updates, I wanted to share our latest customer success story video. Buckeye Partners, one of the largest independent liquid petroleum products pipeline operators in the United States, partnered with JourneyApps to build a custom application that has allowed them to standardize data collection and management across all their marine terminals in the United States and the Caribbean.
The PDF Viewer Has Been Overhauled
We have made extensive updates to the PDF Viewer, including the ability to preview full PDFs in the app. Included in the preview feature is the ability to zoom in and out as well as panning across pages. Further enhancements to the PDF Viewer include:
- When you select a file, only files that match the expected file type are highlighted in the file explorer when you upload.
- The ability to control whether users can download an uploaded PDF, which prevents users from having sensitive information on their local machines.
- Improved usability of the
display-filecomponents to fit in with other UI components.
- Developers can now programmatically open PDFs from the JS/TS.
- Pro tip: Desktop app users can drag and drop files to attach them in the app.
- Also coming soon: the ability to sync attachments to apps in a similar way to other app data, further bolstering our offline capabilities.
This preview is currently available for iOS and Android using the JourneyBeta 21.3.2 container, and using RVM version 4.80.0-beta+3 and above.
We’ve Updated the Info-table UI Component
We’re currently on a drive to make our UI components more customizable and open up styling options to developers. It’s in this light that we’re excited about the release of updates to the
info-table UI component. It is often used to display the details of a single DB object to users in a table. It can now contain custom icons with custom colors, and the color of the text in the table can also be customized!
This update is available in Version 4.78 of the JourneyApps Runtime.
Specify Unified Backend Indexes In Data Model
Developers can now specify indexes for OnlineDB and API requests in their data model XML along with app indexes. These new “cloud indexes” can help to speed up queries when data sets grow larger, as well as improve overall performance for apps relying on OnlineDB. All that you need to do is upgrade to runtime version 4.79 or above, and your existing indexes will also be applied to your cloud database. See the updated syntax here.
A clear benefit to the new syntax is that indexes for both cloud and app databases are created automatically when they are added in the data model. Furthermore, developers who wish to have more precise control over indexes can add indexes for cloud-based and app-based indexes separately.
Developers can inspect what backend indexes have been created in the backend data browser under the “Indexes” menu.
OXIDE: Find and Replace
Developers can now use find and replace in the Advanced Search dialog (in Advanced IDE mode) to quickly refactor code. This new feature will drastically cut down on the time taken to refactor apps or make other code changes.
Notably, you can pin the Advanced Search dialog to be a panel in OXIDE to keep it open permanently when making big changes to your app’s codebase, and also limit your search to subcomponents (e.g. only search CloudCode).
OXIDE: Configure Your CloudCode Task Schedules More Easily
We have added a new feature in OXIDE: when setting up a schedule for a CloudCode task, there are simple and advanced scheduling modes:
- In simple mode, you can choose your schedule with a few clicks, which is perfect for most use cases.
- In advanced mode, you can still enter a cron string for fine-grained control over when a task should run, though we’ve added some helper text to show you valid options for the cron string.
- For both modes, we show you the final schedule to confirm that you have set it correctly.
This simplifies the scheduling of CloudCode tasks and helps in reducing scheduling errors.
That is it for now! I look forward to sharing more updates with you soon.