Internet Draft Editor: Terry Harding draft-harding-ediint-filename-preservation-02.txt Axway Expires April 2010 Target Category: Informational Creation Date: October 02, 2009 Filename Preservation for EDIINT Status of this memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License. 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". The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. Abstract The intent of this document is to be placed on the RFC track as an Informational RFC. The EDIINT [AS1], [AS2] and [AS3] message formats do not currently contain any provisions for preservation of the filename of a transmitted EDI business document from one Trading Partner to another. Harding [Page 1] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 However,within certain trading communities, it is not uncommon for Trading Partners to require a specific filenames for EDI business documents to trigger specific backend processing. So it is the goal of this informational document to outline the procedures and mechanisms required to preserve filenames of EDI business documents. 1. Introduction This document describes a method of filename preservation utilizing the Content-Disposition MIME header[RFC 2183]. This document will further define the use of available optional parameters as described in RFC 2183, and any issues involved with implementing this informational document. 2. Requirements An EDIINT compliant system that implements this informational document MUST preserve the filename of an EDI business document during packaging and transport of the EDIINT MIME message to its trading partner. The recipient of the EDIINT MIME message MUST be able to retrieve the filename of the MIME wrapped EDI business document and transfer the received file to its backend system using the received filename. Since there are many ways in which files can be delivered to an EDIINT compliant application from their backend, this document will only focus on preserving the filename within the EDIINT MIME message. Each vendor will decide on their own how the filename is preserved within their application and tied to a specific EDI business document. It is only important that the filename of an EDI business document is the same filename name that is linked to the EDI document within the EDIINT MIME message. The linking of a filename to an EDI business document within an EDIINT MIME message will be accomplished by the use of the Content-Disposition MIME header. The Content-Disposition header will be added to the MIME bodypart that encapsulates the EDI business document. If the EDIINT MIME message contains multiple attachments( See [MA] ) then each individual MIME bodypart that encapsulates an attachment will have its own Content-Disposition header describing the filename of the attachment. There may be times when EDI business documents are received from backend systems where no filename is linked to the outbound EDI business document or when filename preservation is not required. During these times, the sending system may internally generate a filename for the EDI business document. Harding [Page 2] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 Any receiving system that receives an attachment where no Content-Disposition header exists MAY create its own filename for the attachment when it is transferred to the backend system. If the trading partner agreement between two trading partners requires filename preservation, the EDIINT application MUST ensure that a mechanism is available to receive files from their backend system that allows linking of filenames to EDI business documents. 2.1 Content-Disposition Header The format of the Content-Disposition header is defined in [RFC 2183], Section 2, and was copied to this document for the convenience of the reader. If there are any discrepancies between this document and [RFC 2183], [RFC 2183] will be considered correct. In the extended BNF notation of [RFC 5322], the Content-Disposition header field is defined as follows: disposition := "Content-Disposition" ":" disposition-type *(";" disposition-parm) disposition-type := "inline" / "attachment" / extension-token ; values are not case-sensitive disposition-parm := filename-parm / creation-date-parm / modification-date-parm / read-date-parm / size-parm / parameter filename-parm := "filename" "=" value creation-date-parm := "creation-date" "=" quoted-date-time modification-date-parm := "modification-date" "=" quoted-date-time read-date-parm := "read-date" "=" quoted-date-time size-parm := "size" "=" 1*DIGIT quoted-date-time := quoted-string ; contents MUST be an RFC 5322 `date-time' ; numeric timezones (+HHMM or -HHMM) MUST be used NOTE ON PARAMETER VALUE LENGTHS: A short (length <= 78 characters) Harding [Page 3] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 parameter value containing only non-`tspecials' characters SHOULD be represented as a single `token'. A short parameter value containing only ASCII characters, but including `tspecials' characters, SHOULD be represented as `quoted-string'. `Extension-token', `parameter', `tspecials' and `value' are defined according to [RFC 2045] (which references [RFC 5322] in the definition of some of these tokens). `quoted-string' and `DIGIT' are defined in [RFC 5322]. Example: Content-Disposition: attachment; filename="myfile" Systems compliant with this informational document SHOULD use the "attachment" disposition-type and MUST use the "filename" disposition-parm. Systems MAY also choose to use any other registered disposition-parms within the Content-Disposition header along with the disposition-type and filename parms. Compliant systems MUST also ignore any disposition-parms it does not recognize when parsing the Content-Disposition header. 2.2 Structure of an EDI MIME bodypart The example below shows a MIME bodypart that encapsulates an EDI business document. Every MIME bodypart within an EDIINT message that contains an EDI business document MUST contain the Content-Disposition header. Content-Type: application/edi-x12 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=myedifile.x12 MIAGCyqGSIb3DQEJEAEJoIAwgAIBADANBgsqhkiG9w0BCRADCDCABgkqhkiG9w0BBwGgg Hnic7ZRdb9owFIbvK/k/5PqVYPFXGK12YYyboVFASSp1vQtZGiLRACZE49/XHoUW7S/0t fU5ivWnasml72XFb3gb5druui7ytN803M570nii7C5r8tfwR281hy/p/KSM3+jzH5s3+p P3VT3QbLusnt8WPIuN5vN/vaA2+DulnXTXkXvNTr8j8ouZmkCmGI/UW+ZS/C8zP0bz2dz UEk2M8mlaxjRMByAhZTj0RGYg4TvogiRASROsZgjpVcJCb1KV6QzQeDJ1XkoQ5Jm+C5Pb v+ORAcshOGeCcdFJyfgFxdtCdEcmOrbinc/+BBMzRThEYpwl+jEBpciSGWQkI0TSlREmD SGLuESm/iKUFt1y4XHBO2a5oq0IKJKWLS9kUZTA7vC5LSxYmgVL46SIWxIfWBQd6Adrnj vGxVibLqRCtIpp4g2qpdtqK1LiOeolpVK5wVQ5P7+QjZAlrh0cePYTx/gNZuB9Vhndtgu W9ogK+3rnmg3YWygnTuF5GDS+Q/jIVLnCcYZFc6Kk/+c80wKwZjwdZIqDYWRH68MuBQSX 3CAaYOBNJMliTl0X7eV5DnoKIFSKYdj3cRpD/cK/JWTHJRe76MUXnfBW8m7Hd5zhQ4ri2 +kV1/3AGSlJ32bFPd2BsQD8uSzIx6lObkjdz95c0AAAAAAAAAAAAAAAA 3. Filename Parameter Rules and restrictions on the use of the filename parameter value are outlined in RFC 2183, Section, 2.3 and RFCs 5322, 2045, 2046, 2047, 2048 and 2049. 3.1 Filenames Harding [Page 4] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 As stated in RFC 2183, Section 2.3, current MIME standards restrict the grammar of filenames and various file systems will have name limitations. So it will be the responsibility of the two Trading Partners to determine the limits imposed by their trading environments. 4. Issues 4.1 RFC 2231 RFC 2231 states that parameter values longer than 78 characters, or which contain non-ASCII characters, MUST be encoded as specified in [RFC 2231]. This informational document does not encourage the use of filenames longer than 78 characters or comprised of non-ascii characters. See Section 3.1. 4.2 AS3(FTP) The filename parameter that is described in this document is for the embedded EDI business document and does not affect the name of the EDIINT message that is uploaded to a trading partner's FTP server. EDIINT compliant AS3 applications will follow any guidelines as defined by [AS3] for file naming conventions for uploaded files. 5. Security Considerations See RFC 2183, Section 5 6. IANA Considerations This document has no actions for IANA. Author's Addresses Terry Harding Axway Phoenix, Arizona, USA tharding@us.axway.com References Normative References [AS1] T. Harding, R. Drummond, C. Shih, MIME-Based Secure Peer-to-Peer Business Data Interchange over the Internet, RFC 3335, September 2002. [AS2] Moberg D., Drummond, R. MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, RFC 4130, July 2005. Harding [Page 5] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 [AS3] T. Harding, R. Scott, FTP Transport for Secure Peer-to-Peer Business Data Interchange over the Internet, RFC 4823, April 2007. [MA] K. Meadors, Multiple Attachments for EDI-INT, draft-meadors-multiple-attachments-ediint-08.txt, September 2009 [RFC 2045] N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies RFC 2045, November 1996. [RFC 5322] P. Resnick, Internet Message Format, RFC 5322, October 2008 [RFC 2183] R. Troost, S. Dorner, K. Moore, Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field, RFC 2183, August 1997 [RFC 2231] N. Freed, K. Moore, MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations, RFC 2231, November 1997 Acknowledgments Copyright Statement Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust?s Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License. Disclaimer This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative Harding [Page 6] INTERNET DRAFT Filename Preservation for EDIINT Protocol April 2010 works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Expires April 2010 Harding [Page 7]