Re: Mime part viewers, support for PGP, ICS files and others



Also note that anybody can implement this. Knowing you guys can't wait
to do something cool for tinymail, Bart and Bjorn :-), feel free to
join.

It's just some OOP refactoring, and putting that in a little bit simple
GObject boilerplate code that can be 80% generated.

Or join on the thinking-side. Help me design/decide about it.


ps. Yah yah, we are all very busy. Same here. Not really a good
excuse ;). Sit back, relax. type some code. Join IRC. Tell me something
like: "I wrote code". Give it to me. I'll probably joinup that evening
and we'll be hacking the idea. It's as simple as that :) 



On Tue, 2006-10-10 at 20:34 +0200, Philip Van Hoof wrote:
> Hi there,
> 
> I'm adding Chris Lord (Dates) and Nate Nielsen (Seahorse) to CC.
> 
> I'm planning to quote design unquote the support for various mime-parts,
> in the tinymail framework, using a "MimePartView" type. This will be a
> type that plays a view in a MVC (model view controller) story. The model
> being the mime-part instance, the view being the new type. The
> controller being whatever component you'll put in between for both
> adapting the model and using it from the view.
> 
> Examples of mime-part-views will be:
> 
> o. a mime-part view that shows a normal mime-part being an attachment. A
> file attachment like a .txt or a .png file.
> 
> o. a mime-part view that shows and deals with .ics files being calendar
> or todo items. The integration with softwares like Dates will happen via
> the implementation of this mime-part view.
> 
> o. a mime-part view that shows and deals with PGP mime-parts being
> security keys. The integration with frameworks like Seahorse will happen
> via the implementation of this mime-part view.
> 
> http://tinymail.org/trac/tinymail/wiki/HelpMimePartView
> 
> An idea is to next to support for TnySaveStrategy in the TnyMsgView
> implementations, let the TnyMimePartView reuse the same strategy for in
> case you want to save a specific mime-part. Whereas the save strategy
> for the TnyMsgView will save the entire message.
> 
> The entire message inherits from TnyMimePart, so that's why it can also
> be used as a mime-part by itself, and why the TnyMsgView needs support
> for the TnySaveStrategy.
> 
> Another idea is to rename TnySaveStrategy to TnyMimePartSaveStrategy and
> let it handle both saving a TnyMsg (which inherits TnyMimePart) and a
> TnyMimePart.
> 
> 
> SO
> 
> This means that
> 
> o. Viewing (and handling) a mime-part is supported if an implementation
> for it is registered to the message-viewer
> 
> o. Saving a mime-part is supported via a save strategy that is reused
> between all components that know that they 'can' save a mime-part of
> whatever they are viewing (a message view and a mime-part view)
> 
> o. Viewing is an abstract concept. It can mean "handling the mime-part"
> for integrating with other softwares.
> 
> FOR example. One such viewer could have a simple button with the text
> "register this calendar item with Dates". Pressing that button would use
> the libecal API to store the ".ics" attachment in eds, and Dates would
> then be notified to update it's own view.
> 
> Another such viewer might actually show the ".ics" file in a "Dates
> widget". This is up to the implementer of the mime-part viewer.
> 
> Another example will be a PGP mime-part. The action to handle (viewing
> it) the PGP mime-part might simply be asking Seahorse whether or not the
> PGP key is a valid one. And if not, Seahorse would probably return
> something bad so that the view can show a red label telling the user
> that no, the key is not okay. Or a green label telling the user yes, the
> key is okay.
> 
> And in future when whatever-company invents whatever-new mime-part which
> they start attaching to E-mails, a whatever-new mime-part viewer can be
> implemented and attached (as a plugin) to all the existing message view
> implementations.
> 
> 
> 
> 
> Right ... so, I'm interested in opinions, suggestions, etc etc
> 
> 
-- 
Philip Van Hoof, software developer at x-tend 
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
work: vanhoof at x-tend dot be 
http://www.pvanhoof.be - http://www.x-tend.be




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]