Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Esri Reserved Field Names

In our experience, some field names are not allowed by Esri, at least when publishing data models as services using ArcGIS Online. While we do not know of a comprehensive list of ‘reserved’ field names we have found that following field names are not allowed:

  • Count (we recommend using Tally or Quantity instead)

  • Uniqueid (we recommend using Unique_ID instead)

  • Level (we recommend adding a prefix - e.g., Tree_Level)

Editor Tracking

MobileMap requires that ALL layers (Feature Classes and Feature Tables) have Editor Tracking enabled. MobileMap uses Editor Tracking fields (created_date, last_edited_date) to synchronize (upload/download) data to and from the Feature Service. We strongly recommend that you use the editor tracking fields that are auto-generated either by ArcMap or by the WSG data modeling python tool. Editor tracking should be enabled on each layer in the data model prior to publishing the Feature Service. If enabling Editor Tracking in ArcMap, right-click on the layer or table, select Manage, then click Enable Editor Tracking. This displays a message listing the fields that will be added to the dataset. More details can be found in Esri’s documentation here. We do not recommend enabling Editor Tracking after publishing your service to AGOL. While this is an option in AGOL, it will create Editor Tracking fields with different field names and will thus require non-default settings in MobileMap.

Cruise Data Model Requirements

There are a number of data model requirements that are specific to timber cruise:

Layers

For timber cruise, the general format format is:

  • Stands - Required polygon Feature Layer, symbolized using Status field.

  • Source_Stands - Optional polygon Feature Layer. Can be used as a lightweight polygon layer as a temporary destination when importing or copying stand polygons. Most or all fields should be optional (possible exceptions include Stand_ID).

  • Plots - Required point Feature Layer, symbolized using Status field.

  • Trees - Required business (attribute only, no spatial) table

    • For Coded Value Domains, the codes should only include capital letters and numbers. This is because MobileMap will convert the text entered (or selected when using popups) for Coded Value Domain fields to ALL CAPS then it will compare the modified value to the allowed codes. If the codes use lower case, they will not match.

      • Valid: C, CULL

      • Not valid: Cull, cull

  • Logs - Optional, business (attribute only, no spatial) table. Used for recording defect, product or grade by log

    • For Coded Value Domains, the codes should only include capital letters and numbers. This is because MobileMap will convert the text entered (or selected when using popups) for Coded Value Domain fields to ALL CAPS then it will compare the modified value to the allowed codes. If the codes use lower case, they will not match.

      • Valid: C, CULL

      • Not valid: Cull, cull

Business Logic Data Model Requirements

Layers

MobileMap data models should include the following business logic tables:

...

Rules - Required business (attribute only, no spatial) table. Used for recording business rules for in-field validation (e.g. if this then that). See InventoryManager: Validation Rules And Related Domains for more information.

...

Check_Rules - Optional business (attribute only, no spatial) table. Used for recording check cruise scoring business rules including the deduction applied when rule is violated. See InventoryManager: Check Cruise Rules for more information.

...

Certain words such as COUNT, COMMENT, and UPDATE are Esri reserved words and should not be used for identifiers such as Table, Feature Class and Column names.

For geodatabases there are a limited number (27) of reserved words. Attempting to use a reserved word as a table name will return an error that the table (or feature class) name is invalid. Using a reserved word as a column name will return an error indicating that the column name is invalid.

For ArcGIS Online and ArcGIS Enterprise there are a much higher number (287) of reserved words due to the inclusion of SQL database-reserved keywords. These SQL database-reserved keywords should not be used for feature service Field and Table names. Using these words may result in unexpected behavior during web-based workflows such as syncing or exporting. 

For a complete list of reserved words see the list at the bottom of this page, or consult the Esri documents where these are listed. Note that the ArcGIS Online and ArcGIS Enterprise is exhaustive - it includes all keywords that apply to File Geodatabases:

https://support.esri.com/en-us/knowledge-base/faq-arcgis-online-and-portal-database-reserved-keywords-000030807

https://support.esri.com/en-us/knowledge-base/faq-what-are-the-reserved-words-for-esris-file-geodatab-000010906

Editor Tracking

MobileMap requires that ALL layers (Feature Classes and Feature Tables) have Editor Tracking enabled. MobileMap uses Editor Tracking fields (created_date, last_edited_date) to synchronize (upload/download) data to and from the Feature Service. We strongly recommend that you use the editor tracking fields that are auto-generated either by ArcMap or by the WSG data modeling python tool. Editor tracking should be enabled on each layer in the data model prior to publishing the Feature Service. If enabling Editor Tracking in ArcMap, right-click on the layer or table, select Manage, then click Enable Editor Tracking. This displays a message listing the fields that will be added to the dataset. More details can be found in Esri’s documentation here. We do not recommend enabling Editor Tracking after publishing your service to AGOL. While this is an option in AGOL, it will create Editor Tracking fields with different field names and will thus require non-default settings in MobileMap.

Cruise Data Model Requirements

There are a number of data model requirements that are specific to timber cruise:

Layers

For timber cruise, the general format format is:

  • Stands - Required polygon Feature Layer, symbolized using Status field.

  • Source_Stands - Optional polygon Feature Layer. Can be used as a lightweight polygon layer as a temporary destination when importing or copying stand polygons. Most or all fields should be optional (possible exceptions include Stand_ID).

  • Plots - Required point Feature Layer, symbolized using Status field.

  • Trees - Required business (attribute only, no spatial) table

    • For Coded Value Domains, the codes should only include capital letters and numbers. This is because MobileMap will convert the text entered (or selected when using popups) for Coded Value Domain fields to ALL CAPS then it will compare the modified value to the allowed codes. If the codes use lower case, they will not match.

      • Valid: C, CULL

      • Not valid: Cull, cull

  • Logs - Optional, business (attribute only, no spatial) table. Used for recording attribute fields (that utilize defect, product or grade by log

    • For Coded Value Domains

    ) whose values are restricted based on the selection in another attribute field (that utilizes Coded Value Domains). See InventoryManager: Validation Rules And Related Domains for more information.

Starting at MobileMap 4.4.14 the data model has been extended to include the following additional tables:

  • Field_Specs - Optional
    • , the codes should only include capital letters and numbers. This is because MobileMap will convert the text entered (or selected when using popups) for Coded Value Domain fields to ALL CAPS then it will compare the modified value to the allowed codes. If the codes use lower case, they will not match.

      • Valid: C, CULL

      • Not valid: Cull, cull

Business Logic Data Model Requirements

Layers

MobileMap data models should include the following business logic tables:

  • Rules - Required business (attribute only, no spatial) table. Used for recording field specs (AKA cruise specs) for clients that intend to use a single data model but will need to apply different business rules or settings according to field spec.Settings- Optional business rules for in-field validation (e.g. if this then that). See InventoryManager: Validation Rules And Related Domains for more information.

  • Check_Rules - Optional business (attribute only, no spatial) table. Used for recording check cruise scoring business rules including the deduction applied when rule is violated. See InventoryManager: Check Cruise Rules for more information.

  • Related_Domains - Required business (attribute only, no spatial) table. Used for recording specific MobileMap settings that are associated with specific field specs.

Generic Data Model Requirements

Layers

MobileMap data models can optionally include additional feature layers. Examples include feature layers for recording roads, gates, culverts and other GIS data that may be needed for data collection, editing or even just reference in the field. Recommended layers include the following feature layers:

  • Generic Points - Optional point Feature Layer used for recording any point features in the field (e.g., gates, culverts, hazards, etc.

  • Generic Lines - Optional line attribute fields (that utilize Coded Value Domains) whose values are restricted based on the selection in another attribute field (that utilizes Coded Value Domains). See InventoryManager: Validation Rules And Related Domains for more information.

Starting at MobileMap 4.4.14 the data model has been extended to include the following additional tables:

  • Field_Specs - Optional business (attribute only, no spatial) table. Used for recording field specs (AKA cruise specs) for clients that intend to use a single data model but will need to apply different business rules or settings according to field spec.

  • Settings- Optional business (attribute only, no spatial) table. Used for recording specific MobileMap settings that are associated with specific field specs.

Generic Data Model Requirements

Layers

MobileMap data models can optionally include additional feature layers. Examples include feature layers for recording roads, gates, culverts and other GIS data that may be needed for data collection, editing or even just reference in the field. Recommended layers include the following feature layers:

  • Generic Points - Optional point Feature Layer used for recording any line point features in the field (e.g., streams, gates, culverts, hazards, etc.

  • Generic Lines - Optional line Feature Layer used for recording any line features in the field (e.g., streams, harvest boundaries, proposed stand split boundaries, roads, trails, etc.

  • Generic Polygons - Optional polygon Feature Layer used for recording any polygon features in the field (e.g., landings, riparian areas, proposed harvest polygons, etc.

...

  1. Round Trip 1 Test

    1. User 1 uses InventoryManager to import a Stand boundary from a Shapefile, Source_Stands feature, or heads-up digitize a new polygon directly into the Stands layer. When creating the feature, user verifies that all required fields are actually required (can’t be null), that all dropdowns include the correct list of allowed values, that range domains enforce min/max values for relevant fields, etc.

    2. User 1 creates plots within the Stand created above and verifies required fields, allowed values, min/max values, etc.

    3. User 1 downloads Stands/Plots to MobileMap and verifies symbology and ability to search on relevant fields.

    4. User 1 simulates field data collection of Trees (and Logs where relevant) by opening at least 2 plots and collecting at least 5 trees per plot (and an appropriate number of logs, if relevant). When editing Plots and collecting Trees/Logs, user verifies required fields, allowed values, min/max values, etc.

    5. User 1 uploads data from MobileMap and verifies that there are no upload errors

    6. User 1 reviews data in InventoryManager to verify that Plot status and symbology are correct, that all Trees/Logs are present, that data values match what was entered in MobileMap

    7. User 1 uses InventoryManager to create 1 or more new trees, edit 1 or more existing trees and deletes 1 or more trees. If relevant, they do the same for Logs.

    8. User 1 uses the appropriate export workflow to export data as Excel, TCruise, FVS or other format and then uses their typical analysis workflow to verify results are as expected. The goal of this final step is to verify that test data collected in step 1d above are 100% valid and can support the entire data lifecycle through the final analysis step(s).

  2. Round Trip 2 Test

    1. User 1 repeats steps 1a - 1b above for a new stand

    2. After downloading to MobileMap, user 1 makes one or more changes to Stand/Plots in InventoryManager and then re-downloads to verify that MobileMap receives the updates. Note that MobileMap will NOT download ‘deletes’

    3. User 1 repeats steps 1c - 1g above to verify that edits made after the initial MobileMap download doesn’t have any negative impact on the workflow

  3. Multiple Users Test

    1. User 1 repeats steps 1a - 1b above for a new stand

    2. User 2 completes steps 1c - 1d above

    3. Both user 1 and 2 complete step 1f - 1g above to verify that multiple users interacting with the data doesn’t have any negative impact on the workflow

Related Articles:

...

https://masonbruce.atlassian.net/wiki/spaces/MD/pages/33180

...

https://masonbruce.atlassian.net/wiki/spaces/MD/pages/582746118

...

  1. Users Test

    1. User 1 repeats steps 1a - 1b above for a new stand

    2. User 2 completes steps 1c - 1d above

    3. Both user 1 and 2 complete step 1f - 1g above to verify that multiple users interacting with the data doesn’t have any negative impact on the workflow

Related Articles:

ArcGIS Reserved Words List

The list below was created 8/14/2023 based on the following Esri documents:

https://support.esri.com/en-us/knowledge-base/faq-what-are-the-reserved-words-for-esris-file-geodatab-000010906

https://support.esri.com/en-us/knowledge-base/faq-arcgis-online-and-portal-database-reserved-keywords-000030807

File Geodatabase

ArcGIS Online/Portal

ABSOLUTE

X

ACCESS

X

ACTION

X

ADD

X

X

ALL

X

ALLOCATE

X

ALPHANUMERIC

X

ALTER

X

X

And

X

X

ANY

X

ARE

X

AS

X

ASC

X

ASSERTION

X

AT

X

AUTHORIZATION

X

AUTOINCREMENT

X

AVG

X

BEGIN

X

Between

X

X

BINARY

X

BIT

X

BIT_LENGTH

X

BOOLEAN

X

BOTH

X

BY

X

X

BYTE

X

CASCADE

X

CASCADED

X

CASE

X

CAST

X

CATALOG

X

CHAR

X

CHAR_LENGTH

X

CHARACTER

X

CHARACTER_LENGTH

X

CHECK

X

CLOSE

X

COALESCE

X

COLLATE

X

COLLATION

X

COLUMN

X

X

COMMENT

X

COMMIT

X

CONNECT

X

CONNECTION

X

CONSTRAINT

X

CONSTRAINTS

X

CONTINUE

X

CONVERT

X

CORRESPONDING

X

COUNT

X

COUNTER

X

CREATE

X

X

CROSS

X

CURRENCY

X

CURRENT

X

CURRENT_DATE

X

CURRENT_TIME

X

CURRENT_TIMESTAMP

X

CURRENT_USER

X

CURSOR

X

DATABASE

X

DATE

X

DATETIME

X

DAY

X

DEALLOCATE

X

DEC

X

DECIMAL

X

DECLARE

X

DEFAULT

X

DEFERRABLE

X

DEFERRED

X

DELETE

X

X

DESC

X

DESCRIBE

X

DESCRIPTOR

X

DIAGNOSTICS

X

DISCONNECT

X

DISALLOW

X

DISTINCT

X

DISTINCTROW

X

DOMAIN

X

DOUBLE

X

DROP

X

X

EQV

X

ELSE

X

END

X

END-EXEC

X

ESCAPE

X

EXCEPT

X

EXCEPTION

X

EXEC

X

EXECUTE

X

EXISTS

X

X

EXTERNAL

X

EXTRACT

X

FALSE

X

FETCH

X

FIRST

X

FLOAT

X

FLOAT4

X

FLOAT8

X

FOR

X

X

FOREIGN

X

FOUND

X

FROM

X

X

FULL

X

GENERAL

X

GET

X

GLOBAL

X

GO

X

GOTO

X

GRANT

X

GROUP

X

GUID

X

HAVING

X

HOUR

X

IDENTITY

X

IEEEDOUBLE

X

IEEESINGLE

X

IGNORE

X

IMMEDIATE

X

IMAGE

X

IN

X

X

IMP

X

INDEX

X

INDICATOR

X

INITIALLY

X

INNER

X

INPUT

X

INSENSITIVE

X

INSERT

X

X

INT

X

INTEGER

X

INTEGER4

X

INTEGER1

X

INTEGER2

X

INTERSECT

X

INTERVAL

X

INTO

X

X

IS

X

X

ISOLATION

X

JOIN

X

KEY

X

LANGUAGE

X

LAST

X

LEADING

X

LEFT

X

LEVEL

X

LIKE

X

X

LOCAL

X

LOCK

X

LOGICAL

X

LOGICAL1

X

LONG

X

LONGBINARY

X

LONGTEXT

X

LOWER

X

MATCH

X

MAX

X

MEMO

X

MIN

X

MINUTE

X

MODULE

X

MONTH

X

MOD

X

MONEY

X

NAMES

X

NATIONAL

X

NATURAL

X

NCHAR

X

NEXT

X

NO

X

NOT

X

X

NULL

X

X

NULLIF

X

NUMBER

X

NUMERIC

X

OCTET_LENGTH

X

OF

X

OFF

X

OLEOBJECT

X

ON

X

ONLY

X

OPEN

X

OPTION

X

OR

X

X

ORDER

X

X

OUTER

X

OUTPUT

X

OWNERACCESS

X

OVERLAPS

X

PAD

X

PARTIAL

X

PARAMETERS

X

PERCENT

X

PIVOT

X

POSITION

X

PRECISION

X

PREPARE

X

PRESERVE

X

PRIMARY

X

PRIOR

X

PRIVILEGES

X

PROCEDURE

X

PUBLIC

X

READ

X

REAL

X

REFERENCES

X

RELATIVE

X

RESTRICT

X

REVOKE

X

RIGHT

X

ROLLBACK

X

ROWID

X

ROWS

X

SCHEMA

X

SCROLL

X

SECOND

X

SECTION

X

SELECT

X

X

SESSION

X

SESSION_USER

X

SET

X

X

SHORT

X

SINGLE

X

SIZE

X

SMALLINT

X

SOME

X

SPACE

X

SQL

X

SQLCODE

X

SQLERROR

X

SQLSTATE

X

STDev

X

STDEVP

X

STRING

X

SUBTYPE

X

SUBSTRING

X

SUM

X

SYSTEM_USER

X

TABLE

X

X

TABLEID

X

TEMPORARY

X

TEXT

X

THEN

X

TIME

X

TIMESTAMP

X

TIMEZONE_HOUR

X

TIMEZONE_MINUTE

X

TO

X

TOP

X

TRAILING

X

TRANSACTION

X

TRANSFORM

X

TRANSLATE

X

TRANSLATION

X

TRIM

X

TRUE

X

TYPE

X

UNION

X

UNIQUE

X

UNKNOWN

X

UPDATE

X

X

UPPER

X

USAGE

X

USER

X

USING

X

VALUE

X

VALUES

X

X

VAR

X

VARCHAR

X

VARBINARY

X

VARP

X

VARYING

X

VIEW

X

WHEN

X

WHENEVER

X

WHERE

X

X

WITH

X

WORK

X

WRITE

X

XOR

X

YEAR

X

YESNO

X

ZONE

X