Annotation of hypermess/hypermail/TODO, revision 1.5

1.1       kahan       1: This is a file of things to do. If you have other ideas or needs send
1.5     ! fumi        2: them to hypermail-dev@hypermail.org.
1.1       kahan       3: 
                      4: ===============
                      5: General Things:
                      6: ===============
                      7: 
1.5     ! fumi        8: - Need to use splint to clean up the code.
        !             9: 
        !            10: - Need to clean up the code and remove old code that is commented/ifdefed out.
        !            11: 
        !            12: - Update the doc files to assure all configuration file directives
        !            13:   are included appropriately in the documentation. Currently the
        !            14:   documentation does not completely list all options.
        !            15: 
        !            16: - Update the pcre library to a much more recent version.
        !            17: 
        !            18: - Modify configure to locate the appropriate htdocs directory locations
        !            19:   for installing the documentation and image files.
        !            20: 
        !            21: - Add the msgid hash to the emailinfo structure to speed-up looking
        !            22:   of this value when we already know it.
        !            23: 
        !            24: - Finish the libtool work on the fnv library so that we can link to
        !            25:   shared libraries _and_ install/uninstall them.
        !            26: 
        !            27: - Need to lowercase HTML tags to support XHTML 1.0 in the future.
        !            28: 
        !            29: - Need to add XHTML support - Configurable ?
        !            30: 
1.1       kahan      31: - Make the "New List Message" and "Reply To List" features available
                     32:   when usetable == 0
                     33: 
1.5     ! fumi       34: - system() should be replaced by fork()+execvp() (or maybe by s_popen())
        !            35:   in archive/ mbox2hypermail.c
        !            36: 
        !            37: - HTML code should be escaped where appropriate.
        !            38: 
1.1       kahan      39: - Make it possible to insert the FONT to use in the tables.
                     40:   <TH><FONT ...>string</FONT></TH>
                     41:   Fonts are not be inherited correctly in many browsers.
                     42: 
                     43: - Have configure look at the language selected and if it is not "en" 
                     44:   set the EURODATE to 1.
                     45: 
                     46: - Add date/subject/author filters for articles that are read in
                     47: 
                     48: - Need to create a library of hypermail functions so that other utilities
                     49:   can be generated without making things real ugly. (i.e. removal, other
                     50:   indexing.)
                     51: 
                     52: - Combine mbox2hypermail.c and msg2archive.c into a single program instead
                     53:   of having the two do the same general job...
                     54: 
                     55: - There is an irreversible aspect to piping messages into hypermail;
                     56:   what gets written into HTML does not readily convert back to RFC822
                     57:   form such that it could be re-archived (put in another archive, etc.)
                     58: 
1.3       kahan      59: - Convert the doc files to a SGML system like linuxdoc, which will allow
                     60:   generating html, text, and man pages from the same source.
                     61: 
1.5     ! fumi       62:  - You currently look for text in messages of the form http://... and
        !            63:  turn them into hyperlinks. You also look for text in the form
        !            64:  foo@bar.com and turn that into a mailto: hyperlink.
        !            65:  I suggest you also look for text in for form of
        !            66:  mailto:foo@bar.com?subject=bat and turn the whole of it into a
        !            67:  mailto: link, with the correct subject line.
        !            68: 
1.1       kahan      69: =============
                     70: Index Issues:
                     71: =============
                     72: 
                     73: - Make the formating of index pages use magic cookies for all parts of the
                     74:   page.
                     75: 
                     76: - It seems strange and undesireable to have the message date shown only in 
                     77:   the subject and author indexes.  It seems *really* strange to not have it 
                     78:   show up in the date index!  I wanted it "on" for our archives, and did 
                     79:   that in my latest beta, which required changing the "reply" structure to 
                     80:   include it (for the thread index).  I think ideally it would be configureable
                     81:   on or off.  
                     82: 
                     83: - Make it optional that a site generate index files with the listings
                     84:   sorted by date in one file and reverse sorted in the other index. 
                     85:   This pertains to all index types as well. For example:
                     86:      one thread-index with the newest mails topmost
                     87:      one thread-index with the oldest mails topmost
                     88:      one author-index in alphabetical order
                     89:      one author-index in reversed alphabetical or
                     90:      etc.
                     91: 
                     92: ============
                     93: Attachments:
                     94: ============
                     95: 
                     96: o Make it configurable to get test/plain attachments to have a link 
                     97:   created for them, instead of having them printed out beneath the 
                     98:   original email.
                     99: 
                    100: o If a filename is not known and the MIME type is known, the proper 
                    101:   extension should be added to the randomly generated file name.
                    102: 
                    103: o For security reasons, *all* binary attachments should be 
                    104:   written to disk with file permissions of 444 or equivalent 
                    105:   read-only access and should *never* allowed to be executable.
                    106: 
                    107: o The user should be able to 1 indicate if attachments are stored to
                    108:   be stored as separate files from the original message. 
                    109:   (Turn it on or off.)
                    110: 
                    111: o Specifying a list with 'preferred' content-types when 
                    112:   receiving/decoding mixed/alternative attachments. Support is there 
                    113:   in the config file but not in the code. Currently the "text" is always 
                    114:   preferred.
                    115: 
                    116: o It is doubtful that hypermail deals with all kinds of uuencoded 
                    117:   attachments as defined with 'x-uue' in the current hypermail. Other 
                    118:   MIME resources mention a whole set of different names for this kind 
                    119:   of encoding, but are they in use?
                    120: 
                    121: o Hypermail should be able to deal with Sun's (silly) mailtool 
                    122:   attachments in a manner similar to how it deals with mime attachments. 
                    123:   It would be really cool if the output would be identical and the 
                    124:   differences hidden from the user(s).
                    125: 
1.5     ! fumi      126: =================
        !           127: Configure issues
        !           128: =================
        !           129: 
        !           130: Defines not used in config.h.in:
        !           131: HAVE_STRFTIME, HAVE_GETOPT, HAVE_GETPWUID, HAVE_LSTAT,
        !           132: HAVE_MKDIR, HAVE_STRCASECMP, HAVE_STRDUP, HAVE_STRSTR, HAVE_STRTOL,
        !           133: HAVE_ALLOCA_H, HAVE_ARPA_INET_H, HAVE_MALLOC_H, HAVE_NDIR_H ,
        !           134: HAVE_NETDB_H, HAVE_NETINET_IN_H, HAVE_STDARG_H, HAVE_STDIO_H,
        !           135: HAVE_SYS_DIR_H, HAVE_SYS_NDIR_H , HAVE_SYS_SOCKET_H, HAVE_TIME_H
        !           136: 
        !           137: HAVE_BCOPY is only used in in pcre and not hypermail sources.
        !           138: 
        !           139: Configure needs to support SunOS4x.
        !           140: 
        !           141: Change prototype definitions for certain systems (FREBSD 4.6 for example)
1.1       kahan     142: 
1.3       kahan     143: ============
                    144: Misc. Needs:
                    145: ============
1.1       kahan     146: 
                    147: - EURODATE
                    148:   Given that these two formats are ambiguous, and many companies have
                    149:   people of both sorts, need an alternate, unambigous date format. 
                    150: 
                    151: - Should recognize and parse indented HTML tags better
                    152: 
                    153: - Don't ignore umask - HM_UMASK variable? 
                    154: 
                    155: - A better icon for hypermail!
                    156: 
1.2       kahan     157: - Ability to check for duplicate message IDs using cksum
                    158:   to assure that duplicate message are infact truely duplicated
                    159:   and not just a different message with the same msg-id header.
1.1       kahan     160: 
                    161: - Ability to refer to articles via message ID as well
                    162: 
                    163: - The ability to cap the archive to X most recent messages
                    164: 
                    165: - Allow for multiple mailbox formats to be recognized, like news articles,
                    166:   listproc, elm mailboxes, etc.
                    167: 
                    168: - In parsing header fields, check for extra spaces, tabs, etc.
                    169: 
                    170: - Check for zero-length headers
                    171: 
                    172: - Search for "HTTP" and "http" when making links
                    173: 
                    174: - Parse archives with only one or zero messages
                    175: 
                    176: - Make sure "sort by..." groups all messages in same thread
                    177: 
                    178: - Add sort by "in reply to" as well
                    179: 
                    180: =============================
                    181: Administrative Things to do:
                    182: =============================
                    183: 
                    184: o Get a good set of test files.  For now you can use your own...
                    185: 
                    186: o Get to develop a complete regression test suite 
                    187: 
1.4       kahan     188: ===========================
                    189:         :Requests:
                    190: ===========================
                    191: 
                    192: * Do you know if there is any way to cutomize the index sort of Hypermail? 
                    193:   I am using Solaris mailbox and the header field can be modified by user 
                    194:   (i.e. add more headers if required). However, the default index sort of 
                    195:   Hypermail only support Author, Thread and Subject. Is there any way to 
                    196:   customize the index sort of Hypermail so that we can map the UNIX mail 
                    197:   to HTML mail with cutomize headers.
                    198: 
                    199: * Would like to see a reindex option. Would like to remove a message from
                    200:   the mailbox and click on reindex to delete the message.
                    201: 
                    202: * There should be an option I can set in the Hypermail command to cause it 
                    203:   to write html files as a specified user.  Right now Hypermail is writing 
                    204:   files as daemon and this is causing problems.  We'd prefer that it run as 
                    205:   something/someone else.
                    206: 
1.5     ! fumi      207: * One more: I still think that hypermail should also save the
        !           208:   full mail body part additionally, when there is an OpenPGP(PGP/MIME
        !           209:   rfc2015) signed Mail. If we do it first, maybe somebody enhances a
        !           210:   webbrowser to take advantage of it. Would be cool, if it could check
        !           211:   the signature then.
        !           212: 
        !           213: * It would be nice to be able to throttle hypermail. Could we add a
        !           214:   config option that would allow hypermail to renice itself ?

Webmaster