Code

Adding a new reactor, for supporting Internet Explorer's kludge in not
authoreparker <eparker@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 25 Mar 2004 21:53:48 +0000 (21:53 +0000)
committereparker <eparker@57a73879-2fb5-44c3-a270-3262357dd7e2>
Thu, 25 Mar 2004 21:53:48 +0000 (21:53 +0000)
allowing .eml to be opened (and giving you no clues as to why it's not
opening it, either. :P). Read detectors/filereactor.py for more information.

git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@2188 57a73879-2fb5-44c3-a270-3262357dd7e2

detectors/filereactor.py [new file with mode: 0755]
doc/upgrading.txt

diff --git a/detectors/filereactor.py b/detectors/filereactor.py
new file mode 100755 (executable)
index 0000000..357d6dd
--- /dev/null
@@ -0,0 +1,39 @@
+
+def eml_to_mht(db, cl, nodeid, oldvalues):
+    ''' 
+    This reactor fires whenever a new file entity is created.
+    ---------------------------------------------------------
+    
+    If the file is of type message/rfc822, we tack onthe extension .eml.
+
+    The reason for this is that Microsoft Internet Explorer will not open
+    things with a .eml attachment, as they deem it 'unsafe'. Worse yet,
+    they'll just give you an incomprehensible error message. For more 
+    information, please see: 
+
+    http://support.microsoft.com/default.aspx?scid=kb;EN-US;825803
+
+    Their suggested work around is (excerpt):
+
+    "WORKAROUND
+        To work around this behavior, rename the .EML file that the URL links to so that it has a .MHT file name extension, and then update the URL to reflect the change to the file name. To do this:
+
+        1. In Windows Explorer, locate and then select the .EML file that the URL links.
+        2. Right-click the .EML file, and then click Rename.
+        3. Change the file name so that the .EML file uses a .MHT file name extension, and then press ENTER.
+        4. Updated the URL that links to the file to reflect the new file name extension."
+
+    So... we do that. :) '''
+
+    name = cl.get(nodeid, 'name')
+    type = cl.get(nodeid, 'type')
+
+    if type.lower() == "message/rfc822":
+        name += '.mht'
+        cl.set(nodeid, name=name)
+
+
+
+def init(db):
+    db.file.react('create', eml_to_mht)
+
index dbd01ad2cb40363c7ed751a85cf86cf3ed1fed8f..925cf34d9deb18a827c91f185d9efd470090106a 100644 (file)
@@ -13,6 +13,20 @@ accordingly. Note that there is information about upgrade procedures in the
 Migrating from 0.7 to 0.8
 =========================
 
+
+0.8.0 Added filereactor detector
+--------------------------------
+
+This reactor is not installed by default, but rather can be found in the source
+directory, under the detectors/ directory.
+
+In it, it contains a workaround for an Internet Explorer limitation, regarding
+.eml and .mht files. It is tested to work with both Internet Explorer 6 and
+Mozilla's Firefox. 
+
+Read the description inside of the reactor itself, for more information.
+
+
 0.8.0 Added Dispatcher role
 ---------------------------