After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 382658 - tabblo export
tabblo export
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: General
CVS
Other Linux
: Normal enhancement
: ---
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-05 17:06 UTC by Luis Villa
Modified: 2008-09-16 09:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Tabblo Export extension (21.74 KB, application/x-compressed-tar)
2008-08-19 19:26 UTC, Wojciech Dzierżanowski
Details
Tabblo Export extension (22.17 KB, application/x-compressed-tar)
2008-08-22 22:03 UTC, Wojciech Dzierżanowski
Details
Tabblo Export extension (23.88 KB, application/x-bzip)
2008-09-07 19:44 UTC, Wojciech Dzierżanowski
Details
Tabblo Export extension binaries (1/2) (16.50 KB, application/octet-stream)
2008-09-07 20:10 UTC, Wojciech Dzierżanowski
Details
Tabblo Export extension binaries (2/2) (30.50 KB, application/octet-stream)
2008-09-07 20:11 UTC, Wojciech Dzierżanowski
Details

Description Luis Villa 2006-12-05 17:06:09 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.]
Comment 1 Wojciech Dzierżanowski 2008-08-19 19:26:02 UTC
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 :)
Comment 2 Thomas Van Machelen 2008-08-22 10:09:37 UTC
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
Comment 3 Wojciech Dzierżanowski 2008-08-22 10:25:55 UTC
(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

Comment 4 Wojciech Dzierżanowski 2008-08-22 11:05:10 UTC
(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
Comment 5 Wojciech Dzierżanowski 2008-08-22 22:03:50 UTC
Created attachment 117244 [details]
Tabblo Export extension

Now working around the HTTPS problem by using a custom `ICertificatePolicy' instance.
Comment 6 Wojciech Dzierżanowski 2008-09-07 19:44:27 UTC
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.
Comment 7 Wojciech Dzierżanowski 2008-09-07 20:10:38 UTC
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.
Comment 8 Wojciech Dzierżanowski 2008-09-07 20:11:29 UTC
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.
Comment 9 Maxxer 2008-09-16 09:18:52 UTC
extension committed in r4357 with few changes: F-Spot uses Log.Debug* for logging.