[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-imaging
Subject:    [Kde-imaging] Time to break libkipi? (and interesting idea for sync
From:       Colin Guthrie <kde () colin ! guthr ! ie>
Date:       2007-01-25 21:14:54
Message-ID: 45B91DCE.6050100 () colin ! guthr ! ie
[Download RAW message or body]

Hi,

Glad the 0.1.3 release is out and impressed with Seb's timing :p

Now I think it's time to introduce this concept again!!!

The way I see things is to create a libkipi API that achieves two things
(this is my personal requirements I'm sure other people have other ideas):
 1) Remove (or make optional) all interfaces that rely on file paths.
 2) Allow the host application to store additional info about
collections/images.

For 1) I see this as important for working with e.g. "dynamic"
collections like the Tags views in digikam or a saved search etc.

For 2) this is to provide e.g. key/value storage system for collections
and images such that it could be used e.g. to sync a folder to a remote
location (be it a folder or PHP Gallery or Flickr etc.)

Fine, both of these are (conceptually at least) quite simple.


Now here is a small idea I've been fiddling with over the last couple of
days and would like some feedback (it is related to the above so bear
with me!)

I was trying to think of how to implement the basic requirements for a
"sink" for the sync plugin (here sink is so named as per the source/sink
terminology where the host application is the source).

I realised I would need a way to create an album, add images to it etc.
For viewing purposes it would need to return a list of albums and images
and grab thumbnails etc.

In the end, I realised that the API to access a "sink" was startlingly
similar to to the libkipi interface in general!!

With some careful thought and a bit of fore sight, the modifications to
libkipi coming up and the implementation of the "sink" base class could
be made to be compatible.

What would this achieve? Well, in principle, this would allow you to
write a bridge of some sort that would allow any "sink" to act like a
kipi host application and thus use any kipi plugin with that host!! This
would allow e.g. calendars to be created with your PHP Gallery sink, or
a slideshow to run with you Flickr account..... Some quite interesting
things as I'm sure you can imagine. I would not expect everything to
work (e.g. batch modifications etc. may not work (or for that matter be
sensible anyway))

What do people think about this idea. I quite like it personally, but
then I'm biased. I may also have missed some fundamentally important
issues at play here!!


As a note to Seb in particular, can you image being able to wrap up
libgpod in a libkipi style wrapper (e.g. implement the "iPod" as a sink)?

Other sinks i would like to implement (or have someone implement!) are:
 * PHP Gallery 1/2
 * Flickr (maybe, not sure about the login procedure)
 * PicasaWeb
 * Other web based galleries
 * Generic KURL location
 * iPod

Feedback is most welcome.

Col

-- 

+------------------------+
|     Colin Guthrie      |
+------------------------+
| kde(at)colin.guthr.ie  |
| http://colin.guthr.ie/ |
+------------------------+
_______________________________________________
Kde-imaging mailing list
Kde-imaging@kde.org
https://mail.kde.org/mailman/listinfo/kde-imaging
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic