<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/25 Yuri Samoilenko <span dir="ltr"><<a href="mailto:kinnalru@gmail.com" target="_blank">kinnalru@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:11px">Hello</span><div style="font-family:arial,sans-serif;font-size:11px"><br></div><div style="font-family:arial,sans-serif;font-size:11px">I want to implement "External tools" feature(as in kate was), and I already take look at digikam software compillation sources.</div>



<div style="font-family:arial,sans-serif;font-size:11px">Feature must allow to use custom script(external) to operate with image files. For examplt to create solid archive file with currently selected images.</div><div>
<div style="font-family:arial,sans-serif;font-size:11px">
As see it is a 3 ways to implement such feature:</div><div style="font-family:arial,sans-serif;font-size:11px">1. as batch tool</div><div style="font-family:arial,sans-serif;font-size:11px">advantages:</div></div><div style="font-family:arial,sans-serif;font-size:11px">



 - easy to implement(simple BatchTool API - inherit BatchTool class and implement toolOperation as for example croptool does)</div><div style="font-family:arial,sans-serif;font-size:11px"> - settings and settingswidget factory out of the box</div>



<div style="font-family:arial,sans-serif;font-size:11px">disadvatages:</div><div style="font-family:arial,sans-serif;font-size:11px"> - is it possible to embed batch tool to context menu (right mouse click)?</div><div style="font-family:arial,sans-serif;font-size:11px">



<br></div><div style="font-family:arial,sans-serif;font-size:11px">2. as kipi plugin<br></div><div style="font-family:arial,sans-serif;font-size:11px"><div>advantages:</div><div> - settings and settingswidget factory out of the box</div>



<div> - context menu integration out of the box</div><div>disadvatages:</div><div> - little more complex kipi plugins API </div><div> - breaking semantics(as I think) of "image manipulation"... is for example 'creating archive' appear to be 'image manipulation'?</div>



<div><br></div><div>3. directrly embed to context menu like "open with" and other actions</div><div>advantages:</div><div> - i don't know</div><div>disadvatages:<br></div><div> - i don't know how to implement</div>



<div><br></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,sans-serif;font-size:11px">

<div>What do you think about this?</div>
<div></div></div></div></blockquote><div><br></div><div>None of these 3 solutions are the best.</div><div><br></div><div>A BQM tool is problematic. If you take a look, you will see that all tool workflow use Digikam::DImg container to process images. A BQM tool is to process one items, not more than one at the same time (to make tarball for ex).</div>


<div><br></div><div>A kipi-plugins is problematic because it's a stand alone operation, where you want to do it and end of BQM workflow. Typically Batch operation from kipi-plugins migrate to digiKam BQM, because all can be serialized in one workflow, ans saved to be reprocessed later. You cannot do it with kipi-plugins.</div>

<div><br></div><div>With kipi, we have this problem with all export tools which are a stand alone processing in a dedicated dialog.</div><div><br></div><div>A solution can be to export kipi tool settings + core operations to kipi host application, but this need to change a lots libkipi API and patch whole plugins. Typically, a student have been planed to work a ths project with GSoC, but he have found a real job and project have been canceled. See details here :</div>

<div><br></div><div><a href="https://community.kde.org/GSoC/2013/Ideas#Project:_Integrate_KIPI_Export_Plugins_directly_in_the_GUI_of_KIPI_host_applications">https://community.kde.org/GSoC/2013/Ideas#Project:_Integrate_KIPI_Export_Plugins_directly_in_the_GUI_of_KIPI_host_applications</a><br>

</div><div><br></div><div>The KDE service way is too... limited and cannot be serialized in BQM.</div><div><br></div><div>My proposal is more simplest : In BQM, patch Queue "Target" settings to include new options to perform "export features". This can include tarball processing, export to a remote computer, export to a web service, etc..</div>

<div><br></div><div>Best</div><div><br></div><div>Gilles Caulier</div></div></div></div>