
PAC and how Rocky and I pushed the Notes Integration world forward
April 16th, 2008One of the things that I remember fondly from my time at Synergistics (read here for that story) was working on the Prevail Correspondence Engine and the Prevail Application Connector, or PAC. In fall of 1999, Synergistics decided they needed to add a real mail merge, envelope, and label engine to their SFA/CRM tool. Rocky and I knew each other from the Ami Pro forums on CompuServe. Both had seen or heard of me speaking at Lotusphere on Notes and SmartSuite integration, and I was just getting into integration with Microsoft Office. I was at Boom Vang, so they hired me to do a consulting project. Rocky and I built what I believe was the first commercial, real-world Notes to Microsoft Word integration tool. It was all soft-coded and super fast. We were doing testing of tens of thousands of contacts. While there were a couple of iterations of it, we really hit that first release solid. I was, and to this day, am very proud of that code. Now, Integra for Notes does all of the mail merge and label functionality out of the box. Integra is far cleaner than what we built back then, and works for any application.
For the next release of Prevail, we were focusing on a web application front-end. The design goal was to have all of the attachment and correspondence functionality even though we were removing the Notes client from the equation. Henry, Rocky, and I sat around Henry's whiteboard for hours architecting how we were going to make this happen. With the inclusion of Sam, one of the Microsoft developer types, we came up with the Prevail Application Connector (A was supposed to be for Attachment, but our manager changed that), or PAC. It was a Windows task tray application that sat and waiting for interaction from the Prevail Web Application. We created our own MIME type and registered it with Windows. When a user clicked an attachment link inside Prevail, instead of sending the attachment straight to the browser, or prompting the user to download a file, PAC intercepted it. Inside the package was XML and I built a parser for Microsoft Word. If it was just a file that person was trying to view, we opened the file in any of the Microsoft apps in read-only mode. I even was able to write code that disabled/redirected much of the menu options like Save As. We also wrote an Edit function, with full versioning and history control. One more action was Review, and I turned on the Track Changes if it was a Microsoft Word document. The last action we completed was Mail Merge. I controlled the Microsoft Word Mail Merge functionality completely from the XML package. We brought down the contact collection, automated the mail merge wizard, and controlled every single option available. All of this worked in Microsoft Word 97 and 2000. We never got to unit testing, but Rocky, Sam, and I spent a lot of time testing the code. We pushed our milestone a bit, but I know we completed it before Rocky left. While this version of Prevail never shipped (I believe), this code was ready. It never made it out into the wild. Back then, supporting multiple versions of an Office application was pretty much unheard of.
That was a fun time. Sam was a smart guy ... but he was "passionate". He would curse and throw his keyboard and mouse and just rant. It never bothered me .. I believe Rocky and I would bust out in laughter. But everyone around us thought that world was ending for the Prevail team. I still have that code ... and have it running in a VM.
PAC was way ahead of it's time. Too bad the Quickr Connectors and other apps does what we did. We could have sold that piece alone. Sigh. Oh Well, no one does the mail merge piece quite that way yet ;)
For the next release of Prevail, we were focusing on a web application front-end. The design goal was to have all of the attachment and correspondence functionality even though we were removing the Notes client from the equation. Henry, Rocky, and I sat around Henry's whiteboard for hours architecting how we were going to make this happen. With the inclusion of Sam, one of the Microsoft developer types, we came up with the Prevail Application Connector (A was supposed to be for Attachment, but our manager changed that), or PAC. It was a Windows task tray application that sat and waiting for interaction from the Prevail Web Application. We created our own MIME type and registered it with Windows. When a user clicked an attachment link inside Prevail, instead of sending the attachment straight to the browser, or prompting the user to download a file, PAC intercepted it. Inside the package was XML and I built a parser for Microsoft Word. If it was just a file that person was trying to view, we opened the file in any of the Microsoft apps in read-only mode. I even was able to write code that disabled/redirected much of the menu options like Save As. We also wrote an Edit function, with full versioning and history control. One more action was Review, and I turned on the Track Changes if it was a Microsoft Word document. The last action we completed was Mail Merge. I controlled the Microsoft Word Mail Merge functionality completely from the XML package. We brought down the contact collection, automated the mail merge wizard, and controlled every single option available. All of this worked in Microsoft Word 97 and 2000. We never got to unit testing, but Rocky, Sam, and I spent a lot of time testing the code. We pushed our milestone a bit, but I know we completed it before Rocky left. While this version of Prevail never shipped (I believe), this code was ready. It never made it out into the wild. Back then, supporting multiple versions of an Office application was pretty much unheard of.
That was a fun time. Sam was a smart guy ... but he was "passionate". He would curse and throw his keyboard and mouse and just rant. It never bothered me .. I believe Rocky and I would bust out in laughter. But everyone around us thought that world was ending for the Prevail team. I still have that code ... and have it running in a VM.
PAC was way ahead of it's time. Too bad the Quickr Connectors and other apps does what we did. We could have sold that piece alone. Sigh. Oh Well, no one does the mail merge piece quite that way yet ;)



