Back in 1998, when I was working with Sequel Technology (the Western Australian partner for Great Plains), we were implementing Great Plains Dynamics 4.0 for a couple of sites and were using add-on products for Service Management and Job Costing.
My business partner at the time (who did the sales) understood that Dexterity applications could be easily customised and so promised some changes to the customer. What he (and I) did not understand at the time were the limitations Dexterity has for working across dictionaries.
We did have some "with name" commands which could open forms, call procedures and run reports. We also had the execute() function which could be used to run Dexterity sanScript in the context of the 3rd party dictionary. What we did not have was cross dictionary triggers.
Based on putting a number of ideas together I came up with a method of hacking a 3rd party dictionary to add a trigger handler script to call back into my dictionary. Then I could use execute() to register the trigger in the context of the other dictionary and use the hacked handler script to eventually call back into my code. Luckily, once cross dictionary triggers were added into Dexterity 5.10, there was no longer a need to hack a 3rd party dictionary (which is not really allowed). Thanks to Dave Gaboury and Andrew Ingalls in Fargo for working with me to create proper cross dictionary triggers.
Anyhow, I was given the opportunity to present a session on this hack method (for v4.0 and v5.0) as well as other cross dictionary techniques at the 1998 Great Plains World Wide Developer Conference in Fargo. This session was called Integrating with 3rd Party Dictionaries and was a hit with the development community. Later when I was with Winthrop Dexterity Consultants, I was able to present an updated version of this session using cross dictionary triggers (for v5.5 and v6.0... and later) at the Summer Tech 2000 Conference.
In 2001, I worked with Mark Rockwell from Rockton Software and created a new session called Pushing the Limits with Dexterity. In this session we discussed how to write code that was multi-dictionary friendly and showed how to create a Resource Explorer window as well as other techniques we are worked out. Sadly, I was unable to get to the Summer Tech 2001 conference and so Mark presented it by himself. An updated version was presented by both of us at the Tech 2002 conference in Fargo.
While the materials are a little bit old, the methods and concepts contained in them are still valid today and are the basis for the best practices of cross dictionary Dexterity development. These materials are available for download from both the Winthrop and Rockton websites and now also from this blog.
An archive containing the latest versions of both conference sessions is attached at the bottom of the article.
Please add your comments to say how you have used these materials.
David