The Yukatan data model is now able to correctly represent a wide variety of email messages, including traditional RFC 822 messages, MIME multipart messages, messages with binary data or international text content, etc. However, one essential piece of information is still missing.
The Content-Disposition header field defined in RFC 2813 is used to specify whether a message part should be displayed inline or as an attachment. The header field is also used to specify the filename of an attached file. For example, an image entity with media type image/gif should be displayed as a part of the containing message if the Content-Disposition value is "inline" and as a separate attachment if the value is "attachment". The name of the image file, e.g. "example.gif", is included as the "filename" parameter of the Content-Disposition value.
The Content-Disposition value and the optional filename parameter are stored as the optional entdisposition and entfilename attributes of the entity relation. The case-insensitive disposition value should always be normalized to lower case.
CREATE TABLE entity ( ... entdisposition CHARACTER VARYING CHECK (LOWER(entdisposition) = entdisposition), entfilename CHARACTER VARYING, ... );
The full SQL schema of the Yukatan data model 0.9 is included as the attached SQL schema file.
The only changes since version 0.8 are the two new attributes of the entity relation.
After the addition of Content-Disposition information, the Yukatan data model is now mostly ready to be used as a general email database. The next version of the data model will be labelled 1.0, and will contain only clarifications and semantic changes.
Future enhancements after version 1.0 might include support for S/MIME and PGP, newsgroup messages, delivery notifications, SPAM control features, or other wanted features.