The Lucity Editing extension is designed to update Lucity with any edits made or new features added to related feature classes. It automatically starts when an Edit Session is started in ArcMap and runs in the background. It automatically tracks new features, and attribute changes. When the ArcMap edit session is saved the changes that the extension has tracked are synced into the Lucity Databases and become permanent. There are situations where it is required that uses use Lucity provided tools to make edits. These situations have to do with Alt ID fields being changed, features being deleted, etc...
Rules for Editing
Even with a custom geodatabase integration, there are still some standard business rules that must be followed to meet Lucity requirements. The extension must follow the same rules that Lucity follows when adding and editing records. It is not required for all data in the geodatabase to follow these rules; Lucity places no restrictions on data in the geodatabase. However, only those features that meet the requirements will propagate to the Lucity databases and will be accessible in the desktop inventory modules.
Every feature must have a unique text identifier. This is defined as the "Feature Class Common Link Field 1" in the Custom Geodatabase configuration.
This identifier is used to link the feature to a Lucity asset. Without this identifier Lucity cannot create a new record, or link a feature to an existing record.
All Required fields in Lucity inventory modules must be linked to a field in the geodatabase and that field must have.
Some Fields are hardwired as required in the Lucity program. This are highlighted during the geodatabase configuration.
Editing Process
Startup
ArcMap Edit Session starts
The Lucity editor extension checks to see:
If the edit workspace (geodatabase) is linked to Lucity.
If the geodatabase version being edited is configured to update Lucity.
If there is at least one feature class in the map, in the current edit workspace (geodatabase) that is linked to Lucity
If all three criteria are true then the "For this edit session Lucity will be updated upon saving edits" prompt will appear.
The Lucity extension will then pay attention to OnChange, OnCreate, and OnDelete editor events.
During Editing
During Editing the Editor extension follows these rules for general attribute edits, new features, and deleted features:
Types of Syncs
New Feature Sync
The New GIS feature's attributes are all pushed into the Lucity Database. This includes any fields that were automatically updated in the GIS when the editor extension checked to see if this new feature would be linked to an existing feature in Lucity. The Rec# in Lucity is sent back to update the LucityID field for the feature.
Existing Feature Sync
The GIS feature's attributes are all pushed into the Lucity Database. They overwrite all linked fields for the related feature. (NULL fields in the GIS do NOT overwrite non-Null fields in Lucity).
Delete Feature
The feature is deleted out of Lucity as it has already been deleted out of ArcMap.
* This step occurs when the ArcMap Edit Session is saved.
**When a Facility ID is set (for a new feature) or changed (for an existing feature) the following processes are automatically run.
GIS Attributes that are Null or Empty are updated from Lucity IF there is a already a related record in Lucity
Spatial Relationships are updated
Important Field Names
There are several fields that are important to the Lucity sync process. Sometimes these fields are refered to using different names depending on what is being discussed, and an agencies naming schema.
Alt ID
(Found in Lucity)
This is primary user defined ID field for most modules within Lucity. It is a required text field that must provide each record with a unique identifier.
Also called: Alt ID, Common ID, Common Link, Asset Number
Facility ID
(Found in Geodatabase)
This is primary user defined ID field for feature classes, and is the Esri equivalent to Lucity's Alt ID. The Facility IDis used in the Esri Local Government Information Model schema, and in the Lucity GIS Data Schema.
Also called: Whatever the Agency named the field in their custom geodatabase.
Rec #
(Found in Lucity)
This is the database assigned ID for every record stored within the Lucity Database. It is automatically generated when the user creates a new record in Lucity and cannot be changed.
Also called: Lucity Auto ID
Lucity ID
(found in Geodatabase)
This is a field in the geodatabase that stores the Rec # for each feature in Lucity. If this field is configured with Lucity it is automatically populated in the geodatabase when a feature is created and synced to Lucity.
Also called: LucityLink, gbaMSLink, Lucity Auto ID
Special Situations
General Editing
If the Facility ID = 0 the edit extension will ignore the feature and will not sync it to Lucity.
If the shape/position of a feature is changed the Spatial Relationships are updated.
If the shape/position of a feature is changed the x/y fields in Lucity are updated.
If the shape/position of a feature is changed the Length and Area fields are updated for feature classes that are configured to have them updated.
Transportation Modules
If editing intersections lock is turned ON, the street names and the intersection diagram will be automatically updated.
Editing a street segment updates the Segments tab on all related structures in the structures module.
Editing street segments updates the to and from street name fields on related streets.
If the record is not locked, the total pavement area in Lucity will be updated
Editing a street segment updates the to and from Node IDs
If a the Lucity field XX_SN_ID exists and is populated, the street fields are updated.