Not the cleanest approach but this could work for us +1
Dealing with multiple mandates in a Citation
Many of you have asked how to determine if a Citation has multiple mandates, and how to hide additional mandates if you only want to display the first Citation and remove the duplicates.
We have a potential way of doing this much better than now.
HERE is the 2 minute video.
Vote if you like or dislike this approach. Add more comments if we need to refine it.
Please sign in to leave a comment.
Was there audio too? I couldn't hear anything. In general I like the idea of making it easier to suppress duplicate results as a basic usability improvement. I'm not sure I fully understood how the suggested approach would work for sorting, or making it easier to preserve visibility into multiple mappings when a compound citation is linked to more than one control. Again this is only based on what I saw in the video.
For sorting, if I consider it like I would for UCF Controls, then we're depicting how separate records relate to each other in a logical hierarchy. So the entire Citation record is sorted relative to other citations. Now we would be breaking that single citation record into its constituent mandates which individually need to be sorted relative to each other to maintain parity back to the original. But wouldn't they also need to be sorted together as a single citation object relative to other citations like they are today? Without multiple sort IDs, it seems like one operation could potentially interfere with the other.
Similarly, it wasn't immediately clear how the pointer reference field helps address the issue of maintaining visibility into mappings to multiple controls. In the example shown I wasn't expecting that the citation text would still be completely duplicated and then mapped to separate controls like it currently is. I was thinking there'd be a new master citation record with the full text, and then new citation "child" records for each separate mandate in that citation which use the new field to point up to their parent citation record. Perhaps the "parent" citation record would also contain a consolidated list of all the mappings to controls that each of the indiv mandate citation records has underneath it. But this was not the direction being proposed and would further deviate from principles that have guided UCF development to date.
In theory it's not difficult to de-dupe the citations table already, or at least identify that the same text exists in multiple records and logically conclude it contains multiple mandates. Would a separate field indicating a duplicate record make that process easier? Maybe. I could replace a recursive array operation with a logical test for "RelatedCitationField = NULL" to easily identify parent citations. But again, it's already possible to get there a couple different ways. So would this new approach be compelling enough to justify the effort of changing the architecture & API? What other problems would it solve?
Mason - to answer your larger question, the purpose of the new field is only to allow identifying citations with multiple mandates more easily without having to compare text fields. It doesn't affect sorting or any of the other citation data and doesn't change how the citation records should be used in any other way. If the data is put into a database, it allows retrieving single mandate citations by using a clause like 'WHERE pimary_citation_id IS NULL' or retrieving unique citations by using a 'GROUP BY primary_citation_id' clause. These things can currently be done with the data as is but require more processing on the client side so we'd like to make them easier to achieve.