Cheers,
Debarshi
[1] http://git.savannah.gnu.org/cgit/solang.git/log/?h=tracker
--
One reason that life is complex is that it has a real part and an
imaginary part.
-- Andrew Koenig
_______________________________________________
Conduit-list mailing list
Condui...@gnome.org
http://mail.gnome.org/mailman/listinfo/conduit-list
Ping?
Cheers,
Debarshi
Sometime ago I read about an effort to make Conduit work more closely
with Tracker. Recently I have been trying to build a photo management
program [1] that uses Tracker as its backend instead of a private
SQLite database. I am wonderin how I can reuse/integrate with Conduit
for "import/export" to webservices functionality?
I saw that there is
a DBus API to interact with Conduit, but is there a plan to provide a
library of widgets that I can embed in my application?
Yes, there is an extensive DBus API that you can use to upload/sync
photos to any place supported by Conduit. Check out the nauitlus and
eye-of-gnome uploaders which use this interface in the tools directory
of a master git checkout.
If your application uses local URIs to store photos, then you can
upload/sync to anything by creating a file/folder ->
flickr/facebook/ipod/etc conduit, and adding your photos to the
file/folder source using the dbus API. If you store photos using some
internal representation then you wll need to create a dataprovider to
extract the photo from your store.
Regarding the embedding of UI elements, my opinion has always been
that the user of the API should provider those widgets as they known
their specific requirements (i.e do you just want a single Upload
button, a listview, etc etc). However, conduit does provide the
configuration UI. This window is shown using the DBus API.
John
Ok.
> If you store photos using some
> internal representation then you wll need to create a dataprovider to
> extract the photo from your store.
No, we do not use any internal representation. Photos are just Gvfs
URIs which we come to know by querying Tracker.
> However, conduit does provide the
> configuration UI. This window is shown using the DBus API.
Does the "configuration UI" take care of the part where the user can
select which Flickr set/tag to import from or upload to, etc.? That is
the most difficult part in my view.
Thanks,
photosets, yes, download by tag (no, but it would be trivial to add),
upload and keep tags - that is a longer story. The infrastructure is
in place behind the scenes to do tags as well, but we have not
previously had any useful source that could populate them (until
tracker came along).
I am CC'ing JC2K who most recently hacked on tracker+conduit
John
The tracker backend probably won't work any more, the upstream dbus
api signatures have changed and there were some bugs in SPARQL
generation that tracker know chokes on - stricter validation - (i
think Conduit uses a copy of tralchemy, and the API has changed a lot
upstream). It also only had support for things like Contacts and
Calendar, but would have been able to add support for other backends
easily.
It should be easy enough for someone to pick up and run with...
John
Yes, 0.7.x is quite different from the 0.6.x series. So is this a
priority for you, the Conduit developers? I am just trying to get an
idea of how much work it would be for me to integrate with Conduit.
Happy hacking,
Debarshi
--
One reason that life is complex is that it has a real part and an
imaginary part.
-- Andrew Koenig
IIRC John was targeting the 0.7 series, hence the SPARQL business. Is
this correct?
> So is this a
> priority for you, the Conduit developers? I am just trying to get an
> idea of how much work it would be for me to integrate with Conduit.
I'm still not clear on what you want exactly. If you do the querying
of tracker yourself, and pass conduit a list of URIs to upload then it
will already work. If you want to pass the list of URIs to Conduit and
then expect Conduit to use Tracker to query the tags then this will be
a little work. If you want to instead pass a SQL query to Conduit
describing the photos you want to upload then that is more work. The
same questions apply to a two-way sync (i.e downloading from
Flickr/Facebook)
Could you please expand on your use-case a little? Do these scenarios
come close to what you envision?
John