Diff-using message summaries

Revisions, Diffs, Fields, and Annotations now available in Mission Control - plus new screenshots on calltheory.com

Diff-using message summaries
"Diffs" are widely used in software development processes

Before we jump into the diffusion, here's what's going on at Call Theory this week:

New Mission Control screenshots available on calltheory.com
Call Theory website updated with Mission Control screenshots!

Office Hours is a place to bring any technical or scripting topic you can think of and work or talk through it together with Call Theory in a group setting with other customers.

Scripting Sessions for Amtelco Intelligent Series call centers is back after being off for the July 4th holiday. This week we are starting into Contact Dispatch and focusing on static sending methods (Send Email, Send Page, etc.) and directory setup for Contact-Based Architecture/Dispatch in your scripts.


Call Theory Plan Updates

Our weekly office hours and Amtelco script training sessions are now available to all paid customers. This was previously restricted to Level Up and Enterprise customers.

Learn more about our pricing at https://calltheory.com/pricing

Revisions, Diffs, Annotations, and Fields

I had a customer ask me how they can see what happened between each of their edits on a message - my immediate response: "Just press Menu -> Message -> (S) Details"

Turns out, Amtelco didn't add this feature into Soft Agent or Web Agent, so it's only supported in Infinity Telephone Agent (to my knowledge - I would love to be proved wrong!)

In Infinity Telephone Agent, you can press Menu -> Message -> (S) Details to get a list of each revision of a message, annotations, and the summary at the given point - useful for viewing the changes made to messages over time!

I recalled this feature was explicitly available to Intelligent Series messages, so figured it had to be somewhere in the database, right? Genesis is powered by Intelligent Series, so it made sense that it could still be available. Well, it was! As part of the XmlMessage field, you can parse out the XML representations of each revision, annotation, and the summary at the time of the change - stored across the various named sections and attributes in the XML itself as <revision>.

A more concrete example:

<message version="1" appId="40609" curRev="0">
   
   <revision rev="0" timeStamp="..." autoSummary="..." summary="...">
        <fields />
        <annotations />
        <runtimeInfo />
        <navHistory />
        <dbConnections />
    </revision>
    <revision rev="1" timeStamp="..." autoSummary="..." summary="...">
        <fields />
        <annotations />
        <runtimeInfo />
        <navHistory />
        <dbConnections />
    </revision>
    <revision rev="2" timeStamp="..." autoSummary="..." summary="...">
        <fields />
        <annotations />
        <runtimeInfo />
        <navHistory />
        <dbConnections />
    </revision>
    <revision rev="3" timeStamp="..." autoSummary="..." summary="">
        <fields>
            <_TESTDRIVE>False</_TESTDRIVE>
            <HOME></HOME>
            <FIRSTNAME>Patrick</FIRSTNAME>
            <LASTNAME1>Labbett</LASTNAME1>
            <ISCOMPANY>No</ISCOMPANY>
            <COMPANY>Nopers</COMPANY>
            <PHONE>6145551234</PHONE>
            <EMAIL>patrick.labbett@calltheory.com</EMAIL>
            <MEMO>Test message</MEMO>
        </fields>
        <annotations>
            <annotation stamp="Wed 7:29 PM 7/3/24 PL">
                annotation #1 
            </annotation>
            <annotation stamp="Wed 7:30 PM 7/3/24 PL">
                A second annotation?
            </annotation>
        </annotations>
        <runtimeInfo />
        <navHistory />
        <dbConnections />
    </revision>
</message>

Difference-maker

In software development, a common practice is to utilize version control software (like git, subversion, mercurial, or even folder-based).

https://www.reddit.com/r/ProgrammerHumor/comments/72rki5/the_real_version_control/

This Version Control Software (VCS) - among many other utilities - can show you the "diff" between two pieces of code.

Since (most) code is just text, we can actually take the same concept and apply it to message summaries to more easily visualize what is happening when messages change over time.

So, I recreated the interface in Mission Control, including the following features:

  • Loads the latest message by default, staying out of your way unless you need it
  • View the visual diff for each change between message edits
  • See what every script field is set to at the time of the revision/edit
  • A rolling view of included annotations throughout the revisions

Style-ish?

I can't really land on a favorite, so right now you can see all of these available diff options in Mission Control. Try it out and let me know which ones you prefer!

I think I'm partial to the Inline version on small screens, and the Side By Side option on larger screens. For the time being, all 3 are available!
See multiple diff formats at once!