Projects/Kooka

From KDE TechBase
Revision as of 11:41, 26 April 2008 by Marten (talk | contribs) (Resolve conflicting edits)
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 kolorpaint and KOffice applications among others. These use the libkscan library which is still present in kdegraphics.


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.

Future Plans

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.

In addition to that, a new KDE scanning application Glimpse is being developed by Kåre 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.

libksane is for KDE4 only, so the port will have to be done before the library conversion.

Having done all of this and 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 development version is at branches/work/kooka-kde3, 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-kde3

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

 cd kooka-kde3
 make -f Makefile.cvs
 ./configure [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 overwrite your existing Kooka application, its UI file and icons. However, 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:

 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 the autoconf/automake framework that Makefile.cvs uses.


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 Development/Tutorials/Debugging/How_to_create_useful_crash_reports for information on how to create and submit useful crash 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.