Publishing app projects
Publishing is the process of making an app project available for use in Resco mobile apps.
Publish
Once you are done editing your app project in Woodford, you need to save and publish the project. Click Publish and wait for the process to finish. If the published project has the highest priority of all available projects for a particular user role, those users will now receive the updated project during synchronization.
Publish all projects
This button is useful if you are using project hierarchy. Any change in the parent project requires that all child projects are republished. To save you unnecessary clicking and to ensure that you don't accidentally omit one of the child projects, use the Publish All button.
For more information, see the feature introduction Webinar
Validate
When publishing, app projects are first validated, i.e., the system verifies that the app can successfully run the project. Validation also launches whenever you publish a project.
Publishing with older version
If you publish an app project with a newer Woodford version than is the mobile app version of your users, synchronization may fail with the error Unsupported metadata version or Your Server customization requires new version of the Application. In this case, you have two options:
- Ask your mobile users to upgrade to the most recent version of the mobile app.
- Republish the project with an older release version. As Publish Version, select a version compatible with your mobile apps, then click Publish.
When you decrease the app version while publishing, most (*) of the new Woodford features are removed from the published project, even if you enabled them in your project. This is because the older version of the Resco mobile apps is not able to use these features, as they are not yet implemented in the version of the app used on devices.
*Some features are not removed; for example, Execute JS from rules. In this case, either remove the new functions from the project or make users to update their apps.
If you're not sure what version of Resco mobile apps are your users working with, you can find this information on the device control screen, in the AppVersion column. Of course, you also need to check the Synchronized on column.
Check only the latest occurrence per user as sometimes the same device can be listed more than once. This is caused by change of Device ID. This may occur in two cases:
- When users reinstall Resco apps.
- When a hardware identifier (ASHWID) has changed.
These are the hardware components that need to change for the ID to be different:
- CPU ID of the processor
- Size of the memory
- Serial number of the disk device
- Network adapter (NIC MAC address - first Instance)
- Audio adapter
- Docking station
- Bluetooth address
- Mobile broadband device ID
- BIOS
The device ID changes only with changing of the installed package. The (Microsoft Store) package for Windows 10 (since version 10.0.0.10240.), is the same, even if the versions are different.
On iOS devices, the device ID changes when you uninstall all apps from the same vendor, i.e., Resco.(Apple Developer Documentation)
Resco Mobile CRM is compatible with several MDM providers that can control the deployment of newer app versions to all managed devices.
Permissions
Accessing any app project via the mobile app requires that the mobile user has a set of permissions (see below). When you publish an app project, Woodford will verify that all security roles associated with the project have the permissions necessary to access it. If not, you have two options:
- Let Woodford modify the security roles to include the needed permissions. Users gain access to custom Resco entities necessary for Resco mobile apps to function correctly.
- Do not modify any permissions. In this case, you need to grant an additional “Resco MobileCRM” security role (which has the minimum required permission set) to all users of Resco mobile apps with this project. This is done on your backend server; for example, in the case of Resco Cloud, this is done using the Admin Console.
These are the necessary permissions:
- Read permission: AppProject entities (resco_mobiledata, resco_mobileproject), resco_mobilelicense (for backup license verification while the Resco licensing service is down), resco_mobilereport
- Write (possibly including append, appendto, create, delete) permissions:
- resco_mobileaudit, resco_mobiledevice, resco_mobiletracking, resco_favorite, resco_devicecontrol, resco_mobilesecuritypolicy
- chat entities (resco_chatcomment, resco_chatpost, resco_chattopic, resco_chatuser)
Additional entities for Resco Cloud:
- Read: organization, businessunit, role, team, activitypointer, activityparty, roleprivileges, mobilelocalization, resco_workflowlog
- Read/Write: systemuser
- Read/AppendTo: transactioncurrency
User permissions are relevant for Resco Cloud and Dynamics. On Salesforce, the integration is somewhat different, app projects reside on Resco Cloud and Resco Cloud roles are generated automatically when updating metadata.
Authentication error
If you run into an authentication error while publishing while using location tracking, see the following tips.
Publish failed
Rarely, you might encounter a "Publish failed" error. The log file can provide more information. However, one simple fix worth trying: reload your Woodford page, including browser cache. The keyboard shortcut depends on your browser; often it's Ctrl+F5.
Troubleshooting: no project changes after publish
You might have encountered the following situation: You published an app project in Woodford, but when users synchronize their app, the changes are not applied. So what can you do? Should the app misbehave like this? When you publish a project, even without any change, the user should see the message “Application was updated” after the synchronization.
If this doesn’t happen but the synchronization itself was successful, without any error, something is wrong. Here's a list of things that you can check and fix quickly by yourself.
Check security role assigned to the project
The first thing you should check is the security role, or roles, assigned to the project. You need to make sure that the user’s security role is assigned to the project. Select the app project in Woodford, click Properties and verify whether you’ve checked the required roles.
Check users with relevant access rights
Another option is to check the list of users who have the security role assigned to the project. To do so, select the app project and click Show Users. If users who cannot see the changes are not listed, it means they don’t hold the required security role.
However, if the user has a relevant security role, there might be another basic catch causing the app to not reflect the changes made in the project.
Modify project priority
Click Check User and enter the user's name. You will see a list of projects assigned to the roles of the user. If you can see more than one project, make sure that the one, which you want the user to access has the highest priority number. If it doesn’t, you need to update the project and increase its priority number.
Remember to publish the project after each change.
Advanced: licensing server access
If all the above is set as it should be and the changes are still not being reflected after syncing, verify that the user can access to Resco's licensing server (https://iservices.resco.net) from the device.
To verify this:
- Start the browser on the device.
- Go to
https://iservices.resco.net
. - Check the result. The page should say simply "Resco Mobile CRM" on a white page.
If the result on the user's device shows something else, you need to make this URL available to the user or contact us to enable offline licenses.
Advanced: check the log
If none of the above helped, ask the user to send you (or your support provider) the log from Resco Mobile CRM’s About section.
At the same time, let the support provider know which of the aforementioned tips you have already tried and what the results were. Then the support can immediately start investigating the more complex parts of the log so that they are able to find the right solution to your problem faster.
Web app: reload page
Web browsers might cache parts of the web app. Reload the web page fully to ensure you have the latest version. The keyboard shortcut depends on your web browser: often, it's Ctrl+F5 or Ctrl+R.
Restart app after sync
If your customization uses iframes / HTML / JavaScript files, the embedded browser can cache them. Restart the app after synchronizing to ensure you're using the current files and not the browser cache.
See also