Cross Check Engine: Difference between revisions

m Text replacement - "cross checks" to "cross checks"
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
This are just some notes re how I might re-write how [[CCMDB.accdb]] runs the cross checks.  
This are just some notes re how I might re-write how [[CCMDB.accdb]] runs the [[cross check]]s. It is a long-term goal to do this, but it’s not trivial to implement and would require re-building the way we do cross-checks, which would take several days and likely lead to other disruptions.
 
See also [[Problems related to event timing of data consistency checks]] and [[CCMDB.accdb flickers or flashes]].


=== Definition/Data structure ===
=== Definition/Data structure ===
Line 5: Line 7:
** fields: Error msg string, wiki URL, query name, soft/hard check, complete/incomplete, start_DtTm, end_DtTm
** fields: Error msg string, wiki URL, query name, soft/hard check, complete/incomplete, start_DtTm, end_DtTm
* table CCE_Fields
* table CCE_Fields
** fields: field name, associated checkbox (can there ever be more than one?), tmpField (YN) (Need to be able to do cross checks on tmp entries, but they need to work totally differenty in terms of how they are triggered)
** fields: database field name, form field name, associated checkbox (can there ever be more than one?), tmpField (YN) (Need to be able to do [[cross check]]s on tmp entries, but they need to work totally differenty in terms of how they are triggered)
* table CCE_FieldChecks
* table CCE_FieldChecks
** relates CCE_Fields to CCE_CrossChecks
** relates CCE_Fields to CCE_CrossChecks
Line 32: Line 34:
* Is it possible to leave that window open and let the user figure out the problem? OR does it need to close? I think turning it not modal would allow moving back and forth.  
* Is it possible to leave that window open and let the user figure out the problem? OR does it need to close? I think turning it not modal would allow moving back and forth.  
** If it stays open, what should happen if the user edits a field or checks a checkbox while still open? No good answer, so should stay modal.
** If it stays open, what should happen if the user edits a field or checks a checkbox while still open? No good answer, so should stay modal.


=== Other thoughts ===
=== Other thoughts ===
Line 40: Line 41:


* Is complete vs incomplete the right way to think of this? A field may not be mandatory to enter early at all, but once it's triggered by a field edit, shouldn't it be correct? I suppose it might not be if a check looks at two fields... but that is also a different issue that would always crop up when checking based on fields. And it would mean a field triggered check doesn't even make sense for anything other than incomplete fields? So maybe there needs to be a "profile closing" trigger that checks incomplete records, and no field trigger at all?
* Is complete vs incomplete the right way to think of this? A field may not be mandatory to enter early at all, but once it's triggered by a field edit, shouldn't it be correct? I suppose it might not be if a check looks at two fields... but that is also a different issue that would always crop up when checking based on fields. And it would mean a field triggered check doesn't even make sense for anything other than incomplete fields? So maybe there needs to be a "profile closing" trigger that checks incomplete records, and no field trigger at all?
{{Todo
| who = Tina
| todo_added = 2022-04-27
| todo_action = 2022-04-27
| question =  _dev_CCMDB
* implement better cross-check triggering }}