[dot] Kommander Leaps Forward in KDE 3.5.9

Dot Stories stories at kdenews.org
Mon Feb 25 22:53:01 CET 2008


URL: http://dot.kde.org/1203976193/

From: Eric Laffoon <eric at kdewebdev.org>
Dept: used-to-be-a-cute-dialogue-tool
Date: Monday 25/Feb/2008, @13:49

Kommander Leaps Forward in KDE 3.5.9
====================================

   Kommander [http://kommander.kdewebdev.org], the graphical scripting
tool, has been radically improved
[http://kommander.kdewebdev.org/changes.php?releasenum=0] for KDE 3.5.9.
While our next goal is a KDE 4 executor, then a full update we wanted to
offer some new functionality for KDE 3 users. Best of all, shortly you
will be able to run what was built in KDE 3 unaltered and native in KDE
4. In 3.5.9 the focus was on the executor, but new features are in the
editor. That includes popup menus, KPart creation, a DatePicker widget,
widget creation on the fly, embedded widgets, standard dialogs, and a
lot more. There is a new plugin architecture and new plugins for
database, KParts, HTTP connections and even a KHTML widget. Read on for
more.

     One of the limitations of Kommander has been that it only does
dialogs. There was a problem getting the editor to work with MainWindow
applications. However it turns out that a non-Kommander MainWindow
created in Qt Designer does work. There are minor limitations but we are
building a database frontend using a MainWindow frame and KParts in
Kommander. We have examples, and for the first time the examples are
accessible from the editor. Unfortunately there was no quick way to put
them into the current Editor without forcing users to have the KPart
loader plugin, so they open to a new Editor window.

     One of the biggest frustrations for users was the lack of
documentation. Actually documentation was partly done, but as we always
seemed to be completing things around release string freezes
documentation was always behind. Regrettably most of it is only in
English, but that still seems better than little or no documentation.
Now you can read how to do things along with included dialogs to see
what exactly was done. The list of improvements is long. Kommander has
been popular as a tool to build frontends for command line programs. It
still does that. Let me thumbnail what is new and what it means.

     Kommander started life piecing together text strings, got DCOP and
some simple functions. While we wanted to be language neutral we ended
up being bash centric. The problem was bash is not very quick and a
little quirky to learn. So on the road to supporting other languages we
wanted a very simple non-language sort of language which is how the new
parser got started. The old parser was just functions, and you could use
the function browser to point and click your way to a working dialog.
The old parser could not nest @if statements and confused users, and it
also confused people using bash loops as it would read a script in two
passes and always give the last state of the loop. The new parser adds
variables, some new functions and infinite nesting of logic elements. In
addition scripts can now pass and return values and you can easily
shebang any scripting language at the top of a script. There is also
correct highlighting for the new parser and it's now well debugged.
Either parser is supported and both can co-exist in a Kommander window.

     Kommander can use Kommander-based tools in the Editor Tools menu.
There is a new example dialog window to enable viewing examples even if
you have a binary install. Some of the new tools in the works are
revised DCOP tools (the included one slipped out broken), new project
management tools with release and install management, an Sqlite3 based
snippet library, a database data form creation tool and more. We will
also be releasing new Kommander KPart tools for Quanta.

     One other thing we added this release was a security feature that
gives a warning if the executable bit is not set. It is far from ideal
and we are thinking on a better solution for KDE 4, but a better
solution will take a lot of work and there is a real security issue in
the possibility that people could accidentally run a dialog including
exploits whereas they would have to intentionally run the same shell
script. Ideally we would like to get the Kommander Executor into the
main KDE 4 packages and draw other developers and people interested in
supporting other scripting languages. To date most of the development
has been the sponsored work of Michal Rudolof, who we were not able to
continue to sponsor, and Andras Mantia, who took some time off Quanta.

     On a personal note, I want to close by saying I know of several
hundred Kommander applications that have been floating around based on
what Kommander could do before. In my experience it is now many times
better to design applications with than just last month, and for this we
owe Andras Mantia a debt of gratitude. Unfortunately being as busy as I
have been and as much as I hate asking for money I have not kept up with
fund raising and I owe him money. From what I have seen him do I have to
say that for KDE, Quanta and Kommander he is without a doubt one of the
best developers in KDE and worth more than I have been paying him. Now
that he has a family it is on both our minds that he needs a raise.
Please consider helping our project and our most valued resource by
contributing to our project [http://kdewebdev.org/donate.php]. We have a
few contributors who send in the thousand Euro plus annual range and a
precious few sponsoring for small amounts. If a fraction of our users
"took us out to lunch" once a month we would be further along. Since its
inception 7 years ago Kommander has had less than a year of full-time
development.

     Keep your eye on our website [http://kommander.kdewebdev.org] for
updates on tools and plugins
[http://kommander.kdewebdev.org/releases.php#plugins]. Take a look at
the screenshots [http://kommander.kdewebdev.org/snapshots.php] for an
overview. We intend to continue to support Kommander with new Kommander
tools and new support on our web site, we are also insanely busy so
please be patient.



More information about the dot-stories mailing list