Integate and Connect your Clients
Getting the Code
Repository path: /cvsroot/eclipse-incub
Connection type: pserver
CVS module: organizer
The mail client plugin in Eclipse is written in SWT and JFace, featuring a user-friendly graphical interface with wizards and plugin structure support. Its a powerful mail management tool with features to customize to enhance your productivity and communication.
It would be better if it can feature calendaring, project management, e-mail, tasks, addressbook and file management also. Besides this,a simple chat tool itegrated with google talk and MSN will be welcomed,all these will be added as Eclipse plugin.
I am intersted with the eclipse arch, and the plugin struture really attract me, and I joined IBM China last year as a intern,and I wrote rcp code for Lotus Notes 8, it is unbelievable that using swt and jface can describe so nice app.
I am focused on the "inbox" and "contact" features in IBM, the most important thing i have learned is how to design in a good performance way, because if a software is done, you can hardly control the performance, so design is quite important for "inbox" feature, we want a good respone when user try to switch their folder or mailbox,and also we consider a easy use way and nice UI.
I think Lotus Notes 8 can give users a fresh feeling.
So I want use my experience to develop a mail, rss, blog client in eclipse, even a chat tool integated google talk and MSN will be finished.
Some Initial Thoughts from Wayne
There's some instructions for accessing the code here.
The basic idea is that the application is actually a platform for building an organizer. The task list is the most evolved part of it. The object model needs a lot of work. I have some ideas about how I want to change the object model (and will probably do some of that work this weekend).
Take a look at what I've built so far. I'm curious to know if you think you can leverage it for this project.
Some Thoughts from Ha Li
A new function "Contacts" can be added in switcher,it is userful to save mail address and other sender informations.
If user press "Mail" or "Calendar", the "Mail" view or "Calendar" view should be opened; or Switcher can be expanded as a perspective which can include all needed viewparts,when open the "Orgnizer Perspective",switcher viewpart and mail,Calendar viewpart display as default,other viewpart such as Contact and Tasks List can be triggered out when user choose them.
Some items such as mail configuration, user like time format can be added to "Preference" page.
Mail can be added several mail accounts, it will be much helpful if user can add "***@gmail.com" and "***@eclipse.org" both, and each account has their own folder and management.
For mail, it can contain two view part, one is navigator viewpart which is a tree structure,the other is mail content viewpart which is constitutive of mail table part and preview part.The table part displays all items of selected folder in nagigator viewpart, and preview part display the content of the selected mail item in the table part.User can aslo double-click the mail item in table part, then mail read viewpart will be opened which shows the whole content of the selected mail.
For tool bar,add/delete account,add/delete folder can be provided on the top of navigator viewpart;"Reply,Forward,Trash,Delete，Advanced Search,Folder/Unfolder Preview" can be add on the top of mail content viewpart; "Reply, Forward,Trash,Delete" can be added on the top of mail read viewpart.
I have looked sample code you gave, it is written clearly and easy to understand, i will pay more attention on it, please tell me how should i do next.
1.If hold lots of message objects including attachments and bodypart will be a bad idea, so design a class mail summary which only contains information such as sender, receiver and this type of simple things, body part and attachments will be presented as uid or a link, by doing this mail part can integrate into our platform, it means mailsummary can be saved in database,and we get mail content and attachment from disk via uid or url.
2.Directory inquiries(Contact List) function can be integrated into mail, it could help user to save mail addresses locally and easily select mail address throught it.
1. When downloading a new mail from server, it maybe different for pop3 and imap protocal to identify whether it is a new message.
2.Can java app know how to open the mail attachment with proper app, for example, if the attachment is "***.doc",can our app know it can be opened by "MS office",it seems jdic is a tool to do this, i am not clear.
1. Composing a new mail, save it to draftfolder.
2. Composing a new mail, send it var SMTP protocol.
3. Delete mail into draft folder.
4. Change Label, Priority, read/unread status of mail items.
5. Make mail folder, inbox, outbox, draft, sent...
6. Create multi-accounts, works OK in multi-situation.
7. Link attachments to mail, mail editor suppports Mime format mail.
8. View attachments directly in list.
9. Receive mails var Pop3 protocol.(7.16th- 7.21st)
10. View HTML and Text these two types of mail format.(7.16th- 7.21st)
11 Reply and Forward mail.(7.16th- 7.21st)
Will be done: (7.22nd- 7.30th)
Mail account customizing setting including receiving internally, mail reply,forward format definition, and a mail signature.
Custom mail folder adding and deleting process.
Mail address analysis in a text string, and a simple address book is welcomed.