Appointment filter in Cdo 1.21

Appointment filter in Cdo 1.21

Post by DirCo » Sat, 12 Jul 2003 00:57:17



Can anyone tell me if it's possible to filter calendar items by the
billinginformation field.

It seem that such values as type and startime are viable but
objfilter.billinginformation = x returns an error so I presume filter can
only be applied to selective fields.

Is there a way to add to the messagefilter fields to include this?

TIA

Jeff Mowatt

 
 
 

Appointment filter in Cdo 1.21

Post by Daniel Mitchell [MVP » Sat, 12 Jul 2003 04:53:14




Quote:> Can anyone tell me if it's possible to filter calendar items by the
> billinginformation field.

> It seem that such values as type and startime are viable but
> objfilter.billinginformation = x returns an error so I presume filter can
> only be applied to selective fields.

 Billing information is a named property (see www.cdolive.com/cdo10.htm), so
you can't filter as simply as you're trying there; even so, CDO1.21's
filtering is patchy at best.

 Basically, if your code works for property X but doesn't work for property
Y for no obvious reason, the reason is probably that CDO doesn't do that.
The only fix is to filter by hand, sadly. (or use Extended MAPI, but that
means C/C++/Delphi, which may be a problem).

-- dan

 
 
 

Appointment filter in Cdo 1.21

Post by Jeff Mowa » Sat, 12 Jul 2003 18:13:06


Dan,

Basically I'm trying to replicate functionality that I've already
developed using the Outlook object model and Visual Objects
development language from CA. The end result is a custom dll running
under IIS.

What puzzles me is why CDO at least the 1.21 version often falls short
of what can be done in Outlook. For instance I can't send an HTML
email via CDO whereas in Outlook it's a pretty standard thing to do.

Likewise with this, I need to retrieve an appointment that I've
already created by reference, modify it or delete it. In Outlook it's
a very simple case of using the find method of the MapiFolder.Items
object and going directly to it. In CDO Exchange it seems I have to
read every entry in my Calendar until I find the right one. Not a
really acceptable solution and something that will kill any chances of
me offering the same functionality that the desktop version of my
product offers.

Whether Outlook or CDO essentially I'm looking at the same information
in the calendar of a shared mailbox and can only conclude that when
Microsoft developed these products, the developers made a point of not
communicating with each other.

Regards,

Jeff    




> > Can anyone tell me if it's possible to filter calendar items by the
> > billinginformation field.

> > It seem that such values as type and startime are viable but
> > objfilter.billinginformation = x returns an error so I presume filter can
> > only be applied to selective fields.

>  Billing information is a named property (see www.cdolive.com/cdo10.htm), so
> you can't filter as simply as you're trying there; even so, CDO1.21's
> filtering is patchy at best.

>  Basically, if your code works for property X but doesn't work for property
> Y for no obvious reason, the reason is probably that CDO doesn't do that.
> The only fix is to filter by hand, sadly. (or use Extended MAPI, but that
> means C/C++/Delphi, which may be a problem).

> -- dan

 
 
 

Appointment filter in Cdo 1.21

Post by Daniel Mitchell [MVP » Sun, 13 Jul 2003 05:00:25




Quote:> What puzzles me is why CDO at least the 1.21 version often falls short
> of what can be done in Outlook. For instance I can't send an HTML
> email via CDO whereas in Outlook it's a pretty standard thing to do.

 This is because CDO isn't the same as the Outlook object model, and they
only bothered implementing some things in CDO1.21. Outlook wraps Extended
MAPI, so using ExMAPI you _can_ do anything; CDO is just a different wrapper
for ExMAPI that doesn't have some of the restrictions of the OOM. It has its
own restrictions instead..

Quote:> Likewise with this, I need to retrieve an appointment that I've
> already created by reference, modify it or delete it. In Outlook it's
> a very simple case of using the find method of the MapiFolder.Items
> object and going directly to it. In CDO Exchange it seems I have to
> read every entry in my Calendar until I find the right one. Not a
> really acceptable solution and something that will kill any chances of
> me offering the same functionality that the desktop version of my
> product offers.

 Could you store the ENTRYID and then use Session.GetMessage(entryID) here?
That'll gets you the message from anywhere, not just by folder; just save it
away when you create the message.

 Otherwise, yes, CDO and the OOM have different features and that's just an
unfortunate thing. For what it's worth, the overhead of using the OOM in
general cancels out a _lot_ of algorithmic inefficiency that CDO might
require.

Quote:> Whether Outlook or CDO essentially I'm looking at the same information
> in the calendar of a shared mailbox and can only conclude that when
> Microsoft developed these products, the developers made a point of not
> communicating with each other.

 Sadly, you may well be right there. I know for a fact that the Exchange and
Outlook developers don't share info as much as perhaps they might. I suspect
CDO1.21 was written by the Outlook people, because it does calendaring which
is Outlook-specific. Why it doesn't also do tasks/contacts/etc is a mystery,
though.

 -- dan

 
 
 

Appointment filter in Cdo 1.21

Post by Jeff Mowat » Sun, 13 Jul 2003 23:21:19


Thanks Dan,

I'll certainly take a look at saving the Entryid. It sounds like it will do
the job I want. I'll still have to keep the Outlook code though, there are
some who don't use Exchange and situations where getting the app up and
running its a lot easier with Outllook.

Thanks for taking the trouble to offer this solution.

I've got another question which concerns collecting Appointment information
enterprise wide to populate my application. I think I'd best post it
separately in case anyone else has been down this path.

Regards,

Jeff





> > What puzzles me is why CDO at least the 1.21 version often falls short
> > of what can be done in Outlook. For instance I can't send an HTML
> > email via CDO whereas in Outlook it's a pretty standard thing to do.

>  This is because CDO isn't the same as the Outlook object model, and they
> only bothered implementing some things in CDO1.21. Outlook wraps Extended
> MAPI, so using ExMAPI you _can_ do anything; CDO is just a different
wrapper
> for ExMAPI that doesn't have some of the restrictions of the OOM. It has
its
> own restrictions instead..

> > Likewise with this, I need to retrieve an appointment that I've
> > already created by reference, modify it or delete it. In Outlook it's
> > a very simple case of using the find method of the MapiFolder.Items
> > object and going directly to it. In CDO Exchange it seems I have to
> > read every entry in my Calendar until I find the right one. Not a
> > really acceptable solution and something that will kill any chances of
> > me offering the same functionality that the desktop version of my
> > product offers.

>  Could you store the ENTRYID and then use Session.GetMessage(entryID)
here?
> That'll gets you the message from anywhere, not just by folder; just save
it
> away when you create the message.

>  Otherwise, yes, CDO and the OOM have different features and that's just
an
> unfortunate thing. For what it's worth, the overhead of using the OOM in
> general cancels out a _lot_ of algorithmic inefficiency that CDO might
> require.

> > Whether Outlook or CDO essentially I'm looking at the same information
> > in the calendar of a shared mailbox and can only conclude that when
> > Microsoft developed these products, the developers made a point of not
> > communicating with each other.

>  Sadly, you may well be right there. I know for a fact that the Exchange
and
> Outlook developers don't share info as much as perhaps they might. I
suspect
> CDO1.21 was written by the Outlook people, because it does calendaring
which
> is Outlook-specific. Why it doesn't also do tasks/contacts/etc is a
mystery,
> though.

>  -- dan

 
 
 

1. Use CDO 1.21 without Exchange/Outlook installed?

We need to read/write to Public Folders from our ASP.Net app. We've got the
CDO component all set, wrapped, etc.

Question:  how can we get the cdo.dll, and everything that's needed, onto
our IIS box *WITHOUT* installing Exchange 5.5 and/or Outlook?  Are there
registry settings needed?  We tried just installing and registering the
CDO.dll, but it gives us an Outlook Error....

Suggestions?

mark s.
Compassion, International

2. Exchange 5.5 Global List

3. Adding recipients to a meeting with CDO 1.21

4. Mailbox Manager Policies

5. Interop Problem beween a Web Service and CDO 1.21

6. Ramifications...

7. Sending HTML messages with CDO 1.21

8. fresh install logs to different HDD

9. CDO 1.2 to 1.21 upgrade problems

10. CDO 1.21 attachment problem

11. Registering CDO.DLL (1.21 version 5.5.2448.0 for NT) on a W2K server

12. How to sort messages in CDO 1.21?

13. CDO 1.21 and IIS