Chapter 1. General information

Table of Contents

Current state
Features
About the project

KTutorial is a library/framework to add support for interactive tutorials in KDE 4. The project is free software licensed under the GNU GPL version 2 or later.

Tutorials are embeded in the application itself, and react to user actions: wait for some task to be accomplished, warn if something wasn't done as it should, etcetera. As the tutorial is being followed, the system gives feedback to the user.

KTutorial offers an infrastructure to create interactive tutorials easily using the classes provided by it, and manages them automatically. In order to make a tutorial, it is only needed to create the steps it is composed of, and associate in each step some conditions to wait for to be accomplished and a reaction to the condition met.

Right now, KTutorial is in a prototype state, but it is able to execute tutorials, both in C++ and scripted: it works!

A list of the new features to be added can be seen in Chapter 4, TODO .

As well as the library itself, KTutorial provides a graphical editor for tutorials, not surprisingly named Ktutorial editor.

There is also a little test application, KTutorial test app, which shows the different features of KTutorial in a "real" environment.

Of course, you need KDE 4 in order to compile and execute KTutorial.

Here it is the current feature list:

  • C++ and scripted tutorials: the tutorials can be written in C++, or in any of the script languages supported by Kross. C++ tutorials are more powerful, while scripted tutorials are easier to write.

  • Complex conditions: the conditions to be waited for in tutorials can be composed from other conditions. Moreover, the base condition classes can be extended to enable richer conditions if they can't be achieved with the ones provided by the library.

  • Options in steps: tutorials can show options to the user in the steps. It allows, for example, to make the user choose between one path or another when following a tutorial.

  • Widget highlighting: tutorials can link to widgets in the text of their steps, and when the links are clicked the widgets are highlighted.

  • Easy integration: KTutorial was designed to ease its use in applications, so the developer only has to worry about coding the tutorial. Setting KTutorial up, merging the menus, managing the tutorials and things like that are done almost automatically.

  • Optional customization: KTutorial also offers the possibility to developers to provide their own user interface instead of using the default one.

  • Internationalization: KTutorial, as a good KDE library, uses KDE internationalization system, so it can be localized in several languages. Right now, English and Spanish localizations are supported.

  • CMake build system: KTutorial uses KDE 4 CMake build system, and also provides a CMake module to be used from applications using KTutorial to configure them as necessary.

  • Graphical editor: KTutorial editor is a companion to KTutorial library to ease tutorial authoring. A tutorial can be defined using the editor and then exported to a scripted tutorial that can be understood by KTutorial library.

  • Application introspection: KTutorial provides a system to introspect any application that uses KTutorial. Thanks to this, KTutorial editor can know, for example, the name of the objects accesible by KTutorial or the signals they can emit.