Projects/Kooka: Difference between revisions

From KDE TechBase
m (Glimpse is now known as Skanlite)
(Updated for KDE4 port)
Line 10: Line 10:
Now would be a good time to introduce myself: Jonathan Marten, the current Kooka maintainer.  I was motivated to volunteer for this after having got a new networked scanner (an HP OfficeJet all-in-one) and finding that it didn't work with Kooka, although it did with SANE.  Getting it to work with Kooka was a fairly simple fix, but it was obvious that there was a lot more in the application that could be improved.
Now would be a good time to introduce myself: Jonathan Marten, the current Kooka maintainer.  I was motivated to volunteer for this after having got a new networked scanner (an HP OfficeJet all-in-one) and finding that it didn't work with Kooka, although it did with SANE.  Getting it to work with Kooka was a fairly simple fix, but it was obvious that there was a lot more in the application that could be improved.


{{note|Don't panic! Although Kooka is no longer present in KDE4, scanning is still available via the [[kolourpaint]] and [[KOffice]] applications among others.  These use the [[libkscan]] library which is still present in kdegraphics.}}
{{note|Don't panic! Although Kooka is no longer present in KDE4, scanning is still available via the [[kolourpaint]] and [[KOffice]] applications among others.  These use the [[libksane]] library which is included as standard in kdegraphics.
<br><br>There is also the scanning application [[Skanlite]] which is available in extragear.}}


Any contributions that you can make to Kooka&nbsp;- code, documentation, translation, or artwork&nbsp;-
Any contributions that you can make to Kooka&nbsp;- code, documentation, translation, or artwork&nbsp;-
Line 35: Line 36:
will list all of the bugs that have been addressed in the development version.
will list all of the bugs that have been addressed in the development version.


== Future Plans ==
== KDE4 Porting ==


Obviously the Kooka application needs to be ported to KDE4.  The dock widget user interface that it currently uses is not supported in KDE4, as well as being rather unreliable and having usability issues (see {{bug|71252}} and its many duplicates).  I'm currently considering changing the user interface to a task oriented system with a tab for the three main tasks ("Scan", "OCR" and "Gallery").  The panes used for each task will be arranged using splitters.  All of the sizes and arrangements will be fully configurable, of course.
Porting of Kooka to KDE4 has now started.  At the moment the application runs, scans and saves.  Major areas still to be ported are the image thumbnail view, gallery drag and drop, printing/copying, and OCR spell checking.  New features needed include configurability for the user interface layout.  The dock widget interface ({{bug|71252}} and its many duplicates) has gone.


In addition to that, a new KDE scanning application [[Skanlite]] is being developed by  Kåre&nbsp;Särs. This includes a new library [[libksane]] which has a number of advantages over libkscan, including access to all scanner options and 16-bit scanner support.  In the long run the aim is to convert Kooka to use this new library.
There are some discussion threads ([http://lists.kde.org/?t=125570944700004&r=1&w=2 1],
[http://lists.kde.org/?l=kde-devel&m=125594709527004&w=2 2],
[http://lists.kde.org/?t=125603251000002&r=1&w=2 3]) regarding the KDE4 port and possible future changes.  One of these possibilities is the new KDE scanning library [[libksane]], part of [[Skanlite]], being developed by  Kåre&nbsp;Särs. libksane has a number of advantages over libkscan, including access to all scanner options and 16-bit scanner support.  In the long run the aim is to convert Kooka to use this new library.


libksane is for KDE4 only, so the port will have to be done before the library conversion.
When ported to KDE4, Kooka may appear in extragear&nbsp;- or even an official KDE release&nbsp;- one day!
 
Having done all of this and ported to KDE4, Kooka may appear in extragear&nbsp;- or even an official KDE release&nbsp;- one day!


== Running the Development Version ==
== Running the Development Version ==
Line 52: Line 53:
[[Getting_Started/Sources/Using Subversion with KDE|Using Subversion with KDE]] for more information on SVN.
[[Getting_Started/Sources/Using Subversion with KDE|Using Subversion with KDE]] for more information on SVN.


The development version is at <tt>branches/work/kooka-kde3</tt>, if you just want to browse the files you can do so using the  
The current development version (the KDE4 port) is at <tt>branches/work/kooka-kde4</tt>, if you just want to browse the files you can do so using the  
[http://websvn.kde.org/branches/work/kooka-kde3/ KDE WebSVN].
[http://websvn.kde.org/branches/work/kooka-kde4/ KDE WebSVN].
To check out a copy of the current sources, do the following:
To check out a copy of the current sources, do the following:


   cd [to a suitable place, e.g. your home directory]
   cd [to a suitable place, e.g. your home directory]
   svn co svn://anonsvn.kde.org/home/kde/branches/work/kooka-kde3
   svn co svn://anonsvn.kde.org/home/kde/branches/work/kooka-kde4


This will download the current sources to a subdirectory
This will download the current sources to a subdirectory
{{path|kooka-kde3}}.
{{path|kooka-kde4}}.
To compile and install them, do the following:
To compile and install them, do the following:


   cd kooka-kde3
   mkdir kooka-kde4-build
   make -f Makefile.cvs
   cd kooka-kde4-build
   ./configure [with any options needed, you should not need to use any]
   cmake ../kooka-kde4 [with any options needed, you should not need to use any]
   make
   make


Line 72: Line 73:
   su root -c 'make install'
   su root -c 'make install'


This will overwrite your existing Kooka application, its UI file and iconsHowever, it will not overwrite the original version of the libkscan library so as not to break any other applications which may use it.  The new libkscan library will get installed with a new version number.  After doing the install, you can run the new Kooka application with the command:
This will install the new Kooka application and its support files in the KDE4 install locationThere is no Kooka included as standard in KDE4, so nothing will get overwritten.  After doing the install, you can run the new Kooka application with the command:


   kooka
   kooka
Line 78: Line 79:
or from the desktop or K-menu in the usual way.
or from the desktop or K-menu in the usual way.


{{tip|You may need to install some additional software or packages (your distro may call them "development" packages) to obtain SVN, and the autoconf/automake framework that <tt>Makefile.cvs</tt> uses.}}
{{tip|You may need to install some additional software or packages (your distro may call them "development" packages) to obtain SVN and cmake, or the autotools needed for the KDE3 version.}}
 
The KDE3 development version is still available, although it is no longer being updated - any bug fixes or improvements will appear in the KDE4 version only.  To check out and build/install this version, do:


  svn co svn://anonsvn.kde.org/home/kde/branches/work/kooka-kde3
  cd kooka-kde3
  make -f Makefile.cvs
  ./configure [with any options needed]
  make
  su root -c 'make install'


== Reporting Bugs or Wishes ==
== Reporting Bugs or Wishes ==
Line 88: Line 97:


If your problem is a crash, please try to include a meaningful backtrace&nbsp;- this will be displayed by DrKonqi when the application crashes.
If your problem is a crash, please try to include a meaningful backtrace&nbsp;- this will be displayed by DrKonqi when the application crashes.
See [[Development/Tutorials/Debugging/How_to_create_useful_crash_reports]] for information on how to create and submit useful crash reports.
See the TechBase article [[Development/Tutorials/Debugging/How_to_create_useful_crash_reports|How to create useful crash reports]] for information on how to create and submit useful reports.


Please be aware that a crash may not be a problem with Kooka or anywhere in KDE, it may be caused by the SANE libraries or even the kernel.  Unfortunately, it may not be possible to reproduce the problem for investigation unless a developer has the same scanner hardware as you do&nbsp;- even then it may not be possible.  You should ensure that you are using a reasonably up-to-date kernel (especially if your scanner is connected via USB) and the latest SANE package.  Check the [http://www.sane-project.org/bugs.html SANE bug tracker] if you suspect that the problem may involve SANE.
Please be aware that a crash may not be a problem with Kooka or anywhere in KDE, it may be caused by the SANE libraries or even the kernel.  Unfortunately, it may not be possible to reproduce the problem for investigation unless a developer has the same scanner hardware as you do&nbsp;- even then it may not be possible.  You should ensure that you are using a reasonably up-to-date kernel (especially if your scanner is connected via USB) and the latest SANE package.  Check the [http://www.sane-project.org/bugs.html SANE bug tracker] if you suspect that the problem may involve SANE.

Revision as of 08:07, 20 November 2009

Warning
This page needs to be migrated. You can find the original page and its subpages at http://kooka.kde.org. Please make use of subpages to structure the wiki, e.g. Policies/Packaging Policy. Read Help:Contents for further details. If in doubt, join #kde-www on irc.kde.org.


Kooka, a KDE Scanning/OCR Application

Kooka has been removed from the kdegraphics module for KDE4 (since mid-2007), this is because it had had little active development or maintenance for some time before that. But there is still interest from users, see for example dot.kde.org 17 Jun 07 and dot.kde.org 1 Feb 08.

Now would be a good time to introduce myself: Jonathan Marten, the current Kooka maintainer. I was motivated to volunteer for this after having got a new networked scanner (an HP OfficeJet all-in-one) and finding that it didn't work with Kooka, although it did with SANE. Getting it to work with Kooka was a fairly simple fix, but it was obvious that there was a lot more in the application that could be improved.

Note
Don't panic! Although Kooka is no longer present in KDE4, scanning is still available via the kolourpaint and KOffice applications among others. These use the libksane library which is included as standard in kdegraphics.

There is also the scanning application Skanlite which is available in extragear.


Any contributions that you can make to Kooka - code, documentation, translation, or artwork - will be greatly appreciated!

Current Status

There is still a lot of documentation and other information on the original Kooka web pages. The intention is that that content will eventually migrate to these TechBase wiki-based pages. For the moment this page provides information on the current state of Kooka, and instructions for downloading and building the development (SVN) version.

These are some of the bugs and popular wishes that have been addressed in the development version so far. If you are affected by any of these, please try out that version (see the "Running the Development Version" section below) and update the bug if there is anything to report.

  • bug #139932 USB or network scanner is not auto-detected
  • bug #68530 "Scan Parameters" - Scan modes that let you change the whole...
  • bug #107390 Display error message when scanner device inaccessible
  • bug #69454 Gallery tree context menus should be context sensitive
  • bug #132701 Deleting folders doesn't work properly
  • bug #109406 Doesn't remember application to "open with"
  • bug #132699 Images in nested folders are not shown
  • bug #70473 Deleting items from the Kooka Gallery does not decrement...
  • bug #141927 Spelling settings not preserved for OCR in a single...

This Bugzilla query will list all of the bugs that have been addressed in the development version.

KDE4 Porting

Porting of Kooka to KDE4 has now started. At the moment the application runs, scans and saves. Major areas still to be ported are the image thumbnail view, gallery drag and drop, printing/copying, and OCR spell checking. New features needed include configurability for the user interface layout. The dock widget interface (bug #71252 and its many duplicates) has gone.

There are some discussion threads (1, 2, 3) regarding the KDE4 port and possible future changes. One of these possibilities is the new KDE scanning library libksane, part of Skanlite, being developed by Kåre Särs. libksane has a number of advantages over libkscan, including access to all scanner options and 16-bit scanner support. In the long run the aim is to convert Kooka to use this new library.

When ported to KDE4, Kooka may appear in extragear - or even an official KDE release - one day!

Running the Development Version

If you want to try running the latest development version of Kooka, it is available from KDE SVN. If you are not familiar with SVN then instructions are below; you do not need an SVN account unless you will be contributing code yourself, although you should be familiar with compiling and installing from source. See the TechBase articles Anonymous SVN Quickstart Guide and Using Subversion with KDE for more information on SVN.

The current development version (the KDE4 port) is at branches/work/kooka-kde4, if you just want to browse the files you can do so using the KDE WebSVN. To check out a copy of the current sources, do the following:

 cd [to a suitable place, e.g. your home directory]
 svn co svn://anonsvn.kde.org/home/kde/branches/work/kooka-kde4

This will download the current sources to a subdirectory kooka-kde4. To compile and install them, do the following:

 mkdir kooka-kde4-build
 cd kooka-kde4-build
 cmake ../kooka-kde4 [with any options needed, you should not need to use any]
 make

If this is all successful, you can install the Kooka application and libkscan library by doing:

 su root -c 'make install'

This will install the new Kooka application and its support files in the KDE4 install location. There is no Kooka included as standard in KDE4, so nothing will get overwritten. After doing the install, you can run the new Kooka application with the command:

 kooka

or from the desktop or K-menu in the usual way.

Tip
You may need to install some additional software or packages (your distro may call them "development" packages) to obtain SVN and cmake, or the autotools needed for the KDE3 version.


The KDE3 development version is still available, although it is no longer being updated - any bug fixes or improvements will appear in the KDE4 version only. To check out and build/install this version, do:

 svn co svn://anonsvn.kde.org/home/kde/branches/work/kooka-kde3
 cd kooka-kde3
 make -f Makefile.cvs
 ./configure [with any options needed]
 make
 su root -c 'make install'

Reporting Bugs or Wishes

Please continue to report bugs or problems with the Kooka application or the libkscan library using bugs.kde.org as usual. This is also the place to submit wishes or new feature requests.

This Bugzilla query will list all of the existing bugs.

If your problem is a crash, please try to include a meaningful backtrace - this will be displayed by DrKonqi when the application crashes. See the TechBase article How to create useful crash reports for information on how to create and submit useful reports.

Please be aware that a crash may not be a problem with Kooka or anywhere in KDE, it may be caused by the SANE libraries or even the kernel. Unfortunately, it may not be possible to reproduce the problem for investigation unless a developer has the same scanner hardware as you do - even then it may not be possible. You should ensure that you are using a reasonably up-to-date kernel (especially if your scanner is connected via USB) and the latest SANE package. Check the SANE bug tracker if you suspect that the problem may involve SANE.