Conversion of Desktop Comment/CommentReview Data to Communications Conversations
With the J1 2021.2 release, Jenzabar transitioned the previous Comment and CommentReview data into the new J1 Web Communications Management Conversations data model. This update streamlined the data into a unified model and code base.
To maintain backward compatibility, the Comment and CommentReview tables were replaced with views of the same name, incorporating special triggers to support insert, update, and delete operations. These views and triggers enable seamless use of existing Desktop code without requiring modifications.
Comment Data Model

Conversation Data Model

Data Conversion Details
The following sections and charts provide details of the specific data conversions performed by the 2021.2 DSU to move the Comment/CommentReview data to the appropriate Conversation tables.
Comment > Conversation
A Comment is not a 1-to-1 conversion to a Conversation. There may be multiple Comment rows for the same parent GOID (the entity that the Comment is about). The distinct GOID creates the Conversation row.
Comment Column | Conversation Column |
---|---|
Auto generated from ConversationSeq | AppID |
GOID (Distinct) | ReferenceGOID |
CommentTimestamp (min for GOID) | StartDateTimeOffset |
ChangeUser | ChangeUser |
ChangeJob | ChangeJob |
ChangeTime | ChangeTime |
Comment > ConversationComment
Each Comment row creates a ConversationComment row, with a link to the parent Conversation. The GOID in the Conversation is new, and not the same GOID as the GOID in the Conversation row.
Comment Column | ConversationComment Column |
---|---|
Auto generated from ConversationCommentSeq | AppID |
Conversation.AppID | ConversationAppID |
SECURITY_OWNER_ID translated to Party.AppID | ByConversationPartyAppID |
CommentText | ConversationContent |
New - Generated | GOID |
CommentTimestamp | PostedDateTimeOffset |
ChangeUser | ChangeUser |
ChangeJob | ChangeJob |
ChangeTime | ChangeTime |
Comment > ConversationParty
Each person that has received or commented on a Comment is created as a ConversationParty row, which is linked to the parent Conversation.
Comment Column | ConversationComment Column |
---|---|
Auto generated from ConversationPartySeq | AppID |
Conversation.AppID | ConversationAppID |
SECURITY_OWNER_ID translated to Party.AppID | PartyAppID |
ConversationComment.AppID | StartingConversationCommentAppID |
ChangeUser | ChangeUser |
ChangeJob | ChangeJob |
ChangeTime | ChangeTime |
CommentReview > ConversationReadPartyStatus
Each CommentReview row is converted to a ConversationPartyReadStatus row, which is linked to a ConversationComment row.
Comment Column | ConversationComment Column |
---|---|
Auto generated from ConversationCommentReadStatusSeq | AppID |
ConversationComment.AppID | ConversationCommentAppID |
SECURITY_OWNER_ID translated to Party.AppID | ConversationPartyAppID |
ConversationComment.PostedDateTimeOffset | ReadDateTimeOffset |
ChangeUser | ChangeUser |
ChangeJob | ChangeJob |
ChangeTime | ChangeTime |