Instructor Notes This module provides students with an introduction to Microsoft® Web Storage System schema and explains how the schema promotes interoperability and reuse by using its p
Trang 1Contents
Overview 1
Lab A: Extending the Web Storage
Review 25
Module 2: Examining Web Storage System Schema
Trang 2Information in this document is subject to change without notice The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended
to represent any real individual, company, product, or event, unless otherwise noted Complying with all applicable copyright laws is the responsibility of the user No part of this document may
be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation If, however, your only means of access is electronic, permission to print one copy is hereby granted
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property
2000 Microsoft Corporation All rights reserved
Microsoft, Active Directory, ActiveX, FrontPage, Hotmail, JScript, MSN, Outlook, PowerPoint, Visual Basic, Visual C++, Window Media, Visual InterDev, Visual Studio, Win32, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A and/or other countries
Other product and company names mentioned herein may be the trademarks of their respective owners
Project Lead: Samantha Smith
Instructional Designers: Sangeeta Garg (NIIT (USA) Inc.), Marilyn McCune
Instructional Software Design Engineer: William Rebozo
Subject Matter Experts: Jayme Bowers (ECMS Inc.), John Christian (ECMS Inc.),
Robert Ginsburg (ECMS Inc.), Frederick Volking (ECMS Inc
Technical Contributors: Thomas Rizzo, Brent Ingraham, Navin Kachroo, Robert Brown,
Alex Hopmann, Jim Reitz
Graphic Artist: Kirsten Larson (S&T Consulting)
Editing Manager: Lynette Skinner
Editors: Kelly Baker, Nancy Finch
Copy Editor: Ed McKillop (S&T Consulting)
Production Manager: Miracle Davis
Print Coordinator: Marlene Lambert (Online Training Solutions Inc.)
Online Production Coordinator: Jenny Boe
Test Manager: Eric R Myers
Creative Director, Media/Sim Services: David Mahlmann
Web Development Lead: Lisa Pease
CD Build Specialist: Eric Wagoner
Localization Manager: Rick Terek
Operations Coordinator: John Williams
Manufacturing Support: Laura King; Kathy Hershey
Lead Product Manager, Release Management: Bo Galford
Program Manager, Knowledge Management: Josh Barnhill
Lead Product Manager, Knowledge Management: Janet Wilson
Group Manager, Courseware Infrastructure: David Bramble
Director, Developer Training: Juan Fernando Rivera
General Manager: Robert Stewart
Trang 3Instructor Notes
This module provides students with an introduction to Microsoft® Web Storage System schema and explains how the schema promotes interoperability and reuse by using its properties, namespaces, and content classes Creating custom schemas is also covered Module lecture content and learning objectives are reinforced by a hands-on lab, Lab A, Extending the Web Storage System
Schema
After completing this module, students will be able to:
! Describe how schema properties, namespaces, and content classes function
to define Web Storage System schema
! Create a custom schema
Materials and Preparation
This section provides the materials and preparation tasks that you need to teach this module
Required Materials
To teach this module, you need the following materials:
! Microsoft PowerPoint® file 2019A_02.ppt
! Module 2, “Examining Web Storage System Schema”
! Web Storage System Explorer tool is required for the "Using the Web Storage System Explorer" demonstration
Preparation Tasks
To prepare for this module, you should:
! Read all of the materials for this module
! Complete the lab
! Read the topics in the Exchange 2000 software development kit (SDK) that discuss Web Storage System schema
Presentation:
45 Minutes
Lab:
20 Minutes
Trang 4iv Module 2: Examining Web Storage System Schema
Discussion
This section provides discussion notes that will not fit in the margin notes or are not appropriate for the student notes
Discussion: Default Properties and Namespaces
The objective of this instructor-led group discussion is to introduce the students
to some of the more common default properties and namespaces that are available in Web Storage System schema The goal is to present how the properties are used in different circumstances You do not need to discuss in detail how to implement these properties; just give an overview of property function
Begin by defining the properties in the "DAV:" namespace Mention that the
values for many of the properties in the "DAV:" namespace do not have to be set explicitly because they are automatically assigned values by the Web
Storage System Discuss how the properties of the "DAV:" namespace are
defined by Internet standards organizations to promote interoperability between applications and platforms
Define the "http://schemas.microsoft.com/exchange" namespace as a set of
properties implemented by Microsoft Exchange 2000 Server Note that these properties can have predefined programming enumerations associated with them that you can use when you set the value For example, the
http://schemas.microsoft.com/exchange/sensitivity properties can be
represented by the CdoSensitivityValues Collaboration Data Objects (CDO)
enumeration
Ask for an example of a registered domain name used by a student’s company, and create some examples of property names such as
http://schemas/domainname/propertyname
When discussing the "urn:schemas:calendar", "urn:schemas:contacts",
"urn:schemas:httpmail", and "urn:schemas:mailheader" namespaces, discuss how the properties are defined by Internet standards organizations
Discuss the difference between the "urn:schemas:httpmail" and the
"urn:schemas:mailheader" namespaces The properties for the
“urn:schemas:httpmail” namespace are expressed as Unicode characters and the properties for the “urn:schemas:mailheader” namespace are expressed as ASCII characters
When discussing the "http://schemas.microsoft.com/exchange/events/" and
"urn:schemas-microsoft-com:office:forms" namespaces, define event registrations and Web form registrations Explain how to use these properties to create a decision table Mention that you will be going into greater detail about how to use the properties in these namespaces in later sections
When discussing the microsoft-com:xml-data", microsoft-com:datatypes" and "urn:schemas-microsoft-com:exch-data"
"urn:schemas-namespaces, explain how to use them to create custom properties Mention that you will be going into greater detail about how to use the properties in these namespaces in later sections
Trang 5When discussing the "http://schemas.microsoft.com/exchange/security/"
namespace, explain how it uses Extensible Markup Language (XML) to establish role-based security on an item or folder level (Read the article at http://www.msdn.microsoft.com/library
/default.asp?URL=/library/techart/secroles.htm)
Trang 6vi Module 2: Examining Web Storage System Schema
Demonstration
This section provides demonstration procedures that will not fit in the margin notes or are not appropriate for the student notes
Demonstration: Using the Web Storage System Explorer
! Prepare for the demonstration by completing the following steps:
1 Start Exchange System Manager Create a new public folder in the Public
Folders tree and name it ExpenseReport
2 Create another public folder in the Public Folders tree and name it
ExpenseReportSchema
3 Open the Web Storage System Explorer tool
4 Type the username, password, and the URL of the ExpenseReportSchema
folder as http://localhost/public/expensereportschema
5 Select the baseschema property and set it equal to the non_ipm_subtree/schema location For example, set it to
http://localhost/public/non_ipm_subtree/schema/
6 Create a new property definition, and give it a unique name using a
namespace, such as http://schemas/domainname/expensereport/state Save the property definition as State
7 Set the data type to String and specify that the property is indexed
8 Create a new content class and give it a unique name using a namespace
such as http://schemas/domainname/expensereport/ Save the content class as Expensereport
9 Using the Web Storage System Explorer, specify that your new content
class extends the urn:content-classes:item content class
10 Add the custom property you created, http://schemas/domainname
/expensereport/state/, to the content class, and then save your changes
11 Using the Web Storage System Explorer, open the ExpenseReport folder that you created earlier
12 Set the schema-collection-ref property equal to the URL of the schema
folder you created earlier, http://localhost/public/ExpenseReportSchema
13 Explain the results of what you just did You created a schema folder and set
its baseschema property to the non_ipm_subtree/schema directory so that
you can use all the existing properties of the Web Storage System You created a new property and used a namespace to differentiate it from other properties You created a custom content class that extends the
urn:content-classes:item content class and uses the custom property that
you created earlier
Trang 7Module Strategy
Use the following strategy to present this module:
! Schema Function Define the terms schema, and schema-aware application
Present Web Storage System schema as a flexible operating environment for storing, sorting, searching, and indexing resources
! Schema Structure Describe how properties and namespaces function in the Web Storage System and emphasize that each collection of properties defines a namespace List the set of default namespaces used by the Web Storage System to define resources
Present the function of content class Explain how to read and set the
content class of a resource by using the DAV:contentclass schema
property List the predefined content classes provided by Exchange 2000
Use the example of an expensereport content class to explain how to
extend a schema
! Creating a Custom Schema Use the example of an expense report to explain how to create a custom schema by appending a property and how to create a custom content class Define schema scope Present the two folder properties that are used to configure folder schema scope
Describe the procedures for creating a schema, property definitions, and content class definitions
Trang 9Overview
! Schema Function
! Schema Structure
! Creating a Custom Schema
Microsoft® Web Storage System schema provides a flexible operating environment for storing, sorting, searching, and indexing resources in the Web Storage System
After completing this module, you will be able to:
! Describe the function of schema
! Describe how properties, namespaces, and content classes function to define Web Storage System schema
! Create a custom schema
The Web Storage System
schema platform allows
applications to share data
Trang 102 Module 2: Examining Web Storage System Schema
Schema Function
Mechanism for Schema-Aware Applications to Discover the Properties That are Used by Resources in the Web Storage System
A schema is a collection of properties that define all the resources, such as
folders, items, and Web files, found in the Web Storage System
Schema structure is not as rigidly enforced in the Web Storage System as it is in
a relational database system, such as Microsoft SQL Server™ Instead, a schema
in the Web Storage System is used primarily to provide a mechanism for schema-aware applications to interpret the properties that are used by a resource
in a particular application
A schema-aware application is an application that can access and modify the
schema properties associated with resources to sort, query, and index resources
in the Web Storage System
The properties that can be applied to resources in the Web Storage System are interpreted by using multiple application programming interfaces (APIs) and protocols, such as OLE DB, MAPI and Hypertext Transfer Protocol (HTTP) Microsoft Outlook® 2000 uses MAPI to communicate with resource properties in Microsoft Exchange 2000 Server
Topic Objective
To present the function of a
Web Storage System
schema
Lead-in
Schemas enable
schema-aware applications to
interpret the properties of a
resource maintained by the
Web Storage System
Note
Trang 124 Module 2: Examining Web Storage System Schema
Properties and Namespaces
http//schemas/microsoft.com/exchange Namespace
http://schemas.microsoft.com/exchange/sensitivity
http://schemas.microsoft.com/exchange/contentstate http://schemas.microsoft.com/exchange/foldersize
urn:schemas:httpmail Namespace
urn:schemas:httpmail:from urn:schemas:httpmail:to
urn:schemas:httpmail:subject urn:schemas:httpmail:hasattachment
urn:schemas:httpmail:calendar urn:schemas:httpmail:displaybcc
urn:schemas:mailheader Namespace
urn:schemas:mailheader:from urn:schemas:mailheader:content-description
urn:schemas:mailheader:content-language urn:schemas:mailheader:mime-version
Web Storage System schema namespaces consist of grouped properties
Properties
By default, the Web Storage System contains a variety of properties that describe messages, contacts, appointments, documents, and other resources stored in the Web Storage System You can use these properties to efficiently organize, index, sort, view, and search resources In addition, you can use the Web Storage System to create custom properties
Namespaces
A namespace is the unique name that is used as a prefix to the name of each
property in the group
Grouping Properties into Namespaces The illustration in the slide shows urn:schemas:httpmail:subject as the full
property name used to define the subject of a message The property belongs to the "urn:schemas:httpmail" namespace, which contains other properties that are used to define messages The "urn:schemas:httpmail" namespace also includes properties that define the recipient and sender of a message
(urn:schemas:httpmail:to and urn:schemas:httpmail:from) and a property
that indicates whether a message has an attachment
(urn:schemas:httpmail:hasattachment)
Use namespaces to uniquely identify properties that have the same name For
example, you can use a State property to refer to a country or to refer to the
state of a document in a process To differentiate between the two uses, you can
prefix each State property with a unique namespace
Determining the Namespace Prefix
The prefix to the namespace indicates whether the namespace is specific to a particular product or in agreement with Internet standards
In the Web Storage System,
schema properties that
define similar resources are
grouped into namespaces
Trang 13"http://schemas.microsoft.com"
Namespaces that begin with the string "http://schemas.microsoft.com" are defined specifically for use with Microsoft products For example, the namespace "http://schemas.microsoft.com /exchange" is for Exchange 2000 and consists of fields optimized for that product You can use properties in this namespace when building applications for use with Exchange 2000
"urn:schemas"
Namespaces that begin with the string "urn:schemas" are defined by one of various Internet standards; these are registered namespaces and are generic enough to be applied to multiple products For example, the
"urn:schemas:calendar" namespace, contains properties that are defined for Internet-based scheduling and can be used by multiple tools and operating systems You can use properties from this namespace to build generic scheduling solutions for use by any type of client
Trang 146 Module 2: Examining Web Storage System Schema
Discussion: Default Properties and Namespaces
In this discussion, the instructor presents the range of properties, to define resources that are available in the Web Storage System
The objectives of this discussion are:
! To identify and describe the function of some of the common default namespaces used by the Web Storage System
! To identify some of the common properties in each namespace and define their data types and functions
Table of Default Namespaces and Properties
The following table lists a selection of the most commonly used default namespaces and properties
DAV:ishidden Indicates whether the item is designated as
hidden
DAV:iscollection Read-only Indicates whether the item is a
collection
DAV:haschildren Read-only Indicates whether the folder or
structured document item has child objects
DAV:parentname Name of the folder that contains the item
"http://schemas.microsoft.com
/exchange"
http://schemas.microsoft.com /exchange/sensitivity
Message and appointment sensitivity Use the CdoSensitivityValues enumeration to set it using values such as
cdoSensitivityNone, cdoPrivate, cdoCompanyConfidential – 0; Personal – 1; Private – 2; Company Confidential – 3
The range of default
properties available in the
Web Storage System is
extensive The table I'll be
referring to in this discussion
lists some of the more
common namespaces
and properties
Show the students where in
the SDK they can find the
definitions for the Web
Storage System properties
Trang 15Namespace Property Description
http://schemas.microsoft.com /exchange/contentstate
Any text that describes the state, or status,
of an item
http://schemas.microsoft.com /exchange/foldersize
Read-only The total size, in bytes, of all of the items in a folder
"urn:schemas-microsoft-com:office:office"
com:office:office #Author
urn:schemas-microsoft-Name of the document author
com:office:office #Comments
urn:schemas-microsoft-Comments for the document
com:office:office #Pages
urn:schemas-microsoft-Status property used by Microsoft Office
2000 applications
urn:schemas:calendar:duration Duration of an appointment in seconds
urn:schemas:calendar:location Meeting location of an appointment
urn:schemas:contacts:manager Distinguished name (dn) for the contact’s
urn:schemas:httpmail:from Addressees from whom the message was
sent
urn:schemas:httpmail:subject Subject of the message
urn:schemas:httpmail:
attachmentfilename
Name of the attached file
urn:schemas:httpmail:read Indicates whether the message was read
urn:schemas:mailheader:from Addressees from whom the message was
"http://schemas.microsoft.com
/exchange/events/"
http://schemas.microsoft.com /exchange/events/EventMethod
List of events to receive event notification
http://schemas.microsoft.com /exchange/events/SinkClass
COM class identifier (CLSID) in registry format, or the programmatic identifier (ProgID), of the event sink COM class
http://schemas.microsoft.com /exchange/events/Enabled
Boolean value that indicates whether an event registration is enabled
Trang 168 Module 2: Examining Web Storage System Schema
"urn:schemas-microsoft-com:office:forms"
com:office:forms#executeurl
urn:schemas-microsoft-URL of the engine used to render a form This can be an Active Server Pages (ASP) form and Internet Server API (ISAPI) filter
com:office:forms#request
urn:schemas-microsoft-Specifies whether the form uses GET or POST request The property is case insensitive
urn:schemas-microsoft-com:
office:forms#contentclass
Content class for which the form is registered This property is case insensitive The content class is associated with a set of schemas and a set of forms
com:office:forms#browser
urn:schemas-microsoft-Specify the type of browser
or MAPI
"urn:schemas-microsoft-com:
exch-data"
data:expected-content-class
urn:schemas-microsoft-com:exch-Array of names indicating the expected content classes of items in a folder
"http://schemas.microsoft.com
/exchange/security/"
http://schemas.microsoft.com /exchange/security
XML representation of a security identifier
of the creator of the Web Storage System item
Trang 17Content Classes
http//schemas/microsoft.com/exchange Namespace
http://schemas.microsoft.com/exchange/sensitivity
http://schemas.microsoft.com/exchange/contentstate http://schemas.microsoft.com/exchange/foldersize urn:schemas:httpmail Namespace
urn:schemas:httpmail:from
urn:schemas:httpmail:to
urn:schemas:httpmail:subject urn:schemas:httpmail:hasattachment
urn:schemas:httpmail:calendar
urn:schemas:httpmail:displaybcc
urn:schemas:mailheader Namespace
urn:schemas:mailheader:from urn:schemas:mailheader:content-description
urn:schemas:mailheader:content-language urn:schemas:mailheader:mime-version
urn:content-classes:message
A content class identifies the function of a resource to a schema-aware
application and associates a set of default properties to the resource For
example, the urn:content-classes:message content class defines properties
used to describe an e-mail message in an Inbox or what has posted in a public folder The content class does not limit the properties that you can associate with a resource; rather it acts like a template of properties that a resource uses
Using Predefined Content Classes
The Web Storage System schema provides many predefined content classes The following table lists some of the predefined content classes
Content class Base class for urn:content-classes:message Messages
urn:content-classes:calendarmessage Meeting requests and responses
urn:content-classes:appointment Appointments
urn:content-classes:person Contact items
urn:content-classes:folder Folders
urn:content-classes:item Any resourcein the store
urn:content-classes:document Microsoft Office documents
Exchange 2000 stores many content class definitions and property definitions as XML schemas You will learn more about XML schemas in Module 8, “Creating Documents by Using XML and XSL.”
Topic Objective
To show how content
classes can contain
properties that are spread
over different namespaces
Lead-in
The content class of an item
functions like a template of
properties that a resource
uses The illustration shows
how the content class
urn:content-classes:message uses
properties from multiple
namespaces to define the
content class
Note