Mapping the Schedule+ OLE Automation Server: Internal Objects

Ken Lassesen
Microsoft Developer Network Technology Group

December 14, 1995

Click here for a diagram of the Microsoft Schedule+ OLE Automation Server: Internal Objects in various graphics formats.

Abstract

This article consists primarily of a graphic map of the internal objects of the Microsoft® Schedule+ OLE Automation server, showing its properties, methods, and child objects. This is the third in a series of extended maps describing different views of the Schedule+ server. This object manipulates the completed Schedule+ OLE Automation server. Any Visual Basic®–based language (Access Basic, Visual Basic, and Visual Basic for Applications) and Visual C++™ can access the Schedule+ OLE Automation server.

The Microsoft Schedule+ OLE Automation Server: Internal Objects

The map of the internal objects of the Microsoft® Schedule+ OLE Automation server describes the complete Schedule+ OLE Automation server. SPlus, my name for the view of these internal objects, includes the information visible to the user through the Schedule+ graphical user interface (GUI) and information not visible through the GUI. SPlus illustrates how the developer may use child tables of existing items. This server implements recursive objects that are not available in most OLE Automation servers.

SPlus shows that many objects (Access, Alarm, Appointment, Event, Task, Contact, Project, DeletedItem, and so on) are not separate object types; rather, these objects are the same Item objects. These Item objects have the same set of properties and the same set of methods. The difference between them is the value of the Name Property object. The Schedule object is an exception because it is a subclass of the Item object. The Schedule object has all of the methods and properties of the Item object by name, though some of the Property objects have been replaced with a data item. The Schedule object also has additional properties and methods!

Figure 1 shows the relationship between objects as discovered in conversations with the Schedule+ developers and some traditional hacking of the Schedule+ OLE Automation server. A map is a good learning aid and a quick reference when developing an application. After producing a map, I found that it was easy to work with Schedule+: I just posted the three appropriate extended maps for Schedule+ on my wall for quick reference, which is a lot faster than clicking objects in a Help file one by one to discover their properties and methods.

Because Figure 1 is difficult to read online, I have included the two most common graphics formats—encapsulated PostScript™ (.EPS) and Microsoft Windows® metafile (.WMF)—as well as a copy of my original Shapeware® Visio™ version 4.0 file (.VSD). The first two formats can be printed across multiple pages using any of the commercial graphics applications—such as Adobe™ PageMaker™, Corel® Draw, or Microsoft Publisher—or using Microsoft Excel. The original Visio file is included for those who have a copy of Visio and want to modify the diagram easily. For further information, see the bibliography at the end of this article.

Figure 1. The Microsoft Schedule+ OLE Automation Server: Internal Objects

Some characteristics of the Schedule+ OLE Automation server are different from the common OLE Automation servers. SPlus illustrates the extensibility of this server and offers a different view than those presented in my adjunct articles, "Mapping the Schedule+ 7.0 Object Library: SPL 7.0" and "Mapping the Schedule+ OLE Automation Server: Programming Model," which are available in the MSDN Library. The key extensibility features are listed below.

Table 1. Tables Support for the New Method

New (Valid for Schedule object only) New (Valid for any Item object)
Appointments AccessControls
SingleAppointments AlarmsToRing
RecurringAppointments Attendees
Tasks Contacts
SingleTasks Exceptions
RecurringTasks Projects
Events Roles
SingleEvents
RecurringEvents

These examples show that the Schedule+ OLE Automation server is quite different from most servers. These differences make it a powerful and flexible tool in the Microsoft Solutions Development Kit.

Object Definitions

The objects and collections in Figure 1 are defined in Table 2. These objects are listed in the same sequence as they appear in the map. The Roles table contains the Role object that is used to support the Covey Seven Habits tool included with the Microsoft Exchange Server Software Development Kit (SDK). Use of the Role object may result in future compatibility problems.

Table 2. Object Definitions 

Object Definition
Application Reports information about the single-document interface (SDI) application.
Schedule Represents one schedule in the Application object. This is also an Item object.
Table Represents a table of Item records storing information. It is not a collection.
Item Represents an object that may be a Property or a Table.
Property Represents information about a characteristic of an object. There may be multiple values stored in one Property object. (See the Count Property object to determine the number.)

Bibliography

Lassesen, Ken. "An Extended Introduction to Schedule+ OLE Automation Programming." (MSDN Library, Technical Articles)

Lassesen, Ken. "Mapping the Schedule+ 7.0 Object Library: SPL 7.0." (MSDN Library, Technical Articles)

Lassesen, Ken. "Mapping the Schedule+ OLE Automation Server: Programming Model." (MSDN Library, Technical Articles)

Lassesen, Ken. "Schedule+ OLE Automation." Developer Network News, January/February 1996, Number 1. (MSDN Library, Periodicals, Microsoft Developer Network News)

Lassesen, Ken. "Using Microsoft OLE Automation Servers to Develop Solutions." (MSDN Library, Technical Articles)

Microsoft Exchange Server SDK. Microsoft Schedule+ Programmer's Guide. (MSDN Library, Product Documentation)