@database MimeEditor.Guide @author Ole Friis @wordwrap @node Main "MimeEditor documentation" Welcome to the documentation for MimeEditor.mcc by Leon Woestenberg and Ole Friis. @{u}@{b}Table of contents@{uu}@{ub} @{" Introduction " Link Introduction } ...... What on Earth is this? @{" Disclaimer " Link Disclaimer } ...... Don't blame us! @{" Authors " Link Authors } ...... Send us a nice mail. @{" Installation " Link Installation } ...... Don't skip this chapter! @{" Requirements " Link Requirements } ...... What you neeeeed. @{" History " Link History } ...... Boring, this... @{" To do " Link ToDo } ...... Think about the future. @{" Credits " Link Credits } ...... Big thanks! @endnode @node Introduction "MimeEditor · Introduction" @{u}@{b}Introduction@{uu}@{ub} MimeEditor.mcc is a public custom class for MUI. It is a subclass of group.mui. The class is actually a part of a bigger project, and initially we didn't have plans about releasing this part as a public mcc. Anyway, @{"Allan Odgaard" link Credits} persuaded us into it, so here it is. The class' potential? Well, use it in your program if you want your user to send you an e-mail, use it in your up-and-coming web browser or e-mail client, etc. Your imagination is the limit :-) Some of the features: · Friendly environment (hopefully). · Easy addition, deletion, and arranging of MIME parts. · Treats different MIME types differently, although all MIME parts can be given certain standard parameters. · Uses datatypes to find the types of added files. · base64 and quoted-printable decoding and encoding. UU-decoding if the UU-encoded part is encapsulated in a multipart message part, otherwise the UU-part is discarded. · Showing images and playing sounds internally. · Control codes which can be used when replying to files, forwarding files, resending files etc. · Decoding and encoding of RFC1522 (8-bit) header files. · Really fast MIME reader routines, written from the ground up. If you do not feel this speed, this is because of the inefficient handling of the "?" images, see the @{"to do list" link ToDo}. · @{b}Almost@{ub} fully MIME-compliant. The non-compliant areas are in no way critical, but @{"mail us" link Authors} if you find problems anyway. Pecularities regarding RFC1521/822: · Treats multipart/alternative and multipart/parallel as multipart/mixed. Who uses /alternative and /parallel anyway? · Members in "group lists" (defined for To: fields) are not shown. Instead, the group name is shown. If @{b}anybody@{ub} ever stumbles over a MIME message using group lists @{b}at all@{ub} (in real life, that is), I'll implement support for it right away, and the person reporting the use will be credited in these docs. Promise! · text/rfc822 is currently treated as text/plain. I've found out that this isn't very smart, to say the least, because Netscape's mailer encapsulates the original mail in a text/rfc822 part when forwarding a mail, which means that this text/rfc822 part can most likely contain a lot more than just text. So I'll change it in the future. You might also want to know how to @{"contact the programmers" link Authors}. Use this class for free as long as your program is free. For other kinds of software, please @{"mail me" link Authors}. @endnode @node Disclaimer "MimeEditor · Disclaimer" @{u}@{b}Disclaimer@{uu}@{ub} I'm not in the mood to create a huge disclaimer text. Just use the class in a sensible way, and don't blame @{"us" link Authors} for anything, right? If your harddisk crashes because of this mcc, please say so and we'll try to go bug-hunting. So, in other words: In no way will the programmers be held responsible for accidents that have arisen in any way with the class. Period. @endnode @node Authors "MimeEditor · Authors" @{u}@{b}Authors@{uu}@{ub} As mentioned in the @{"introduction" link Introduction}, this class is just a part of another project. This "other project" is being developed by these two jolly fellows: Leon Woestenberg Ole Friis The part that this class represents was mainly programmed by Ole (that's I who is writing this), so for comments about the class, please write him (me!). Visit the MCC_MimeEditor homepage for always the newest version: @{u}http://home3.inet.tele.dk/ole_f/MimeEditor.html@{uu} @endnode @node Installation "MimeEditor · Installation" @{b}@{u}Installation@{ub}@{uu} Just use the included install script. If you don't want to use the install script, that's probably because you know what to do, so I won't waste bandwidth on you. Also note that you need certain @{"other things" link Requirements} in order to use MimeEditor.mcc. @endnode @node Requirements "MimeEditor · Requirements" @{u}@{b}Requirements@{uu}@{ub} In order to use MimeEditor.mcc, you need the following: · TextEditor.mcc. · BetterString.mcc. · Toolbar.mcc. · asyncio.library. · An Amiga with MUI 3.8 installed properly. TextEditor.mcc and BetterString.mcc can be obtained from Allan Odgaard's homepage at "http://www.diku.dk/students/duff". Get Toolbar.mcc from Benny Nielsen's homepage "http://www.diku.dk/students/benny". asyncio.library isn't really a requirement, as @{"Leon" Link Authors} has made some fallback functions, but without it, MimeEditor.mcc is @{b}dead@{ub} slow. Install it, and MimeEditor.mcc's MIME reader routines are the fastest you've ever seen. So get it from Aminet! If you haven't got MUI 3.8, get it from Aminet. If you haven't got an Amiga, what are you waiting for? Get one @{b}now@{ub}! @endnode @node History "MimeEditor · History" @{u}@{b}History@{uu}@{ub} 1.3 (07-Mar-98) · Problem reading non-encoded, non-ascii chars in headers fixed. · MUIM_MimeEditor_CreateToList added. · MUIA_MimeEditor_To and MUIA_MimeEditor_Subject are now both [ISG]. · Activation of text editor object now also works when opening an existing MIME file. · Seemingly strange bug removed: When inserting and deleting an image part 3 times, the 3rd time you would get the wrong image information. · MUIA_MimeEditor_ReplyTo added. 1.2 (08-Feb-98) · Fixed isdigit() problem, which gave dates when replying to files. · If you were @{b}extremely@{ub} unlucky (and were running PoolWatch at the same time), MimeEditor.mcc's scan routines could make some mess. Fixed! · Installer script now also installs the MimeEditor-demo icons. Thanks, Kai! 1.1 (08-Feb-98) · Removed a couple of redundant lines in the code. 1.0 (31-Jan-98) · Wrote wrong Date: fields when the hour, minute, or second number was below 10. Fixed. · Right tagbase arrived today, and is used now. 0.12 (30-Jan-98) · When a text part is inserted, the text editor object is activated, also when the text part is inserted before the MimeEditor object is attached to a window. · Problem with empty "To:" field when PoolWatch was running. Fixed. · Used the same Toolbar.mcc description for all MimeEditor objects, which could result in conflicts when multiple MimeEditor objects were opened at a time. Fixed. 0.11 (29-Jan-98) · First public beta. @endnode @node ToDo "MimeEditor · Still to do" @{u}@{b}To do@{uu}@{ub} There's still lots of things that can be done to this mcc, the most obvious being: · Treat text/rfc822 correctly. Which means changing some of the basics in the parser :-( · Localize it. · "Cc:", "Followup-to:", and other "advanced" header items needed in e-mail clients and newsreaders. · Attributes to show or hide specific header items. And, in the far future, these are thoughts that pop to mind: · Another handling of the "?" icons symbolizing the MIME parts. It needs drag'n'drop and more speed. Currently we use loads of Toolbar.mcc objects, and that's overkill. · Charset conversion. · Basic HTML and RTF parsers. · Automatic packing of attachments. · Implementing SMTP mail functionality. Also, how about a MimeReader.mcc? I've got everything needed to do such a class, so if anybody sees any need for it, please @{"tell us!" link Authors} @endnode @node Credits "MimeEditor · Credits" @{u}@{b}Credits@{uu}@{ub} Please give a standing applause to the following people: · Allan Odgaard for suggesting me to make this mcc. Plus, he's given lots of help and advice. And he's done TextEditor.mcc and BetterString.mcc. And he made the nice icons which are used in MimeEditor-demo. · Benny Kjær Nielsen for Toolbar.mcc. · Kai Hofmann for the MCC installer script. · Thomas Petersen and Niels Bache for great alpha testing. · Stefan Stuntz for MUI. · The people on the MUI mailing list for always being kind and helpful. I've got a feeling that I've forgotten quite a lot of people. I'll add them as I recall them!! @endnode