An app project is a customized version of mobile application dedicated for a particular set of users. Or more precisely, the application remains the same, but each project may have different set of data and functions available.
Administrators use Woodford to create various projects and publish them. App users synchronize their mobile app to access the necessary functions and data.
What's an app project
App projects are defined by three main blocks:
- Data scheme (see #Managing entities and #Managing fields)
- User interface (see #User interface components)
- Business logic
App projects are represented as a set of metadata. The customizations are saved on the CRM server.
- For installations with Microsoft Dynamics, app projects are saved directly in Microsoft Dynamics.
- For installations with Salesforce and Resco CRM server, app projects are saved in Resco CRM.
Select App projects from the Administration menu of Woodford to display a list of existing projects. The following project properties are displayed in the list:
- The icon offers a visual clue about the state of projects.
- Blue arrow-up sign: The latest version of the project has been published.
- Grey exclamation mark: If a project has a grey icon with exclamation mark, it means the project is dirty, i.e. there has been a change in the project but it was not published after making these changes.
- Red no-entry sign: Project has been deactivated.
- You can enter any name for your project. As you create more projects, an intuitive name will help you identify them.
- When you create more projects for the same security role, the one with a higher priority is used.
- For example, if you create two mobile projects for a role Salesperson, one with the priority number 10 and second with 100, the second one will be used when the application synchronizes (since it has a higher priority number).
- The same principle applies when a user has multiple security roles assigned and there are mobile projects created for these roles.
- Name of the parent project; see #Project hierarchy below.
- Published on
- Date and time of the last successful publishing of a project.
- For internal CRM users (usually employees), use Standard User. See External users for information about the other options.
- Format 1 (Packed) means that the project was created and used by Silverlight Woodford. The project is stored in CRM as a Note attachment associated to a Mobile Project record. When a Format 1 project is opened using HTML Woodford, the project is updated to Format 2. We recommend exporting Format 1 projects before opening them in Woodford HTML.
- Format 2 means that the project was opened or created using HTML Woodford. It is no longer stored as a Note attachment; each project file is stored as a record in Mobile Project Item entity. This allows multiple users to work concurrently on the same project (on different parts of the project), and prevents projects from accidental corruption, e.g. due to bulk deletion of notes or using cloud storage for note attachments. Format 2 projects can still be opened using Silverlight Woodford, however, HTML Woodford is necessary to publish them.
Additional properties are available when you create projects:
- Select the security role(s) for which you want to create the mobile project. You can create different mobile versions (projects) for different users based on their CRM role.
- Select one of the pre-defined app templates, such as sales or field service. Templates come with pre-configured home screen and defined lists and views designed for a particular use case.
The following buttons and options are available when working with the list of app projects.
- Create a new project.
- Select a project and modify it. Alternatively, you can simply double-click a project.
- Modify project's properties: Name, Role, and Priority.
- Show user
- Display the list of users who receive the customization, i.e., users with a security role that's assigned to this project.
- Delete the project.
- Activate a previously deactivated project.
- Deactivate a project. New mobile users cannot use inactive projects. Existing users can continue using it.
- Import a previously exported project.
- Save a copy of the project to your local computer. This can be useful for backup.
- Create a copy of the selected project. You must enter a new Name, Role, and Priority. Cloning is useful when you want to duplicate a project for different users or when you want to experiment with Woodford and you don't want to lose your current project.
- Return to the last published version of the selected project. If you accidentally delete Resco Mobile project’s note (or its attachment), which leads to losing your projecta and there is no backup, you can use the Restore button. It will create the project’s note and attachment from the last published version of the project. Only changes made after publishing will be lost and you don’t have to rebuild the project from scratch.
- If you for example accidentally destroy your CRM organization and recover it without Resco entities, it is possible to recover the project from data synced on the Windows device. In case such situation happens, please contact us on email@example.com for further steps, from which the last one is using the Recover button.
- Create a child project.
- Makes a standalone project from a derived project ("flattens" the hierarchy)
- Check user
- Specify a user name to display a list of all app projects where a user is involved, including project priority, so that you can see which customization is used.
- Send project changes to GitHub
- Retrieve project changes from GitHub
- Configure GitHub connection
Once you open an app project for editing, you can use the following buttons and options.
- Publish, Publish All
- Once you are done editing an app project and you would like to push your changes to the mobile users, you need to publish your project. Next time your app users synchronize their apps, the customization will be applied on their devices.
- Verify if your changes to the app project have not broken anything. Validation is also performed automatically before each publishing.
- Publish Version
- Use the latest version, unless you know that your users have an old version of the app.
- Send project changes to GitHub. See GitHub integration for more information.
Additional controls may become available once you select a function from the Project menu.
You can establish a parent/child relation between your projects. Child projects inherit all changes from the parent project except for the parts changed directly in the child project.
- For more information about project hierarchy, please check this section of one of our webinars.
- For information about the child project’s parts, whether they are inherited or changed in the child project, please check this additional webinar.
The Project menu in the left pane of Woodford allows you to access various functions and settings related to app projects, as well as all entities available in the back end.
The menu includes a search bar. As you type letters, items in the menu are filtered. The search is not case-sensitive.
- Home screen
- Location tracking
- Offline HTML
- Global map
- Route plan
- Voice control
- Schedule Board
- Entity hubs
- Events and reminders
All entities available in your back-end system are displayed in the Project menu. Some entities are grayed out, disabled. Disabled entities are invisible and unavailable in the mobile apps (both online and offline mode).
- To show or hide unavailable entities, toggle the phone button next to the search bar.
- To make an entity available in your projects, select it and click Enable. You can modify its properties, then click Save.
- You can set the Read, Write, Create and Delete permissions for the whole entity.
- Permissions can be also configured individually on each field, see #Managing fields below.
- Select whether the data is available offline.
- If set to Online & Offline mode, the CRM data will be available in both Online and Offline mode. For Offline mode, the app will synchronize the entity records, upload user changes made in Mobile CRM app and download changes from the server. In Online mode, user will have access to CRM records based on the set view filters.
- If set to Online only mode, Online mode will work as in the previous option. In Offline mode however, no records will be downloaded from CRM server and even if user creates a new record, it will not be uploaded. Basically, this option sets the synchronization process to completely ignore the entity.
- Select how this entity should be synchronized. See Synchronization for more information.
- Standard Sync
- Always Full Sync
- Incremental with Sync Filter
- On Conflict
- Conflict appears when the same record is changed on the device and before being synchronized, a change occurs on the CRM server (e.g. other user changes the same record and synchronizes changes before the first user, or the record is changed on the CRM server).The conflict resolution strategy is as following:
- Server Wins – When there is a conflict, server version of the record is used and overwrites the record on the client.
- Device Wins – Since only changed fields are sent to CRM server, when there is a conflict, the server and client records are “merged”, because only changed fields that are sent to server are overwritten by client version.
- Manual Action – When there is a conflict, user receives a Sync Error, where he has multiple options how to deal with the error, e.g. edit the record on the device, save it and synchronize the changes again to beat the server change (Clear Error and retry).
- Device Wins (Full) – Mobile CRM app sends and overwrites all fields to CRM server, even those that were not changed by the Mobile CRM app user.
- These are also options that User Action offers: LINK, plus, it is possible to take server version. For this, user needs to have access to the CRM server and the record is overwritten by the record from the server.
- Include Lookup Labels
- When checked, the app no longer shows data related to that entity as “Unknown” in the offline mode. This often happened with ownerIDs of records, as the data with User names is stored in the User entity (by default the Owner entity is not enabled in Woodford).
- Incremental Linked SyncFilter
- Incremental Linked Sync Filter ensures that the linked filters on entities are checked during Incremental Synchronization. You can enable or disable it per entity, or use project default.
|Note||Sync Filter allows you to limit the number of records downloaded into the offline storage on user devices. See Sync Filter for more information.|
After enabling an entity, you can select fields that you plan to use on this entity in the Resco Mobile CRM application. For example, you can pick some additional fields you want to use in your mobile project: City, Country/Region, Street and ZIP/Postal Code. Here you can also enable the custom fields for the entity.
|Tip||Best practice: We recommend not to include too many entities and fields in your mobile project. CRM servers often include a large wealth of entities and fields, and most organizations only use a small subset. An even smaller subset of the data is necessary in the field. Sync Filter can further restrict which records should be downloaded to the mobile device. Careful planning can improve the performance of the app and satisfaction of the users.|
You can also configure some properties for each field. Select a row and modify the Properties pane on the right.
- Configure the permissions to Read, Create, or Update values in the field.
- Affects the appearance of the fields in the forms.
- Single line – Field is formatted to have the appearance of a single line field in the mobile app.
- Multiline – Field will have an appearance of a multiline field.
- Email – Adds an action button to the field in the mobile app, activation of which will provide user with an opportunity to immediately create an email.
- Phone number – Field gets an action button that provides phone call functionality (the device will dial the number contained in the field).
- URL – Adds an action button to open the URL in the native browser of the device.
- Barcode – Adding an action button that activates a camera so user can scan Barcodes and QR codes. Function will only work on devices that have a camera with Autofocus.
- HTML – Formats the text field into a HTML type (bodies of email, signatures and etc).
- DropDown, DropDownList, Multi DropDown, Multi DropDownList – this feature allows you to predefine input for users, so instead of entering a value, they can choose to use options from drop down list (or enter what is needed manually). More about this feature is shown in this webinar section.
|Warning||If you disable any previously enabled field, please check all existing views and forms and remove any fields or lists marked by the sign “Invalid”, or enable the correspond field so that the field will no longer be listed as invalid. If there are any invalid fields or lists in the form or view, the application will crash when you try to open an entity list or record details. See Metadata changes in live projects for more information.|
User interface components
Use the following building blocks to create your application:
Views, forms, and charts are defined for each entity. Select an entity in the Project menu and click Show UI to display a list of existing components.
Custom images, colors, brands, and more
Apps created from the building blocks can be further customized to better match your corporate design: