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



I'm working on this. Feel free to join.

https://svn.tinymail.org/svn/tinymail/trunk/libtinymailui/tny-mime-part-view.h
https://svn.tinymail.org/svn/tinymail/trunk/libtinymailui/tny-mime-part-view.c


Note, I finally added Chris to the Cc

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]