export to Gallery
Submitted by Adam Dingle
Link to original bug (#715960)
Description
---- Reported by adam@yorba.org 2010-03-16 09:05:00 -0700 ----
Original Redmine bug id: 1585
Original URL: http://redmine.yorba.org/issues/1585
Searchable id: yorba-bug-1585
Original author: Adam Dingle
Original description:
At some point it would be nice to be able to export from Shotwell to Gallery- based Web sites:
F-Spot has this capability:
http://f-spot.org/User_Guide/Share#Post_to_your_online_galleries
Related issues:
- related to shotwell - Feature #3714 (closed): Publish to Gallery v3 (Review)
---- Additional Comments From shotwell-maint@gnome.bugs 2011-08-08 01:08:00 -0700 ----
History
Comment 1
Updated by PeterF - over 3 years ago
- Priority set to High
Comment 2
Updated by Adam Dingle over 3 years ago
-
Priority deleted (
<strike>
_High_</strike>
)
@sowosama,
thanks for your interest in this ticket. I don't think that Gallery support is among our highest priorities at this time, so I'm dropping the priority back to medium. If this feature is important to you, we'd happily accept a patch if you're a programmer and want to work on this.
Comment 3
Updated by Amanda - about 3 years ago
- Keywords set to export
This is also v. important to me. Is there a way to help convince you all to prioritize it?
Comment 4
Updated by Adam Dingle about 3 years ago
Amanda,
thanks for your comment – every sign of interest from the community makes us more inclined to work on any feature. I still think it's unlikely the core Shotwell team will be able to take this on in the next release or two, but perhaps on the mailing list you could find an external contributor who's interested in working on this. We'd gladly accept a patch.
Comment 5
Updated by Anne On about 3 years ago
For the record, at least one user has shown interest in implementing this. Perhaps s/he could work with the primary devs on making it happen…: http://shotwell.3510.www.nabble.com/Shotwell-Export-to-gallery- ticket-1585-td24558.html
Comment 6
Updated by Nimlar - almost 3 years ago
- Status changed from Open to Review
- Assignee changed from Anonymous to Nimlar -
I finally have something I can show.
Updated to revision 2422, and tested.
Definitively I am not a GUI guy, I am totally unhappy with the screen where we choose the directory to upload the photos, or the directory to create and then upload the photo.
And some remark:
- same “issue†than Piwigo, need to override MediaUploadTransaction.execute() to be able to add the cookie Header.
- I know I am late for the 0.8 version, I'll wait for the plugin interface.
- vala is fun to code
Comment 7
Updated by Adam Dingle almost 3 years ago
Note attachment. Jim, maybe you could review when you get a chance.
Comment 8
Updated by Jim Nelson almost 3 years ago
Nimlar,
Yes, this is too late for 0.8, but the code you've written looks fine and plays well within the WebConnector system. This would be a perfect candidate for the plug-in system we're hoping to create for 0.9.
Can you suggest a Gallery testbed for testing your connector?
Comment 9
Updated by Adam Dingle almost 3 years ago
- Priority set to High
Comment 10
Updated by Nimlar - almost 3 years ago
Replying to [comment:13 jim]:
Can you suggest a Gallery testbed for testing your connector?
Hello Jim,
I was testing with my own installation (self hosting). I can provide you an account on this system (by email)
I don't know if there is any open gallery somewhere.
I would like to say “apt-get install gallery2†works fine, but with ubuntu 10.10 the gallery2 package seems to be broken.
I am waiting plug-in specification, to update this.
Comment 11
Updated by Omer Akram almost 3 years ago
also reported at: https://bugs.launchpad.net/ubuntu/source/shotwell/bug/695253
Comment 12
Updated by Sic - almost 3 years ago
This bug is why I keep F-Spot around.
Nimar, thanks for the great work, however we do need to extend it to do Gallery3. It's been out for several months and is gaining great momentum now. I can help with the coding and give an account on my demo Gallery3 for testing, just shoot me a note if you are interested.
Comment 13
Updated by Adam Dingle almost 3 years ago
@nimlar and @sicsic,
the Shotwell publishing plugin specification is now available, so it would be great if one or both of you could now implement Gallery support as a Shotwell plugin. See ShotwellArchWritingPlugins and ShotwellPrelimPublishingAPIDoc (!http://trac.yorba.org/wiki/ShotwellPrelimPublishingAPIDoc).
Comment 14
Updated by Nimlar - almost 3 years ago
@adam Thanks I'll have a look.
@sicsic Doesn't seem Gallery3 uses a protocol close to the one of Gallery2.
http://codex.gallery2.org/Gallery3:%(=caps)API%:%(=caps)REST%
http://codex.gallery2.org/Gallery_Remote:Protocol
A new plugin may be a better idea…
I not sure I'll have time to work on a Gallery3 export plugin. Maybe if update my gallery2 to 3, but it is not in my to do list.
Comment 15
Updated by anarcat - over 2 years ago
- Target version set to 0.9
Can we at least merge in the plugin provided that (supposedly) works with Gallery2? G2 is still deployed in a bunch of places and works well enough that this is still useful.
I can provide a test install if people need such a thing.
Being bold and marking this for 0.9, since there's code already.
Comment 16
Updated by Adam Dingle over 2 years ago
-
Target version deleted (
<strike>
_0.9_</strike>
)
I'm unmarking this from 0.9, for several reasons:
- Our feature freeze for 0.9 is tomorrow, Wednesday Februrary 23. Its a bit late to try to fit this in now.
- This existing Gallery code uses the old publishing API, which is deprecated. We don't want to add any new dependencies on it. The right path forward is to port it to the new API using a Shotwell plugin.
- We've decided that Facebook, Flickr, Picasa Web and YouTube will remain in the Shotwell core distribution, but other publishing services such as Yandex and Piwigo will move to a new shotwell-plugins package in the 0.10 timeframe. Probably that's the right home for the Gallery connector as well.
Fortunately, since Shotwell 0.9 will support plugins this doesn't actually need to make it into 0.9: you can implement and deploy a Gallery plugin any time you like.
Comment 17
Updated by Nimlar - over 2 years ago
I didn't have a lot of time for shotwell (but every CC: have seen this)
Got a working plugin. (not yet fully tested):
- image didn't rotate automatically
- upload video is not tested.
- Create new directory not yet ready
- and need GUI update (reusing Picasa one)
Only Gallery2.
Git repo : https://github.com/Nimlar/shotwell-gallery2-plugin
binary : https://github.com/Nimlar/shotwell- gallery2-plugin/blob/binary/GalleryConnector.so?raw=true
Tested with the Shotwell trunk (rev 2856), don't know with 0.9 nor 0.9.1
Comment 18
Updated by Adam Dingle over 2 years ago
- Target version set to 0.10
Thanks for the patch, Nimlar. Lucas, please review!
Comment 19
Updated by Nimlar - over 2 years ago
Not sure it is ready for any release yet. (the new dir creation has to be done, and won't use it without the auto-rotation of picture, it is a pain to rotate many pictures on gallery2)
An other point, I lost a lot of time because a new added plugin is not enable by default (and I understand why by the way) but I didn't read anything about this point in the doc.
And before searching in the menus, I though I forgot to define some API, and recheck all the entry point… But only one check in a box was missing…
And the RESTSupport.vala file is a plain copy of the one from the shotwell source (the xml part removed)
Comment 20
Updated by Adam Dingle over 2 years ago
-
Target version deleted (
<strike>
_0.10_</strike>
)
Comment 21
Updated by anarcat - over 2 years ago
The .so binary file doesn't work in 0.9.3 (debian wheezy), by the way. It gets silently ignored.
Furthermore, I can't even build this as it seems I am lacking the necessary environment:
anarcat@marcos:shotwell-gallery2-plugin$ make
valac --save-temps --main=dummy_main -X -D_VERSION='"0.0.0"' --pkg=shotwell- plugin-dev-1.0 --pkg=libsoup-2.4
-X -I/home/anarcat/dist/shotwell-0.9.3
-X -DGETTEXT_PACKAGE='"shotwell"'
-X --shared -X -fPIC GalleryConnector.vala RESTSupport.vala -o GalleryConnector.so
error: Package `shotwell-plugin-dev-1.0' not found in specified Vala API directories or GObject-Introspection GIR directories
Compilation failed: 1 error(s), 0 warning(s)
make: *** [GalleryConnector.so] Erreur 1
Note how I thoughtfully changed the include path to point to the 0.9.3 build directory..
After some struggles (you need --vapidir to point to the shotwell build dir too), I got there:
Resources' does not exist in the context of
Commenting out the error lines seems to fix the problem, and I was able to test the plugin in 0.9.3 (just copying it in the “builtin†directory), and it works!!! It doesn't rotate photos, but that's a minor annoyance compared to having only plugins that send your photos to silos where you don't own the photos anymore. :)
Comment 22
Updated by anarcat - over 2 years ago
Ah, and there is another annoyance: choosing a “new folder name†doesn't work – it should either be dropped or implemented, because it's quite confusing: the “publish†button doesn't do anything, no feedback, no action…
Comment 23
Updated by Nimlar - over 2 years ago
Thanks for the patch.
The makefile path are indeed a bit local… I'll update that.
About the directory creation only the UI need update: directory creation code is already here. I'll try to work on this.
Comment 24
Updated by Bruno Girin over 2 years ago
Having just ported the Piwigo plugin to the new publishing plugin interface and having looked at the Gallery v3 API, I think there should be a lot of common code between the two plugins. So if you want help getting it done so that we can make sure it gets there in time for 0.11, I'm happy to do that. Nimlar, are you OK for me to work off your GitHub branch?
Comment 25
Updated by Nimlar - over 2 years ago
@brunogirin
No problem, This the way github is working.
But the plugin in this git repo is about Gallery V2. Not sure it is easily port to Gallery3.
Comment 26
Updated by Bruno Girin over 2 years ago
@Nimlar,
Indeed, I wasn't paying attention and I realised that the API I was looking at was v2 anyway. But having said this and looked at the v3 API, the protocol for v2 is different from v3 and Piwigo but they all follow the same interaction pattern:
- v2 login ~ v3 login ~ pwg.session.login
- v2 fetch-albums ~ v3 items GET type=album ~ pwg.categories.getList
- v2 new-album ~ v3 CREATE type=album ~ pwg.categories.add
- v2 add-item ~ v3 CREATE type=photo ~ pwg.images.addSimple
So there should still be quite a bit of common code. I'll have a look at the github code and see if we can get v2 to work in time for 0.11; then we can look at v3.
Comment 27
Updated by Adam Dingle over 2 years ago
- Target version set to 0.11
Bruno, you rock – thanks for offering to help out with this. Tentatively marking for 0.11.
Comment 28
Updated by Bruno Girin over 2 years ago
Nimlar,
I had a quick look at your code. At the moment, you've set it up so that it creates an independent plugin library that would be distributed separately from Shotwell. Are you happy for me to transform this into a patch against the Shotwell code tree so that it forms part of the Shotwell publishing-extras pack or would you rather keep it separate?
Comment 29
Updated by Nimlar - over 2 years ago
Bruno,
No problem, thanks for asking, but GPL allows this.
I created this plugin because I liked Shotwell and I needed a (fast) way to upload photos to my Gallery, I don't care if it is from an external plugin or an internal one: I'll use it.
Moreover, as you seen, I don't work enough on it to have it fully ready for distribution (see anarcat posts), and some people want a Gallery export plugins. Any works are welcome.
I'll find time if you need some extra help.
Comment 30
Updated by Bruno Girin over 2 years ago
- Assignee changed from Nimlar - to Bruno Girin
- Subject changed from export to Gallery to export to Gallery v2
Comment 31
Updated by Bruno Girin over 2 years ago
Reduced scope of this ticket to Gallery v2 and created ticket #3714 (closed) for Gallery v3.
Comment 32
Updated by Bruno Girin over 2 years ago
Nimlar, I managed to integrate your code in the Shotwell build and do some basic testing. It mostly works but so far fails when publishing. It shouldn't be a major issue though as the code is quite clear. So I'll get started on debugging it. I may refactor some of the code on the way but I don't think there will be too much to change.
Comment 33
Updated by Amanda - over 2 years ago
Love to help test this, but I'm not sure how to install @nimlar's work.
Comment 34
Updated by Bruno Girin over 2 years ago
@Amanda: I've now moved nimlar's work to the main code tree. I did a smoke test which showed that it needs a bit more work but haven't had time to work on it further (moving houses and other stuff getting in the way). I'll attach a preliminary patch as soon as I can.
Comment 35
Updated by Jim Nelson over 2 years ago
- Subject changed from export to Gallery v2 to export to Gallery
- Description updated (diff)
-
Assignee deleted (
_Bruno Girin_) -
Target version deleted (
_0.11_)
Comment 36
Updated by Bruno Girin over 2 years ago
- File nimlar-plugin-initial-integration.patch added
I'm finding that I haven't got the time to look at this seriously. So I'm attaching an initial patch where I've taken Nimlar's code, merged it with the Shotwell code base, made it compile and did a minor re-org of the functions. It mostly work so if someone wants to take over, you can start from this patch and debug the code.
--- Bug imported by chaz@yorba.org 2013-11-25 21:43 UTC ---
This bug was previously known as bug 1585 at http://redmine.yorba.org/show_bug.cgi?id=1585 Imported an attachment (id=261601) Imported an attachment (id=261602) Imported an attachment (id=261603)
Unknown Component Using default product and component set in Parameters Unknown version " in product shotwell. Setting version to "!unspecified". Unknown milestone "unknown in product shotwell. Setting to default milestone for this product, "---". Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one. Resolution set on an open status. Dropping resolution
Resolution: RESOLVED OBSOLETE