home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_s_z
/
draft-shakib-mime-prop-00.txt
< prev
next >
Wrap
Text File
|
1996-07-23
|
36KB
|
1,068 lines
CALENDAR Working Group Darren Shakib
INTERNET DRAFT Ian Ferrell
draft-shakib-mime-prop-00.txt Microsoft
Expire in six months
A MIME Content-Type for Tagged Property Value Storage
1. Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as "work in progress."
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet- Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
2. Abstract
This memo defines a MIME Content-Type and for holding arbitrary item
information. The definition is independent of any particular item type
or application. The application/properties Content-Type is defined for
holding a variety of basic textual property information to describe the
item, for example a directory item could contain name, and email
address. The application/properties Content-Type can also be used as
the root body part in a multipart/related Content-Type for handling more
complicated situations in which non-textual information, for example an
image or sound, must be represented.
The application/properties Content-Type defines a general framework and
format for holding directory information in a "name, datatype: value"
format. This document also defines the procedure by which particular
formats for carrying the application-specific information within an
application/properties Content-Type may be defined and registered, and
the conventions such formats must follow. It is expected that other
documents will be produced that define such formats for various
application item types (e.g. white pages, appointments).
3. Need for a Generic Property MIME Type
For purposes of this document, a directory is a special-purpose database
that contains typed information. A directory usually supports both read
and search of the information it contains, and may support modification
of the information as well. Directory information is usually accessed
far more often than it is updated. Directories may be local or global
in scope. They may be distributed or centralized. The information they
contain may be replicated, with weak or strong consistency requirements.
There are several situations in which users of Internet mail may wish to
exchange directory information: the email analogue of a "business card"
exchange; the conveyance of directory information to a user having only
email access to the Internet; the provision of machine-parseable address
information when purchasing goods or services over the Internet; etc. As
MIME [RFC-1521,RFC-1522] is used increasingly by other protocols, most
notably HTTP, it may be useful for these protocols to be able to carry
directory information in MIME format. Such a format, for example, could
be used to represent URC (uniform resource characteristics) information
about resources on the World Wide Web.
In addition to directory information there are item types that need to
be represented in a similar manner to directory items. For example,
Calendaring items fall into this category. Rather than having a unique
MIME Content-Type for each item type for encoding their properties and
values it is desirable to have a single encoding format that could
handle all of the item types. This allows code to leverage the parsing
and processing code across the item types that need to be supported.
4. Overview
The scheme defined here for representing the directory information in a
MIME Content-Type has two parts. First, the application/properties
Content-Type is defined for use in holding simple textual property
information to describe an item, for example name, title, startdate,
location or email address. The format uses a simple "name, datatype:
value" approach, which should be easily parsable by existing MIME
implementations and understandable by users. This document defines the
general form the information in the Content-Type should take, and the
procedure by which the specific property names and values for particular
applications may be defined. The framework is general enough to handle
information for a variety of items types including calendaring item
types and directory information from any number of end directory serves,
including LDAP [RFC-1777, RFC-1778], and WHOIS++ [RFC-1835].
Item types can include far more than just textual information. Such
information (e.g., an image, HTML text or sound) overlaps with
predefined MIME Content-Types. In these cases it may be desirable to
include the information in their well-known MIME formats. This
situation is handled by using the multipart/related Content-Type as
defined in [RFC-1872]. The root component of this type is an
application/properties body part specifying an textual information in-
line and for information contained in other Content-Types, the Content-
Ids of those types.
Each property includes a data type in addition to the name of the
property and its value. Standard property data types include: text,
date/time, date, time, URL, float, long, boolean, binary, and currency.
Because of the wide variety of item types that may be specified,
including the data type as part of each property provides an extra hint
to keep parsing simple and support more generalized applications. For
example a search engine would not have to know the particular data types
for all of the items that it is searching. Because the data type is
explicit in the definition it could look for dates in any item type and
provide good results. Some item types may be very loosely defined to
allow the sending of generic database records.
In order to reduce confusion some of the terminology has been changed
from [MIME-DIR].
item
Generic term used to refer to what the set of properties refers.
An item may be a directory entry, appointment, or just a row in
a database.
name
Name of the property being defined. The [MIME-DIR] draft
referred to this as type. While this is common terminology for
some directory implementations its meaning can easily be
confused with the data type of a property.
data type
The data type for a property. This is very similar to variable
types in C or column definitions in many database products.
profile
Identifies the base schema for an item.
5. The application/properties Content-Type
The application/properties Content-Type represents generic property data
used to describe an item and may contain references to other MIME body
parts holding additional data. It is defined as follows, using the MIME
content type registration from [MIME-REG], and the spirit of [MIME-DIR].
To: ietf-types@uninett.no
Subject: Registration of MIME media type application/properties
MIME media type name: application
MIME subtype name: properties
Required parameters: none
Optional parameters: charset, source, profile
The charset parameter is as defined in [RFC-1521] for other body
parts.
The source parameter provides a reference back to the source
calendar. It contains an URL (defined in [RFC-1738]) referencing the
source calendar for the appointment data. Knowledgeable client
applications may use the URL to retrieve additional or more up-to-
date information about the item.
Encoding considerations:
As specified by the Content-Transfer-Encoding header field.
Security considerations:
Generic item information may be public or private. This specification
does not include any access control mechanism to guarantee data
privacy on a per-property or per Content-Type basis.
Interoperability considerations:
Applications and downstream customers of this data must understand
the types of information within the Content-Type, as defined in this
document.
This specification should be able describe the formats described in
[MIME-DIR]. The default type of string will be used to specify the
the values of [MIME-DIR] properties.
Profile authors should attempt to make their properties
understandable by users reading the body part as text.
Published specification:
The "application/properties" Content-Type contains textual property
information. The content consists of one or more CRLF-separated lines in
the following format. An application/properties content line has the
same continuation semantics as described in [RFC-822], section 3.1.1 on
"folding" long header lines (i.e., a single line may be split across
multiple physical lines by replacing linear-white-space with a CRLF
immediately followed by at least one LWSP-character). Using [RFC-822]'s
notation, the context syntax is:
content := propvalue / propcid
propvalue := [name], [datatype] ":" SPACE [value]
propcid := [name], [datatype] "::" SPACE (*text) / string-list
; strings refer to URLs as defined in [RFC-1738]
; these URLs can refer to other body parts of a
; MIME message according to the MHTML document
name := x-token / iana-token
datatype := x-token / iana-token
x-token := <the two characters "X-" or "x-" followed, with no
intervening white space, by any token>
iana-token := <a publicly-defined extension token, registered with
IANA, as specified in Section 10 of this document>
value := *text ; characters whose syntax depends on type
string-list see definition in section 5.1
Note that the meanings of the various names for a profile are
defined in Section 10. Specifications may specify ordering on the
name constructs within a body part, though none is required by
default. The x-token name specification is used for bilaterally-
agreed upon names.
Note that "name" is analogous to "type" in other drafts such as MIME-
REG and MIME-DIR. This draft adds a second parameter, "datatype"
describing the property's data format (e.g. TEXT or LONG). This
parameter makes each property self-describing so client applications
that do not understand an unknown or custom property's use can still
support editing and displaying that property.
Note "name" values MUST NOT be duplicated. Multi-valued items MUST
be separated by ',' rather than repeating the property name multiple
times.
Note that name and datatype are case insensitive (i.e., "startdate"
is the same as "StartDate" and "STARTDATE"). Datatype MAY be absent
within a body part in that case "text" is assumed.
Note that the "charset" parameter SHOULD be used to identify
character sets other than US ASCII. If different information within
the same application/properties body component have different
character sets, they can both be converted to UTF-7 or another
character set which is a superset of both.
Note that if a type name is followed by the two characters "::", the
value is assumed to be a URL as defined by [RFC-1738] referencing
the actual value typically another body part as defined by [RFC-
1521], and the application/properties body part must be used in
conjunction with the multipart/related Content-Type defined in
the next section.
NOTE: The definition of property profiles could be defined as a media
type where the subtype defined the profile of the item. This would have
some advantages and some disadvantages over just using the application
media type with a properties sub-type.
Advantages to defining a new media type:
- Each body part would have a different content type which could make
it easier for messaging clients to just launch a viewer based on the
content type. This would be similar to the way that different
application body parts are handled today.
- When the MIME type was used with an HTTP server the client could
request a URL formatted as a specific item. For instance the URL for
a user's personal information might be accessible in the format of
contact data or free/busy information.
Disadvantages to defining a new media type:
- Current messaging clients would most likely have to change to support
the new media type. If the application media type is used then a
generic viewer for property data could be installed to display the
property data for any item. That handler could then invoke an
appropriate viewer or a default viewer if the profile is unknown.
- The data for the item would not contain the profile for the item.
The content type would need to be carried to allow a generic viewer
to know the profile of item being viewed.
- If the body part data is not self defining then viewers for the data
may not know the correct schema for display.
5.1 String-list Format
There are several cases where a single text string or list of text
strings must be represented. Because of the combination of encodings
the normal encodings for strings do not work. The first problem is that
since the encodings are using the [RFC-822] encoding for "folding" long
header lines the standard MIME Quoted-Printable encoding does not work.
If you were to use Quoted-Printable encoding then each line would have
to start with a white space character or the parsing would become non-
standard between properties.
The suggested solution is to use a derivative of the [HTTP 1.1]
document's quoted string. HTTP 1.1 defines a quoted-string type as:
A string of text is parsed as a single word if it is quoted
using double-quote marks.
quoted-string = ( <"> *(qdtext) <"> )
qdtext = <any CHAR except <"> and CTLs,
but including LWS>
The backslash character ("\") may be used as a single-character
quoting mechanism only within quoted-string and comment
constructs.
quoted-pair = "\" CHAR
The string-list consists of a series of quoted strings. All characters
between quoted-strings are ignored accept for ','. The ',' character is
used to separate multiple values for the string. This is analogous to a
list of text string values. In order to support line breaks inside of
the strings a special character for the CHAR in the quoted-pair string
is supported to indicate a new line, "\n". The new line refers to a
<CR><LF>.
string-list = *(quoted-string) [*( <,> *(quoted-string)) ]
quoted-string = ( <"> *(qdtext) <"> )
qdtext = <any CHAR except <"> and CTLs,
but including LWS>
The backslash character ("\") may be used as a single-character
quoting mechanism only within quoted-string constructs.
quoted-pair = "\" CHAR
The quoted-pair "\n" indicates a <CR><LF>.
5.2 Contacts
Person and email address to contact for further information:
Darren Shakib
Microsoft
One Microsoft Way
Redmond, WA 98052
darrens@microsoft.com
(206) 936-6405
Intended Usage: COMMON
Author/Change controller:
Darren Shakib
Microsoft
One Microsoft Way
Redmond, WA 98052
darrens@microsoft.com
(206) 936-6405
6. Use of the multipart/related Content-Type
The multipart/related Content-Type can hold item property information
comprised of text and/or non-text information or additional item-related
information that already has a natural MIME representation. The root
body part within the multipart/related body part is specified as defined
in [RFC-1872] by a "start" parameter, or it is the first body part in
the absence of such a parameter. The root body part must have a Content-
Type of "application/properties". This part holds text information,
optionally defines the name and source of the information, and makes
reference to subsequent body parts holding additional text and/or non-
text item property information via their URL Content-IDs as explained in
Section 6.
Body parts referred to do not have to be in any particular order.
7. Examples
The following examples illustrate possible implementations. Sample
properties are shown for illustrative purposes only and are not part of
the definition.
Example #1 demonstrates a basic use of the application/properties
Content-Type. The appointment has a start and end datetime and location.
Note that Location uses the default data type of text rather than
explicitly indicating that it is text.
To: Franklin W. Dixon <franklind@sample.com>
From: Carolyn Keene <carolynk@sample.com>
Subject: Discuss contract issues
MIME-Version: 1.0
Message-ID: <id1@sample.com>
Content-Type: application/properties ; profile="appointment"
Content-ID: <id2@sample.com>
Profile, text: "Appointment"
Start, datetime: 22 Oct 96 14:00:00 UT
End, datetime: 22 Oct 96 15:00:00 UT
Location: "Applegate Building, Suite 410"
Example #2 uses the multipart/related Content-Type to add non-textual
appointment data:
To: Franklin W. Dixon <franklind@sample.com>
From: Carolyn Keene <carolynk@sample.com>
Subject: Discuss contract issues
MIME-Version: 1.0
Message-ID: <id1@sample.com>
Content-Type: multipart/related;
boundary=fence;
type="application/properties";
start="<id4@sample.com>"
Content-ID: <id3@sample.com>
--fence
Content-Type: application/properties
Content-ID: <id4@sample.com>
Profile, text: "appointment"
Start, datetime: 22 Oct 96 14:00:00 UT
End, datetime: 22 Oct 96 15:00:00 UT
Location, text: "Applegate Building, Suite 410"
Map, binary:: "id5@sample.com"
--fence
Content-Type: image/jpeg
Content-ID: "id5@sample.com"
<...image data goes here...>
--fence--
8. Datatype definitions
This section defines data types used in the property/appointment
Content-Type. Note that all of these types, with the exception of
BINARY, are transmitted in human-readable form. Backus-Naur Form (BNF)
notation, as modified in [RFC-822].
Each property can also have multiple values. The schema for a profile
should indicate if the property should support multiple values. If an
application finds items that are multi-valued that should not then the
first item should be used and the rest should be ignored.
8.1. TEXT data type
Name: TEXT
Examples: "The boys made their way cautiously to the boathouse.\n"
"\"Run you guys!\" yelled Ratchy. \"It's the Hardy Boys!\""
BNF: TEXT = (*text) / string-list ; see section 5.1
Comments:
1) Character set is the same as default character set for body-part.
2) Multi-valued forms of this data type can be described in the
string-list by separating the strings with ','s.
8.2. BOOLEAN data type
Name: BOOLEAN
Examples: TRUE
FALSE
BNF: BOOLEAN = flag
where: flag = "TRUE" / "FALSE"
Comments:
1) Multi-valued forms of this data type are formed by delimiting
each item with a comma ','.
8.3. DATETIME data type
Name: DATETIME
Examples: 22 Oct 96 14:00:00 MST
11 Aug 96 12:34:56 Z
Mon, 22 Jul 96 4:30 EST +0030 ; Newfoundland time
BNF: DATETIME = date-time ; date-time as defined in [RFC-822]
Comments:
1) This follows [RFC-822] Sections 5.1 and 5.2. The intent here
is to follow the core message date and time formats to minimize
translation and parsing requirements.
2) Multi-valued forms of this data type are formed by delimiting
each value with a comma ','.
8.4. TIME data type
Name: TIME
Examples: 10:22
10:22:33
BNF: TIME = hour ; as defined in [RFC-822]
Comments:
1) This follows [RFC-822] Sections 5.1 and 5.2. The intent here
is to follow the core message date and time formats to minimize
translation and parsing requirements.
2) Multi-valued forms of this data type are formed by delimiting
each value with a comma ','.
8.5. DATE data type
Name: DATE
Examples: 22 Oct 96
11 Aug 96
BNF: DATE = date ; as defined in [RFC-822]
Comments:
1) This follows [RFC-822] Sections 5.1 and 5.2. The intent here
is to follow the core message date and time formats to minimize
translation and parsing requirements.
2) Multi-valued forms of this data type are formed by delimiting
each value with a comma ','.
8.6. FLOAT data type
Name: FLOAT
Examples: 20.30
1000000.0000001
BNF: FLOAT = [sign] *digit ["." *digit]
sign = "+" / "-"
Comments:
1) If sign is not specified, the value is assumed positive "+".
2) Multi-valued forms of this data type are formed by delimiting
each item with a comma ','.
8.7. LONG data type
Name: LONG
Examples: 1234567890
-1234556790
+1234556790
BNF: LONG = [sign] 10DIGIT
where: sign = "+" / "-"
Comments:
1) If sign is not specified, the value is assumed positive "+".
2) Multi-valued forms of this data type are formed by delimiting
each value with a comma ','.
8.8. BINARY data type
Name: BINARY
Examples: n/a
BNF: BINARY = NONE; binary can only use propcid notation
Comments:
1) Binary properties can only be stored in a separate body part
using multipart related notation.
8.9. CURRENCY data type
Name: CURRENCY
Examples: 54.25
1.43
1234567890123.45
BNF: CURRENCY = 18DIGIT "." 2DIGIT
Comments:
1) Only "." is supported to simplify parsing.
2) Multi-valued forms of this data type are formed by delimiting
each value with a comma ','.
8.10. URL data type
Name: URL
Examples: "ftp://ds.internic.net/rfcs/rfc1123.txt"
"HTTP://www.awb.com/drewboard.html"
BNF: URL = string-list ; see section 5.1 in this document
Comments:
1) Multi-valued forms of this data type can be described in the
string-list by separating the strings with ','s.
9. Common Properties
There will be some common properties that MAY appear in all profiles.
9.1 Profile
Name: profile
Data type: Text
Purpose: Indicates the profile schema of the item.
Encoding: Case insensitive.
Special notes (optional): This should be the first property
listed for the item. If this is
not listed some implementations
may not know how to display the item.
Required: No
Multi-Valued: NEVER
Intended usage: COMMON
9.2 Variant
Name: variant
Data type: Text
Purpose: Indicates a variant of the profile schema. All
variants should support the profile schema and
may only add to the schema. Encoding: Case
insensitive.
Special notes (optional): This should be the first property
after the profile property of the
item. Variants can be further
classified by separating the
versions in the variant string
with periods ".". Once again each
sub-variant should only add to
the schema.
Values are case insensitive.
Examples:
profile:"Appointment"
variant:"Recurring.1"
This could correspond to an recurring appointment variant 1.
profile:"Directory"
variant:"LDAP"
This could correspond to a directory entry with an LDAP schema.
profile:"Directory"
variant:"person"
This could correspond to a person directory entry.
profile:"Directory"
variant:"person.business card"
This could correspond to the business card variant of the
person directory entry.
Required: No
Multi-Valued: SOMETIMES
Intended usage: COMMON
9.3 CreatedBy
Name: createdBy
Data type: Text
Purpose: Identifies the creator of the item.
Encoding: Should correspond to an [RFC-822] formatted recipient.
Required: No
Multi-Valued: SOMETIMES
Intended usage: COMMON
9.4 CreateDate
Name: createDate
Data type: DATETIME
Purpose: Indicates the time that the item was created.
Encoding:
Required: No
Multi-Valued: NEVER
Intended usage: COMMON
9.5 MofifiedBy
Name: modifiedBy
Data type: Text
Purpose: Identifies the person that last modified the item.
Encoding: [RFC-822] formatted recipient.
Required: No
Multi-Valued: SOMETIMES
Intended usage: COMMON
9.6 LastModified
Name: lastModified
Data type: Text
Purpose: Indicates the profile schema of the item.
Encoding:
Required: No
Multi-Valued: SOMETIMES
Intended usage: COMMON
10. Registration of new profiles
This section defines procedures by which new profiles are registered
with the IANA and made available to the Internet community. Note that
non-IANA profiles may be used by bilateral agreement, provided the
associated profile names follow the "X-" convention defined above.
The procedures defined here are designed to allow public comment and
review of new profiles, while posing only a small impediment to the
definition of new profiles.
Registration of a new profile is accomplished by the following steps.
10.1. Define the profile
A profile is defined by completing the following template.
To: [mailing list TBD]
Subject: Registration of application/properties MIME profile XXX
Profile name:
Profile purpose:
Profile property names:
Profile special notes (optional):
Profile Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)
Property Descriptions: (list of property descriptions in following
format)
Name:
Data type:
Purpose:
Encoding:
Special notes (optional):
Required: (one of YES, NO)
Multi-Valued: (one of ALWAYS, NEVER, SOMETIMES)
Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)
The explanation of what goes in each field in the template follows.
Profile name: The name of the profile as it will appear in the
application/properties MIME Content-Type "profile" header parameter.
Profile purpose: The purpose of the profile (e.g., to represent
information about people, printers, documents, etc.). Give a short but
clear
description.
Profile property names: The list of property names associated with the
profile. This list of names is to be expected but not required in the
profile. Other names not mentioned in the profile definition may also
be present.
Profile special notes: Any special notes about the profile, how it is to
be used, etc. This section of the template may also be used to define an
ordering on the types that appear in the Content-Type, if such an
ordering is required.
Property Descriptions: Precedes the list of property descriptions for
the profile. Each property definition starts with the "Name:" tag.
Name: The name of the property, as it will appear in the body
of an application/properties MIME Content-Type "name, datatype: value"
line to the left of the colon ":".
Data type: The expected data type for the property. Possible values
listed in section 8.
Purpose: The purpose of the property (e.g., to represent a name,
postal address, IP address, etc.). Give a short but clear description.
Encoding: The encoding a value of the type must have in the
body of an application/properties MIME Content-Type. This description
must be precise and must not violate the general encoding rules defined
in section 5 of this document.
Special notes: Any special notes about the property, how it is to be
used, etc.
Required: YES indicates that the property MUST be present in the
property list of a item of an item of this type profile. No indicates
that this property MAY appear in the property list.
Multi-Valued: ALWAYS indicates that the property will expected to be
multi-valued. NEVER indicates that the property MUST NOT be multi-
valued. SOMETIMES indicates that the property MAY be multi-valued, but
that most implementations will not make it multi-valued.
Intended usage: COMMON indicates that most items of this profile will
include this property. LIMITED USE indicates that this property will
rarely be included. OBSOLETE indicates that use of this property SHOULD
NOT be used.
10.2. Post the profile definition
The profile description must be posted to the new profile discussion
list, [mailing list TBD].
10.3. Allow a comment period
Discussion on the new profile must be allowed to take place on the list
for a minimum of two weeks. Consensus must be reached on the profile
before proceeding to step 4.
10.4. Submit the profile for approval
Once the two-week comment period has elapsed, and the proposer is
convinced consensus has been reached on the profile, the
registration application should be submitted to the Profile Reviewer
for approval. The Profile Reviewer is appointed by the Application
Area Directors and may either accept or reject the profile registration.
An accepted registration should be passed on by the Profile
Reviewer to the IANA for inclusion in the official IANA profile
registry. The registration may be rejected for any of the following
reasons. 1) Insufficient comment period; 2) Consensus not reached;
3) Technical deficiencies raised on the list or elsewhere have not
been addressed. The Profile Reviewer's decision to reject a profile may
be appealed by the proposer to the IESG, or the objections raised
can be addressed by the proposer and the profile resubmitted.
11. Profile Change Control
Existing profiles may be changed using the same process by which they
were registered.
Define the change
Post the change
Allow a comment period
Submit the profile for approval
Note that the original author or any other interested party may propose
a change to an existing profile, but that such changes should only be
proposed when there are serious omissions or errors in the published
specification. The Profile Reviewer may object to a change if it is not
backwards compatible, but is not required to do so.
Profile definitions can never be deleted from the IANA registry, but
profiles which are no longer believed to be useful can be
declared OBSOLETE by a change to their "intended use" field.
12. Registration of new variants
Variants are registered in the same manner as profiles except that the
variant uses the following format:
To: [mailing list TBD]
Subject: Registration of application/properties MIME profile XXX
Variant name:
Variant profile:
Variant purpose:
Variant property names:
Variant special notes (optional):
Variant Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)
Property Descriptions: (list of property descriptions as described
in section 10.1)
Variant Profile is the name of the profile that this variant is a
version of. The complete path for the variant should be listed with the
intent that all variants should be the same based on their period-
separated root parts.
The descriptions for the other values are the same as in Section 10.1
where variant is replaced with profile.
The registration process follows the way that profiles are registered.
Define the change
Post the change
Allow a comment period
Submit the profile for approval
13. Security Considerations
Internet mail is subject to many well-known security attacks, including
monitoring, replay, and forgery. Care should be taken to restrict
sensitive information from leaving the scope of the service itself,
where any access controls can no longer be guaranteed.
14. Acknowledgments
Format and some descriptions were borrowed from the MIME Directory
draft.
15. Author's Address
Darren Shakib
Microsoft
One Microsoft Way
Redmond, WA 98052
USA
Phone: (206) 936-6405
Email: darrens@microsoft.com
Ian Ferrell
Microsoft
One Microsoft Way
Redmond, WA 98052
USA
Phone: (206) 936-1086
Email: ianf@microsoft.com
16. References
[MIME-DIR]
Howes, T., Smith, M., "A MIME Content-Type for Directory Informa-
tion", Internet-draft-ietf-asid-mime-direct-01.txt, February, 1996.
[MIME-REG]
Freed, N., Postel, J., "Multipurpose Internet Mail Extensions
(MIME) Part Four: Registration Procedures," Internet- Draft
draft-ietf-822ext-mime-reg-02.txt, December 1995.
[RFC-822]
Crocker, D., "Standard for the Format of ARPA Internet Text Mes-
sages", STD 11, RFC-822, August 1982.
[RFC-1521]
Borenstein, N., Freed, N., "MIME (Multipurpose Internet Mail Exten-
sions) Part One: Mechanisms for Specifying and Describing the For-
mat of Internet Message Bodies", RFC 1521, September 1993.
[RFC-1522]
Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Two:
Message Header Extensions for Non-ASCII Text", RFC 1522, September
1993.
[RFC-1738]
Berners-Lee, T., Masinter, L., McCahill, M., "Uniform Resource
Locators (URL)", RFC 1738, December 1994.
[RFC-1777]
Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access
Protocol", RFC 1777, Performance Systems International,
University of Michigan, ISODE Consortium, March 1995.
[RFC-1778]
Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access
Protocol", RFC 1777, Performance Systems International,
University of Michigan, ISODE Consortium, March 1995.
[RFC-1835]
Deutsch, et al., "Architecture of the WHOIS++ service",
RFC 1835, August 1995.
[RFC-1872]
Levinson, E., "The MIME Multipart/Related Content-type," RFC 1872,
December 1995.
Appendix A - Differences from [MIME-DIR]
While this is defined as an extension to [MIME-DIR] there are some
changes. Most of these changes were designed to clear up ambiguities
and either simplify or make the spec clearer. The extensions are
intended to make the property definition items able to describe a wider
variety of item types.
The term "name" is used instead of "type". Both refer to the name of a
property on the item. While type has a very specific meaning to some
people it is easily confused with the data type of a property.
The defaulttype parameter was removed. Its definition was ambiguous
since it was not clear why the "type" would be duplicated. Since a
specific mechanism is described for multi-valued property values it
became obsolete.
Removed name parameter since its use was vague. The information may be
more appropriate as a property on the item rather than as a parameter,
which would allow its definition to be more specific.
MIME subtype changed from "directory" to "properties". This allows for
a more generic definition for the items. The profile should be set to
"directory" for directory items and the variant should be used to
specify variations on a standard directory item.
Appendix B - Outstanding Issues
Requirements for registration have not been finalized. The details
above are subject to change.