GNOME Bugzilla – Bug 382658
tabblo export
Last modified: 2008-09-16 09:18:52 UTC
tabblo.com is a pretty awesome way to do Real World things with my pictures (books, posters, etc.); it would be nice if f-spot could export to that. [NB: AFAICT there is no public API for tabblo, so I realize this is very, very wishlist for now.]
Created attachment 116996 [details] Tabblo Export extension Hi, I've written this Tabblo Export extension. It's (still) pretty crude, but it works. I'm looking forward to getting some feedback on the code, and hoping that it may become a part of the F-Spot distribution eventually. Most of the time, the extension was tested with F-Spot 0.4.3 on Ubuntu 8.04. I have also verified that it works with the latest SVN version (although the manifest needs to reference a newer F-Spot Core for the extension to load properly). These are the most obvious remaining open issues / shortcomings: o On a default installation of Mono, the user will most likely encounter a `System.Net.WebException' when Tabblo Export tries to log in to Tabblo. That's because log-in is implemented over HTTPS, and the default Mono installation doesn't trust the site the user is connecting to. Please refer to the Mono sequrity FAQ, http://www.mono-project.com/FAQ:_Security#WebRequest.Create.28.22https:.2F.2Fwww.anywhere.com.22.29.3B_throws_an_exception. For now, I’ve chosen the third option described in the FAQ and managed with: $ mozroots --import --ask-remove Of course, I don't expect the F-Spot user to do that, and I guess there is a better way to handle this problem. I just don't know it. o F-Spot has tags. Tabblo has tags. Tabblo Export should allow the user to choose to export their photos along with tags. o It would be nice to have an option to choose the privacy (private, circle, public) the exported photos should have in Tabblo. I'm willing to (help) fix these, but it can take some time as my resources are limited. Build instructions: =================== $ tar xjvf FSpotTabbloExport.tar.bz2 $ cd FSpotTabbloExport $ ./autogen.sh && ./configure && make Disclaimer: =========== This is my first attempt at producing C# code or a GTK+ UI, so be kind :)
Both the picasa and the smugmug exporters work around the https problem by using a custom ICertificatePolicy instance; see here [1] for the implementation and here [2] for an example on how to use it [1] http://anonsvn.mono-project.com/viewcvs/trunk/google-sharp/src/Mono.Google/NoCheckCertificatePolicy.cs?rev=63057&view=markup [2] http://svn.gnome.org/viewvc/f-spot/trunk/extensions/PicasaWebExport/PicasaWebExport.cs?revision=4150&view=markup Good luck
(In reply to comment #2) > Both the picasa and the smugmug exporters work around the https problem by > using a custom ICertificatePolicy instance Thanks for the tip. I'll give it a shot. Regards, Wojtek
(In reply to comment #3) > (In reply to comment #2) > > Both the picasa and the smugmug exporters work around the https problem by > > using a custom ICertificatePolicy instance > > Thanks for the tip. I'll give it a shot. So I had a look at [1] and [2], and got an impression that it's OK for starters, i.e., as long as the exporter is in a really early development stage. And then I looked at http://www.mono-project.com/UsingTrustedRootsRespectfully and confirmed my objections (we're talking of course about Approach #-1). I guess I'll _start_ with Approach #-1, because it's the fastest way to getting anyone to even try the exporter. But I believe a serious exporter should opt for Approach #3 at least, and that'll be my target. Ideally (in my opinion), a common strategy should be defined for all the exporters, and then the implementation could be reused. What do you think? Regards, Wojtek
Created attachment 117244 [details] Tabblo Export extension Now working around the HTTPS problem by using a custom `ICertificatePolicy' instance.
Created attachment 118247 [details] Tabblo Export extension > I guess I'll _start_ with Approach #-1, because it's the fastest way to getting > anyone to even try the exporter. But I believe a serious exporter should opt > for Approach #3 at least, and that'll be my target. Approach #3 implemented with a dialog asking how to proceed in case of trust failure. Permanent certificate trust persisted in Isolated Storage.
Created attachment 118250 [details] Tabblo Export extension binaries (1/2) For those willing to test the exporter without going through the trouble of building from source. Copy this along with TabbloExport.dll into ~/.gnome2/f-spot/addins and (re)start F-Spot.
Created attachment 118251 [details] Tabblo Export extension binaries (2/2) For those willing to test the exporter without going through the trouble of building from source. Copy this along with Mono.Tabblo.dll into ~/.gnome2/f-spot/addins and (re)start F-Spot.
extension committed in r4357 with few changes: F-Spot uses Log.Debug* for logging.