|
|
If anyone could answer this I would greatly appreciate it.
I am wondering if you could please answer or point me towards the answer for a synchronization question I have.
I am using Outlook 2003 connected to an Exchange Server via RPC over HTTPS.
The only Synchronization Group I have setup is the default "All Accounts". "All Accounts" is set up using the default values that outlook put into it. (Send Email, Receive Email, NO folders are checked.) Even though no folders are checked, Outlook is still obviously synchronizing items in the background. For example, if I make a "Client Rule" that moves an incoming email from my inbox to another folder (folder1 for reference), the rule is run in my outlook, the email is moved, AND the email is moved on the Exchange Server. Since there is not a Synchronization Group setup that has that folder1 selected I am guessing that there is an additional synchronization going on in the background that is separate from the Synchronization Groups. Is this the case? If it is the case, can I access this synchronization using the Outlook Object Model, or CDO. Are there any events that I can hook into in this background sync?
Also, does anyone have any recommendations on books or websites that deal directly with VS.NET 2005, VSTO, and Outlook? Thank you.
Thank you very much Kelly Johnson CyGen Technologies, Inc. kelly[ at ]cygentech.com
|
|
Your explorer has a SyncObject property. What you want to do is something like this. SyncObject syncObject = currentExplorer.Application.GetNamespace("MAPI").SyncObjects[1];
syncObject.SyncStart += new SyncObjectEvents_SyncStartEventHandler(syncObject_SyncStart);
private void syncObject_SyncStart()
{
// this signals the start of Send/Receive.
}
That way during any synchronization you can execute extra logic. One quick point is that when the synchronization (F9--Send/Receive) first occurs your event will be fired first before the other synchronization occurs.
Regards,
Thaddaeus.
"sublimese" <kelly[ at ]kellyjohnson.net> wrote in message news:1139519748.176096.215410[ at ]z14g2000cwz.googlegroups.com...
[Quoted Text] > If anyone could answer this I would greatly appreciate it. > > I am wondering if you could please answer or point me towards the > answer for a synchronization question I have. > > I am using Outlook 2003 connected to an Exchange Server via RPC over > HTTPS. > > The only Synchronization Group I have setup is the default "All > Accounts". "All Accounts" is set up using the default values that > outlook put into it. (Send Email, Receive Email, NO folders are > checked.) > Even though no folders are checked, Outlook is still obviously > synchronizing items in the background. For example, if I make a > "Client Rule" that moves an incoming email from my inbox to another > folder (folder1 for reference), the rule is run in my outlook, the > email is moved, AND the email is moved on the Exchange Server. Since > there is not a Synchronization Group setup that has that folder1 > selected I am guessing that there is an additional synchronization > going on in the background that is separate from the Synchronization > Groups. Is this the case? If it is the case, can I access this > synchronization using the Outlook Object Model, or CDO. Are there any > events that I can hook into in this background sync? > > Also, does anyone have any recommendations on books or websites that > deal directly with VS.NET 2005, VSTO, and Outlook? Thank you. > > Thank you very much > Kelly Johnson > CyGen Technologies, Inc. > kelly[ at ]cygentech.com >
|
|
Thaddaeus, Thank you for the reply, but it doesn't really address my question. The code that you provided will indeed get me a reference to the "All Accounts" Sync Group, which is the ONLY sync group set up in my outlook. However, if you re-read my question you will see that I am wondering if there is an ADDITIONAL background sync of some sort going on. In my default "All Accounts" sync group, NO folders are selected for syncing. However, when CLIENT ONLY rules run on my Outlook, those changes are propagated back to Exchange. Since there is no sync group that has any folder setup to sync, according to the documentation any changes that occur on my client should not be synched to Exchange.
Here is another example. If I connect to exchange (via RPC over https) and get my email. Then I disconnect from the server (via unplugging my network cable), then make a new folder in my outlook, and move a couple of emails from my inbox to the new folder, then reconnect to the network (via plugging the network cable back in), in a few moments, the folder I created while offline will appear on Exchange and the emails I moved from my inbox to the new folder will be moved on exchange. This can be verified by connecting to my account via OWA. Obviously Outlook is synching the fact that I made a new folder and that I moved items into the new folder DESPITE the fact that there is no Sync group setup to sync the new folder. What is doing this "background synching"? Can I access this "background synching"?
Thank you
|
|
The "background synching" that you are referring to is really the send and receive action. When the synchronization starts out "sends" first to the server. The receive is more detailed and requests from the server what changes that have occurred on the server since the last synchronization. The client compares what it received from the Exchange server to what the current state of the client store is and then pushes any changes back to the exhange server.
Unfortunately, I don't know of any methods, events or properties that would allow for the programmatically attach to the process of that action from the client side of the house. What you would probably want to do is create a COM component on the Exchange Server which is an EventSink for all events that occur during a send and receive.
Programming Microsoft Outlook and Microsoft Exchange Server 2003 by Thomas Rizzo gives some good examples of the client and server side events.
Regards,
Thaddaeus. "sublimese" <kelly[ at ]kellyjohnson.net> wrote in message news:1139856384.416284.133660[ at ]g47g2000cwa.googlegroups.com...
[Quoted Text] > Thaddaeus, > Thank you for the reply, but it doesn't really address my question. > The code that you provided will indeed get me a reference to the "All > Accounts" Sync Group, which is the ONLY sync group set up in my > outlook. However, if you re-read my question you will see that I am > wondering if there is an ADDITIONAL background sync of some sort going > on. In my default "All Accounts" sync group, NO folders are selected > for syncing. However, when CLIENT ONLY rules run on my Outlook, those > changes are propagated back to Exchange. Since there is no sync group > that has any folder setup to sync, according to the documentation any > changes that occur on my client should not be synched to Exchange. > > Here is another example. If I connect to exchange (via RPC over https) > and get my email. Then I disconnect from the server (via unplugging my > network cable), then make a new folder in my outlook, and move a couple > of emails from my inbox to the new folder, then reconnect to the > network (via plugging the network cable back in), in a few moments, the > folder I created while offline will appear on Exchange and the emails I > moved from my inbox to the new folder will be moved on exchange. This > can be verified by connecting to my account via OWA. Obviously Outlook > is synching the fact that I made a new folder and that I moved items > into the new folder DESPITE the fact that there is no Sync group setup > to sync the new folder. What is doing this "background synching"? Can > I access this "background synching"? > > Thank you >
|
|
|