Utility Network & Eventing - required at all?

792
8
Jump to solution
08-23-2023 08:36 AM
BillBott
Occasional Contributor
0 Kudos
1 Solution

Accepted Solutions
MikeMillerGIS
Esri Frequent Contributor

Yes, in default.  The database updates the most recent row in the branch version table.  Since this is default, there is always the a row.  So the database updates the value, without inserting a new row.  This is one example of an update, insert, delete in branch versioning which does not insert a new row.  

This is different than in a version.  In a version, only records that have been edited, have a row with that version ID in the branch versioning table.  So without eventing, only those rows can have a direct write to update that subnetwork name as all the other rows that might be change do not exist as rows with that branch version ID, they only exist in default. 

 

View solution in original post

0 Kudos
8 Replies
RobertKrisher
Esri Regular Contributor

So many questions! All configurations are valid, and how you have this configured depends on your requirements. Updating subnetworks without eventing is more performant, but doesn't trigger geodatabase events like editor tracking and attribute rules. The reason why this is the default in the tools is because this was the original behavior that was implemented in the utility network, and the second mode was added later.

When updating subnetworks in a named version without eventing there is the additional restriction of only being able to update subnetwork information for features that have already been modified in the version.

0 Kudos
BillBott
Occasional Contributor

Yes, lots of questions. Thanks for taking a stab at it @RobertKrisher !

From the subnetwork definition documentation: eventing OFF(False)  on DEFAULT the "propagated values and subnetwork definition will be edited in place"

(1) Does this mean with it Eventing ON(True) in default they won't be edited in place? Or...is the behavior the same regardless of the setting for DEFAULT?

The Pro documentation on the subject is less ambiguous, "all features and objects are updated" when "using this option"

(2) Which option? Without Eventing = False? Again, what about Without Eventing = True? What happens then? Does it even matter?

I thought I understood this topic but the more I look at it, the less I do...perhaps looking at it too long lol.

 

 

0 Kudos
RobertKrisher
Esri Regular Contributor

With eventing turned on the edits will take place using the normal editing contracts of the geodatabase (editor tracking, attribute rules, etc). With editing turned off, those behaviors are not triggered.

You haven't provided a link or full context for your second question so its difficult for me to answer. But it sounds like you're struggling to understand the difference between behaviors when performing update subnetwork in a version. If this is the case, I refer you to my statement above (which should be consistent with the online help) Only features that have been modified in the version will have their subnetwork information updated when running update subnetwork in a version with eventing disabled.

0 Kudos
BillBott
Occasional Contributor

Only features that have been modified in the version will have their subnetwork information updated when running update subnetwork in a version with eventing disabled.


But this is inconsistent with the documentation which says

When using this option (Without Eventing) with the default version, all features and objects in the subnetwork are updated. 

 

0 Kudos
MikeMillerGIS
Esri Frequent Contributor

Yes, in default.  The database updates the most recent row in the branch version table.  Since this is default, there is always the a row.  So the database updates the value, without inserting a new row.  This is one example of an update, insert, delete in branch versioning which does not insert a new row.  

This is different than in a version.  In a version, only records that have been edited, have a row with that version ID in the branch versioning table.  So without eventing, only those rows can have a direct write to update that subnetwork name as all the other rows that might be change do not exist as rows with that branch version ID, they only exist in default. 

 

0 Kudos
BillBott
Occasional Contributor

Thanks @MikeMiller , that makes sense. Question is, what does Eventing do if it's OFF in default?

Direct writes to existing rows make sense - but eventing is responsible for more than which rows are updated or created, documentation states it is used for things like Editor Tracking, Attribute Rules, and Related Feature Annotation among other things.

 

Hence, turning this off - does this turn "off" this functionality - even in default?

 

0 Kudos
MikeMillerGIS
Esri Frequent Contributor

I would need to check to see if eventing in default adds a new row for the update vs a direct write.  But eventing definitely triggers the AO events, like Attribute Rules where eventing off does not.

0 Kudos
BillBott
Occasional Contributor

Yes, the nature of my question is if it is "ON" in named version, does it need to be "ON" in default? For efficiency reasons, of course. 

0 Kudos