App projects

From Resco's Wiki
Revision as of 11:40, 1 April 2020 by Jzambor (talk | contribs) (Toolbar functions)
Jump to: navigation, search

An app project is a customized version of the mobile application dedicated to a particular set of users. Or more precisely, the application remains the same, but each project may have a 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:

App projects are represented as a set of metadata. The customizations are saved on the backend server.

  • For installations with Microsoft Dynamics, app projects are saved directly in Microsoft Dynamics.
  • For installations with Salesforce and Resco Cloud, app projects are saved in Resco Cloud.

App projects are designed for a particular user role. For example, you can create one project for field technicians and a different one for the manager.

Project properties

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:

Icon
The icon offers a visual clue about the state of projects.
  • Active project.png Blue arrow-up sign: The latest version of the project has been published.
  • Draft project.png Grey exclamation mark: If a project has a grey icon with an 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.
  • Inactive project.png Red no-entry sign: Project has been deactivated.
Name
You can enter any name for your project. As you create more projects, an intuitive name will help you identify them.
Priority
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.
Parent
Name of the parent project; see #Project hierarchy below.
Published on
Date and time of the last successful publishing of a project.
Type
For internal CRM users (usually employees), use Standard User. See External users for information about the other options.
Format
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.
Note HTML version of Woodford can only delete Format 2 projects. Usually, the upgrade from Format 1 to Format 2 happens seamlessly, when you open a Format 1 project. If you are cleaning up old projects and you attempt to delete a Format 1 project, this will fail. Open the project and save it immediately; then you can delete it.

Additional properties are available when you create projects:

Roles
Select one or more security roles (or profiles in Salesforce) for which you want to create the project. You can create different app projects for different users based on their roles (profiles).
Template
Select one of the pre-defined app templates, such as sales or field service. Templates come with a pre-configured home screen and defined lists and views designed for a particular use case.
Custom Version Identifier (Optional)
Enter an optional text that identifies this particular project version. This information is displayed in the app.

Toolbar functions

The following buttons and options are available when working with the list of app projects.

New
Create a new project.
Edit
Select a project and modify it. Alternatively, you can simply double-click a project.
Properties
Modify the project's properties: Name, Role, and Priority.
Show Users
Display the list of users who receive the customization, i.e., users with a security role that's assigned to this project.
Delete
Delete the project.
Activate
Activate a previously deactivated project.
Deactivate
Deactivate a project. New mobile users cannot use inactive projects. Existing users can continue using it.
Import
Import a previously exported project.
Export
Save a copy of the project to your local computer. This can be useful for backup.
Clone
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.
Restore
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 project 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.
Recover
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 a situation happens, please contact us on mobilecrm@resco.net for further steps, from which the last one is using the Recover button.
Derive
Creates a child project.
Flatten
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.
Commit
Sends project changes to GitHub
Checkout
Retrieves project changes from GitHub
Configure
Configures GitHub connection
Update
(Salesforce) Downloads metadata from Salesforce.

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. See Publishing app projects for more information.
Validate
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.
Commit
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.

Project hierarchy

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.

See also:

  • For more information about the project hierarchy, please check this section of one of our webinars. Webinar
  • For information about the child project’s parts, whether they are inherited or changed in the child project, please check this additional webinar. Webinar

Project menu

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 backend.

Project menu filtering.png The top row of the menu serves you to simplify navigation:

  • Search: Use to quickly filter menu items. The search is not case-sensitive.
  • Disabled entities: Toggle to show or hide disabled entities.
  • Favorites: Click to show only menu items that you marked as favorite.
  • Expand/collapse all: Expand or collapse all submenus.

The Project menu replaces the Administration menu when you are editing an app project. To return to the Administration menu, use the back (arrow left) button in the top left corner of the application.

Components

Design

Map & Routes

PIM

Settings

Entities

  • List of entities available on your server.

Managing entities

All entities available in your backend 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.
Permission
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.
Mode
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.
Synchronization
Select how this entity should be synchronized.
  • Standard Sync: This is the default option. The app decides autonomously whether to perform incremental sync or full sync. See Synchronization for more information.
  • Always Full Sync: In rare cases, always performing full sync might be appropriate for an entity. In most cases, full sync increases synchronization time; sometimes dramatically.
  • 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). See conflict resolution for details.
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.
Sync Filter
Sync Filter allows you to limit the number of records downloaded into the offline storage on user devices.
Edit Index
Create indexes to optimize the performance of the application by speeding up offline queries.

Managing fields

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. Backend 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.

Permissions
Configure the permissions to Read, Create, or Update values in the field.
Formatting
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 the 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. This function will only work on devices that have a camera with Autofocus.
  • HTML – Formats the text field into an 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 a drop-down list (or enter what is needed manually). More about this feature is shown in this webinar section. Webinar
Advanced
  • Mark as Parent Pointer (Salesforce only) – Check to download only attachments belonging to records that are available offline. This property can optimize data download.
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 corresponding 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:

Notifications

Use Entity notification workflow to trigger an automatic notification when an entity record is created or modified.