Development
This documentation is about KTutorial development. If you are a developer, but are looking for documentation about using KTutorial in your application, take a look in developers section in the documentation page.
Instead, if you are curious about how KTutorial is designed, take a look in KTutorial design. Although it is painfully outdated, most is still valid. However, several components are missing from the explanation.
The UML diagrams (mostly class diagrams), on the other hand, are up to date: editor and library. Both files can be opened using Umbrello UML Modeller.
For further information about the development of KTutorial you can visit KTutorial blog. It contains mainly technical details about the problems encountered and the decisions made while developing KTutorial, so you may find useful information there for your own project.
Right now, KTutorial is in a prototype state, but it is able to execute tutorials: it works!
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 several features of KTutorial in a "real" environment.
Here it is the current features 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 using boolean values. 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, only 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.
Here you can see what (major) features I expect to include in the future.
-
0.6:
- Improve KTutorial editor for non-technical users.
-
Someday? (these features need further investigation about their technical viability):
- Extended information in step texts (something like "What is this" help on specific words, for example).
- Add a fluent interface to the library.
Last updated: 2012-08-21