Releases/Winter 2025
Warning | Work in progress! We are in the process of updating the information on this page. Subject to change. |
The 18.0 / Winter 2025 release is planned for February 2025. Find the download links for the latest preview version on the Preview page.
Mobile App Development Toolkit
Important: Deprecating legacy WebView in Microsoft Store app
The Microsoft Store version of Resco mobile apps hosts all iframes in two different WebView controls:
- The legacy WebView, which is based on the outdated Microsoft Edge v18 engine
- The alternative Edge WebView2 is based on the latest Chromium-based engine, which is similar to the Microsoft Edge browser.
WebView2 is integrated into the Windows operating system as a separate application and is updated automatically. As legacy WebView doesn't meet upcoming web standards, we decided to fully replace it with Edge WebView2 and deprecate it in early 2025.
See Active deprecations for information about the rollout plan and recommended actions.
Important: Whitelist new Resco web services
We are changing the infrastructure of our web services, most notably license checks. If you are using our solution in a protected enterprise environment and you previously whitelisted access to iservices.resco.net (or its IP address representation), you probably need to whitelist additional hosts/IP addresses.
We strongly suggest to allow additional hosts: svc.resco.net
, svc-01.resco.net
, svc-02.resco.net
. See also the detailed information below.
This change can affect the following services:
- Resco Mobile CRM license checks
- Location tracking
- Woodford license checks
- Power Solutions license checks (Forms+, Steps+, Docs+)
- Push notifications
Inbound communication
Old host | New host | IP address |
---|---|---|
iservices.resco.net | svc-01.resco.net | 52.178.108.57, 52.174.189.28, 52.174.197.249, 52.174.184.182, 51.144.110.240, 40.91.197.7, 51.105.222.217, 51.105.223.23, 51.105.223.245, 51.124.144.104, 51.124.144.135, 51.124.144.234, 51.124.145.103, 51.124.146.134, 51.124.146.152, 51.124.146.186, 51.124.146.199, 51.124.147.1, 52.174.184.18 |
iservices.rescocrm.net | svc-02.resco.net | 13.67.218.66, 23.101.119.168, 13.67.143.202, 104.43.212.51, 52.173.22.3, 168.61.210.239, 13.89.41.125, 20.221.38.166, 20.221.38.194, 20.221.38.247, 20.221.39.35, 20.221.39.146, 20.15.152.120, 20.15.152.213, 20.15.155.30, 20.15.155.64, 20.15.158.8, 20.15.158.67, 20.221.32.136, 13.89.172.6 |
Outbound communication
Blocking of outbound communication on the client side is relatively rare. Before this change, clients connected to physical servers; it was enough to add their inbound IP addresses:
Old host | New host | IP address |
---|---|---|
iservices.resco.net | svc-01.resco.net | 52.174.184.18 |
iservices.rescocrm.net | svc-02.resco.net | 13.89.172.6 |
- | svc.resco.net | see below |
After the change, Resco Mobile CRM will no longer connect to the servers directly but instead go via a Front Door, svc.resco.net
. If this fails, the app will try to connect directly to the servers, i.e., their IP addresses should remain allowed. It is necessary, however, to add the IP address of the Front Door. The Front Door infrastructure is managed by Microsoft. You can find the IP addresses using the Service Tag "AzureFrontDoor.Frontend". If you need assistance, contact Resco support.
Multiselect records on maps
The map view allows you to select multiple records. The multi-select commands available on the view can be started from the map.
The lasso tool is not available in the iOS version of the app for users who opt to use Google Maps. However, these users can still manually select the records one by one.
Redesigned Setup/Settings section of the mobile app
Resco Mobile CRM is a highly flexible and configurable tool. As a consequence, it has many various settings that users can configure. Over time, the setup/settings section of the app grew unorganized. We have now categorized the settings into different groups, moving popular settings to a prominent position.
Safer background sync
Background synchronization means that users can continue using the app while the sync is in progress. When both the user and the synchronization process attempt to write to the database at the same time, users are notified and have to wait. However, in rare situations, data integrity problems may occur, for example, when slow server processes are combined with fast user actions. Woodford administrators now have additional tools to prevent or mitigate these issues.
In form properties, you can now set up Background sync behavior.
- Block save during sync - forbids form save while background sync is running. It applies for Save button click as well as invoking form Save via rules or JSBridge. This option favors keeping the schedule of background sync at the expense of potentially slowing down the data entry.
- Block save during sync, don’t start sync while form is opened - blocks background sync while the form is open. If sync is already running, Save is forbidden until sync finishes. This option sacrifices the frequency of background sync, favoring uninterrupted data entry.
- No action - this is the current behavior where concurrent changes in both client and server may (in rare cases) cause data inconsistency or even data loss.
For more fine-grained control, the JSBridge object EntityForm offers functions tryEnterUiTransaction and leaveUiTransaction that can be used to define more granular UI transactions scopes. For example, you can block sync while custom code invoked from a custom button click is modifying and saving related records.
Managing security roles for app projects
Woodford admins can now enable, disable, and publish security roles in app projects much faster. The improvements are most notable for organizations with an extreme number of security roles.
Google Maps for Android
The map renderer (part of Maps SDK for Android) used in the Android version of Resco Mobile CRM is being decommissioned by Google. We have now updated our app to use a new renderer.
Photo permissions on Android
Google Play's Photo and Video Permissions policy is changing to better protect photos and videos, which are considered personal and sensitive user data. As a result, the way how users can take new images or access images in the storage may change.
Google Maps configuration changes
New Google Maps implementation requires Google Map ID to support advanced markers. You can set it up in Woodford configuration.
Google support ends in Resco Mobile CRM
Due to changes in Google integration policies, the following Google services are no longer available in Resco Mobile CRM:
- Google Calendar: show Google Calendar events in Resco Mobile CRM, show Resco events in Google Calendar
- Google mail: view and send Google mail in Resco Mobile CRM
- Google contacts: make your Google contacts available in Contacts entity in Resco Mobile CRM
- Google Drive: store documents in the cloud
Existing users who created an access token some months ago may temporarily be able to continue using the integration. However, once that expires, new authentication is no longer possible.
In the release 18.0, we will be removing the support of Google from Woodford and the mobile client. If you have any concerns about this change, please contact Resco support.
Note | Google Maps are not affected by this change. |
Global constants
Global constants in rules are now supported in the web app version of Resco Mobile CRM.
Form "dirty" after On Load rules
In forms, On Load rules are executed when a form is being displayed. The default behavior is that forms with On Load rules are not "dirty", i.e., the form does not appear as having any pending changes (the save button is not displayed, and the back button does not trigger the prompt to save the record). With this release, you can change your On Load rule to mark the form as dirty if you want to warn the user that the On Load rule modified record data and requires saving.
Single card forms
You can now configure flexible forms to display only a single card expanded at a time. All other cards are collapsed.
Custom home and theming
The interaction between the custom home and modern theming with color tokens is now more intuitive. Moreover, we have greatly improved the documentation about home screen colors and custom row design: Custom colors and design.
Restore parent style for child projects
If you are using app project hierarchy, the style editor now allows you to delete a child project's custom style and restore its dependency on the parent app project.
New link types "in" and "exists"
We are introducing new options in the Sync Filter (and other Woodford tools) that can optimize sync performance for large datasets. In many scenarios, such as in field service, Woodford administrators use Sync Filter with linked entities to finetune the records transferred to the mobile app during synchronization. In addition to inner
links and outer
links, we now support link-type='in'
and link-type='exists'
.
The new link types are available for Dataverse, and only in the Woodford tool.
For an in-depth discussion about linked entities in FetchXML and the rationale behind the new link types, see Linked entities in FetchXML.
Salesforce chatter changes
When using Salesforce Chatter, it is now possible to configure different sync filters for Feed Items based on parent entity. To do so, admin can use Sync Filter of FeedItem entity. Just add separate inner link per parent entity via ParentId lookup and add conditions in the filter.
In the example below, separate filters are used for User and Account.
Note: Only inner links are allowed. Nesting inner links is also possible. However, conditions outside links referred via alias are not supported. Such sync filters will fail in runtime. You need to add all filter conditions inside the link.
Check entity usage in JSBridge
In the latest addition to the check field usage feature (Which fields are used), we are now searching in your custom code (offline HTML folder) for entity names. More specifically, the check usage displays occurrences of the strings 'entity_name'
and "entity_name"
in JS and HTML files. We are not scanning for field names.
RFID scanning
Resco mobile apps can connect to Zebra Technologies' RFD4031 RFID scanner using Bluetooth. When the user scans RFIDs, the app can handle this event using JSBridge. The list of all nearby RFID tags is available for further processing.
This feature is available for iOS only.
Two new functions are available in JSBridge to handle the communication:
- MobileCRM.Services.ZebraScanner.connect - Connects to the Zebra scanner.
- MobileCRM.Services.ZebraScanner.onScan - Registers the handler for the scan event.
Modernize JSBridge API for generating mobile reports
Working with the MobileReport object has been simplified. The runReport and runReportAsync functions no longer require additional boilerplate code. For example, you can
- choose source record by Name or ID
- choose report by Name or ID
- choose report language (questionnaires only)
- provide the recordToAttach argument that automatically handles creating of attachment to the report
- provide a wait message, etc.
The new API is async by default (using promise, not callback).
New support tool: POA analyzer
The latest addition to Resco Mobile CRM is designed for support providers. It can help analyze problems related to server timeouts on the Power Platform. The PrincipalObjectAccess (POA) table stores information about record sharing in CRM. It tends to grow over time, often full of orphaned unused records. Unfortunately, a large POA table may slow down other server requests, including the communication between Resco mobile apps and the server. The POA analyzer tool in Resco Mobile CRM displays statistical information about the POA table. Users and tables with the most shared records are listed. This can help you identify potential for optimizing the table.
Data model explorer: Relations
The data model explorer in Woodford offers a new feature: you can display all relations of a table at a glance. The screen is divided into three tabs: one-to-many (1:N), many-to-one (N:!), and many-to-many (NN) relations.
Woodford AI assistant updates
Woodford includes an AI-powered assistant/chatbot that can provide help related to Resco products and tools. The information is sourced from our wiki and academy. In this release, we upgraded the assistant to use the latest language model. Also, the assistant is now freely available to all users.
Resco Cloud: File field
Resco Cloud now supports a new type of fields, File.
Power Solutions
JavaScript support in questionnaires on Power Platform
Questionnaire Player on model-driven apps and Power Pages now supports JavaScript. You can enhance the questionnaires with your own custom logic.
New web resource links
It is now easier to add Results Viewer and Schedule Board to a custom model-driven app. The current editor, make.powerapps.com, does not support web resources in the sitemap that require HTML parameters. (There is an obscure workaround involving extracting the sitemap as a file and editing it directly.) We have now added several new web resources to Resco Suite that don't require HTML parameters:
resco_MobileCRM/locationMonitorEntry.html | Location Monitor |
resco_MobileCRM/resultsViewerEntry.html | Result Viewer (full app) |
resco_MobileCRM/associatedResultsViewerEntry.html | Result Viewer (associated questionnaires) |
resco_MobileCRM/schedulerEntry.html | Schedule Board |
resco_MobileCRM/syncDashboardEntry.html | Sync Dashboard |