The TSI Synchronizer Object -- build 5024
Excerpted from the help file introduction:
[This ought to help explain what the TSI Synchronizer is and
what it does]
Before I begin to flame anything, I would like to applaud a few folks. All of the
following deserve praise and admiration:
- The folks at Microsoft, for making replication a reality in the first place, and
for assiduously evangelizing the benefits of replication
- The articles written to make replication easier (for example, the ones in
Pinnacle’s Smart Access, Advisor’s Access/Office/VB Advisor, and others
referred to here.)
- The Replication FAQ (See Article ID:
Q182886 in the Microsoft Knowledge Base for more info on how to get
this important document from several Microsoft Access MVPs (Most Valued Professionals.)
Okay, now for the flame. Replication functionality is too spread out! There are things
you can do from Microsoft Access, from the Briefcase Reconciler, from DAO, and from the
Microsoft Replication Manager. Now, the grapevine claims that DAO is being made passe by
ADO (as the “universal data layer” [sic]) in future versions of ADO, DAO, and Access, it
is not a big conceptual jump to imagine yet another way for replication to do some of the
same old things, some new things, and still not be able to do things the
application you are working on finds most important.
The TSI Synchronizer is in part, I admit, just another way to do the same old
things. But, more importantly, it is a way to do some of the things I have always wanted
to do in my own applications, but could not. It doesn't do everything, nor is it intended
to, but it does do lots of things that either no one else does at all, or
at least no one else does programmatically. Some of the things it allows you to do:
- Get and set the retention period programmatically--without Replication Manager
- Perform indirect synchronizations programmatically--without Replication
Manager
- Perform synchronizations with status events so you can implement progress
meters
- Get history information about synchronizations programmatically--without
Replication Manager
- Create new replicas with status events so you can implement progress meters
- Manage Synchronizers, both getting and setting which replicas are managed by a
Synchronizer and what schedules exist for those replicas
- View information about replicas in the replica set that cannot easily be gotten
elsewhere
- Set all the miscellaneous Synchronizer properties programmatically--without
Replication Manager
- Using VB6 or later, where CreateObject takes an optional second parameter that
represents a server name, you can use remotely manage Synchronizers on multiple
machines by creating an ActiveX EXE that uses the TSI Synchronizer object.
- Various fun things that are completely unsupported and undocumented, but are
encouraged nonetheless.
Some people may view this mostly as a slam against Replication Manager--and may not be
too far off. Replication Manager is a tool that simply screams for an object model, since
almost all of the people who have an application sophisticated enough to need it have an
almost equally compelling need to hide that UI from their customers. Aside from a few
extra goodies, that is mainly what it ends up being: a programmatic substitution for the
Microsoft Replication Manager.
Since I am not an employee of Microsoft, I have occasionally departed from their
naming conventions to use my own; I do not claim mine are superior, and certainly do not
claim that my way is the way of future versions of Jet replication. (I can tell you for
fact they are not.) It's simply the way I am used to doing things. Hopefully, my choices
will make sense to everyone who needs to use it. If not, the help file and your object
browser may prove to be useful.
I want to thank all of the people at Microsoft who made this project a reality. This
may not be exactly the interface they had in mind, but none of them are threatening to
have me sued, so it can't be all bad. In particular, I’d like to thank Debra Dove, Mark
Johnson, Jen Perret, Dean Talley, Phillip Garding, Mike Wachal, and Lee Woods.
I’d also like to thank the non-Microsoft people who not only know a lot about
replication, but enjoy talking, writing, and whining about it in ways that both explain
the product as it stands and influence what the product will be in future versions. If I
wore a hat it would be off to Mary Chipman, Steve Thompson, and Paul Litwin.
Here at Trigeminal Software, Inc., I would have problems telling which end was
up were it not for my senior developer, Julianne Lee. My virtual hat remains off to her
as one of the few people I will admit (in public) is smarter than I am.
Finally, I’d like to thank the tons of people who use replication and ask me questions
or just tell me what they are doing and how. You are the reason we are all here, and the
main reason (aside from my short temper!) that the TSI Synchronizer exists. Please
e-mail me and tell me what you're up to!
michka@trigeminal.com
President
Trigeminal Software, Inc.
October 8, 1998
Copyright © 1997-99 Trigeminal Software, Inc. All Rights Reserved.
Are there any examples on how to use the TSI Synchronizer?
I will have to apologize for not spending a lot of time writing hugely extensive samples.
The bottom line is that I enjoy writing code a lot more than help files and such. But all
is not lost; Mary Chipman and I (and I should admit that Mary did most of the work here!)
wrote an article for Smart Access called Introducing the TSI
Synchronizer Object (Pinnacle charges $5.00 for each article. I do not profit from
this). Mary is one of those who people who just knows a lot more about things than she
will admit; replication is one of the topics about which she knows a lot. Also, the help
file included in the download, synch.hlp, does have sample code for most of the methods,
properties, and events.
How do I get support for this utility?
Just so there are no misunderstandings, this is a completely unsupported utility (unless
you set up an invidudual contract for support/integration). I would love to hear that
it's working out for you, but if it's not, I am not in any way responsible. I can assure
you that it has not caused replica corruption, unexpected hard drive reformats, hair loss,
or unexplained calf pain on MY machine... but I cannot promise that these things, and
worse, will not happen to you. That said, if you do have problems or bugs to report, I'd
love to hear them, send the information to:
synch_bugs@trigeminal.com
Okay, I understand the support thing. How can I get it?
Just download it from right here!
RELEASE version TSI Synchronizer for Microsoft Jet
3.5x replication (build 5024)
RELEASE version TSI Synchronizer for Microsoft Jet
4.0 replication (build 5024)
If you would like to distribute synch35.dll with the Access 97 Setup Wizard's
'Replication Manager' component, you can download
09Repl.zip. It has instructions on how to use it in the
enclosed 09repl.txt.
The 3.5 version of the TSI Synchronizer now includes the Jet Synchronizer files. These
may only be used if you either have your own ODE license or if you are distributing them
with the TSI Synchronizer as part of your application. They should be put into the same
directory as the 97 Office Developer Edition would put them in, which is
C:\Program Files\Common Files\Microsoft Shared\Replication Manager 3.5
If you have any questions about the rules for using the Jet files, send
e-mail to me.
Problems with this site? Please contact the
webmaster@trigeminal.com
with your comments, questions, or suggestions.
|