Home > Store

Applying Use Cases: A Practical Guide, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

Applying Use Cases: A Practical Guide, 2nd Edition

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2001
  • Dimensions: 7-3/8" x 9-1/4"
  • Pages: 272
  • Edition: 2nd
  • Book
  • ISBN-10: 0-201-70853-1
  • ISBN-13: 978-0-201-70853-0

Use cases allow software developers to identify exactly what features will be required by every user of a software system, and describe these features in terms that allow for rapid, cost-effective, successful development. Applying Use Cases is the most practical, simple, and gentle introduction to use cases. This edition is even better, with more real-world examples, more insight into the pitfalls of use case development, and thorough updating for UML 1.3 and RUP 2000. Leading mentors and consultants Geri Schneider and Jason Winters cover every phase of the process, in the context of a start-to-finish, realistic case study. Learn how to identify both primary and secondary scenarios for the usage of a proposed system; how to diagram use cases; and how to architect and organize large systems, define interfaces between components, and document your use cases.

Sample Content

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:
schneider01.pdf

Sample Pages

Download the sample pages (includes Chapter 1 and Index)

Table of Contents



Foreword.


Preface to Second Edition.


Preface.


1. Getting Started.

An Iterative Software Process.

An Example Project.

The Project Description.

Starting Risk Analysis.

Chapter Review.



2. Identifying System Boundaries.

Identifying Actors.

Identifying Use Cases.

Describing Actors and Use Cases.

Handling Time.

Potential Boundary Problems.

Scoping the Project.

Chapter Review.



3. Documenting Use Cases.

The Basic Use Case.

Pre- and Postconditions.

Flow of Events.

Guidelines for Correctness and Completeness.

Presentation Styles.

Other Requirements.

Handling Complex Use Cases.

The Basic Path.

Alternative Paths.

Detailing Significant Behavior.

Documenting Alternatives.

Scenarios.

Adding Direction to the Communicates Association.

Chapter Review.



4. Advanced Use Case Documentation Techniques.

Include.

Extend.

Inheritance.

Interfaces.

Chapter Review.



5. Diagramming Use Cases.

Activity Diagrams.

Simple Sequence Diagrams.

Diagramming the User Interface.

Chapter Review.



6. Level of Detail.

Determining the Level of Detail.

Traceability between Use Cases.

Use Cases for Business Processes.

Chapter Review.



7. Documenting Use Cases.

Documentation Templates.

Other Documents.

Tool Support for Documents.

Documenting Login.

Documenting CRUD.

Chapter Review.



8. Reviews.

Review for Completeness.

Review for Potential Problems.

Review with End Users.

Review with Customers.

Review with Development.

Reviewers.

Adding Flexibility to Your System.

Common Mistakes.

Work Flow on a Use Case Diagram.

Use Cases Too Small.

Screens as Use Cases.

Using Vague Terms.

Business versus Technical Requirements.

Chapter Review.



9. Dividing Large Systems.

Architectural Patterns.

Three-Tier Architectural Pattern.

Pipe and Filter Architectural Pattern.

Object-Oriented Architectural Pattern.

Order-Processing Architecture Example.

Testing the Architecture with Use Cases.

Sequence Diagrams.

Defining Interfaces between Subsystems.

Subordinate Use Cases.

Creating Subsystem Documentation.

Subordinate versus Alternative versus Include.

Chapter Review.



10. Use Cases and the Project Plan.

Planning the Project.

Build versus Buy Decisions.

Prototyping.

Estimating Work with Use Cases.

Weighting Actors.

Weighting Use Cases.

Weighting Technical Factors.

Use Case Points.

Project Estimate.

Chapter Review.



11. Constructing and Delivering a System.

Key Abstractions of the Domain.

Identifying Key Abstractions in Use Cases.

Diagramming Scenarios with Key Abstractions.

Diagramming Key Abstractions.

Use Case versus Subsystem View.

The Iteration Schedule.

Delivery and Beyond.

User Guides and Training.

Sales Kits and Marketing Literature.

Use Cases After Delivery.

Chapter Review.

Final Wrap-Up.



Appendix A: Resources.


Appendix B: Documentation Templates.

System or Subsystem Documents.

Use Case Document.



Appendix C: UML Notation.


Appendix D: Sending Results of the Use Case Estimator.


Appendix E: Order-Processing System.

Order-Processing System.

Risk Factors.

System-Level Use Cases.

Architecture.



Index. 0201708531T04062001

Preface

There have been many changes for us and for the UML since the first edition was released in September 1998. The book has changed to stay current. The material in the first edition is also in the second edition, but you may find it in a new location. We moved the engineering-oriented material to the end of the book, and the business-oriented material to the beginning. This should make it easier for different audiences to find the material that interests them.

We updated the book to UML 1.3. A lot of the changes are in Chapters 3 and 4 because that is where we described most of the notation. The uses relationship became two relationships in UML 1.3, include and generalization. The extends relationship became extend. In both cases the notation changed as well. The definition of scenarios changed a bit too. What we used to call scenarios are now called paths.

We have added some new material that we found useful and important. Chapter 6 is a new chapter on setting the level of detail in use cases. This includes information on business process-level use cases and maintaining traceability between use cases at different levels of detail. Chapter 7, Documenting Use Cases, includes some ideas on handling login and CRUD (create, read, update, delete) in use cases. Chapter 8, Reviews, has a new section on common mistakes we have seen and how to fix them. We have included more information on sequence diagrams in Chapters 5 and 9.

There have been changes for me and Jason as well. Jason left Octel and is now a staff engineer at Cadence Design Systems. I liked having my own business, but didn't like the bookkeeping, so I took a job running the OO division of Andrews Technology, Inc. We still have Wyyzzk and Jason does some weekend consulting for that business. Things even changed on the publishing side. Addison-Wesley is now part of Pearson Education, and we have a whole new team managing the Object Technology series. They have been wonderful to work with and made the transition as smooth as possible.

One question we get asked a lot is: What do the footprints and people talking icons mean? The footprints mark major steps in the process. The people talking appear next to the storyline.

Thank you for all the e-mail about the book. We don't always get a chance to reply, but we have read all your letters and hope we have answered most of your questions in this second edition.

Geri Schneider Winters
Santa Clara, California


0201708531P04062001

Index

A

AbortChange methods, 209
Accepting file URLs, WSS SQL and, 161
Access
file system, 6
universal data, 140
Access control entries (ACEs), 190, 437
Access control lists (ACLs), 159, 190, 193, 437-39
setting file permissions using, 437-39
using ADO to set, 190-94
using XML to set, 190-94
Access levels, ACCESS_MASK values for commonly used, 194
Access methods, using multiple, 452
Access permissions, 193-94
Access public folders, using RootFolder object to, 250-51
Access remote Exchange data, using DCOM to, 181-82
Accessibility of Web Storage System forms, 85
Accessing
contact's configuration information, 328-30
Contact's Fields, 331-32
Exchange Server, 75-76
ExIFS using network share, 439-48
folders, 248-53
messages within HiddenMessages collection, 254
remote Exchange 2000 information, 458-59
Web folder, 52
Web Storage System, 427-49
Web Storage System using ADO and ExOLEDB, 139-77
ACCESS_MASK values for commonly used access levels, 194
Accounts
adding workflow system, 358-62
creating new workflow, 359-60
entering passwords for workflow, 362
new, 360
setting up Exchange super user, 215-18
ACEs (access control entries), 190, 437
ACLAPILib
components, 437-39
known issues with, 439
ACLs (access control lists), 159, 190, 193, 437-39
setting file permissions using, 437-39
using ADO to set, 190-94
using XML to set, 190-94
Action Advanced Settings dialog boxes, 392
Action Table fields, 380-81
ActionTable properties, 378-82
Active Directory, 9-10, 481
creating contact in, 324-25
Exchange 2000 installation process extends, 21
Active Directory Connector (ADC), 10
Active Directory objects
administering, 10
Exchange 5.5 versus Exchange 2000, 25
Active Directory Service Interfaces (ADSI), 5, 271, 324-25
Active Directory Users and Computers (ADUAC), 24-27, 215, 358
Active Server Pages (ASP), 74, 427
ActiveConnection properties, 366
ActiveFolder properties, 94
ActiveX Data Objects (ADO), 60, 139
using ExOLEDB and, 179-95
using to create scalable solutions, 179-89
using to set access control lists, 190-94
ActiveX Template Library (ATL), 436-37
Adapters
Microsoft Loopback, 18
network, 18
ADC (Active Directory Connector), 10
AddAttachment methods, sample file paths for use with, 283
AddAuditEntry methods, 374-75
Adding
event registration for folders, 223-25
new mail-enabled contacts, 26-27
new mail-enabled groups, 27
new mail-enabled users, 26
new mailbox-enabled users, 25-26
reference to Visual Basic, 365
required object/library modules, 446
user to privileged workflow authors roles, 364-65
workflow system accounts, 358-62
Address Book
dialog boxes, 99-100
recipient selection dialog boxes, 269
Address books, 268-77
Address card views, Outlook 2000, 333
Address list constants, cdoDisplayType, 272
Address list entries, 273
AddressBook methods, 99, 271
AddressBook objects, 271
Addressee
objects, 311
resolving, 308-9
Addressees, and attendees, 291-92
AddressEntries collections, sorting, 255
AddressEntry objects, 272-77, 310
methods of, 275
properties of, 274
AddressEntryFilter, 273-77
AddressEntryFilter objects
method of, 277
properties of, 276
Addresses, retrieving address entry's e-mail, 273
AddToPFFavorites method, 99
Administering
Active Directory objects, 10
Exchange 2000, 28
Exchange 2000 using CDOEXM, 400
Administration through Microsoft Management Console, 10
Administrative tool, Windows 2000 Services, 447
ADO
and CDO working together, 236
and MSDAIPP, 59-66
ADO 2.5, 4-5, 427
and Exchange 2000, 140-41
Exchange OLE DB Provider and, 5
library, 144
object model, 141
objects, 141
over ExOLEDB, 452-53
record object, 154-57
using, 65
using MSDAIPP over HTTP, 454
ADO (ActiveX Data Objects), 60, 139
using ExOLEDB and, 179-95
using to create scalable solutions, 179-89
using to set access control lists, 190-94
ADO and ExOLEDB, accessing Web Storage System using, 139-77
ADO connection, opening to Exchange, 144-45
ADO Explorer, 471-77
applications
shows folder list and item properties, 472
using, 477
using to display property values, 471-72
building folder tree, 474-76
image list, 473
list view, 473
listing property values, 476-77
look at code, 473-77
main form, 472-73
tree view, 472
ADO Fields collection, 323, 331
ADO objects, into code, 60-66
ADO/OLE DB conspiracy, 139-40
ADODB.Connection object (ADO 2.5 connection object), 366
ADO's GetChildren method, SELECT * and, 159-60
ADSI (Active Directory Service Interfaces), 5, 271, 324-25
ADSystemInfo (Active Directory System Information) object, 339
ADSystemInfo, using in VB projects, 152
ADUAC (Active Directory Users and Computers), 24-27, 215, 358
Advance Find dialog boxes, 101
Advanced Server, installing Windows 2000, 12
AdvancedFind methods, 99-100
APIs (application programmer interfaces), 4-6, 139
Microsoft Win32 file system, 436-37
Application identity, setting, 185
Application install wizard, using COM, 185
Application object, 240
Application programmer interfaces (APIs), 4-6, 139
Microsoft Win32 file system, 436-37
Application proxy packages
creating, 186
installing, 186-87
Applications
certified for Windows 2000, 16
configuring COM+, 184
creating and maintaining COM+, 227
creating DAV-enabled, 52-66
creating new COM+, 184
Exchange 2000 Web storage system property viewer, 463-77
first page of sample Web, 465
high-volume, 54
sample, 479-83
sample MSDAIPP, 62
sample VB, 54
sample Web, 467-68
selecting Workflow Event Sink COM+, 361
workflow, 356
Applications, sample
about, 479
features, 480-83
archiving transcripts, 480-83
Exchange calendars, 480
query screens, 480
schedules, 480
gradebook 2001, 479-83
Appointment Item Configuration Values, 301
Appointment items
creating, 313
Exchange 2000, 290
working with, 289-91
Appointment objects, 291
methods of, 316
properties of, 295-308
AppointmentItem objects, 256
Appointments
and calendar messages, 292
creating, 290-91
creating in public folder, 292-93
default value for, 307
exceptions to recurring, 315
and meetings, 291-92
recurring, 314-15
AppWizard, using ATL, 443
Architecture, OWA, 74-75
Archiving transcripts, 480-83
Arguments, RegEvent.vbs, 219
Article IDs, Entry IDs versus, 260-64
ArticleID properties, comparing EntryID and, 264
ASP (Active Server Pages), 74, 427
ASP pages, 464-71
Assign permissions, using roles to, 193-94
Assigning users to roles, 190-93
Asynchronous events, 200-205
registering, 220-21
ATL (ActiveX Template Library), 436-37
ATL COM AppWizard, using, 443
Attachments, 282-85
how formatted, 285
saving to file, 284-85
sending e-mails with, 283-84
Attachments exist, determining whether, 284
Attachments properties, 299
Attendees and addressees, 291-92
Attendees properties, 299
AuditTrailProvider properties, 382
Authors role, adding user to privileged workflow, 364-65
Availability information, 299

B

Back-end Exchange configuration, 189
Back-end servers, multiple, 187-89
Body parts, 280-81
Body properties, 282
BodyPart properties, 299
Book
does not cover methodology or process, 3
introduction to, 3-7
organization of, 6-7
readers of, 6
sample code in, 7
topics covered, 4-6
Exchange 2000 servers, 4
programming with exchange 2000, 4-6
Web Storage System, 4
Books, address, 268-77
Browsers, using rich, 423-25
Browsing for public folder, 387
BusyStatus properties, 299-300
Buttons
DELETE, 56
MKCOL, 55-56
OPTIONS, 54-55

C

C: drive properties, sample, 431
Calendar folders, 268
user's private, 290-91
Calendar messages, and appointments, 292
Calendar support, 268
Calendar views, Outlook Web Access 2000 monthly, 78
Calendaring, CDO for, 289-318
appointments and meetings, 291-92
IAppointment methods, 315-16
IAppointment reference, 295-308
ICalendar standard, 316-18
more about calendars, 308-15
programming examples, 292-95
working with appointment items, 289-91
Calendaring, CDO for Exchange, 289
Calendaring functionality, Exchange 2000's
built-in, 482
Calendars
determining status of user's, 310-13
Exchange, 480
more about, 308-15
user's, 313
Call method, GetChildren, 61
Can Register Workflow nodes, finding, 364
CAST
function, 168-69
XML Property Data Types supported by, 169
Categories
dialog box, 101
method, 100-102
CDO 1.21, 239-77, 304
CDO objects, 239-40
communicating to computer, 235-36
object model, 240
over MAPI, 456-57
session object, 240-45
CDO 1.xx, 231-35
CDO and ADO working together, 236
CDO (Collaboration Data Objects), 4-6, 74, 239, 279, 289-318, 427
1.21, 428
1.21 API, 142
for Exchange, 5-6
finding files, 284
getting started with, 241-42
library and MAPI objects, 240
objects, 232, 239-40
overview, 231-37
Person objects, 325-42
selecting for Exchange management library, 398
versions of, 231
what it provides, 233
for Windows 2000, 235-36
for workflow, 355-95
CDO for calendaring, 289-318
CDO for contacts, 319-54
CDO for Exchange
2000, 235-36
2000 library, 321
Calendaring, 289
contacts, 319
management, 397-418
management object model, 402
messaging, 280
over ExOLEDB, 454-55
over MSDAIPP, 455
workflow designer, 355-95
CDO for Exchange Management (CDOEXM), 397-418
administering Exchange 2000 using, 400
CDOEXMInterfaces Interfaces Supported by, 405
GetInterface method for, 404-5
interfaces supported by, 405
recipient management, 400-402
references, 402-18
CDO for messaging, 279-87
CDO for NT server (CDONTS), 233
library, 232
log-on authentication when using, 234
using, 234-35
CDO Workflow object library, 366
CDO workflow objects for Microsoft Exchange, 365-85
cdoBusyStatusValues constant, 299
cdoDefaultFolderTypes constants, 249
cdoDisplayType address list constants, 272
CDOEXM (CDO for Exchange Management), 397-418
administering Exchange 2000 using, 400
CDOEXMInterfaces Interfaces Supported by, 405
GetInterface method for, 404-5
interfaces supported by, 405
recipient management, 400-402
references, 402-18
CDOEXMDeliverAndRedirect values, 412
CDOEXMFolderTreeType values, 406
CDOEXMInterfaces, 405
CDOEXMRestrictedAddressType values, 412
CDOEXMServerType values, 404
CDOEXMStoreDBStatus values, 415
cdoFileAsMappingID values, 335
cdoMailingAddressIDValues values, 337
cdoMeetingStatusValues constants, 305
CDONTS (CDO for NT server), 233
library, 232
log-on authentication when using, 234
using, 234-35
cdoPriorityValues constants, 306
cdoResolvedStatus constants, 308
cdoSensitivityValues constants, 307
cdoTimeZoneID values, 302-3
U.S., 328
Changing Exchange server to front-end server, 404
Character, line feed, 242
Checking Exchange System Manager's progress, 172
Choices, reviewing Exchange 2000 development, 451-52
Choose Form dialog box, 118
Choosing
different Outlook Today pages, 132-34
Office document type in Outlook 2000, 122
Class identifier (ClsID), 214
Classes
About Outlook Message, 38
content, 33, 37-43
definitions, 41
equivalents, 43
hierarchies, 41
mapping to Outlook Message classes, 41-43
putting to work, 39-41
reasons for using, 39
Web storage system, 42-43
mapping content classes to Outlook Message, 41-43
Outlook Message, 43
Web storage system content, 42-43
Clauses
ORDER BY, 176
RANK BY, 176
specifying date range in WHERE, 166
WHERE, 164-76
Client support, WebDAV, 46-47
ClsID (class identifier), 214
Code examples
InfoStores, 246
techniques and, 281-87
Code in book, sample, 7
Code, writing server-side Web, 239
Collaboration Data Objects (CDO), 4-6, 74, 239, 279, 289-318, 427
1.21 API, 142
for Exchange, 5-6
library and MAPI objects, 240
objects, 232, 239-40
overview, 231-37
Person objects, 325-42
selecting for Exchange management library, 398
what it provides, 233
for Windows 2000, 235-36
for workflow, 355-95
CollapseAllGroups method, 102
CollapseGroup
method, 102-3
in Outlook 2000, 103
Collections
accessing messages within HiddenMessages, 254
ADO Fields, 323, 331
Fields, 264-65
Folders, 248
Folders collection, 255
InfoStores, 245-48
large, 245
messages, 253-54
Messages, 258
small, 245
sorting AddressEntries, 255
sorting messages, 255-56
using HiddenMessages, 254-55
COM application export wizard, using, 186
COM application install wizard, using, 185
COM+ applications
configuring new, 184
creating and maintaining, 227
creating new, 184
selecting Workflow Event Sink, 361
COM (Component Object Model), 22
COM component, remote, 183
COM+ server application, configuring in Windows 2000, 182-85
Commands
ExIFS Share Service, 447
Rec.Open, 64
CommonScriptURL properties, 382
Company DNS names, 34
Company properties, 325
Comparing EntryID and ArticleID properties, 264
Component Object Model (COM), 22
Component Services, 189
Component services MMC, 364
Component summary, Exchange 2000, 21
Components
ACLAPILib, 437-39
ExIFSFileSystem, 436
ExIFSWin32Lib, 436
remote COM, 183
Compressed drives, 12
Computer, CDO 1.21 communicating to, 235-36
Configuration, dual-boot, 13
Configuration information, accessing contact's, 328-30
Configuration properties, 300, 325-30
Configuration values, contact, 327-28
Configuring
custom MAPI role properties, 190-93
home pages in Outlook 2000, 90
new COM+ application, 184
new public folder, 29
new public folder hierarchy, 28-29
ConnectModeEnum values, 155
Constants
cdoBusyStatusValues, 299
cdoDefaultFolderTypes, 249
cdoDisplayType address list, 272
cdoMeetingStatusValues, 305
cdoPriorityValues, 306
cdoResolvedStatus, 308
cdoSensitivityValues, 307
mailbox folder URL, 154
Contact configuration values, 327-28
Contact properties, 300
Contacts
adding new mail-enabled, 26-27
CDO for, 319-54
CDO for Exchange, 319
creating in Active Directory, 324-25
creating in Web Storage System, 321-24
creating vCard from, 340
Outlook 2000 address card view of, 333
searching for, 352-54
standard Outlook 2000, 320
Contact's configuration information, accessing, 328-30
Contact's Fields, accessing, 331-32
Contacts folder, getting user's, 351-52
ContactURL properties, 301
CONTAINS predicate, 172-73
Content classes, 33, 37-43
definitions, 41
equivalents, 43
hierarchies, 41
mapping to Outlook Message classes, 41-43
putting to work, 39-41
reasons for using, 39
Web storage system, 42-43
Content-Type header, 65
Context menu, 391
Control lists
using ADO to set access, 190-94
using XML to set access, 190-94
Controllers, primary domain, 217
Conversation defined, 265
ConversationIndex field, 265
ConversationIndex properties, 267-68
Count properties, 245
CreateConversationIndex method, 267
CreateObject syntax, 241
Creating
application proxy package, 186, 186-87
Appointment item, 313
appointments, 290-91
appointments in public folders, 292-93
COM+ applications, 227
contact in Active Directory, 324-25
contact in Web Storage System, 321-24
DAV-enabled application, 52-66
folders, 145-47
mailboxes for users, 401-2
new COM+ application, 184
new workflow account, 359-60
New Workflow Process, 389-95
scalable solutions, 179-89
vCard from contact, 340
Creating file URLs, syntax for, 435
Criteria properties, 211-12
Current workflow, General tab displays information about, 393
Custom fields, filtering on, 258
CustomizeView method, 103
Customizing MMC, 22-24

D

Daemon, 441
Dashboards, Outlook 2000 and digital, 87-135
Data
Exchange 2000, 143
using DCOM to access remote Exchange, 181-82
using XML to pass recordset, 425
Data access, universal, 140
Data properties, 209-10
Databases
external, 189
relational, 35
SQL, 481
DataSource properties, 301, 330, 384
DataSource2 object, methods of, 408
Date range, specifying in WHERE clause, 166
DAV and XML, 48
DAV-enabled application, creating, 52-66
DAV/HTTP 1.1 verbs, 49
DAV properties supported by Exchange 2000, 50-51
DAV support in IIS 5.0, 52
DAV verbs, 48-49
DCOM (Distributed Component Object Model)
using effectively, 181
using to access remote Exchange data, 181-82
DDRK (Digital Dashboard Resource Kit), 89-91
Dead versus live properties, 48
Debugging event sinks, 226-27
Default folder, getting, 248-49
Default form, 81-84
Default Web Storage System namespaces, 35-36
DeferUpdate properties, 94-95
DELETE buttons, 56
Delete methods, 104
DeleteReceivedMessage method, 375
DeleteWorkflowItem method, 375
Deleting event registrations, 221-22
Dependencies tabs, 31
Design tabs
display workflow diagrams, 391
workflow process pane, 390-93
Designer
CDO for Exchange workflow, 355-95
installing workflow, 386
DesignTool properties, 384-85
Development choices, reviewing Exchange 2000, 451-52
Development options
weighing one's, 451-59
feature comparison, 452-57
DHCP (Dynamic Host Configuration Protocol), selecting, 18
Diagram, Design tab displays workflow, 391
Dialog boxes
Action Advanced Settings, 392
Address Book, 99-100
address book recipient selection, 269
Advance Find, 101
Categories, 101
Choose Form, 118
Domain EXServers Properties, 361
flag for Follow Up, 107
Group By, 111
Move Items, 114
Options, 105
Print, 127
Project Settings, 446
References, 398
Save As, 52
Show Fields, 130
Sort, 131
View Summary, 103-4
Windows Script Host, 220
Workflow Process Advanced Settings, 394
Digital dashboard devoted exclusively to Exchange 2000 platform, 90
Digital Dashboard Resource Kit 2.01, 89-91
Digital Dashboard Resource Kit (DDRK), 89-91
Digital dashboards and Outlook 2000, 87-135
Disabling OWA on per user basis, 80
Discussion
group support, 265-68
threaded, 266
Distributed Component Object Model (DCOM)
using effectively, 181
using to access remote Exchange data, 181-82
Distribution list in Outlook 2000, 117
DNS (Domain Name System), 11
DNS names, company, 34
Document management and workflow, 35
Domain controller, primary, 217
Domain Controller Security Policy MMC, 217
Domain EXServers Properties dialog box, 361
Domain Name System (DNS), 11
Domain names, entering, 19
Domain policies, adjusting, 363
Domain properties, 368
Domain Security Policy MMC, 218
DomainDNSName properties, 323
Drive properties, sample C:, 431
Drives
compressed, 12
Exchange Installable File System virtual, 430
ExIFS, 435
M, 428-32
M:, 32
using M:, 456
Dual-boot configuration, 13
Dual-boot setup with Windows NT 4.0, 13-19
installation, 13-19
Dummy event sinks, 204-5
Duration properties, 303-4
Dynamic Host Configuration Protocol (DHCP), selecting, 18

E

E-mail addresses, retrieving address entry's, 273
E-mail messages, Exchange 2000, 428-29
E-mails
property, 330
sending, 281-82
sending with attachments, 283-84
sending within organizations, 282
EmailAddresses properties, 330-31
Embedded WSS SQL, 166-67
Enabled properties, 212
Enabling Full-Text Indexing, 170-72
EndTime properties, 304
Entering
domain name, 19
passwords for workflow accounts, 362
user names for workflow accounts, 362
Entries, address list, 273
Entry IDs versus Article IDs, 260-64
EntryID and ArticleID properties, comparing, 264
Environment, using Exchange in workgroup, 458
Error messages
specified resource was out-of-scope, 163-64
URL is outside of scope, 163
ErrorDescription properties, 368-69
ErrorNumber properties, 369
Errors
general WSS SQL syntax, 164
MAPI_E_NOT_FOUND, 247
SCOPE, 163-64
Workflow Action Table consistency check, 383-84
Event Registration
deleting, 221-22
enumerating, 222
removing for folder, 225-26
Event registration, adding for folders, 223-25
Event registration items, 211-14
properties of, 212
Event registration, writing script code for,
214
Event sink flags
OnDelete, 204
OnSave, 201
OnSyncDelete, 208
OnSyncSave, 207
Event sinks
debugging, 226-27
dummy, 204-5
OnDelete, 203-4
OnMDBShutDown, 200
OnMDBStartUp, 199
OnSave, 201-3
OnSyncDelete, 206-8
OnSyncSave, 206
OnTimer, 198
writing in Visual Basic, 198
EventConnection properties, 210
EventMethod properties, 212
EventMethod values, 213
EventRecord properties, 210
Events
asynchronous, 200-205
determining cause of OnSave, 202-3
Exchange 2000 store, 197-227
implementing store, 199
registering asynchronous, 220-21
registering OnTimer, 221
registering programmatically, 218-26
registering system, 221
synchronous, 205-8
system, 198-200
EVT_INITNEW flags, 200
Examples
InfoStores code, 246
techniques and code, 281-87
WSS SQL query, 167
Exceptions properties, 304
Exchange
CDO (Collaboration Data Objects) for, 5-6
CDO workflow objects for Microsoft, 365-85
opening ADO connection to, 144-45
private mailboxes, 181
public folders, 180
security properties, 191
Security Schema, 192
servers, 180
accessing, 75-76
changing to front-end servers, 404
getting properties of, 216
using in workgroup environment, 458
Exchange 2000, 231
administering, 28
administering using CDOEXM, 400
and ADO 2.5, 140-41
Appointment item, 290
built-in calendaring functionality, 482
CDO for, 235-36
component summary, 21
data in Web Storage System, 143
DAV properties supported by, 50-51
how XML used in, 422-23
Installable File System (ExIFS), 6-7
installation process extends Active Directory, 21
integration with Windows 2000, 9-11
OWA for, 71
programming with, 4-6
CDO (Collaboration Data Objects) for Exchange, 5-6
Exchange OLE DB Provider and ADO 2.5, 5
file system access, 6
Microsoft Outlook 2000, 6
WebDAV, 5
pseudo-role-based security, 190
reasons for using, 356-57
Server Installation wizard, 20
Servers, 4, 74, 76
services, 29-32
setting up, 20-22
store events, 197-227
System Manager, 28
use of ADO 2.5 objects in, 141
Web storage system property viewer applications, 463-77
Web support in, 457-58
Exchange 2000 Active Directory Objects, Exchange 5.5 versus, 25
Exchange 2000 development choices, reviewing, 451-52
Exchange 2000 e-mail messages
displayed in Outlook 2000, 429
in Web Storage System, 428
Exchange 2000 environment, setting up, 9-32
Exchange 2000 information, accessing remote, 458-59
Exchange 2000 library, setting reference to CDO for, 321
Exchange 2000 M: drive properties, sample, 430
Exchange 2000 platform, digital dashboard devoted exclusively to, 90
Exchange 2000 SDK, installing, 21-22
Exchange 2000 using CDOEXM, administering, 400
Exchange 5.5
and 2000 environment, 457
versus Exchange 2000 Active Directory Objects, 25
OWA for, 70
Web support in Exchange 2000 over, 457-58
Exchange Calendaring, CDO for, 289
Exchange calendars, 480
Exchange configuration, front-end/back-end, 189
Exchange contacts, CDO for, 319
Exchange data, using DCOM to access remote, 181-82
Exchange Installable File System (ExIFS), 142, 432-35, 456
drive, 435
FileSystemObject over, 455-56
when to use, 435
Exchange Installable File System virtual drives, 430
Exchange items, URL namespaces and, 148
Exchange mailbox, new accounts and, 360
Exchange management, CDO for, 397-418
Exchange management object model, CDO for, 402
Exchange messaging, CDO for, 280
Exchange OLE DB provider (ExOLEDB), 4-5, 143-47
accessing Web Storage System using ADO and, 139-77
and ADO 2.5, 5
ADO 2.5 over, 452-53
CDO for Exchange over, 454-55
using to create scalable solutions, 179-89
Exchange over ExOLEDB, CDO for, 454-55
Exchange over MSDAIPP, CDO for, 455
Exchange SDK, installing, 386
Exchange super user accounts, setting up, 215-18
Exchange super users, 217, 432
Exchange System Manager
console, 79
progress of, 172
and public folders, 27-29
Exchange users, sample, 215, 217
Exchange Virtual Servers, selecting, 79
Exchange Workflow Designer, Microsoft, 385-95
installation, 386
startup, 386
Exchange workflow designers, CDO for, 355-95
ExchangeServer objects, 403-4
properties of, 403
ExIFS (Exchange 2000 Installable File System), 6-7
ExIFS (Exchange Installable File System), 142, 432-35, 456
drive, 435
FileSystemObject over, 455-56
when to use, 435
ExIFS, remotely accessing using network share, 439-48
EXIFS Share Service, 442-48
ExIFS Share Service
command, 447
future enhancements to, 448
installing, 447-48
starting, 448
stopping, 448
uninstalling, 447-48
ExIFSFileSystem
components, 436
known issues with, 436-37
ExIFSWin32Lib component, 436
ExIFSWin32Lib, known issues with, 436-37
ExOLEDB (Exchange OLE DB provider), 4-5, 143-47
accessing Web Storage System using ADO and, 139-77
ADO 2.5 over, 452-53
CDO for Exchange over, 454-55
using to create scalable solutions, 179-89
ExOLEDB, using ADO and, 179-95
ExpandAllGroups methods, 105-6
ExpandGroup methods, 106
Explorer, ADO, 471-77
Export wizards, using COM application, 186
eXtensible Markup Language (XML), 34, 421-25, 427
and DAV, 48
example, 422
how used in Exchange 2000, 422-23
retrieving with XMLHTTP, 424-25
support, 395
using to pass recordset data, 425
using to set access control lists, 190-94
eXtensible Style Language (XSL), 423
Extensions, local MMC, 23
Extensions tabs, 23

F

Fields
accessing Contact's, 331-32
Action Table, 380-81
ConversationIndex, 265
filtering on custom, 258
filtering on keyword, 258
Store_Offline, 247
Fields collections, 264-65
ADO, 323, 331
Fields properties, 304, 331, 369-70
File paths for use with AddAttachment method, 283
File paths, sample, 283
File permissions, 437-39
File system
access, 6
using installable, 427-49
WIN32 (Windows 32-bit), 5
File system APIs, Microsoft Win32, 436-37
File system security, Windows 2000, 437
File System virtual drive, Exchange Installable, 430
File URLs, 147-48
syntax for creating, 435
WSS SQL and accepting, 161
FileAs properties, 333-34
FileAsMapping properties, 334
Files
regevent.vbs script, 220
sample vCard, 342
saving attachment to, 284-85
saving Outlook 2000 contact as vCard, 340
FileSystemObject over ExIFS, 455-56
FillFields routines, 476
FillFolders routines, 475
Filtering
on custom fields, 258
on keyword fields, 258
Finding
Can Register Workflow nodes, 364
files by CDO, 284
FirstName properties, 334
Flag for Follow Up dialog boxes, 107
FlagItem methods, 106-7
Flags
EVT_INITNEW, 200
OnDelete event sink, 204
OnSave event sink, 201
OnSyncDelete event sink, 208
OnSyncSave event sink, 207
Folder file URLs, default mailbox, 148
Folder hierarchy, configuring new public, 28-29
Folder home pages, 88-89
Folder HTTP URLs, default mailbox, 150
Folder methods, 252-53
Folder objects
methods of, 253
properties of, 252
Folder pane General tabs, 386-88
Folder properties, 95-96, 252, 467
Folder schemas, replicate, 179
Folder trees, building, 474-76
Folder URLs, getting user's HTTP mailbox,
150-54
FolderID properties, using message object's, 251
Folders
accessing, 248-53
accessing Web, 52
adding event registration for, 223-25
browsing for public, 387
Calendar, 268
configuring new public, 29
creating, 145-47
creating appointments in public, 292-93
Exchange public, 180
Exchange System Manager and public, 27-29
getting default, 248-49
getting list of, 157-58
getting user's contacts, 351-52
mailbox, 39
Microsoft Web, 46-47
Public, 160, 251
removing Event Registration for, 225-26
setting up Web, 47
traversing, 249
user's private calendar, 290-91
using RootFolder object to access public, 250-51
Folders collections, 248
sorting, 255
FolderTree objects, 405-6
properties of, 406
Follow Up dialog boxes, flags for, 107
ForceUpdate methods, 107-8
Form definition properties, 82-83
Formats
ICalendar, 318
MIME, 280-81
Uuencode (Unix-to-Unix encode), 281
Forms
accessibility of Web Storage System, 85
default, 81-84
FrontPage extensions for Web Storage, 84-85
OWA (Outlook Web Access) and Web, 69-85
registering Web Storage System, 81
Web Storage System, 79-84
WSS (Web Storage System), 84-85
FORMSOF predicates, 173-74
Forward methods, 108-10
FREETEXT predicates, 173-74
Front-end/back-end Exchange configuration, 189
Front-end servers
changing Exchange server to, 404
multiple, 187-89
FrontPage extensions for Web Storage forms, 84-85
Full-Text Indexing, enabling, 170-72
Functions
CAST, 168-69
join, 333
Util_GetEightByteTimeStamp, 267

G

GAL (Global Address List), 10, 271
GC (Global Catalog), 10
General tabs
display information about current workflow, 393
folder pane, 386-88
prompts for additional information, 388
workflow process pane, 393-94
GEOLatitude properties, 304
GEOLongitude properties, 304
GetChildren call methods, 61
GetChildren methods, 465
SELECT * and ADO's, 159-60
GetDefaultFolder, 249
GetFirst methods, 258
GetFolder methods, 249-50
GetFolderFromID methods, 250
GetFreeBusy
methods, 310
syntax for, 311
values returned by, 311
GetInterface methods, 338-40, 405
for CDOEXM, 404-5
GetMessage, 250
GetNewWorkflowMessage methods, 375
GetSharedDefaultFolder methods, 268
GetUserproperty methods, 376
GetVCardStream methods, 340-42
Giving workflow process meaningful names, 389
Global Address List (GAL), 10, 271
Global Catalog (GC), 10
Globally unique identifiers (GUIDs), 37, 92, 211
GoToToday methods, 110
Gradebook 2001, 479-83
Group By
dialog box, 111
getting item counts with, 175
predicate, 174-76
Group support, discussion, 265-68
GroupBy method, 110-11
Groups
adding new mail-enabled, 27
enumerating storage, 398-400
GUIDs (globally unique identifiers), 37, 92, 211

H

Headers, Content-Type, 65
Heights, sinking to new, 222-26
HiddenMessages, 258
collection
accessing messages within, 254
using, 254-55
Hierarchies, content class, 41
HKEY_CLASSES_ROOT, 241
Home pages
configuring in Outlook 2000, 90
folder, 88-89
HomeCity properties, 335
HomeCountry properties, 335
HomeFax properties, 335
HomePhone properties, 335
HomePostalAddress properties, 335
HomePostalCode properties, 335
HomePostOfficeBox properties, 336
HomeState properties, 336
HomeStreet properties, 336
Host sinks, script, 214
HTML pages, 463-64
HTTP (HyperText Transfer Protocol), 10, 427
ADO 2.5 using MSDAIPP over, 454
WebDAV over, 453
HTTP URL syntaxes, 161
HTTP URLs, 149-50
default mailbox folder, 150
HTTP/WebDAV, 4
HyperText Transfer Protocol (HTTP), 10, 427
ADO 2.5 using MSDAIPP over, 454
WebDAV over, 453

I

IAppointment methods, 315-16
IAppointment reference, 295-308
IAuditTrail interfaces, implementing, 382
ICalendar formats, 318
ICalendar meeting requests, 306
ICalendar standard, 316-18
IDataSource interfaces, 330
IDataSource2
interfaces, 406-7
objects, 407
IDE (integrated development environment),
198
Visual Basic, 199
IDistributionList interfaces, 407
IDs
Entry, 260-64
Entry IDs versus Article, 260-64
IE5 (Internet Explorer 5), 423-25
IExStoreDispEventInfo support interfaces,
208-11
IExStoreEventInfo support interfaces, 208-11
IFlags parameters, 200
IFS (Installable File System), 32
IIS 5.0, DAV support in, 52
IIS consoles, OWA virtual directories in, 74
IIS (Internet Information Server), 10, 75
IIS (Internet Information Server) 5.0, 5, 149
IMailbox interfaces, using CDO Person object to get, 339
IMailboxStore interfaces, 407-8
IMailboxStore objects
methods of, 410
properties of, 409-10
IMailRecipient interfaces, 408-10
properties of, 411-12
IMailRecipient objects, methods of, 413
IMAP (Internet Message Access Protocol),
279
IMAP4 (Internet Message Access Protocol version 4), 11
Implementing
IAuditTrail interface, 382
store events, 199
Inboxes, reading through user's, 285-87
Indexes, using in queries, 170
Indexing, enabling Full-Text, 170-72
Information
accessing contact's configuration, 328-30
availability, 299
General tab prompts for additional, 388
InfoStore
code example, 246
collection, 245-48
methods, 247-48
objects, 247
properties, 246-47
Infrastructures, Windows 2000 network, 11
Initials properties, 336
Install wizards, using COM application, 185
Installable File System (IFS), 32
Installable file systems, using, 427-49
Installation
Exchange 2000, 21
OWA, 72-74
preparing systems for upgrade or new, 12
Installation wizard, Exchange 2000 Server, 20
Installing
application proxy packages, 186-87
Exchange 2000 SDK, 21-22
Exchange SDK, 386
ExIFS Share Service, 447-48
Microsoft Loopback Adapters, 17
Windows 2000 Advanced Servers, 12
Windows 2000 Servers, 12
workflow designer, 386
Integrated development environment (IDE), 198
Visual Basic, 199
Integration, Exchange 2000, 9-11
Interfaces
IDataSource, 330
IdataSource2, 406-7
IDistributionList, 407
IExStoreDispEventInfo support, 208-11
IExStoreEventInfo support, 208-11
IMailboxStore, 407-8
IMailRecipient, 408-10
implementing IAuditTrail, 382
MailboxStoreDB, 410-15
PublicStoreDB, 415
StorageGroup, 415-18
using CDO Person object to get IMailbox, 339
Interfaces supported by CDOEXM, 405
Internet Explorer 5 (IE5), 423-25
Internet Information Server 5.0 (IIS), 149
Internet Information Server (IIS), 10, 75
Internet Information Server (IIS) 5.0, 5, 149
Internet Information Services, 72
Internet Message Access Protocol (IMAP), 279
Internet Message Access Protocol version 4 (IMAP4), 11
Internet Server API (ISAPI), 72
Internet standards, supported, 280-81
Interpersonal messages (IPMs), 250
IPMs (interpersonal messages), 250
ISAPI (Internet Server API), 72
IsSameAs, 247-48
IsUserInRole methods, 376
Item counts, getting with GROUP BY, 175
ItemAuthors properties, 370
ItemReaders properties, 370-71
Items
event registration, 211-14
properties of event registration, 212
IWorkflowSession, 366

J

Join functions, 333

K

Key, entering Windows 2000 product, 15
Keyword fields, filtering on, 258
Keywords
case sensitive, 167
property, 304-5
using SCOPE, 162

L

Large collections, 245
LastName properties, 336
LDAP (Lightweight Directory Access Protocol), 324-25
Lesson, quick-and-dirty XML, 421-22
Libraries
ADO 2.5, 144
CDO, 240
CDONTS (CDO for NT server), 232
selecting CDO for Exchange management, 398
selecting Microsoft XML version 2.0, 53
setting reference to CDO for Exchange 2000, 321
setting reference to CDO Workflow object, 366
Library list boxes, Microsoft Forms 2.0 object, 151
Library modules, adding required object, 446
License agreements, accepting Windows 2000, 14
Lightweight Directory Access Protocol (LDAP), 324-25
LIKE predicates, 174
Line feed characters, 242
List boxes, Microsoft Forms 2.0 object library, 151
List constants, cdoDisplayType address, 272
List entries, address, 273
List of folders, getting, 157-58
Lists
distribution, 117
MMC allows one to customize snap-in, 23
using ADO to set access control, 190-94
using XML to set access control, 190-94
Live versus dead properties, 48
Local MMC extensions, Extensions tab allows one to add all, 23
Locally, logging on, 217-18
Location properties, 305
LocationURL properties, 305
Log-on authentication when using CDONTS, 234
Log on locally policy, choosing, 218
Logging on locally, 217-18
Logon methods, 241
Loopback Adapter
installing Microsoft, 17
Microsoft, 18

M

M: Drive, 32, 428-32
using, 456
M: drive properties, sample Exchange 2000, 430
Mail-enabled contacts, adding new, 26-27
Mail-enabled groups, adding new, 27
Mail-enabled users, adding new, 26
Mailbox-enabled users, adding new, 25-26
Mailbox folder file URLs, default, 148
Mailbox folder HTTP URLs, default, 150
Mailbox folder URL constants, 154
Mailbox folder URLs, getting user's HTTP, 150-54
Mailbox folders, 39
Mailboxes
creating for users, 401-2
Exchange private, 181
new accounts and Exchange, 360
MailboxStoreDB interfaces, 410-15
MailboxStoreDB objects
methods of, 415
properties of, 413-14
MailingAddress properties, 336
MailingAddressID properties, 336-37
Maintaining COM+ applications, 227
Management
CDO for Exchange, 397-418
document, 35
recipient, 400-402
server, 398-400
Manager, Exchange System, 27-29
MAPI (Messaging Application Programmers Interface), 4-6, 279
CDO 1.21 over, 456-57
Outlook 2000 object model over, 456
MAPI objects, CDO library and, 240
MAPI role properties
configuring custom, 190-93
custom, 192
format of custom, 192
MAPI.AppointmentItem, 268
MAPI_E_NOT_FOUND errors, 247
MAPIFolder objects, 250
MarkAllAsRead methods, 112
MarkAsRead methods, 112-13
MarkAsUnread methods, 113
MatchScope properties, 212-13
MatchScope values, 213
MDAC (Microsoft Data Access Components), 139
Meeting requests
ICalendar, 306
Outlook automatically updates information for, 310
sending, 293-95
Meetings and appointments, 291-92
MeetingStatus properties, 305
Menus
context, 391
disabling personalized, 19
Message Classes
About Outlook, 38
mapping content classes to Outlook, 41-43
Outlook, 43
Message objects, 258-60
FolderID properties, 251
methods of, 263
properties of, 261-63
MessageClass properties, 38, 305
MessageFilter, 256-58
MessageFilter objects
method of, 260
properties of, 259-60
MessageFilter properties, 257
Messages
accessing within HiddenMessages collection, 254
appointments and calendar, 292
Exchange 2000 e-mail, 428-29
retrieving, 253-65
Messages collection, 253-54, 258
sorting, 255-56
Messaging
CDO for, 279-87
CDO for Exchange, 280
Messaging Application Programmers Interface (MAPI), 4-6, 279
CDO 1.21 over, 456-57
Outlook 2000 object model over, 456
Methodology, book does not cover, 3
Methods
AbortChange, 209
AddAuditEntry, 374-75
AddressBook, 99, 271
of AddressEntry objects, 275
of AddressEntryFilter object, 277
AddToPFFavorites, 99
AdvancedFind, 99-100
of Appointment objects, 316
Categories, 100-102
CollapseAllGroups, 102
CollapseGroup, 102-3
CreateConversationIndex, 267
CustomizeView, 103
of DataSource2 objects, 408
Delete, 104
DeleteReceivedMessage, 375
DeleteWorkflowItem, 375
ExpandAllGroups, 105-6
ExpandGroup, 106
FlagItem, 106-7
Folder, 252-53
of Folder objects, 253
ForceUpdate, 107-8
Forward, 108-10
GetChildren, 465
GetFirst, 258
GetFolder, 250
GetFolderFromID, 250
GetFreeBusy, 310
GetInterface, 338-40, 404-5
GetNewWorkflowMessage, 375
GetSharedDefaultFolder, 268
GetUserProperty, 376
GetVCardStream, 340-42
GoToToday, 110
GroupBy, 110-11
IAppointment, 315-16
of IMailboxStore objects, 410
of IMailRecipient objects, 413
InfoStore, 247-48
IsUserInRole, 376
Logon, 241
of MailboxStoreDB objects, 415
MarkAllAsRead, 112
MarkAsRead, 112-13
MarkAsUnread, 113
of Message objects, 263
of MessageFilter object, 260
ModifySecurity, 438
MoveItem, 114
NewAppointment, 115
NewContact, 115-16
NewDefaultItem, 116-17
NewDistributionList, 117-18
NewForm, 118-19
NewJournalEntry, 119
NewMeetingRequest, 119-20
NewMessage, 120-21
NewNote, 121
NewOfficeDocument, 121-23
NewPost, 123
NewTask, 123-24
NewTaskRequest, 124-25
Open, 125
OpenSharedDefaultFolder, 125-26
of Outlook View Control, 99-134
of Person objects, 338-42
PrintItem, 126-27
PROPFIND, 56-58
PROPPATCH, 58-59
of PublicStoreDB objects, 415
Reply, 127, 260
ReplyAll, 127-28, 260
ReplyInFolder, 128
ResetSecurity, 438
sample file paths for use with AddAttachment, 283
SaveAs, 129
SELECT * and ADO's GetChildren, 159-60
SendAndReceive, 129-30
session, 242-45
of Session objects, 244
SetLocaleIDs, 241
ShowFields, 130
Sort, 131
of StorageGroup objects, 418
SynchFolder, 131-32
TakeOwnership, 438-39
using GetFolder, 249-50
using multiple access, 452
of WorkflowSession objects, 374-76
Microsoft Data Access Components (MDAC), 139
Microsoft Exchange
CDO workflow objects for, 365-85
Information Store service, 32
Server, 235-36
Workflow Designer, 385-95
Workflow Designer, installation, 386
Workflow Designer, startup, 386
Microsoft Exchange 2000 Server, application development using, 3
Microsoft Forms 2.0 object library list boxes, 151
Microsoft Loopback Adapters, 17-18
Microsoft Management Console (MMC), 10, 22-29, 215, 234
allows one to customize snap-in lists, 23
component services, 364
customizing, 22-24
Domain Controller Security Policy, 217
Domain Security Policy, 218
services, 30
Microsoft, MSDAIPP is not officially supported
by, 59
Microsoft OLE DB Provider for Internet Publishing (MSDAIPP), 59-66
Microsoft Outlook 2000, 6
Microsoft Search (MSSearch), 159
Microsoft Web folders, 46-47
Microsoft Win32 file system APIs, 436-37
Microsoft XML Parser (MSXML), 48
Microsoft XML version 2.0 library, selecting, 53
MiddleName properties, 337
MIME (Multipurpose Internet Mail Extensions) format, 280-81
Mixing shallow and deep traversals, 163
MKCOL button, 55-56
MMC extensions, local, 23
MMC (Microsoft Management Console), 10, 22-29, 215, 234
administration through, 10
allows one to customize snap-in lists, 23
component services, 364
customizing, 22-24
Domain Controller Security Policy, 217
Domain Security Policy, 218
services, 30
MobilePhone properties, 337
Models
ADO 2.5 object, 141
CDO 1.21 object, 240
CDO for Exchange management object, 402
Outlook 2000 object, 88, 456
ProcessDefinition object, 377
WorkflowSession object, 367
ModifySecurity method, 438
Modules, adding required object/library, 446
Move Items dialog box, 114
MoveItem method, 114
MSDAIPP
and ADO, 59-66
CDO for Exchange over, 455
is not officially supported by Microsoft, 59
sample applications, 62
MSDAIPP (Microsoft OLE DB Provider for Internet Publishing), 59-66
MSDAIPP over HTTP, ADO 2.5 using, 454
MSSearch (Microsoft Search), 159
MSXML COM components, 53-59
DELETE buttons, 56
MKCOL buttons, 55-56
OPTIONS buttons, 54-55
PROPFIND methods, 56-58
PROPPATCH methods, 58-59
MSXML (Microsoft XML Parser), 48
MSXML version 2.0 components, 54, 54-55
Multiple back-end servers, 187-89
Multiple front-end servers, 187-89
Multipurpose Internet Mail Extensions (MIME) format, 280-81

N

Name properties, 275
Name, providing for each state of workflow, 390
NamePrefix properties, 337
Names
company DNS, 34
entering domain, 19
giving workflow process meaningful, 389
server, 242
specifying default remote server, 189
Namespace guidelines, custom, 37
Namespace properties, 96
Namespaces, 33, 35-37
default Web Storage System, 35-36
and properties, 48-49
rules, 36-37
URL, 148
urn:schemas:contacts, 342-51
NameSuffix properties, 337
Network adapters, 18
Network infrastructures, Windows 2000, 11
Network News Transfer Protocol (NNTP), 279
Network News Transport Protocol (NNTPSvc), 32
Network shares, remotely accessing ExIFS using, 439-48
New accounts and Exchange mailbox, 360
New COM+ application, configuring, 184
New COM+ application, creating, 184
New heights, sinking to, 222-26
New installation, preparing systems for upgrade or, 12
New mail-enabled contact, adding, 26-27
New mail-enabled group, adding, 27
New mail-enabled users, adding, 26
New mailbox-enabled users, adding, 25-26
New public folder hierarchy, configuring, 28-29
New public folders, configuring, 29
New workflow accounts, creating, 359-60
New Workflow Process, creating, 389-95
NewAppointment methods, 115
NewContact methods, 115-16
NewDefaultItem methods, 116-17
NewDistributionList methods, 117-18
NewForm methods, 118-19
NewJournalEntry methods, 119
NewMail objects, 233-35
NewMeetingRequest methods, 119-20
NewMessage methods, 120-21
NewNote methods, 121
NewOfficeDocument methods, 121-23
NewPost methods, 123
NewTask methods, 123-24
NewTaskRequest methods, 124-25
NNTP (Network News Transfer Protocol), 11, 279
NNTPSvc (Network News Transport Protocol), 32
Nodes
finding Can Register Workflow, 364
restricted versus privileged, 363-64
Notepad, sample vCard file in, 342
NTFS (NT File System), 12

O

Object library list boxes, Microsoft Forms 2.0, 151
Object/library modules, adding required, 446
Object library, setting reference to CDO Workflow, 366
Object models
ADO 2.5, 141
CDO 1.21, 240
CDO for Exchange management, 402
Outlook 2000, 88, 456
ProcessDefinition, 377
WorkflowSession, 367
Objects
AddressBook, 271
Addressee, 311
AddressEntry, 272-77, 310
administering Active Directory, 10
ADSystemInfo (Active Directory System Information), 339
application, 240
Appointment, 291
AppointmentItem, 256
CDO, 232, 239-40
CDO library and MAPI, 240
CDO Person, 323, 325-42
CDO workflow, 365-85
Exchange 5.5 versus Exchange 2000 Active Directory, 25
ExchangeServer, 403-4
FolderTree, 405-6
MAPIFolder, 250
message, 251
Message, 258-60
methods of AddressEntry, 275
methods of AddressEntryFilter, 277
methods of Appointment, 316
methods of DataSource2, 408
methods of Folder, 253
methods of IMailboxStore, 410
methods of IMailRecipient, 413
methods of MailboxStoreDB, 415
methods of Message, 263
methods of MessageFilter, 260
methods of Person, 338-42
methods of PublicStoreDB, 415
methods of Session, 244
methods of StorageGroup, 418
methods of WorkflowSession, 374-76
NewMail, 233-35
open method of ADO 2.5 record, 154-57
Outlook, 249
ProcessDefinition, 376-85
properties of AddressEntry, 274
properties of AddressEntryFilter, 276
properties of appointment, 295-308
properties of ExchangeServer, 403
properties of Folder, 252
properties of FolderTree, 406
properties of IDataSource2, 407
properties of IMailboxStore, 409-10
properties of IMailRecipient, 411-12
properties of InfoStore, 247
properties of MailboxStoreDB, 413-14
properties of Message, 261-63
properties of MessageFilter, 259-60
properties of Person, 325-38, 326-27
properties of ProcessDefinition, 378-85
properties of PublicStoreDB, 416-17
properties of Session, 243
properties of StorageGroup, 417
properties of WorkflowSession, 366-74
Record, 60
RootFolder, 250-51
routing, 357
session, 240-45
Session, 241
Stream, 65
Workflow Session, 365-76
Office 2000, controversial features of, 19
Office document type, choosing in Outlook 2000, 122
Offline, determining whether Session is, 246-47
OLE DB conspiracy, ADO, 139-40
OnDelete event sink flags, 204
OnDelete event sinks, 203-4
OnMDBShutDown event sinks, 200
OnMDBStartUp event sinks, 199
OnSave event sink flags, 201
OnSave event sinks, 201-3
OnSave events, determining cause of, 202-3
OnSyncDelete event sink flags, 208
OnSyncDelete event sinks, 206-8
OnSyncSave event sink flags, 207
OnSyncSave event sinks, 206
OnTimer event sinks, 198
OnTimer events, registering, 221
Open methods, 125
Opening ADO connection to Exchange, 144-45
OpenSharedDefaultFolder methods, 125-26
OperatingSystem properties, 242
Options dialog boxes, 105
Options, weighing one's development, 451-59
ORDER BY clauses, 176
Organizations, sending e-mail within, 282
Outllib.dll, invalid page fault, 92
Outlook 2000, 304, 313
address card view of contacts, 333
choosing Office document type in, 122
CollapseGroup in, 103
configuring home pages in, 90
and digital dashboards, 87-135
distribution list in, 117
forwarding task in, 109
Microsoft, 6
object model over MAPI, 456
object models, 88
Outlook 2000 contacts
saving as vCard files, 340
standard, 320
Outlook Message classes, 43
About, 38
mapping content classes to, 41-43
Outlook objects, 249
Outlook Today pages, choosing different, 132-34
Outlook, top-level object in, 240
Outlook updates information for meeting requests, 310
Outlook versus OWA 2000/5.5, 73
Outlook View Control, 91-132
methods of, 99-134
properties of, 93-99
using, 92
Outlook Web Access, 290
Outlook Web Access 2000 monthly calendar view, 78
Outlook Web Access (OWA), 69-76
2000 basic administration, 76-78
architecture, 74-75
disabling on per user basis, 80
for Exchange 2000, 71
for Exchange 5.5, 70
features and limitations, 70-72
getting to work, 74
installation, 72-74
and Web forms, 69-85
OutlookApplication properties, 96-97
Outlook.AppointmentItem, 268
OWA 2000/5.5, Outlook versus, 73
OWA (Outlook Web Access), 69-76
2000 basic administration, 76-78
architecture, 74-75
disabling on per user basis, 80
for Exchange 2000, 71
for Exchange 5.5, 70
features and limitations, 70-72
getting to work, 74
installation, 72-74
and Web forms, 69-85
OWA URL options and actions, 77
OWA virtual directories in IIS console, 74

P

PAB (Personal Address Book), 271
Packages
creating application proxy, 186, 186-87
installing application proxy, 186-87
Page fault in Outllib.dll, invalid, 92
Pages
ASP, 464-71
choosing different Outlook Today, 132-34
folder home, 88-89
HTML, 463-64
Web, 39
tags, setting Boolean properties within, 95
Parameters
IFlags, 200
StoreID, 250
valid values for recipLists optional, 270
Parts, body, 280-81
Passwords, entering for workflow accounts, 362
Permissions
access, 193-94
using roles to assign, 193-94
Person objects
CDO, 323, 325-42
methods of, 338-42
properties of, 325-38, 326-27
Personal Address Book (PAB), 271
Personalized menus, 19
disabling, 19
Platforms, digital dashboard devoted exclusively to Exchange 2000, 90
Policies, adjusting domain, 363
POP3 (Post Office Protocol version 3), 11, 279
Predicates
CONTAINS, 172-73
FORMSOF, 173-74
FREETEXT, 173-74
GROUP BY, 174-76
LIKE, 174
PR_ENTRYID, 250
Preparing systems for upgrade or new installations, 12
Primary domain controllers, 217
Print dialog boxes, 127
PrintItem methods, 126-27
Priority properties, 213, 306
Privileged nodes, restricted versus, 363-64
Process
book does not cover methodology, 3
creating New Workflow, 389-95
ProcessDefinition object, 376-85
model, 377
properties of, 378-85
Product key, entering Windows 2000, 15
ProgID (programmatic identifier), 214
Programmatic identifier (ProgID), 214
Project Settings dialog boxes, 446
Properties
ActionTable, 378-82
ActiveConnection, 366
ActiveFolder, 94
of AddressEntry object, 274
of AddressEntryFilter object, 276
AllDayEvent, 295-98
of appointment objects, 295-308
Attachments, 299
Attendees, 299
AuditTrailProvider, 382
Body, 282
BodyPart, 299
BusyStatus, 299-300
CommonScriptURL, 382
Company, 325
comparing EntryID and ArticleID, 264
Configuration, 300, 325-30
configuring custom MAPI role, 190-93
Contact, 300
ContactURL, 301
ConversationIndex, 267-68
Count, 245
Criteria, 211-12
custom MAPI role, 192
Data, 209-10
DataSource, 301, 330, 384
DAV, 50-51
DeferUpdate, 94-95
DesignTool, 384-85
Domain, 368
DomainDNSName, 323
Duration, 303-4
Email, 330
EmailAddresses, 330-31
Enabled, 212
EndTime, 304
ErrorDescription, 368-69
ErrorNumber, 369
of event registration item, 212
EventConnection, 210
EventMethod, 212
EventRecord, 210
Exceptions, 304
Exchange security, 191
of ExchangeServer object, 403
Fields, 304, 331, 369-70
FileAs, 333-34
FileAsMapping, 334
FirstName, 334
Folder, 95-96, 252, 467
of Folder object, 252
of FolderTree object, 406
form definition, 82-83
format of custom MAPI role, 192
GEOLatitude, 304
GEOLongitude, 304
getting of Exchange server, 216
HomeCity, 335
HomeCountry, 335
HomeFax, 335
HomePhone, 335
HomePostalAddress, 335
HomePostalCode, 335
HomePostOfficeBox, 336
HomeState, 336
HomeStreet, 336
of IDataSource2 object, 407
of IMailboxStore object, 409-10
of IMailRecipient object, 411-12
InfoStore, 246-47
of InfoStore object, 247
Initials, 336
ItemAuthors, 370
ItemReaders, 370-71
Keywords, 304-5
LastName, 336
live versus dead, 48
Location, 305
LocationURL, 305
of MailboxStoreDB object, 413-14
MailingAddress, 336
MailingAddressID, 336-37
MatchScope, 212-13
MeetingStatus, 305
of Message object, 261-63
MessageClass, 38, 305
MessageFilter, 257
of MessageFilter object, 259-60
MiddleName, 337
MobilePhone, 337
Name, 275
NamePrefix, 337
Namespace, 96
and namespaces, 48-49
NameSuffix, 337
OperatingSystem, 242
of Outlook View Control, 99
OutlookApplication, 96-97
of Person object, 325-38, 326-27
Priority, 213, 306
of ProcessDefinition object, 378-85
properties, 371
Properties, 371
of PublicStoreDB object, 416-17
ReceivedMessage, 371
RecurrencePatterns, 306
of remote WebDAV store, 62
ReplyTime, 306
Resources, 306
ResponseRequested, 306-7
Restriction, 97-98
sample C: drive, 431
sample Exchange 2000 M: drive, 430
ScriptUrl, 213
Sender, 372
Sensitivity, 307
Server, 372
session, 242
of Session object, 243
Session objects Version, 242
Sinkclass, 214
SourceURL, 211
StartTime, 307
StateFrom, 372
StateTo, 372-73
of StorageGroup object, 417
StoreGuid, 211
Subject, 307
Text, 260, 282
TextBody, 282, 308
TimerExpiryTime, 214
TimerInterval, 214
TimerStartTime, 214
Title, 337
TrackingTable, 373-74
Transparent, 308
UserGuid, 211
UserSid, 211
using message object's FolderID, 251
View, 98-99
WorkCity, 337
WorkCountry, 337
WorkFax, 338
of WorkflowSession object, 366-74
WorkPager, 338
WorkPhone, 338
WorkPostalAddress, 338
WorkPostalCode, 338
WorkPostOfficeBox, 338
WorkState, 338
WorkStreet, 338
Property promotions
automatic, 44
is one-way action, 44
Property values
listing, 476-77
using ADO Explorer application to display, 471-72
Property viewer applications, Exchange 2000 Web storage system, 463-77
Property viewers, Web-based, 463-71
ASP page, 464-71
HTML page, 463-64
PROPFIND methods, 56-58
PROPPATCH methods, 58-59
Protocols
integrated transport, 10-11
Web, 45
Proxies, 188
Proxy-and-stub scenarios, 187-89
Proxy packages
creating application, 186, 186-87
installing application, 186-87
Pseudo-role-based security, Exchange 2000, 190
Public folder hierarchy, configuring new, 28-29
Public folders, 160, 251
browsing for, 387
configuring new, 29
creating appointments in, 292-93
Exchange, 180
Exchange System Manager and, 27-29
using RootFolder object to access, 250-51
PublicStoreDB interface, 415
PublicStoreDB objects
methods of, 415
properties of, 416-17

Q

Queries
using indexes in, 170
writing WSS SQL, 161
Query examples, WSS SQL, 167
Query scope, 160-64
Query screens, 480

R

RANK BY clauses, 176
ReceivedMessage properties, 371
Recipient management, 400-402
recipLists optional parameters, valid values for, 270
Rec.Open commands, 64
Record objects, 60
open method of ADO 2.5, 154-57
RecordCreateOptionsEnum values, 156
RecordOpenOptionsEnum values, 156
Recordset data, using XML to pass, 425
RecurrencePatterns properties, 306
Recurring appointments, 314-15
References
adding to Visual Basic, 365
CDOEXM, 402-18
IAppointment, 295-308
References dialog boxes, 398
RegEvent scripts, 218-22
RegEvent.vbs arguments, 219
regevent.vbs script files, 220
Registering
asynchronous events, 220-21
events programmatically, 218-26
OnTimer events, 221
synchronous events, 221
system events, 221
Web Storage System form as default forms, 81-84
Web Storage System forms, 81
Registration items, event, 211-14
Registrations
deleting event, 221-22
enumerating event, 222
Relational databases, 35
Remote COM components, 183
Remote Exchange data, using DCOM to access, 181-82
Remote server names, specifying default, 189
Remote servers, 181
Remote WebDAV store, properties of, 62
Removing Event Registration for folder, 225-26
Replicate folder schemas, 179
Reply methods, 127, 260
ReplyAll methods, 127-28, 260
ReplyInFolder methods, 128
ReplyTime properties, 306
Request for Comments (RFC), 5, 34, 280
Requests, sending meeting, 293-95
ResetSecurity methods, 438
Resources properties, 306
ResponseRequested properties, 306-7
Restricted nodes, privileged versus, 363-64
Restriction properties, 97-98
Retrieving
address entry's e-mail address, 273
messages, 253-65
XML with XMLHTTP, 424-25
RFC 2518, 5
RFC 822, 280
RFC documents at http://www.ietf.org, 34
RFC (Request for Comments), 5, 34, 280
Role-based security, Exchange 2000 pseudo-, 190
Role properties
custom MAPI, 192
format of custom MAPI, 192
Roles
adding user to privileged workflow authors, 364-65
assigning users to, 190-93
using to assign permissions, 193-94
RootFolder object, using to access public folders, 250-51
Routing objects, 357

S

Sample
C: drive properties, 431
code found in book, 7
Exchange 2000 M: drive properties, 430
Exchange user, 215, 217
EXIFS Share Service, 442-47
ExIFSFileSystem component, 436
ExIFSWin32Lib component, 436
MSDAIPP applications, 62
Sample application
about, 479
features, 480-83
archiving transcripts, 480-83
Exchange calendars, 480
query screens, 480
schedules, 480
gradebook 2001, 479-83
Sample file paths and AddAttachment method, 283
Sample VB application, 54
Sample vCard file in Notepad, 342
Sample Web application, 467-68
Sample Web application, first page of, 465
Save As dialog boxes, 52
SaveAs methods, 129
Saving
attachment to files, 284-85
Outlook 2000 contact as vCard files, 340
Scalable solutions, creating, 179-89
Schema Collection Reference (SCR), 81
Schemas, 33-35
Exchange Security, 192
replicate folder, 179
and Web Storage System, 34-35
SCM (Service Control Manager), 441
Scope
error message - URL is outside of, 163
query, 160-64
SCOPE errors, 163-64
SCOPE keyword, using, 162
SCOPE shorthand, 161-63
SCR (Schema Collection Reference), 81
Screens, query, 480
Script code, writing for event registration, 214
Script files, regevent.vbs, 220
Script host sinks, 214
Script tabs, workflow process pane Shared, 394-95
Scripts, RegEvent, 218-22
ScriptUrl properties, 213
SDK (Software Development Kit), 21, 144, 386
installing Exchange, 386
installing Exchange 2000, 21-22
Searching for contacts, 352-54
Security
Exchange 2000 pseudo-role-based, 190
Windows 2000 file system, 437
Security identifiers (SIDs), 159, 191, 211
Security Policy MMC, Domain, 218
Security properties, Exchange, 191
Security Schema, Exchange, 192
SELECT * and ADO's GetChildren method, 159-60
SELECT statements, 159-60, 163-64
Selecting
CDO for Exchange management library, 398
DHCP, 18
Microsoft XML version 2.0 library, 53
Workflow Event Sink COM+ applications,
361
SendAndReceive methods, 129-30
Sender properties, 372
Sending
e-mail within organizations, 282
e-mails, 281-82
e-mails with attachments, 283-84
meeting requests, 293-95
Sensitivity properties, 307
Server applications, COM+, 182-85
Server management, 398-400
Server names, 242
specifying default remote, 189
Server properties, 372
Server-side Web code, writing, 239
Servers
accessing Exchange, 75-76
application development using Microsoft Exchange 2000, 3
changing Exchange server to front-end, 404
Exchange, 180, 404
Exchange 2000, 4, 74
getting properties of Exchange, 216
installing Windows 2000, 12
installing Windows 2000 Advanced, 12
multiple back-end, 187-89
multiple front-end, 187-89
remote, 181
remote Exchange 2000 and Web, 458-59
running Microsoft Exchange, 235-36
selecting Exchange Virtual, 79
SMTP, 234
transport components used in Exchange 2000, 76
Windows 2000, 217
Service
EXIFS Share, 442-48
Microsoft Exchange Information Store, 32
Service Control Manager (SCM), 441
Services
Exchange 2000, 29-32
MMC, 30
Windows 2000, 441
Session, determining whether it is offline, 246-47
Session methods, 242-45
Session objects, 240-45
methods of, 244
properties of, 243
Session object's Version properties, 242
Session properties, 242
SetLocaleIDs methods, 241
Setting
application identity, 185
Boolean properties within tags, 95
file permissions using ACLs, 437-39
reference to CDO for Exchange 2000 library, 321
reference to CDO Workflow object library, 366
Setting up
Exchange 2000, 20-22
Exchange 2000 environment, 9-32
Exchange super user accounts, 215-18
super users, 431
Web Folders, 47
Windows 2000, 11-19
Setup, dual-boot, 13-19
Setup Wizard, Windows 2000, 14
Share Service, EXIFS, 442-48
Shared Script tab, workflow process pane, 394-95
Shorthand, SCOPE, 161-63
Show Fields dialog box, 130
ShowFields method, 130
SIDs (security identifiers), 159, 191, 211
Simple Mail Transfer Protocol (SMTP), 11, 32, 279
Sink flags
OnDelete event, 204
OnSave event, 201
OnSyncDelete event, 208
OnSyncSave event, 207
Sinkclass properties, 214
Sinking to new heights, 222-26
Sinks
debugging event, 226-27
dummy event, 204-5
OnDelete event, 203-4
OnMDBShutDown event, 200
OnMDBStartUp event, 199
OnSave event, 201-3
OnSyncDelete event, 206-8
OnSyncSave event, 206
OnTimer event, 198
script host, 214
Small collections, 245
SMTP servers, 234
SMTP (Simple Mail Transfer Protocol), 11, 32, 279
Snap-in lists, MMC allows one to customize, 23
Software Development Kit (SDK), 21, 144, 386
installing Exchange, 386
installing Exchange 2000, 21-22
Solutions, selecting best
scenarios, 457-59
mixed Exchange 5.5 and 2000 environment, 457
remote Exchange 2000 and Web server, 458-59
using Exchange in workgroup environment, 458
Web support in Exchange 2000 over Exchange 5.5, 457-58
Sort dialog boxes, 131
Sort methods, 131
Sorting
AddressEntries collections, 255
Folders collections, 255
messages collection, 255-56
SourceURL properties, 211
SQL
databases, 481
unsupported, 176-77
SQL syntax error, general WSS, 164
SQL syntax, valid Web storage system, 353
Standards, supported Internet, 280-81
Starting ExIFS Share Service, 448
StartTime properties, 307
StateFrom properties, 372
Statements, SELECT, 159-60, 163-64
StateTo properties, 372-73
Stopping ExIFS Share Service, 448
Storage groups, enumerating, 398-400
Storage System, creating contact in Web, 321-24
Storage system stores, enumerating Web, 398-400
StorageGroup interface, 415-18
StorageGroup objects
methods of, 418
properties of, 417
Store events
Exchange 2000, 197-227
implementing, 199
Store service, Microsoft Exchange Information, 32
StoreGuid properties, 211
StoreID parameters, 250
Store_Offline fields, 247
Stores, enumerating Web storage system stores, 398-400
Stream objects, 65
Subject properties, 307
Subject values, 307
Summary, Exchange 2000 component, 21
Super user accounts, setting up Exchange,
215-18
Super users
Exchange, 217, 432
setting up, 431
Support
calendar, 268
discussion group, 265-68
Support interfaces
IExStoreDispEventInfo, 208-11
IExStoreEventInfo, 208-11
SynchFolder methods, 131-32
Synchronous events, 205-8
always rings twice, 208
registering, 221
Syntaxes
CreateObject, 241
for creating file URLs, 435
for GetFreeBusy, 311
valid Web storage system SQL, 353
System events, 198-200
registering, 221
System Manager, Exchange 2000, 28
Systems
preparing for upgrade or new installation, 12
using installable file, 427-49

T

Tabs
Dependencies, 31
Design, 391
extensions, 23
folder pane General, 386-88
General, 388
workflow process pane design, 390-93
workflow process pane General, 393-94
workflow process pane Shared Script, 394-95
Tags, setting Boolean properties within , 95
TakeOwnership methods, 438-39
TCP/IP (Transmission Control Protocol/Internet Protocol), 11
Text properties, 260, 282
TextBody properties, 282, 308
Threaded discussion, 266
TimerExpiryTime properties, 214
TimerInterval properties, 214
TimerStartTime properties, 214
Title properties, 337
TLHs (top-level hierarchies), 27, 147
Tools, Windows 2000 services administrative,
447
TrackingTable properties, 373-74
Transcripts, archiving, 480-83
Transmission Control Protocol/Internet Protocol (TCP/IP), 11
Transparent properties, 308
Transport protocols, integrated, 10-11
Traversals, mixing shallow and deep, 163
Traversing folders, 249
Trees, building folder, 474-76

U

UDA (Universal Data Access), 139-40
Uniform Resource Identifiers (URIs), 33-34
Uniform Resource Locators (URLs), 33-34
default mailbox folder file, 148
default mailbox folder HTTP, 150
file, 147-48
getting user's HTTP mailbox folder, 150-54
HTTP, 149-50
syntax for creating file, 435
WSS SQL and accepting file, 161
Uniform Resource Names (URNs), 34
Uninstalling ExIFS Share Service, 447-48
Uninterruptible power supply (UPS), 12
Universal Data Access (UDA), 139-40
Upgrade, preparing systems for, 12
UPS (uninterruptible power supply), 12
URIs (Uniform Resource Identifiers), 33-34
URL constants, mailbox folder, 154
URL is outside of scope, error message, 163
URL namespace, 148
URL syntax, HTTP, 161
URLs (Uniform Resource Locators), 33-34
default mailbox folder file, 148
default mailbox folder HTTP, 150
file, 147-48
getting user's HTTP mailbox folder, 150-54
HTTP, 149-50
syntax for creating file, 435
WSS SQL and accepting file, 161
URNs (Uniform Resource Names), 33-34
Urn:schemas:contacts Namespace, 342-51
U.S. cdoTimeZoneID values, 328
User accounts
sample Exchange, 215
setting up Exchange super, 215-18
User names, entering for workflow accounts, 362
UserGuid properties, 211
Users
adding new mail-enabled, 26
adding new mailbox-enabled, 25-26
adding to privileged workflow authors role, 364-65
allowing to register workflows, 362-63
assigning to roles, 190-93
creating mailboxes for, 401-2
Exchange super, 217, 432
sample Exchange, 217
setting up super, 431
User's calendars, 310-13
User's contacts folders, getting, 351-52
User's HTTP mailbox folder URLs, getting, 150-54
User's inboxes, reading through, 285-87
User's private calendar folders, 290-91
UserSid properties, 211
Util_GetEightByteTimeStamp functions, 267
Uuencode (Unix-to-Unix encode) formats, 281

V

Values
ACCESS_MASK, 194
Appointment Item Configuration, 301
CDOEXMDeliverAndRedirect, 412
CDOEXMFolderTreeType, 406
CDOEXMRestrictedAddressType, 412
CDOEXMServerType, 404
CDOEXMStoreDBStatus, 415
cdoFileAsMappingID, 335
cdoMailingAddressIDValues, 337
cdoTimeZoneID, 302-3
ConnectModeEnum, 155
contact configuration, 327-28
EventMethod, 213
listing property, 476-77
MatchScope, 213
RecordCreateOptionsEnum, 156
RecordOpenOptionsEnum, 156
returned by GetFreeBusy, 311
Subject, 307
U.S. cdoTimeZoneID, 328
using ADO Explorer application to display property, 471-72
VB applications, sample, 54
VB projects
using ADSystemInfo in, 152
using WinNTSystemInfo in, 152
VB (Visual Basic), 197
adding reference to, 365
IDE, 199
writing event sinks in, 198
VBScript (Visual Basic Scripting Edition), 93, 197
VC++ (Visual C++), 197
vCard, creating from contact, 340
vCard file in Notepad, sample, 342
vCard file, saving Outlook 2000 contact as, 340
Verbs
DAV/HTTP 1.1, 48-49
Version properties, Session object's, 242
Versions of CDO, 231
View properties, 98-99
View Summary dialog boxes, 103-4
Viewer applications, Exchange 2000 Web storage system property, 463-77
Viewer, Web-based property, 463-71
Viewing contents of WebDAV store item, 65
Views, Outlook Web Access 2000 monthly calendar, 78
Virtual drive, Exchange Installable File System, 430
Visual Basic Scripting Edition (VBScript), 93, 197
Visual Basic (VB); See also VB, 197
adding reference to, 365
IDE, 199
writing event sinks in, 198
Visual C++ (VC++), 197

W

Web applications
first page of sample, 465
sample, 467-68
Web-based property viewers, 463-71
Web code, writing server-side, 239
Web Extender Client (WEC), 47
Web folders
accessing, 52
Microsoft, 46-47
setting up, 47
Web forms, OWA (Outlook Web Access) and, 69-85
Web pages, 39
Web Protocol, 45
Web server, remote Exchange 2000 and, 458-59
Web sites, 34
Web Storage forms, FrontPage extensions for, 84-85
Web Storage System namespaces, default, 35-36
Web Storage System SQL (WSS SQL), 79
Web Storage System (WSS), 4, 78-85, 451-52
accessing, 427-49
accessing using ADO and ExOLEDB, 139-77
calls into, 59
content classes, 42-43
creating contact in, 321-24
Exchange 2000 data in, 143
forms, 79-84, 84-85
accessibility of, 85
registering, 81, 81-84
property viewer applications, 463-77
role of, 142-43
and schemas, 34-35
SQL syntax, 353
stores, 398-400
Web support in Exchange 2000 over Exchange 5.5, 457-58
WebDAV; See also DAV
WebDAV store item, viewing contents of, 65
WebDAV store, properties of remote, 62
WebDAV (World Wide Web Distributed Authoring and Versioning), 5, 10, 45
basics, 46
client support, 46-47
over HTTP, 453
overview, 45-66
standards, 49
verbs, 54
workings of, 47-51
WEC (Web Extender Client), 47
WHERE clauses, 164-76
specifying date range in, 166
WIN32 (Windows 32-bit) file system, 5
Windows 2000
applications certified for, 16
CDO for, 235-36
configuring COM+ server application in,
182-85
Exchange 2000 integration with, 9-11
file system security, 437
network infrastructure, 11
services, 441
Services administrative tool, 447
setting up, 11-19
Setup Wizards, 14
Windows 2000 license agreements, accepting, 14
Windows 2000 product keys, entering, 15
Windows 2000 servers, 217
installing, 12
Windows 32-bit (WIN32) file system, 5
Windows NT 4.0, dual-boot setup with, 13-19
Windows Script Host dialog box, 220
WinNTSystemInfo, using in VB projects, 152
Wizards
Exchange 2000 Server Installation, 20
using COM application export, 186
using COM application install, 185
Windows 2000 Setup, 14
WorkCity properties, 337
WorkCountry properties, 337
WorkFax properties, 338
Workflow
accounts
creating new, 359-60
entering passwords for, 362
entering user names for, 362
document management and, 35
General tab displays information about current, 393
providing name for each state of, 390
Workflow Action Table consistency check errors, 383-84
Workflow actions, 388-89
Workflow applications defined, 356
Workflow authors role, adding user to privileged, 364-65
Workflow, CDO for, 355-95
getting started, 357-65
Workflow designers
CDO for Exchange, 355-95
installing, 386
Microsoft Exchange, 385-95
Workflow diagrams, design tabs display, 391
Workflow Event Sink COM+ application, selecting, 361
Workflow node, finding Can Register, 364
Workflow object library, setting reference to CDO, 366
Workflow Process
Advanced Settings dialog boxes, 394
creating New, 389-95
giving meaningful names, 389
pane design tab, 390-93
pane General tab, 393-94
pane Shared Script tab, 394-95
Workflow Session objects, 365-76
Workflow system accounts, adding, 358-62
Workflows, allowing users to register, 362-63
WorkflowSession object models, 367
WorkflowSession objects
methods of, 374-76
properties of, 366-74
Workgroup environment, using Exchange in, 458
WorkPager properties, 338
WorkPhone properties, 338
WorkPostalAddress properties, 338
WorkPostalCode properties, 338
WorkPostOfficeBox properties, 338
WorkState properties, 338
WorkStreet properties, 338
World Wide Web Distributed Authoring and Versioning (WebDAV), 5, 10
basics, 46
client support, 46-47
over HTTP, 453
overview, 45-66
standards, 49
verbs, 54
workings of, 47-51
Writing
event sinks in Visual Basics, 198
script code for event registration, 214
server-side Web code, 239
WSS SQL queries, 161
WSS SQL and accepting file URLs, 161
WSS SQL queries, writing, 161
WSS SQL query examples, 167
WSS SQL syntax errors, general, 164
WSS SQL (Web Storage System SQL), 79,
158-77
embedded, 166-67
using, 157-58
WSS (Web Storage System), 4, 78-85, 428, 432, 451-52
accessing, 427-49
accessing using ADO and ExOLEDB, 139-77
calls into, 59
content classes, 42-43
creating contact in, 321-24
Exchange 2000 data in, 143
forms, 79-84, 84-85
accessibility of, 85
registering, 81, 81-84
property viewer applications, 463-77
role of, 142-43
and schemas, 34-35
SQL syntax, 353
stores, 398-400

X

XML (eXtensible Markup Language), 34, 421-25, 427
and DAV, 48
example, 422
how used in Exchange 2000, 422-23
retrieving with XMLHTTP, 424-25
support, 395
using to pass recordset data, 425
using to set access control lists, 190-94
XML lessons, quick-and-dirty, 421-22
XML Property Data Types supported by CAST, 169
XML version 2.0 library, selecting Microsoft, 53
XMLHTTP, retrieving XML with, 424-25
XSL (eXtensible Style Language), 423

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020