Skip to main content

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

Comment Data Model

Conversation Data Model

Conversation_Data_Model.png

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