MobileMap: MobileMap Version History

This list of versions and their associated release notes is intended to help users decide if/when it is appropriate for them to update MobileMap to take advantage of new features or bug fixes.

MobileMap 4.4.21 (1/29/2024)

  • Tree List

    • Update to plot level attribute added at 4.4.20 - now supports display of code or description if field uses Coded Value Domain (e.g., Plot Type)

  • Download Parameters

    • Modified the Download Parameters user interface to prevent the complete exclusion of Rules and Related_Domains from downloads. Users can still apply filters to limit the specific Rules and Related_Domains from downloads, including filters that could restrict all downloads, but users will not be able to uncheck the boxes and thus prevent download completely for these 2 key business tables.

  • Double Sampling

    • Modified double sampling code to fix issue observed with STRs. Issue was caused by special case where plots were downloaded without their stands. Existing code had used spatial query to get stand attributes, including the stand Unique ID. In case where stands were not present, Unique ID was not found. Modified by providing multiple ways to get Unique ID and other stand info. First, Stand Unique ID is retrieved from the Plot (Parent ID). Then, search is made on Stands to find the stand record. If not found, spatial search is made to get stand.

  • Settings

    • Added new setting that will enable automatic update of Observer ID (Cruiser ID) when manually updating the plot Status to Cruised. Only applies to Plots (not Stands). Compliments the existing Cruiser ID Update Logic setting which can be set to control the logic on if/when to update Cruiser ID when plot is closed with at least one tree.

    • Removed support for standalone ArcGIS Server (Server without Portal) as this is no longer needed.

    • Updated license URL to hit new license URL.

  • Photos

    • Fixed issue with photo capture on Samsung Tab Active 3 devices. These photos report orientation 'undefined' in their header which was causing incorrect rotation. Fix was to skip rotation when reported orientation 'undefined'. Resulting image will still be scaled as requested. Output EXIF header will report orientation 'undefined'.

  • Bug Fixes

    • Fixed bug introduced at 4.4.20 with Download Base Map functionality. Was working for Portal users but not for AGOL users. Bug has been fixed and was tested with both AGOL and Portal.

  • Newly discovered issue (added to known issues at bottom as well)

    • Known issue documented with photo capture. MobileMap will crash if taking a photo with device in different than MobileMap. For example, if using MobileMap in landscape and device is oriented to portrait while taking a photo and left in portrait while returning to MobileMap, app will crash.

    • Workaround - re-orient device to the orientation you were using in MobileMap BEFORE accepting the photo (typically done by tapping ‘OK’) that was just taken. This restores the device into the same orientation it was in prior to the photo and MobileMap will reload as expected.

MobileMap 4.4.20 (10/30/2023)

Note: this version has a known bug which prevented the download of base maps from AGOL. It should only be used by Portal users.

  • Tree List

    • Modified Tree List to allow users to select any plot-level attribute to display at the top of the tree list, along with a label short name. The MobileMap default is to display 'Plot' as the label and the value of the Plot_ID field. This can now be set to any plot-level attribute field. If the combined label and value that would be produced is greater than 12 characters, MobileMap will only display the value (without a label). Providing a short name can help overcome this limitation. For example, a setting of 'Typ:Plot_Type' may help to ensure that the label and value are shown for plot type.

  • Base Map Download

    • Fixed issue with download of ArcGIS Online base maps for Portal users. Note that ArcGIS Online base map support for Portal users requires that each desired base map source is registered within Portal.

MobileMap 4.4.19 (9/22/2023)

MobileMap 4.4.18 (8/25/2023)

  • Layer Editing

    • Fixed functionality introduced at 4.4.12 with new settings option (MSS 371) ) to hide irrelevant features from picklists (Settings > Data Collection and Editing > Hide Irrelevant Layers) when selecting layers for Identify (query), Draw, GPS, Edit and Tracking. This option was meant to hide read-only (non-editable) layers AND hidden layers (checkbox unchecked in the Select Layer Display Properties dialog) from Draw, GPS, Edit and Tracking, but was not hiding hidden layers from these picklists. This fix now correctly hides both read-only layers AND hidden layers from these picklists. For the Identify (query) picklist, it always hides read-only layers and now will correctly hide hidden layers when the option to hide irrelevant features is selected.

  • Plots

    • Added support for hiding Unique_ID and Parent_ID fields on Plots layer. Previously, if these fields were hidden, they were not properly populated when manually creating a single plot within a stand using draw mode (pencil tool) or GPS mode. This required keeping these fields visible (but read only). Now they can be hidden completely (Settings > Data Model > Hidden Fields) and they will function as expected.

  • Stands

    • Fixed bug in Stand Summaries that calculated confidence intervals at 95% for volume calculations regardless of the setting in Stand and Plot Summaries > Confidence Level. Not relevant to any users at this time as volumes are not being calculated in MobileMap by any customers.

  • Trees

    • Added support for multiple height measurements when using LTI laser rangefinder. This had already been implemented for Haglöf and now works for LTI units.

  • Mobile Device Management (MDM) Systems

    • Fixed settings for 'use portal' and 'client id' within Mobile Device Management (MDM) systems. These settings have been visible to MDMs but until this release, only the Portal URL and the Portal Name have been saving to devices.

MobileMap 4.4.17 (5/9/2023)

  • Stands

    • Improved description for Custom Stand Summary Calculations setting (Settings > MobileMap Cruise > Stand and Plot Summaries > Custom Stand Summary Calculations.

  • Sampling

    • Fixed bug with First Tree North (FTN) double sampling

MobileMap 4.4.16 (4/19/2023)

  • Trees

    • Made change to how tree list loads. Now tree list will open blank, and trees will be loaded to the list. Previously trees were loaded before displaying the list. When there are a large number of existing trees, the delay in opening the list caused some users to repeatedly tap the tree icon. Now the form should load quickly, even though it may take a few seconds to complete the load of all trees. Total time to complete load of list and all trees should remain unchanged.

  • Search

    • Fixed issue with Search tool where last used search operator did not automatically restore. The intent is for MobileMap to restore the settings of the last used search, where possible, to streamline repeat searches with same criteria (see notes in 4.4.15)

  • Stand Summary

    • Fixed bug introduced in 4.4.15 where Stand Summaries matched trees to incorrect plots. This caused the app to either crash (when Tally trees without DBH values were encountered), or possibly run but potentially producing incorrect Stand Summary values (where plot size or nested plot size vary among plots). If using Stand Summaries and version 4.4.15 please upgrade to this (4.4.16) release.

  • Laser Rangefinder Integration

    • Improved robustness of Bluetooth device connection. Previously often needed to open the Bluetooth device dialog twice before settings would take hold. Now should always work on first attempt.

    • Fixed bug that caused MobileMap to hang when using a Bluetooth laser rangefinder and backup interval exceeded. For example, if auto backup interval set to 20 trees and the 21st tree was recorded while Bluetooth rangefinder in use, MobileMap would attempt to auto-backup the database but would freeze as data input/output locked by Bluetooth connection. In this change, MobileMap will skip auto-backups while Tree List is open when using Bluetooth rangefinders. If needed, user can close and re-open tree list to force an auto-backup.

MobileMap 4.4.15 (4/11/2023)

  • Search

    • Added ability to use search when in edit mode.

    • Added ability to restore last field searched when opening search form.

    • Added 'Edit' button to each row in the search results table when search is run in Edit mode. Edit button automatically opens the feature in Edit mode.

  • Plots

    • Enhanced plot level calculations (updated when Tree List closes) to support calculating and storing basal area in addition to previously supported tree counts. Can calculate counts, basal area or both. Can use categorical (e.g., species) and ordinal (e.g., product numbers) values to group. Utilizes the 'Nested Plot Fields and Values' setting (if present) when calculating basal area to ensure correct nested plot BAF will be applied per tree.

  • Stands

    • Improved handling of Plot Size for calculations of Basal Area in Stand Summary. Now supports calculaton of BA on BAF plots (or nested plots) even when DBH not recored (e.g., tally trees). Previously trees on nested plots and without a DBH were being calculated using the plot BAF because nested plot BAF was not being retrieved if DBH not found. Minor improvements made to styling of plot list in Stand Summary.

  • Trees

    • Significant updates to Bluetooth capabilities for laser rangefinders including:

      • Improvements to the Bluetooth Device user interface

        • Better user messages, checkmarks when connected, cancel button to allow closing without saving)

        • Simplified list of devices to just those that are currently supported - Haglöf and LTI Laser Rangefinders.

      • Improved ability for MobileMap to re-connect to devices if they are paired and were previously configured.

      • Improved laser rangefinder read capabilities to read attributes as they stream in from a device. User does not need place the cursor in any specific cell, data will be read from device and placed in the appropriate cell in the selected tree row.

      • Added support for recording current GPS coordinates at time of laser rangefinder data capture, including calculation off of tree coordinates from GPS coordinates + distance + azimuth. When laser rangefinder data read from connected device, MobileMap records GPS data (if less than 5 seconds old) into fields in the tree table (Settings > MobileMap Cruise > Tree Offset Longitude Field and Tree Offset Lattitude Field).

      • When GPS coordinates + distance + azimuth all available, MobileMap calculates the tree location and records in appropriate fields (Settings > MobileMap Cruise > Tree Longitude Field and Tree Lattitude Field).

      • If Tree table is a Point layer and tree coordinates can be calculated, MobileMap will also create and save the geometry to the tree record .

      • Added Bluetooth read support for up to 3 tree height fields. If cursor remains on same tree row (without leaving tree) and laser rangefinder sends additional height measurements, the additional fields will be populated sequentially. With Haglöf devices this can be accomplished by taking just 1 additional height angle and pressing send. With LTI devices this will require a full repeat measurement (HD, Ang_1, Ang_2). Identify the appropriate tree table fields for storing each hight in (Settings > Tree Height 1 Field, Tree Height 2 Field, and Tree Height 3 Field).

      • Update to Tree List layout when using Bluetooth laser rangefinder - now column headers will have cyan background if configured for population by Bluetooth device and device is connected.

      • Check out updated documentation at

    • Sample Tree Ratios - Added tracking of Last Measure Tree. Can be viewed in the ‘Tree Sampling’ report accessed from Stand Actions. May be helpful when testing STR functionality and determining appropriate ratios.

  • Logs

    • Improved handling of inherited fields in Logs List. Inheritance now happens BEFORE testing of Rules so that inherited fields can be used in Rules. Previously inherited fields were being added after Rules tests were applied. Inheritance in Logs List now can inherit from Tree OR Plot. Previously inheritance in Logs always inherited from Plots. That approach was fine for assessing cruise design attributes like cruise spec, plot size, plot type, etc. New logic allows Logs to inherit tree attributes like Species or DBH which can be used to validate log attributes like length, product or grade. Note that currently Rules for logs only support Error rule types, not Warnings. If a Rule for Logs is created as a Warning, it will be treated as an Error and will need to be resolved before the log can be saved and the Log List closed.

  • Configurable Defaults

    • Modified configurable defaults to auto-reload the last selected layer when the dialog opens. This can save a step when frequently updating configurable defaults for a specific layer.

  • Navigation

    • Added new settings to better control navigation visual queues - now users can opt out of displaying straightline navigation and bearings for lines and polygons. This change was made because it is ambiguous which point on the polygon or line a user is navigating to - thus MobileMap displays a straighline path to the centroid of the feature. This may be relevant for longer distances and/or smaller features, but can be confusing when navigating to close or large features as straightline will not match nearest point.

    • Changed defaults on navigation proximity alerts and display settings (straightline navigation paths and displaying bearing) to default to showing all. Users can uncheck items to opt-out of navigation features.

    • Fixed issue with navigation that was preventing the location info (latitude, longitude, accuracy, elevation) when a feature is selected but navigation not being used (e.g., right after canceling navigation).

    • Changed default GPS setting to display GPS Accuracy (Settings > GPS and Compass > Display GPS Accuracy). Previously was set to NOT display this. Note that accuracy displayed is the accuracy reported by the device GPS (or Bluetooth connected GPS, if used) and is not calculated by MobileMap.

  • Stylus Only Mode

    • Extended stylus only mode to Tree List popups.

    • Added missing stylus-only logic for Copy button in tree list.

  • Observer/Cruiser ID

    • Improved handling of Observer ID (AKA Cruiser ID) to provide consistent handling across all uses of Observer ID. Now can select desisred logic in settings (Settings > Data Collection and Editing > Observer ID Logic) to choose whether the value used is the Observer ID (as-is), Observer ID converted to ALL CAPS, ArcGIS Username (assuming populated in Settings > Authentication > ArcGIS Username) or ArcGIS Username converted to ALL CAPS.

  • MobileMap Roads

    • Added support for Configurable Defaults and length and area calculations on auto-saved features. This ensures that key values can be populated even when no fields are required and thus form does not open when collecting spatial features using MobileMap Roads.

  • Bugs

    • Fixed bug that displayed 'Line to Point' option for non-Point features. This tool is only applicable when currently selected feature is a point.

    • Fixed bug that prevented saving and removing trees from tree list when using max rows AND tree count exceeds maximum tree rows (as selected in settings) AND tree has no errors but does have a warning(s).

    • Fixed bug with navigation that caused application to crash when navigating to features in identify mode.

    • Fixed bug that caused incorrect Tree IDs to be created following delete and insert of trees when the number of trees on the plot exceeded maximum tree rows (as selected in settings).

    • Fixed bug that broke Sample Tree Ratios for some users.

  • Other

    • Added padding to bottom of Download Parameters and Configurable Defaults dialogs to prevent software keyboard from covering editable fields.

    • Minor edits to Stand Actions (plot layout, STR report, Stand Summary) and Edit Mode (draw vs. vertex edit) to optimize layouts for phone. Added scrollbar and moved cancel button to top.

    • Rolled back change that had made layer picker forms non-cancelable. This was preventing use of the back hardware button for canceling selection of layers for query, draw, edit and the project folder selector.

    • Minor enhancements to Stand Actions: updated title to 'Select Stand Action', enabled back button to close Stand Actions and Tree Sampling dialogs, changed Stand Actions cancel button to top of dialog and renamed to Done for consistency with other dialogs.

    • Removed support for x86 and MIPS architectures thus reducing the size of the installer APK by half to ~15.2MB

MobileMap 4.4.14 (1/31/23)

  • Base Maps

    • Added a default, level 5, continuous United States base map to the MobileMap installer as well as the automated creation of a 'Default' folder when not found in the selected project folder. This should help with demos and new installations by providing a very coarse base map as spatial context and will eliminate map extent issues that can occur when using very small user-generated base maps.

    • Fixed issue where some devices produce base map downloads that end in '.tpk.part' instead of the standard '.tpk' file extension. Fixes this problem by overwriting the downloaded file with a new file using the correct extension.

  • Navigation

    • Added new settings to better control navigation visual queues - now users can opt out of displaying straight-line navigation and bearings for lines and polygons. Settings options in Measurement and Navigation now include the following checkboxes which all default to checked on a new installation (users can uncheck items to opt-out of navigation features):

      • Enable Proximity Alert for Points

      • Enable Proximity Alert for Lines

      • Display Straight-line Navigation Path and Bearings for Lines

      • Enable Proximity Alert for Polygons

      • Display Straight-line Navigation Path and Bearings for Polygons

    • Fixed issue with navigation that was preventing the location info (Lat/Lon/Accuracy/Elevation) from when a feature is selected but navigation not being used (e.g., right after canceling navigation).

  • Tree List

    • Fixed bug that caused incorrect Tree_IDs to be created when deleting or inserting trees and the number of trees on the plot exceeded the maximum number of allowed tree rows (based on setting in MobileMap Cruise > Trees)

  • Sample Tree Ratios

    • Updated tree sampling logic to fire whenever focus leaves any cell, not just cells that define sample groups. This allows tree sampling logic to work with default values (data model or configurable default) in one or both of the sample group definition fields. Previously the STR logic did not fire when using configurable defaults because users were not entering (and thus not leaving) these cells in a tree row.

    • Improved syntax of STR sampling report.

    • Changed logic for displaying the stand actions - previously went directly to Plot Layout or Stand Summary under some conditions.

  • Stand Actions

    • Minor enhancements to Stand Actions: updated title to 'Select Stand Action', enabled back button to close Stand Actions and Tree Sampling dialogs, changed Stand Actions cancel button to top of dialog and renamed to Done for consistency with other dialogs.

    • Now will always open the Stand Actions dialog because there are more options (Plot Layout, Stand Summary, Tree Sampling, Delete Plots) but buttons are disabled if their corresponding settings are disabled.

  • Stylus-only Mode

    • Improved stylus only mode be ensuring that all buttons, dropdown lists, editable text fields and map interactions comply with stylus only mode. Coverage should now be 100% complete for map interactions, tools launched from the map sidebar, spatial feature editing, and tree editing (including popups). Some secondary tools, for example tools launched from the Actions menu, may still respond to non-stylus touches when in stylus-only mode. Note that the software keyboard, which is a separate app in Android) still does not respect Stylus-only mode, presenting a limitation for users that do not use Popups.

  • Roads

    • Added support for Configurable Defaults and length and area calculations on auto-saved features. This ensures that key values can be populated even when no fields are required and thus form does not open when collecting spatial features using Roads.

Known Issues

  • Photo Rotation Issue - MobileMap will crash if taking a photo with device in different than MobileMap. For example, if using MobileMap in landscape and device is oriented to portrait while taking a photo and left in portrait while returning to MobileMap, app will crash. A workaround is to re-orient device to the orientation you were using in MobileMap BEFORE accepting the photo (typically done by tapping ‘OK’) that was just taken. This restores the device into the same orientation it was in prior to the photo and MobileMap will reload as expected.

  • Symbology - There is a specific scenario where symbology is not being properly updated in MobileMap until the app is restarted. This issue was fixed with the release of MobileMap 4.3.57 on 2/14/2022 but may show up in older versions of MobileMap. The steps which create this issue are as follows: upload data, download data, then modify the attribute which controls symbology (without restarting MobileMap). The workaround is to restart MobileMap after download and before editing data. Even when symbology is not properly updating all data are correctly saved and uploaded as expected. Thus the simple workaround (restart MobileMap) is effective and there is no concern of data loss.

  • Default Values - ArcGIS REST API version 10.9.1 has changed the way that default values are documented. This has caused MobileMap to stop applying default values defined in the data model. This will be addressed in a future release of MobileMap but in the meantime, ArcGIS Enterprise users running version 10.9.* can use configurable defaults to apply the same default values to any field. Starting at release 4.4.0 Configurable Defaults can be exported/imported via MobileMap settings (settings files or saved to a feature service).

Older Releases

MobileMap 4.4.13 (1/11/23)

  • Limiting Distance

    • Minor enhancements to Limiting Distance user interface to improve text wrapping on smaller devices and to separate out the plot size onto a separate line

  • Tree List

    • Updated Tree List user interface to handle long Plot ID values. When Plot ID has greater than 5 digits, the label "Plot ID:" is hidden to provide more room for the ID itself. If the ID is greater than ~8 digits (depending on font selected, pixel density of device, etc.), the text will wrap to support 2 rows and up to ~18 digits.

  • Bug fixes

    • Fixed bug that caused crash when attempting to use Identify tool and any Shapefiles are present in default or project folder

MobileMap 4.4.12 (1/3/23)

  • Note: Obsolete - this release contained a bug that caused crash when attempting to use Identify tool and any Shapefiles are present in default or project folder version. It is therefore not recommended for use. Please upgrade to 4.4.13 if this bug affects your workflows.

  • Phone Optimization

    • Optimized user interface for phones in portrait mode - now displays coordinates (Lat/Lon/Accuracy), measurement (length/area) or navigation info (distance/direction) in separate row above the map. This ensures full display of values regardless of phone width.

    • Shortened button labels on turn-by-turn directions UI for better compatibility with phones in portrait mode.

    • Increased width of Actions menu for better phone portrait mode compatibility.

  • Navigation

    • Restored triple notification for proximity alert. Had recently been unintentionally changed to a single notification.

    • Modified navigation notices to omit Azimuth when navigating to lines or polygons. Users noted that while the distance was recently improved (now calculated to edge instead of centroid) for these shapes, the bearing (to centroid) is not helpful when, since it is unclear which part of the line or polygon is being navigated to.

    • Modified display to only show distance/azimuth when in navigation mode. Had previously displayed these whenever a feature was selected.

    • Modified to only sound alerts when in navigation mode. Had previously sounded alerts whenever a feature was selected and distance threshold was met.

  • Default Values

    • Updated to support recent changes to ArcGIS Portal and Online feature services REST API (at ArcGIS 11) with regards to handling of default values (away from use of Templates and towards the defaultValue attribute for each Field in the Layer definition)

  • General

    • Added zoom levels 20-23 to the maximum zoom level setting (Settings > Zoom Levels > Maximum Zoom Level) to support very high resolution field work.

    • Option to Hide Irrelevant Layers (layers that are not editable or collectable) from pick lists. For example, if layer is read only then it won’t be included in the list when selecting layers to edit or collect (via draw or GPS). Previously these layers were grayed out, with message such as “(Data collection not supported)”. To remove these completely from picklists check the new checkbox setting for Hide Irrelevant Layers (Settings > Data Collection and Editing > Hide Irrelevant Layers).

    • Tree Sampling - Added new 'Tree Sampling' action to the Stand actions (where Stand Summary and Plot Layout are launched) that displays the current status of all Sample Tree Ratios for the selected Stand. This new tool is to help with training and debugging issues associated with STR-based double sampling.

  • Bugs

    • Fixed bug with limiting distance calculation when using custom nested plot logic. Had been crashing when the setting for Nested Plot Size Field was omitted. Now provides user feedback instead.

MobileMap 4.4.11 (11/29/22)

  • Added workaround for recently reported issue in which software updates on some Tab Active 3 tablets seem to be resulting in base map TPK files created via download within MobileMap are producing files with filenames that in ‘.tpk.part’ instead of the standard ‘.tpk’. It appears that this only happens for devices that have upgraded to Android 12. Our investigation shows that the files are valid, but for some reason are not properly renamed to their final correct filename (by removing the 'part' which is typically present while the download is ongoing). The change included here enables MobileMap to search for any file with '.tpk' in contained in the filename, instead of the previous logic which the file had to end in '.tpk'.

  • Fixed bug with previous release (4.4.10) that caused crash when collecting features. Bug had been introduced when implementing layer-specific read only fields functionality.

MobileMap 4.4.10 (11/16/22)

Note: this version has a known bug in which data collection (via draw, GPS or edit) causes an application crash if the setting Read Only Fields (Settings > Data Model > Read Only Fields) is NOT used. Therefor, we recommend not using this version but it can be used successfully via the following workaround: include at least one attribute field in the list of read only fields.

  • Query Results Dialog - Improved layout of query results popup dialog for narrower screens (e.g., phones). Previously the width of first column (field names) was expanded to prevent wrapping of text. When attribute fields had long field names and screens were narrow, this caused extensive wrapping of the values column, especially when long text data were displayed. With this update the width of the overall popup was slightly increased and the column widths were set to predetermined percentages. The first column (field names) now uses 1/3 of the width while the second column (values) uses the remaining 2/3 of the width of the table.

  • Read Only Fields - Added support for layer-specific read only fields. Previously the list of read only fields was applied equally to all spatial layers. Now this setting (Settings > Data Model > Read Only Fields) can be set to apply different read-only fields for different spatial layers. See updated setting description in MobileMap for syntax when applying layer-specific field lists.

  • Cruiser ID - Added option to auto-populate/update Cruiser ID on a cruise Plot when the Tree List is closed and at least 1 tree has been recorded. Includes option to do this never, only when currently null (empty) or always. Also includes options to use the standard Cruiser ID field (Observer ID in settings), the ArcGIS Username, or the ALL CAPS version of either of these. Useful when Cruiser ID has been inherited from the Stand but is being cruised by another user.

  • Download Base Maps - Extended the recently implemented base map download capability (see release notes for MobileMap 4.4.0 below) to choose the destination folder to Android 10. When initially implemented, was available only for devices running Android 11 or higher. After verifying that this functionality works with Android 10 it has been extended to work on Android 10 devices.

MobileMap 4.4.9 (10/27/22)

  • Multiple Feature Services - Improved workflow for using the 'Enable Multiple Cruise Feature Services Simultaneously' functionality. Previously, after selecting the active cruise service it was necessary to open Setting or restart MobileMap for the Rules and Related Domains to reload using the new selected service. Now this happens automatically.

  • Sample Tree Ratios - Automatically resets Sample Tree Ratios for a Stand when batch deleting Plots. Since Plots can only be batch deleted when there are no trees, it is logical to clear the Sample Tree Ratio counters for that Stand, since the ratios may have changed as well. This now happens automatically when Plots are batch deleted.

MobileMap 4.4.8 (10/25/22)

  • Rules - Fixed bug with ‘in’ operator. Now can use ‘in’ operator in both the criteria and main logic of a Rule. This functionality enables the use of fewer rules because individual rules can include lists for both the criteria and rule part of the rule. Example logic "if Species in(A,B,C) then Product cannot be in (Saw1,Saw2,Saw3)". This would have previously required 9 separate rules but can now be implemented in 1.

  • Stand Summaries - Improved support for custom logic in Stand Summaries by allowing the criteria attribute field to be different than the value attribute field. This allows custom logic to test on an attribute field (e.g., Product) and apply an aggregation (e.g., average) on a decimal field (e.g., DBH).

    • Note that this update requires an update to existing settings for Custom Stand Summary Calculations. The new syntax is:

      • 'label,fieldname1,operator,value,fieldname2,aggregator;label,fieldname1,operator,value,fieldname2,aggregator;...'

      • Where: fieldnames are the data model field names (not aliases). The fields can be any String, Integer (short or long) or Decimal (Single or Double) attribute field in the Trees table. Operators for String fields are '=' and '!=', operators for integer and float are '=', '!=', '<' and '>' (without quotes). When fields use coded value domains, the 'value' should match the code not the description. Aggregators include: 'count', 'min','max', 'sum', 'average' (without quotes).

      • Example: 'Average DF DBH,Species,=,DF,DBH,average' will add a line to the Stand Summary like 'Average DF DBH: X.X' where X.X will be the average DBH of all DBH trees measured in the stand.

  • Limiting Distance - Enhanced limiting distance calculation to support nested plots. Can use DBH breakpoint (Settings > MobileMap Cruise > Plots > BAF Limiting DBH) or custom logic (Settings > MobileMap Cruise > Plots > Nested Plot Fields and Values) to specify which trees use a nested plot. Must specify the nested plot size field (Settings > MobileMap Cruise > Plots > Nested Plot Size Field). which should specify the size of the nested plot using MobileMap standards for Plot size designation (e.g., BAF5, FIX100).

  • Copy Tool

    • Added support for default copy target layers. New settings (Settings > Data Collection and Editing > Default Point | Line | Polygon Copy Target Layer) allow users to set a default target layer for Points, Lines and Polygons. When these are set, the target layer dropdown will pre-select the default based on geometry type.

    • Fixed bug that prevented identify on features after a cancelled copy event.

  • Navigation

    • Added additional settings for Proximity Alerts to enable users to opt in to proximity alerts by geometry type (Settings > Measurement and Navigation > Enable Proximity Alert for Points | Lines | Polygons).

    • Fixed issue where MobileMap kept navigating to a feature (displayed distance and direction) even after proximity alert sounded.

  • Read-Only Layers - Extended support for Read-Only Layers (added at 4.4.6) to MobileMap Road user interface. Now layers designated as read-only layers (Settings > Data Model > Read Only Layers) are excluded from MobileMap Road user interface.

MobileMap 4.4.7 (10/12/22)

  • Navigation - Updated the navigation to display nearest distance to selected navigation feature, rather than distance to that feature's centroid. This is only a change for line and polygon features since the centroid of a point is the same as the point itself. The straight-line navigation visual queues will still be drawn between current location and the selected feature centroid, since it is ambiguous where in a polygon a user may be navigating to, but distances will be displayed in nearest (perpendicular) distance to the line or polygon perimeter.

  • Plots Batch Delete - Fixed issue with recently implemented batch delete where existing Plots (Plots that are already in the feature service that have OBJECTID values) were only being deleted locally and were not being deleted from the server on upload.

MobileMap 4.4.6 (10/6/22)

  • Setup

    • Fixed issue where MobileMap runs in Landscape mode on initial startup even thought default is set to Portrait mode

  • Read Only Layers

    • Added ability to define spatial layers as ‘Read Only Layers’ within MobileMap. Includes the following components:

      • New setting in Data Model settings screen to list read only layers

      • Read only layers omitted from list when selecting layer for Draw and GPS tools

      • Read only layers omitted from list when selecting target layer in Copy tool

      • Draw, GPS, Save buttons hidden in Attribute Editor for read only layers

      • Text inputs, dropdowns and button (e.g., photo button) are disabled in Attribute Editor for read only layers

      • Auto-save behavior (e.g., when initiating Navigate, opening Tree List etc.) disabled for read only layers

      • Read-only layers are excluded from the point and line feature creation user interface when using MobileMap Road

  • Navigation

    • Added separate button for restarting navigation if you want to resume navigation to the last navigation feature, or re-establish the static (yellow) navigation line

MobileMap 4.4.5 (9/27/22)

  • Navigation

    • Enhanced navigation to automatically stop navigation when alert sounds and selected feature opens for editing

MobileMap 4.4.4 (9/18/22)

  • Tree List

    • Fixed issue with unwanted magnification popup windows opening in Tree List on double tap of cell. Problem showed up in some Tab Active 2 tablets after updated their software beginning in Early August (Android 9, One UI version 1.1). Issue appears to be caused by a change in the way Samsung implements Android accessibility features (see for more information)

MobileMap 4.4.3 (9/13/22)

  • Stand Summary

    • Added support for calculating the sample size (e.g., number of plots) required to achieve the specified allowable error given the specified confidence level and variance within the attribute values. Supported attributes include: trees per plot, basal area (BA) and trees per acre (TPA). Supports multiple allowable error levels (e.g., 20% and 10%) in the same stand summary.

    • Improved layout of stand summary to address plot data table column widths and add header shading.

    • Added support 68%, 90% and 99% confidence levels (previously only supported 95%).

    • If using Stand summaries, please verify settings in Settings > MobileMap Cruise > Stand & Plot Summaries

  • Tree and Log Lists

    • Added validation check to prevent cruiser from backspacing all values for a tree/log without deleting. The correct workflow is to use the delete button (trash can icon) to delete existing trees when needed.

  • Related Tables

    • Fixed bug that prevented delete of related (child) records (tabular records displayed below attribute data in editor - not tree/log lists).

    • Hid draw, GPS, copy and navigate buttons when editing (or deleting) a child record, since these records are not spatial.

MobileMap 4.4.2 (8/31/22)

  • Navigation - Several minor enhancements to recently added navigation functionality, including

    • Added ability to switch navigation features while navigating

    • Added ability to resume navigation to a previously selected navigation destination

    • Added ability to select feature from search results then begin navigation and the ability to change navigation destination by changing selection in search results

    • Modified to ignore business rules when closing a feature to start navigation which could have forced a user to enter plot-level data prior to visiting the plot

  • Related Tables - Minor adjustment to related tables functionality

    • Updated description and syntax in settings

    • Remove constraint that prevented use of related table record creation and editing when MobileMap Cruise functionality enabled

  • Tree Copy Tool - Fixed issue with incorrect tree numbering when using the tree duplicate tool

  • Copy Tool - Fixed bug that caused crash when saving feature after a copy of feature, including project (copy with offset)

  • Plot Layout - Fixed bug that caused crash when redo plot layout button tapped after initial plot layout

MobileMap 4.4.1 (7/26/22)

  • Minor release to fixed Issues identified by users of 4.4.0 release

    • Navigation - fixed issue where navigation automatically restarted after saving an feature that had been auto-opened via navigation mode. This issue could cause the selected feature to be reopened right after saving changes if still within proximity alert distance threshold.

    • Plot Layout - fixed issue where some plot layout settings were not auto-populating with the values saved in settings. Now the Plot Layout dialog will load defaults from settings when opening from a Stand and will reload previous values when reopening from map to modify and rerun the plot layout.

      • Note: some plot layout settings keywords were changed in this release to improve consistency of naming. If your organization uses plot layout settings via settings files and/or settings stored on feature services, please update the following:

        • plotLayoutBuffer → plotLayoutStandBuffer

        • plotCountMin → plotLayoutMinCount

        • plotCountMax → plotLayoutMaxCount

        • plotDensity → plotLayoutDensity

        • plotXYRatio → plotLayoutXYRatioText

        • plotStartingId → plotLayoutStartPlotId

        • plotLayoutStartAt1 → plotLayoutStartPlotIdAt1

        • plotLayoutDiamond → plotLayoutUseDiamond

    • Resume application while navigating - fixed issue where map inadvertently changed to Draw mode (from Edit mode) when MobileMap resumed after a display shut off or after going into the background to access a different app. Now MobileMap properly resumes in Edit mode.

MobileMap 4.4.0 (7/21/22)

  • Navigation

    • Added new visual queues to aid in navigation including a new target symbol and straightline navigation lines between current location and destination.

    • Cruise Plot Navigation - Added ability to launch from Edit interface (instead of just the from Identify interface) and to auto-open plot for editing. This saves several screen taps when navigating to cruise plots.

  • Device Setup

    • Configurable Defaults - Fixed bug that prevented exporting and importing configurable defaults as a part of MobileMap settings.

    • Streamlined initial MobileMap setup by auto-opening Select Feature Service dialog after sign-in when no feature services found on device.

    • Modified Select Feature Service dialog to automatically fetch list of available feature services when Select Feature Service dialog opens if list not yet available (thus user does not need to click refresh button on initial load). While loading the refresh button will be disabled and user will see message "Refreshing list of available Feature Services...".

    • Changed to automatically trigger database initialization/re-initialization when Select Feature Layer dialog closed and there was a change to the selection. If there is an existing database, or if more than 1 feature service is selected, user will be asked to confirm prior to initialization.

  • Data Creation and Editing

    • Project Points - Added ability to apply a spatial offset (distance and direction) when copying a point features (within a layer or to a different layer).

    • Plot Layout - Significantly improved to plot layout tool, including addition of several parameters that had only been in Settings previously, ability to edit parameters prior to running, ability to refresh the plot count when parameters are changed, ability to opt out of Stand Buffer functionality in Settings, ability quickly redo a plot layout from the map (without reopening the plot layout tool), ability to quickly reopen the plot layout tool loaded with existing settings. Note that the following settings keys were updated (previous key → new key). If you have existing settings file(s) that include non-default values for these settings, you will need to update the settings keys:

      • plotLayoutBuffer -> plotLayoutStandBuffer

      • plotCountMin -> plotLayoutMinCount

      • plotCountMax -> plotLayoutMaxCount

      • plotDensity -> plotLayoutDensity

      • plotXYRatio -> plotLayoutXYRatioText

      • plotStartingId -> plotLayoutStartPlotId

      • plotLayoutStartAt1 -> plotLayoutStartPlotIdAt1

      • plotLayoutDiamond -> plotLayoutUseDiamond

    • Draw Lines Between Points - Added ability to draw a line between two points in the same point feature layer.

    • Batch Delete - Added ability to batch delete all cruise plots in a stand when none of the plots have any trees collected. To access, open the Plots tool (icon has 9 dots) when editing a Stand then select ‘Delete Plots’. MobileMap will verify that no trees exist in the plots and will ask you to confirm the deletion.

  • Base Maps

    • Updated download base map tool to allow Android 11 and 12 devices to select the destination path when downloading base maps.

    • Added Google/Bing zoom levels to base map user interface and main map to help users selecting appropriate zoom level prior to download.

    • Zoom Levels - Added Google/Bing map zoom levels to scale bar in map to help users understand zoom levels when downloading base maps or requesting base maps from GIS staff.

  • Miscellaneous

    • Actions Menu - Shortened several action button names to improve consistency with other uses and to ensure they are visible on smaller and/or lower resolution devices.

      • Edit Download Parameters -> Download Parameters

      • Edit Configurable Defaults -> Configurable Defaults

      • Select Active Cruise Service -> Select Active Cruise

      • Configure Bluetooth Devices ->Bluetooth Devices

      • Export Database -> Back Up Database.

    • Display null fields in Identify mode - previously hid null values in Identify results, now there is an option to display attribute fields with null values.

    • Fixed MobileMap Road bug introduced at 4.3.60 that caused crash when Line (but not Point) features were collected via Road-specific user interface.

    • Fixed bug that prevented display of keyboard when Popups used by field that is being edited was NOT a field that used popups.

MobileMap 4.3.60 (6/3/2022)

  • Configurable Defaults - added a layer picker to help address performance issues and improve usability by allowing user to display only one feature layer at a time when setting configurable default values.

  • Configurable Defaults - extended configurable defaults functionality to Logs List.

  • Configurable Defaults - Improved logic when determining if a tree or log row contains non-default values. Previously MobileMap misidentified some default decimal values as user-entered data due to differences in precision (e.g., "11.0" was interpreted as different than "11" and treated as user-entered data even).

  • Plot Status - fixed issue where plot status not auto-updated to cruised when the Tree Count Field not populated or not correct in settings, or field was hidden in tree list (via Settings > MobileMap Cruise > Trees > Tree and Log Fields to Ignore).

  • Changed default value for Settings > MobileMap Cruise > Trees > Tree Count Field from 'Count' to 'Tally' as count is a reserved word in ArcGIS data models and should not be used as a field name.

MobileMap 4.3.59 (5/31/2022)

  • Added ‘Copy Tree’ functionality, including adding support for a new Setting in Settings > MobileMap Cruise > Trees > Enable Copy of Individual Trees. To use, select any tree in the tree list then tap the Copy Tree button and it will add a duplicate tree to the bottom of the tree list.

  • Added support for auto-populating of hard-coded 'Latitude' and 'Longitude' fields in Point layers when point created from map tap. Had previously worked for GPS triggered Point features, this update extends this functionality to Points created via map tap.

  • Fixed bug where MobileMap crashes when app is backgrounded and Popups are enabled. Experienced when users have enabled Popups for tree and log lists and pushed MobileMap into the background by opening another app or by using hardware buttons like ‘home’ or 'all apps'.

MobileMap 4.3.58 (3/28/2022)

  • Fixed issue that prevented closing tree list when multiple ‘Warning’ validation rules violated. Had been saving trees but preventing close of tree list.

  • Moved new ‘Silent’ backup option to Settings > General from original location in cruise settings. This makes this setting more accessible to non-inventory users.

MobileMap 4.3.57 (2/14/2022)

  • Modified map reload behavior following download of features to address problem where some map symbols did not properly update after download operation.

  • Added new ‘Silent’ backup option which shows message as non-blocking popup at bottom of display rather than blocking popup than blocking popup that prevents data collection until finished.

MobileMap 4.3.56 (1/24/2022)

  • Fixed issue where download not possible (after initial download) after upgrading ArcGIS Portal to from 10.9.1. Issue was caused to undocumented change in how Date queries are handled in the REST API. Corresponding fix was needed in InventoryManager and Spatial CMS.

  • Fixed bug that caused crash when tree Tally (Count) field data type set to single/double rather than short/long.

  • Fixed bug in which auto-update of Status to 'Checked' while in check cruise mode was happening even if no check cruise trees were entered.

  • Fixed bug that caused upload failure when point feature service does not support Z value and user collects GPS point without averaging (average of only 1 GPS location).

  • Extended Configurable Defaults functionality to tree list. Previously tree fields were not visible in the Edit Configurable Defaults tool. Now users can select user-defined (configurable) defaults for tree attribute fields.

MobileMap 4.3.55 (11/21/2021)

  • Added support for Unique Value Renderer to Road point features. This allows a Road point layer to be rendered with multiple buttons, one for each symbol in the unique value renderer.

  • Fixed bug with MobileMap Road layout

  • Fixed bug with recently added capability to auto-apply Check Cruise Status when in check cruise mode and at least one check cruise tree saved.

MobileMap 4.3.54 (10/24/2021)

  • Note: this version includes an update to the underlying MobileMap database (not related to feature service databases or data models) and requires you to uninstall previous versions prior to installing this version.

  • Minor changes to user interfaces for improved layout on phones, including updated buttons (icons instead of words where possible, more consistent button order) as well as improved text (e.g., from ArcGIS Online to just ArcGIS), etc.

  • Fixed bug introduced at 4.3.51 that caused app to crash after sign in to ArcGIS

  • Fixed bugs introduced at 4.3.51 that prevented close of tree list when warnings, but no hard errors, present.

  • Fixed bug with with new Select Feature Services (filter by group) functionality

  • Added ArcGIS Group dropdown list to the Select Feature Services dialog to enable filtering of available feature services by ArcGIS Group (MSS-233). This will help users that are members of many groups more easily find feature services in a long list. The 'All' groups option (default) should be used when feature services from multiple groups must be selected at the same time.

  • Re-enabled 'Stylus Only Mode' to help users with Samsung Tab Active tablets avoid unintended screen taps, especially when navigating between plots. When Stylus Only mode is enabled (Settings > General > Stylus Only Mode) the only button on the main user interface that works without the stylus is the Settings button (gear icon).  This ensures that if Stylus Only mode is enabled and a cruiser loses their stylus they can still go into settings, disable this mode, and continue cruising.

  • Added slope correction capabilities to Limiting Distance Tool. User can us + and - buttons to adjust slope and tool will display slope corrected limiting distance.

MobileMap 4.3.53 (10/14/2021)

  • Note: Obsolete - this release contained issues and should not be used. It is included here only to document the bug fixes and feature enhancements that were included in this version.

  • Fixed bug that prevented multiple error messages for a tree to be displayed when business rules do not inlcude Name value. Also made minor improvement to formatting of error messages to improve consistency and readability.

  • Fixed bug introduced in version 4.3.50 that prevented upload/download when more than 1 feature service selected and initialized. Bug was introduced when trying to handle cases where a Relationship class was incorrectly set to 'required' by ensuring that the upload and download order would respect the layer order.

  • Rolled back (removed) support for user-installed CA Certificates. Did not address the original problem thus was removed.

MobileMap 4.3.52 (9/30/2021)

  • Note: Obsolete - this release contained issues and should not be used. It is included here only to document the bug fixes and feature enhancements that were included in this version.

  • Network security configuration - Added support for user-installed CA Certificates. Requires user to download a CA certificate from a server in PEM format (use Firefox browser for this) and install it using Android settings and the option to install the a certificate from device storage. This MobileMap change allows the app to treat user installed certs the same as system certs and can be useful when a Portal server uses a cert which is trusted by the user but is not a valid system cert (e.g., ‘Let's Encrypt’ certs that expired 9/30/2021 )

  • Added support for configurable label colors. Previously label colors were derived from the default color of the symbol. Sometimes this was not the desired color, especially when using unique value renderers where the default symbol was not the most representative color. Now label color can be set when selecting the label field, using the same process as the color selection for Shapefile symbology.

  • Added ability to select the tracking layer interactively from the main user interface. Previously this layer could only be selected by changing the layer name in settings. A new checkbox setting (Settings > GPS and Compass > Enable Tracking Feature Layer Selection) was enabled that, when checked, allows users to select the layer to use when tracking by tapping the enable tracking button. When tapped, this button opens the layer picker which will display all available polygon and polyline feature layers. When the user taps on a layer in the list, MobileMap selects that layer for tracking and updates the tracking layer name in settings.

MobileMap 4.3.51 (9/13/2021)

  • Note: Obsolete - this release contained issues and should not be used. It is included here only to document the bug fixes and feature enhancements that were included in this version.

  • Sample Tree Ratios - fixed bug in STR editor that caused unintentional sorting of STR components when editor opened and saved without making any changes.

  • Calculated Fields - Fixed bug with Calculated Fields that was preventing auto-triggered updates to calculated fields that are calculated using other fields that have Coded Value Domains. This was working for version 1 of the calculated fields syntax but not working for version 2 syntax (e.g., $Feature.fieldname). Now it works for version 2 syntax as expected.

  • Calculated Fields - Added support for calculation of a UUID (universally unique ID) as a text value. Similar to Esri’s global ID, or the value used as Unique_ID or Parent_ID, this is a 38 character random hexidecimal text string that can be used as a unique identifier. Stores created ID in an Esri text (not global ID) field.

MobileMap 4.3.50 (8/17/2021)

  • GPS averaging - added option of 'No maximum' to the GPS wait time setting to allow point averaging to continue until the number of desired points are achieved, regardless of time required.

  • Plots Check Cruiser ID - added new setting for Check Cruiser ID field that can be auto-populated with the Observer ID when in Check Cruise Mode and field from setting is found in the feature layer and is null.

  • Plots Checked Status - Auto-update Plot status to 'Checked' if in Check Cruise Mode and tree list closed with at least 1 check cruise tree saved.

  • Settings Export - Device Code - Modified settings export to exclude device code from setting file when exporting settings. Users often share settings files and importing a settings file with a device code would overwrite the device code on the target tablet, potentially creating problems when the license needs to be refreshed for that device.

  • Feature Upload/Download - Updated the feature upload and download functionality to upload/download features in the same order as the feature layer id (feature layer number). For upload, this ensures that features can be uploaded in the correct order to comply with constraints imposed by relationship classes. If there is a relationship class that links Logs to Trees, then trees need to be added before their respective logs. In this scenario, the Trees layer must have a lower layer number than the Logs layer to ensure that trees will be added prior to logs. Updated order also appears in upload/download reports to improve readability and consistency with actual order of layers in service. Improved style of upload download message by adding indents and dashes to help separate layer names from results.

  • Calculated Fields - Added support for new function ‘Mid’ to copy a substring from another field when creating a calculated field. Inputs are the source field, the index of the first character and the index of the last character (optional). Example: CalcField:Date('YYYY')+Mid($Feature.Unique_ID,1,5). This would create a value like 2021-a1b34 by concatenating the 4 year with characters 1 through 5 of the Unique_ID field.

MobileMap 4.3.49 (7/7/2021)

  • Copy Tool - fixed bug in copy tool that caused crash when integer or floating point field had null value. This bug was introduced at version 4.3.40 when solving a related problem (copy from shapefile was crashing when field was Floating Point data type but needed to be stored into field that was Integer data type).

MobileMap 4.3.48 (6/30/2021)

  • Fixed bug that caused MobileMap to crash when using Popup Mode for Tree and Log data collection and user selects the ‘All Apps’ or ‘Home’ buttons on the device. This had caused MobileMap to crash and lose any unsaved tree and log data. Now, MobileMap should properly go into background where it can later be brought to foreground using the ‘All Apps’ button. When it restores it will be right where it was previously with the Tree or Log list open and the previously entered data intact. While this bug has been fixed, it is still a best practice to save data in the tree list prior to intentionally switching apps.

  • Photo Management - improved handling of files when selecting existing photos (rather than taking a new photo real-time). Now will not copy the photo to the date-specific photo folder if the file is already found in that folder (e.g., collected today or copied already today). Also will not append the photo fieldname if it already exists on the source file.

MobileMap 4.3.47 (6/25/2021)

  • Photo Upload - added support for uploading photos that are selected from a directory/gallery (e.g., taken previously with camera app, rather than taken real-time within MobileMap). This update is only relevant for customers that use WSG-hosted photos and the Upload Photos tool in MobileMap.

MobileMap 4.3.46 (6/23/2021)

  • GPS data collection metadata - fixed bugs that prevented elevation, latitude, longitude, GPS point count, and GPS RMSE from saving under some scenarios. Now each of these should be populated regardless of whether GPS averaging (point count greater than 1, see Settings > GPS and Compass > Number of GPS Locations to Average) is being used or not. Must configure the appropriate field names in settings for certain fields (Elevation, GPS Point Count, GPS RMSE, see Settings > GPS and Compass). Note that currently Latitude and Longitude field names are hard-coded rather than configurable in settings. MobileMap will use these field names if present in the data model. If not present in data model MobileMap will not save Latitude and Longitude values.

MobileMap 4.3.45 (6/6/2021)

  • Fixed Insert Tree Bug - Issue was that the 'Tree_ID' attribute of logs were not being updated following a tree insert. Scenario - user creates 1 tree with 2 logs, then inserts a new tree 1 before the existing tree 1. Existing tree is renumbered to tree 2, but the logs were not being updated with Tree_ID = 2. This had been working as expected for delete of trees, but not for insert of trees. This release fixes this issue.

MobileMap 4.3.44 (5/11/2021)

  • Actions Menu - increased the width of buttons on Actions Menu in attempt to display full text on phones.

  • Check Cruise - Copy Trees and Logs - Added auto-population of Cruiser_ID to Logs during copy. Previously removed the former Cruiser_ID, but did not auto-apply current Cruiser_ID. If log list is not opened and logs resaved, would not have Cruiser_ID. If field was required, logs would not upload until they had been opened and saved.

  • Polygon Labels - improved label placements for Polygon labels. Now will place label within polygon boundary, even in cases where mathematical centroid is outside of polygon due to concavity

  • Related Domains - protect against cases where source or target fields are null in Related_Domain record(s)

MobileMap 4.3.43 (5/10/2021)

  • Log List - Fixed bug that caused application to crash when opening Log List in landscape mode.

MobileMap 4.3.42 (5/4/2021)

  • Check Cruise - Copy - Logs - Fixed bug in copy tool in Check Cruise mode. Was incorrectly making logs as complete duplicates of cruise trees rather than the expected copies that have Cruise_Type = 'C' and their own Unique_ID value.

  • Plot Layout Tool - Protected against potential of application crash when when Stand ID is null and plot layout is performed.

MobileMap 4.3.41 (5/3/2021)

  • Plot status auto-update -Fixed issue with auto-update of plot 'Status' field (first available in release v4.3.32) that occurred when the 'Status' field specified in settings (Settings > MobileMap Cruise > Plots > Plot Status Field) does not utilize an Esri Coded Value Domain (CVD). In order for the auto-update functionality to work as expected, it requires that the field use a CVD. When that field does not use a CVD, it was causing the app to crash. Now it simply will not auto-update the 'Status' field.

MobileMap 4.3.40 (4/25/2021)

  • Copy Feature - Fixed bug with Copy Feature Tool that allowed certain mismatched data types to be stored in the target feature. Example was a Shapefile with a floating point value (e.g., 62.0) that was stored into integer field with the same field name. The data should have been stored as 62, but was being stored as 62.0. This caused an application crash when that value was later used in other parts of the application (e.g., Plot Layout tool). Now tests for target data type and casts data to the correct type where possible and appropriate. It is still recommended that all source data sets have a complete match for any fields that will be used with the copy tool.

MobileMap 4.3.39 (4/14/2021)

  • Portal Base Maps - Fixed bug in authentication when using Download Base Maps with image services registered within Portal. Only relevant for Portal users who have registered one or more base maps and are attempting to use the new support for Portal base maps introduced at version 4.3.33.

MobileMap 4.3.38 (4/4/2021)

  • Import Settings - Improved handling of MobileMap settings saved on Feature Services hosted in Portal. When MobileMap settings stored in a Portal Feature Service are saved/updated, the resulting Feature Service metadata is not always as expected. Variations occur based on the application used to update settings (e.g., ArcMap, ArcPro, Portal, Server Manager, etc.). This update changes the order in which MobileMap assesses the possible locations where settings are stored (serviceDescripton, description, documentInfo>comments) and adds error checking to ensure that correct version (raw JSON and not HTML) is read.

MobileMap 4.3.37 (3/26/2021)

  • Fixed bug keyboard offset support for 2 offset values (standard mode, check cruise mode) which was first implemented at 4.3.35.

MobileMap 4.3.36 (3/18/2021)

  • Tree List - Added new options for automated behavior when leaving last field (column) when collecting a tree record. Added new a setting (MobileMap Cruise > Trees > Behavior When Leaving Last Cell) which allows user to choose whether the focus (cell that is selected) should proceed to the first cell of the next tree and open popup (when popups are used), should proceed to next tree but not open popup, or should auto-open the log list (when logs are used).

  • Tree List - Improved behavior when user taps on currently selected cell when cell uses popups. Previously users had to tap to another cell to change focus then tap back into original cell to trigger popup. Now can tap on currently focused cell and it popup will re-open.

  • Photos - Fixed bug that was preventing resize of images on devices running Android 11. This bug was a result of changes to underlying Android security changes at Android 11. The symptom was images that showed resolution (x and y pixel counts) for resized images but file sizes were the same as original (full size) images.

  • Plot Layout - Fixed bug that occasionally caused lopsided plot layout patterns in features that had long straight edges running North-South and/or East-West. Bug also fixed in InventoryManager plot layout tool.

  • GPS Averaging - Added new setting that allows user to specify the ‘maximum GPS accuracy’ value that should be allowed when averaging GPS locations during point feature creation. Note that Android devices report GPS accuracy, which can be thought of as the uncertainty in the GPS location. Bigger numbers indicate greater uncertainty, thus setting the this threshold will omit locations that include ‘accuracy’ values that are higher than the threshold, thus have a greater level of uncertainty.

  • Plot Delete - Fixed bug that was permitting only first 30 trees (instead of all trees on the plot) to be deleted when deleting a plot. Also added a new message to the confirm delete dialog that indicates the number of trees, when applicable, that will be deleted.

  • Confirm Delete Dialog - Improved the confirm delete dialog by including the layer name (to make sure user is clear on which feature is being deleted) and improved the message that clarifies when the feature will be deleted (locally and on the server).

  • Log List - Added support for recording log heights rather than log lengths. In this scenario, a tree with 3 logs that are 10 ft each would be recorded using heights of 10, 20 and 30, rather than lengths of 10, 10, 10. In this case, the log length field (MobileMap Cruise > Logs > Log Length Field) value might actually be set to ‘Height’. There is now a new setting (MobileMap Cruise > Logs > Use Log Heights) and the log sum column on the Tree List will show the maximum log height, rather than the sum of the log lengths. This log summary column is also slightly narrower and has a new column header (Σ instead of the previous ‘Sum’) to make it more general.

  • Tree and Log Popups - Improved form to display field alias in title of form. Help to ensure user knows the field they are selecting values for, since the Tree or Log list column headers aren’t visible when selecting values in the popup

  • Download Error - minor cosmetic change to error displayed when the editor tracking field not found. Previously said 'Last Modified Date Field...' now says 'Last Edited Date Field...' which is consistent with the actual setting name.

MobileMap 4.3.35 (2/10/2021)

  • Extended keyboard offset to support 2 offset values: 1 for standard mode, 1 for check cruise mode

  • Tree and Log Popups - Added setting that allows user to choose what happens when a popup is closed on the last cell of a tree row. Default is to jump to the first cell of the next tree row if there is no logs layer, otherwise it does not advance to next row. Can be overridden to never advance to next row or always advance to next row, regardless of whether logs are used.

  • Added plot level data quality control functionality. The following fields will need to be in the data model and should be set to read-only to avoid users accidentally entering or editing these.

    • Ability to record time spent on plot - requires an integer field in plot layer, records cumulative time in seconds, if tree list is opened again time on plot continues to increase

    • Plot-level tree tallies - requires integer fields in plot layer, supports definition of one or more fields to store data in to, can apply specific logic when tallying trees (e.g., Saw_Tally calculated as sum of trees where Product = 'ST')

    • Lat/Lon at time of tree data entry - requires double fields in plot layer uses Lat/Lon from GPS recorded when tree list closes

    • Distance between Lat/Lon and plot point at time of tree data entry - requires integer field in plot layer, compares distance between stored plot point and lat/lon

    • Device code - requires text field (length 6+), records the device code used for licensing, helps clarify which device was used when entering trees in tree list

    • Auto-saves plot data after metrics above are calculated so information is saved, even if user doesn’t save the plot before closing

  • Export Settings - removed the 'Observer ID' (key: observerID) setting from exported setting files. This will help prevent a user from importing settings from a shared settings file and accidentally overwriting their own Observer ID (e.g., their Cruiser ID or initials).

  • Stand Summaries - fixed bug that caused stand summary to crash when a tree species had no measured trees for a species in which there were tallied trees. No will report 'NA' for measure tree ratio and proceed with calculations that are possible for those species.

  • Fixed bug that could apply outdated settings for certain operations if settings were imported from a service or settings file and operation (e.g., download of features) was run prior to restart of MobileMap. Issue was discovered only when using non-standard field names (strongly discouraged) for critical fields ( Unique_ID, Parent_ID).

MobileMap 4.3.34 (1/20/2021)

  • Improved layout and functionality of Coded Value Domain picker in tree and log list.

MobileMap 4.3.33 (1/14/2021)

  • Added support for new popup for selecting tree and log attribute values using a popup dialog, rather than just keyboard. Generally applies to fields that use Coded Value Domains, but can be configured to work for fields that do not. Settings are included to chose the mode (disabled, codes, descriptions, both), the number of columns to use when displaying values in the popup (1-5) and a configuration in which particular fields can be set as well as the domain values to use. This setting allows for subsetting domains, or even the use of pseudo-domains (picklist that is not driven by Coded Value Domains). See settings in Settings > MobileMap Cruise > Trees for more information.

  • Added support for downloading base maps when using Portal. Requires that the Portal administrator registers 1 or more Esri base maps with their portal (and provides credentials for their use). Settings in Settings > Authentication are provided to clarify the URL to the Portal item for the base map. Note that when this setting is not configured, Portal users will not be able to download base maps within MobileMap.

  • Added support for ignoring defaults for numeric fields where default is set to zero to the logs table. This functionality was working already for trees, this change extends this functionality to work with logs so that they won't necessarily be auto-populated just because a field is both numeric and required (which translates to a default of 0).

  • Fixed bug with plot layout ratios that prevented proper spacing of plot when using XY ratios.

  • Fixed bug that applied double sampling logic (e.g., FTN, STR) to trees even when in Check Cruise Mode. Now when in Check Cruise Mode this logic will be ignored and check cruiser will need to measure appropriate trees based on their specs - they will not be prompted for Tally or Measure trees like they might be based on other settings.

  • Fixed bug with auto-update of plot status that caused this functionality to not work properly when Coded Value Domains had codes that did not match their domains.

MobileMap 4.3.32 (10/31/2020)

  • Added ability to auto-update plot status when Tree List closed and trees have been recorded on the plot. If the currently displayed status is not in list of cruised values stored in MobileMap Cruise > Plots > Measured Status Values (e.g., ‘Cruised,Checked') when tree list closes and 1 or more trees have been saved for the plot, the status dropdown will change to first value in Measured Status Values list (e.g., ‘Cruised'). If there are no trees when the tree list is closed, or the status is already in the Measured Status Values list (e.g., is ‘Checked’) then status dropdown value will not change. Note that plots could change from other values, like 'Archived’ or 'Deleted’ if these are not in the Measured Status Values list and the plot has trees saved. If this is an issue please contact us to discuss options.

  • Added new setting (MobileMap Cruise > Trees > Tree List Keyboard Offset) to fix issue in some devices where keyboard covers last few trees in the tree list (e.g., NAUTIZ X6). Default value is 0. Change to larger number to add that number of pixels to the bottom of the tree list and thus pad the bottom of the table. Units are pixels, try a values like 100 or 200 to being, then adjust as needed.

MobileMap 4.3.31 (10/16/2020)

  • Added setting to enable/disable automatically opening the Import Settings tool after after initializing/re-initializing a feature service when MobileMap settings are found in the feature service. This makes the automation of this tool opening configurable and was requested by a client that uses settings files for some users and settings saved on feature services for other users - they wanted the ability to turn this auto-open off for some users.

MobileMap 4.3.30 (10/6/2020)

  • Changed editFeatures call in AgsFeatureDataUpdater to use 'rollbackOnFailure=false'.  This will allow any successful edits to be applied even if some do not succeed.  When an operation does roll-back (default behavior), Portal instance do not send the features array that MobileMap expects.  Instead, they send a global response which MobileMap doesn't know how to handle (or didn't prior to this release).  This was causing duplicates to be created we believe.  If overriding the default with rollbackOnFailure=false, it should apply the edits that success, AND inform user on how many features failed and why, which should allow MobileMap to update the features that were successful to prevent them from being uploaded accidentally again (which can create duplicates).

  • Fixed bug that caused app to crash when settings list a text field as a data field.  Was attempting to parse text data as unix time stamp (long integer) and crashing when parse failed.

  • Improved error handling of failed uploads.  Now handles case where server does not return a 'features' array at all (e.g., backend database issues in Portal that cause the addFeatures or updateFeatures to completely fail).  On individual feature add/update failures, now only displays the OBJECTID error if the OBJECTID is known (e.g. failed to update an existing record) and added the error 'code' (previously only displayed the error description, which is sometimes blank)

  • Fixed bug with inheritance in trees and logs where re-opening tree or log list would overwrite previously stored attributes with the inherited value.  In heritance should be used to pre-populate tree/log values only on new records, or on existing records where the inherited field's attribute is currently null

  • Fixed bug that caused crash when GPS averaging set to 1 and user attempts to make a non-GPS spatial edit (e.g., tap/trace new point for plot location)

  • Fixed bug that displayed routing error on map load if last attempt to fetch a route (driving directions) failed (e.g. due to token error because user not signed in to AGOL)

  • Fixed bug with plot ratios that was rounding ratio to nearest integer (e.g. 2:5 was being treated as 1:2) and failing when the X component was greater than the Y component (e.g., 3:2)

MobileMap 4.3.29 (8/25/2020)

  • Changed default setting value for "Maximum Number of Tree Rows" from 20 to 50.

  • Clean-up of settings for consistent use of 'Field' vs. 'Field Name'

  • Export Cruise Data - enable export of layers when layer name contains a space (e.g., Sale Units) but tablename in export config has an underscore (Sale_Units)

  • Harvest - added additional messages for debugging Harvest to help user know when issues are caused by missing location or bearing data.

  • Fixed bug in Search functionality that caused search to crash when it encountered features with null data in the search field.  Now will skip those features (will not search them) but will search all features with non-null values.

  • Stand Summaries - improved error handling for scenarios where stand or plot size are not known.  Was crashing MM in these cases.  Now will inform user of relevant settings and data values required to calculate stand summary.

  • Default values for required numeric fields - improved handling by extending support for allowing default zero values for required numeric fields (typically ignored by MobileMap) to Tree List.  Also improved description of setting and removed obsolete setting.

  • InventoryManager - Tree List - Read only.  Added support to disable editing of trees (making them read-only) in both check cruise and standard mode.  Use case is an auditor that will use MM to review trees, but does not want to collect/edit trees.  Concept was not extended to Logs.  Needs more testing before it is ready for production use.

  • Added ability to disable GPS tracking UI.

  • Photos - improved renaming photos when existing photo (rather than new photo capture) is used.  Was renaming all files as JPG, including path info, etc.  Filenames of copied files are much cleaner now.  Fixed while prepping for IDL release 7.0 requirements, which include use of 3rd party drawing and photo mark-up tools to use as plot 'sketches'

MobileMap 4.3.28 (7/23/2020)

  • Fixed bug in Pennsylvania Game Commission version where deleting last row caused crash

  • Import settings workflow - defaulted import settings mode to feature service, rather than file, and automated process to open settings after import is complete (to prevent cases where import settings don't take effect until settings is opened)

  • Copy features - Added copy tool to tablet landscape mode (below 'Get Directions' button).  Works same as copy button on query results, but that UI isn't displayed when landscape on tablets.

  • MobileMap Harvest - Harvest UI cleanup - removed calibaration icon for tablet landscape and phone portrait modes (had previously removed from other layouts)

  • MobileMap Harvest - close Bluetooth connection to Harvest if user deliberately closes mobilemap.  Can't do this in onPause() or it will close when user opens Settings.

MobileMap 4.3.27 (7/9/2020)

  • Pennsylvania Game Commission version - set default status button as Live - by setting status in memory and color of button to white (with black text), the same behavior as that in the onclick handler

  • Date fields - fixed issue where re-editing a date prior to saving defaulted to previously saved date instead of current selected date

  • Read-only fields - fixed issue where some read-only fields were not showing with dark background/white text

  • Fixed issue in plot layout tool caused by parsing of short vs. long integers

  • MobileMap Harvest - added debugging toasts and new debugging setting in preferences

  • Get Directions - fixed SSL error caused by use of HTTP call to routing service

  • Import Settings - fixed wide buttons that caused issue with smaller screens like Nautiz

  • Username - added .trim() in uses of ArcGIS username to prevent issues with trailing spaces when users use autofill

MobileMap 4.3.26 (6/22/2020)

  • Fixed bug that caused crash in tree list if inheritedFieldsList, numericDefaultZeroFields, ignoreFieldsList, or columnWidths settings were not populated

MobileMap 4.3.25 (6/17/2020)

  • MobileMap Harvest - Harvest - fixed read interval to correctly read from settings and to reject messages from Harvest Unit until read interval exceeded.  Seems effective in reducing accitdental repeat button presses.  Increased list of available read intervals to 4 seconds.

  • Download base maps - added support for World Transportation, World Reference Overlay and World Hillshade map downloads

MobileMap 4.3.24 (5/3/2020)

  • Date fields - fixed issue where date fields with aliases no updating properly when new date selected with date picker (e.g., field name 'Cruise_Date' and alias is 'Cruise Date').  Now does comparison on field name even when 'use aliases' is selected in settings.

  • Dates - Added new 'Today' button to date picker to make it easy to choose today's date, rather than having to scroll through calendar.  Especially helpful when date previously set to zero through some data processing step, which translates to 12/31/1969.

  • Improved handling of range domains to make more consistent regardless of whether or not field is required.

  • Improved handling for read-only fields - No saves values for read-only fields, which supports cases where fields are set via default values, calculated fields, etc.  Previously skipped read-only fields and only saved values if already populated from previous collection/edit.

  • Plot Layout - added support for auto-populating Latitude and Longitude fields (if present) when performing plot layout.

  • Default values for required numeric fields - improved handling by extending support for allowing default zero values for required numeric fields (typically ignored by MobileMap) to Tree List.  

MobileMap 4.3.23 (4/29/2020)

  • Improved error message when Map Cache not selected and trying to export Cruise Data

  • Added support for 'Warning' rules to Logs table

  • Updates to Stand Summaries to fix issues with fixed area plot calculations

  • Search Results - added support for date formatting and Coded Value Domains when showing read-only search results (IDL had reported as bug)

  • Import Settings - Defaults - improved restore default settings tool to additionally retain ArcGIS Server Token URL and previously loaded settings (so they can be re-imported without having to re-initialize)

  • Added new setting to auto disable null tree fields when a business rule requires that field to be null based on other field Now is a setting and default is off, although users can enable it in Settings > MobileMap Cruise > Trees > automatically disable null tree fields when a business rules

  • Persistent  Edited Date (No Overwrite) - fixed bug with this new functionality


MobileMap 4.3.22 (3/13/2020)

  • Import Settings - restore defaults - enhanced restore defaults to exclude several important settings like license key, device code, user, pass, observer id, orientation.

  • Logs - added support for nulling out an existing value if the field is nullable.  Previously did not overwrite existing log attribute values even when text in cell was cleared

  • Logs - fixed bug that was causing log id field to be off by one if a log other than last log was deleted then a new log row was added

  • Missing Field Aliases - if use aliases is enabled, Attribute Editor will now default to the field name if a field is missing an alias

  • Custom Date Fields - Added new custom date field setting (Custom Edited Date (No Overwrite)) to support update of date on first save in MobileMap.  Use case was IDL SBI stand level cruise start date

  • Tree List - fixed bug in tree list caused by situation in which a field has a default AND is inherited.  The blank new line which is inserted was causing validation errors as MM saw it as having data (value present and did not match default), but it was being auto-populated by inheritance.  Created situation where tree list could not be closed.  Fixed issue for logs as well, but looks to grandparent because trees haven't been saved at time of log list opening.  Assumption is that log will typically inherit info from the plot if being used as download filter (e.g., forest, region, district, cruiser id, etc.)

MobileMap 4.3.21 (3/9/2020)

  • Updated settings and Actions, hide 'Features to Json', 'Reset Credentials' unless enabled in settings, hide 'Configure Bluetooth' when not using Harvest, updated test on 'About MobileMap' button (removed 'WSG'), reduced height of Sign In, Upload, Download buttons, hide 'Export Cruise Data' when forest inventory not enabled.

  • Hid download base map, get directions option in query results, directions icon in Map UI when using Portal

  • Extensive updates to stand summary to add new metrics, support variable and fixed plots using double sampling

  • Copy tool - removed restriction on multipart features in copy tool
    Added support for adding new vertexes at midpoint of existing line segments (for both lines and polygons)

  • Fixed typo in title of Plot Layout tool

  • Prevent crash when stand summaries launched and area or BAF (plot size) field not properly configured

  • Handle cases where no plots have status of measured, typically when settings not properly configured for the measured status (e.g., left at default of 'measured' when should be 'cruised,checked'

  • Fixed bug that was causing check cruise copy trees feature to duplicate all check cruise trees

  • Fixed bug that prevented close of tree list when displayed field had a default value AND was inheriting a value other than the default