Global & Private Contact List Syncronization

C

Chad Gartner

Greetings everyone! I was delegated as the person to do some Outlook
customization within our company, and their first task is to have a
global to private contact list syncronization system to pipe all
private contacts to the global list and vise-versa. (Along with
numerous other querks, such as withholding private contacts with the
private checkbox checked, checking for the latest update date,
duplication checking & sorting by categories.) A pre-boxed solution
like ContactXchange would work, except that we'll be dealing with
custom fields and forms that I'll be implementing.

From there I get to connect the custom fields and forms to a separate
customer database within Access, but i'm taking this project in baby
steps. =)

I'm in chapter 23 of Sue's "Microsoft Outlook Programming" (very
helpful!) and have yet to have a solid grasp on exactly how I would
approach this. I've done a decent ammount of searching throughout this
group and various forums online, but I have yet to run accross a
similar situation. (Which makes me think that what i'm doing is silly,
which I do, but we'll see if I can persuade the company otherwise.)

I've never dealt with VBA, VBS, Outlook Forms, etc before. I've only
done some prior programming in C and Java, so much of this is still
new to me. Many thanks for taking the time to read this, it's much
appreciated. Thank You!

-Chad Gartner
 
S

Sue Mosher [MVP-Outlook]

What you're trying to do is not a novice-level project. On the surface, it
sounds like a simple copying exercise, but there are some complex issues you
would have to consider:

-- When do you want the synchronization to occur? Automatically (if so,
under what circumstances)? At scheduled intervals? Manually?

-- How are you going to handle cases where more than one user pushes the
same contact to the public folder? What about situations in which both the
public folder item and the personal contact folder item have been changed?

-- What linking mechanism do you want to use to ensure that you replace the
correct matching item in the public contact folder? (My book suggests
several possible solutions, but my brain hurts just beginning to think about
how to implement something like that for contacts pushed by multiple users.)
 
C

Chad Gartner

-I was planning on having the syncronization occur perhaps nightly,
comparing the date last modified between private/public and updating
where needed.

In cases of duplicate names, I was planning on it keeping the most
recent one, even if they both had been updated. It should work, but i'm
not sure that is the best solution for that problem. Other issues arise
when you dig deeper into that situation. If both have been updated and
the most recent is public, will the program update the private now or
wait for the next sync?

For the mechinism I was thinking of using MAPI, as I believe (possibly
incorrectly) that it would be the best solution for what I need to do.
You're very right however that it's a large project and i'm looking at
syncing field by field and doing a lot of comparisons and error
checking. Right now I think it would be in my best interests to ask the
company to reevaluate where they want me to go with this project.
(Especially considering my experience.)

Am I correct im my thinking that MAPI would be all I would need to copy
fields from folder to folder? Thanks!

-Chad Gartner

*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
 
S

Sue Mosher [MVP-Outlook]

MAPI can mean many things. If you mean Extended MAPI, that's the most
flexible, but the development environment is limited to C++ and Delphi. I
don't know if it can copy custom field definitions. You can, however, create
field definitions in folders with the Outlook object model using the
item.UserProperties.Add method.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top