Projects/Kooka

From KDE TechBase
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.

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.


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.

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 (Git) version.

Kooka has been ported to KDE4. Almost all of the original Kooka functionality is present and working, with the exception of printing (not yet addressed because the KDE4 printing system is still under development). It uses Sonnet for OCR spell checking. The dock widget interface (bug #71252 and its many duplicates) has gone.

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...

In the KDE4 port only:

  • bug #71252 Docking widgets unintuitive, configuration can be badly messed up
  • bug #79245 3-pass scanner not working
  • bug #146874 Support for saned user authentication

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

Future Development

Any contributions that you can make to Kooka - code, documentation, translation, or artwork - will be greatly appreciated! You are welcome to push any changes or additions that you make to the main Git repository.

New features needed include configurability for the user interface layout.

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 the port is complete, 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 Git. If you are not familiar with Git then instructions are below; you do not need an identity.kde.org account unless you will be contributing code yourself, although you should be familiar with compiling and installing from source. See the TechBase Development/Git page for more information on Git.

The current KDE4 development version is at playground/graphics/kooka, if you just want to browse the files you can do so using KDE QuickGit. To check out a copy of the current sources, do the following:

 cd [to a suitable place, e.g. your home directory]
 git clone git://anongit.kde.org/kooka

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

 mkdir kooka-build
 cd kooka-build
 cmake ../kooka [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 Git and cmake, or the autotools needed for the KDE3 version.


The KDE3 development version is no longer being updated - any bug fixes or improvements will appear in the KDE4 version only. This version is available as branch 'master-kde3' in Git.

To check out and build/install this version, do:

 cd kooka
 git checkout master-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.