I just can't find much data about data validation using the Error Inspector or the web.
I have created two Arcade Validation rules that run the same check. One is created using "Ready to Use Rules" (I.E. Data Reviewer) and the other in straight Arcade. The rule checks for appropriate Height and Width values in a Pipes (simple line) feature class.
In our database if a pipe is "CIRCULAR" we only populate the "Height" field (the "Width" field is "0")...so simple test of validation rules...
Arcade
Data Reviewer
I deliberately edit two pipes in my map extent to violate the rule. When I "Evaluate Rules" in the Error Inspector both rules correctly report the two pipes that violate them.
Here's where it gets weird, when I fix the errors and run the Error Inspector again, the rule based on the straight Arcade code does not produce an error (as I would expect), but the rule created using "Ready to Use Rules" (Data Reviewer) keeps reporting that the two pipes are errors (even though they are not). In the Error Inspector I cannot select the two violation records and set them as resolved, my only option is "Exception", but they are not exceptions! They have been fixed. I want to use the "Ready to Use Rules" because esri suggests they are optimized for ArcGIS Pro (the environment we are editing in) but if I can't figure out how to make resolved errors stop appearing in the list, or at least show them as resolved, I might have to write them all in Arcade. Any advise would be appreciated.
I edit two pipes to break this rule and they are flagged as errors correctly. I fix them and they are still flagged as errors...
Thank you for reading.
Solved! Go to Solution.
@KimGarbade wrote:A few more questions. Validation rules written in pure Arcade can co-exist in the same database schema with Built in Attribute Rules (I.E. we have both types stored in a feature class at one time) but is this a supported configuration? Should all the rules be either pure Arcade OR Built-In and not mixed?
Arcade and Data Reviewer-based validation attribute rules can co-exist in the same feature class/stand-alone table. This will likely be a fairly common occurrence for those organizations that have a need to create a custom rule implementation.
@KimGarbade wrote:2) Is it expected behavior that when you use pure Arcade validation rules, when the error is fixed by a reviewer, that the error is deleted from the Error Layers (I.E. the "VALIDATIONLINEERRROS" table)?
Errors created using Arcade-based validation rules are removed once the error condition has been resolved. Here is a link to the documentation that describes this workflow.
Errors created using Reviewer-based validation rules are not immediately removed once the error condition has been resolved. Instead, the error is updated to reflect the current phase/status and tracking info (CorrectionNotes, CorrectionTechnician, VerificationNotes, VerificationTechnician). Here is a link to the documentation for reference.
@KimGarbade Can you verify the current Phase/Status information of these error results?
You can add the phase/status columns to the Error Inspector by doing the following:
Reviewer-created errors have a slightly different life cycle than those created using Arcade.
Thanks for the feedback!
@JayCary Thank you for getting back to me.
The status information you requested is below:
Can you please advise how I can set them to "Resolved" from this point? Is there a workflow document you could point me to online that would walk me through using the Error Inspector to Resolve errors?
@KimGarbadeThe phase and status values should be automatically updated to Verified/Acceptable once the error condition no longer exists. What version of ArcGIS Pro/ArcGIS Enterprise (for services-based workflow) are you using?
For troubleshooting purposes, I would suggest disabling (or deleting) the Arcade-based validation rule that tests for the same error condition and then re-run the evaluation. Before evaluating the feature, please verify that the feature's VALIDATIONSTATUS field value is either 2 (No calculation required, validation required, no error) or 6 (Calculation required, validation required, no error). Otherwise, the feature is skipped during evaluation.
Thanks in advance for the feedback
Hi @JayCary
We are using ArcGIS Pro 2.8.5 and ArcGIS Enterprise 10.8.1 and SQL Server 2019
Some more info on my Map Service if it helps.
The two features I break on purpose both flag as errors with "validation required"
I fix the error....
And the pipes still flag as errors, only this time with "no validation required, has errors."
My very simple rule is supposed to check that: if a pipe's "Profile" is set to "CIRCULAR" that its Width is set to "0" (we only store dimension data in the Height field for a circular pipe, width should be 0).
The built in validation rule finds the pipes when I edit them to break the rule, but not when I update the pipe to fix the problem... maybe it is a problem with my Built In Rule's logic:
Another mystery is that if I view the "VALIDATIONLINEERRORS" table by opening the Line Errors table in ArcGIS Pro the "Last Update" date is set to 2/18/22 even though I last edited the feature class being checked today and I last ran the Error Inspector today (2/23/22).
Its almost as if those records are "stuck" in the table.
Thank you for your time and patience.
...
@Anonymous UserSee my feedback on this behavior here.
Hi @KimGarbade Thanks-much for providing the details on your deployment.
This sounds similar to a bug that the team found that was specific to errors created when using the Query Attributes check in a services-based workflow (it could not be reproduced in a FGDB). The phase and status columns of the error features were not being updated once the error condition was resolved. The bug was fixed in the ArcGIS Pro 2.9/ArcGIS Enterprise 10.9.1 release.
I guess we need to upgrade our enterprise to 10.9.1.
We are only running Pro 2.8.5 because 2.9.1 was not working with Workflow Manager Server because our enterprise was at 10.8.1... that was also a bug, so maybe the only overall solution is 2.9.1 paired with 10.9.1.
A few more questions. Validation rules written in pure Arcade can co-exist in the same database schema with Built in Attribute Rules (I.E. we have both types stored in a feature class at one time) but is this a supported configuration? Should all the rules be either pure Arcade OR Built-In and not mixed?
2) Is it expected behavior that when you use pure Arcade validation rules, when the error is fixed by a reviewer, that the error is deleted from the Error Layers (I.E. the "VALIDATIONLINEERRROS" table)?
@KimGarbade wrote:A few more questions. Validation rules written in pure Arcade can co-exist in the same database schema with Built in Attribute Rules (I.E. we have both types stored in a feature class at one time) but is this a supported configuration? Should all the rules be either pure Arcade OR Built-In and not mixed?
Arcade and Data Reviewer-based validation attribute rules can co-exist in the same feature class/stand-alone table. This will likely be a fairly common occurrence for those organizations that have a need to create a custom rule implementation.
@KimGarbade wrote:2) Is it expected behavior that when you use pure Arcade validation rules, when the error is fixed by a reviewer, that the error is deleted from the Error Layers (I.E. the "VALIDATIONLINEERRROS" table)?
Errors created using Arcade-based validation rules are removed once the error condition has been resolved. Here is a link to the documentation that describes this workflow.
Errors created using Reviewer-based validation rules are not immediately removed once the error condition has been resolved. Instead, the error is updated to reflect the current phase/status and tracking info (CorrectionNotes, CorrectionTechnician, VerificationNotes, VerificationTechnician). Here is a link to the documentation for reference.