Bug 104204

Summary: New tool to export to Coppermine (like flickr)
Product: [Applications] digikam Reporter: Dr. Tarique Sani <i>
Component: Plugin-WebService-WishForNewToolsAssignee: Digikam Developers <digikam-bugs-null>
Status: CONFIRMED ---    
Severity: wishlist CC: bugs.kde.org, caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Dr. Tarique Sani 2005-04-19 12:55:23 UTC
Version:            (using KDE KDE 3.3.2)
Installed from:    Unspecified Linux
OS:                Linux

It would be a great idea to support the Coppermine Remote Access API and allow uploads to Coppermine Picture Gallery http://coppermine.sf.net. A remote access API has just been added to Coppermine.

Quote from the release 
======================
To satisfy the demand of desktop client writers we have hacked a Remote Access API for Coppermine 1.4.x which is very loosely modeled on the Flickr API (in terms of responses etc).
======================

More details can be found at http://coppermine.sourceforge.net/board/index.php?topic=17097.msg79547#msg79547
Comment 1 OmegaGOD 2005-05-06 16:00:49 UTC
*** This bug has been confirmed by popular vote. ***
Comment 2 Vardhman 2005-08-07 19:46:12 UTC
The documentation and the example provided are not self explainatory. If you could simply provide what is the html form equalivant for the query to be submitted it would be much easier for us to proceed. (The way flickr provided their old upload example).
PS: flickr API has undergone changes from the time coppermine posted the new release :-). 
Comment 3 Abbas Ali 2005-08-13 08:21:29 UTC
As an example I am posting the html form need to submit the query to the api. The form below is used for uploading a new picture.

<form enctype="multipart/form-data" action="http://www.mysite.com/cpg/api/" method="POST">
<table border="0" cellpadding="5">
  <tr>
    <td>Album Id: </td>
    <td><input name="aid" type="text" size="5" /></td>
  </tr>
  <tr>
    <td>Picture to be uploaded: </td>
    <td><input name="file" type="file" /></td>
  </tr>
  <tr>
    <td>Username: </td>
    <td><input name="username" type="text" size="25" /></td>
  </tr>
  <tr>
    <td>Password: </td>
    <td><input name="password" type="password" size="25" /></td>
  </tr>
  <tr>
    <td>Title: </td>
    <td><input name="title" type="text" size="35" /></td>
  </tr>
  <tr>
    <td>Description: </td>
    <td><textarea name="description"></textarea></td>
  </tr>
  <tr>
    <td>Keywords: </td>
    <td><input name="keywords" type="text" size="35" /></td>
  </tr>
  <tr>
    <td colspan="2" align="center">
      <!-- The function to be used -->
      <input name="function" type="hidden" value="cpgAPI.upload" /><br />
      <input type="submit" value="Send File" />
    </td>
</form>

When an upload is successful, the following xml is returned:

<?xml version="1.0" encoding="utf-8" ?>
<uploader>
        <status>ok</status>
        <pid>14</pid>
</uploader>

...where pid is the new id of the photo.

When an upload fails, the following xml is returned:

<?xml version="1.0" encoding="utf-8" ?>
<cpg>
        <status>fail</status>
        <error>1</error>
        <verbose>invalid login details</verbose>
</cpg>

... where error is the error code.


Similarly the cpgAPI.catList function works in which we need to post the category id (cat), username (username), password (password) and function to be used (function) i.e cpgAPI.catList.
Comment 4 Full Decent 2006-01-31 16:57:11 UTC
I have just finished writing an integration plugin for kipi for Camera Life. I may be able to work on this. Are there Coppermine developers that I may contact directly for informat ion while working on this? Also, is there a server that I could have an account on to work on this?
Comment 5 Aditya Mooley 2006-02-01 06:00:39 UTC
Great.
Things really seem to be moving forward. I am one of the core Coppermine developers and I have just started work on a Desktop Coppermine client for KDE.
See http://sf.net/projects/koppermine
Feel free to write to me at adityamooley@sanisoft.com

We will take the matter furthur from there.

Aditya
Comment 6 caulier.gilles 2009-01-01 11:13:22 UTC
Another web service export plugin...

Gilles Caulier
Comment 7 caulier.gilles 2018-11-03 11:00:24 UTC
WARNING : with digiKam 6.0.0 and later, we will not support kipi interface anymore. All tools are now located in digiKam core as well for a plan to provide a more power-full integration with Batch Queue Manager and to be able to export a workflow on a web-service.

All export tools are now available everywhere : album view, Image editor, Light table, and Showfoto. Previously, only album view from digiKam core was able to deal with export tools through libkipi.

All export tools are now located here :

https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/webservices

All export tools use now a dedicated interface to communicate with the application : 

- digiKam (database) : 

https://cgit.kde.org/digikam.git/tree/core/libs/database/utils/ifaces/dbinfoiface.h

- Showfoto (files metadata) : 

https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/common/dmetainfoiface.h


There is not direct use of digiKam database for compatibility with Showfoto.

We plan later to provide a dynamic loading of export tools using a plugins mechanism. This will reduce overloading of the internal core libraries. A dedicated devel branch have been created for that, but it's not yet complete:

https://cgit.kde.org/digikam.git/tree/?h=development/dplugins

But take a care, digiKam export tools as plugins will not be shared with another external application. API will still private and only shared between Showfoto and digiKam core. The experience with libkipi was bad and complex to maintain/extend in time.

Gilles Caulier