[gmime-devel] GMime 2.5.10: A Call For Testers



(First off, apologies if this gets sent through as HTML mail, I copy/pasted from my blog)

I've just released GMime 2.5.10 which I hope to be the last of the 2.5 releases before I release 2.6.0. I feel that I've stretched the development of 2.6.0 out for far too long (2.5 development began at the end of April, 2009) and even though I didn't get around to doing everything I had hoped to do, I feel that the latest 2.5.x releases are such an improvement over 2.4.x that I just want to get it out there for developers to start using. But before I make a 2.6.0 release, I'm hoping to get some feedback and some testing.


     What's new?

New for the release of 2.5.10 is *GMimePartIter* which replaces the need for /g_mime_object_foreach()/and its awkward callback requirement, instead allowing you to take the far nicer iterator approach that is popular in the C# and Java worlds (known as /IEnumerator/ in C#). This new iterator, like the foreach function it replaces, iterates over the MIME tree structure in depth-first <http://en.wikipedia.org/wiki/Depth-first> order.

Inspired by IMAP's FETCH body part-specifier syntax, I've implemented a method allowing you to jump to a part based on a part-specifier string (aka a path): /g_mime_part_iter_jump_to()/. Also implemented is a function called /g_mime_part_iter_get_path()/, which can be used to tell you the current part-specifier path of the iterator.

For example, if you had the following MIME message structure:

multipart/related
  multipart/alternative
    text/plain
    text/html
  image/jpeg

The body part-specifier paths would be:

1    multipart/alternative
1.1  text/plain
1.2  text/html
2    image/jpeg

This means that /g_mime_part_iter_jump_to(iter, "1.2")/ would jump to the part specified by the path "1.2" which, as we can see above, would be the text/html part. Calling /g_mime_part_iter_next(iter)/ would iterate to the next part, being the image/jpeg, while calling /g_mime_part_iter_prev(iter)/ would iterate backwards to the text/plain part and calling it again would iterate backwards to the multipart/alternative.


     What I Need From Testers

My feeling is that developers will want to use this cool new body part-specifier path functionality for aiding them in implementing IMAP servers and/or clients. Because of this, it would be great if GMime's implementation matched IMAP's specification exactly. The problem is that I don't have the time or energy to verify that the paths work out to be identical in all cases. So... if you are one of those developers who is interested in using this functionality and need it to be identical to IMAP's syntax (or would really like it to be), I'm hoping that you could test it out and make sure that it matches. Especially worthwhile of testing, I'd imagine, is having message/rfc822 parts in the tree. I suspect that, if anywhere, this is where differences may be.

If body part-specifier paths aren't something you care about, don't fret; the rest of the iterator API needs testing as well and if you have no interest in the iterator API at all, perhaps you'd be willing to test the S/MIME functionality (especially since I haven't figured out /how/ to test it myself, given that I don't have an S/MIME cert nor have I figured out how to generate one or add one to my gpgsm keyring).

Your help will be greatly appreciated.

You can download the latest tarballs from the usual place at http://download.gnome.org/sources/gmime/2.5/

Enjoy!





Jeff



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