OSDir.com Project of the Week: Quanta Plus

Last week, Quanta Plus was selected as the Project of the Week on OSDir. In the interview with Eric Laffoon, the project leader of Quanta+ and Kommander, you can read about the past, present and future of the KDE Web Dev module.

Dot Categories: 

Comments

by Martin (not verified)

The best thing about Quanta+ IMHO is that it does not try to
force all that VPL stuff on its users. If you want to use
it just as a PHP editor: Works perfectly! The only thing I'm sometimes
envious of are Zend Studio's function parameter hints for
user-defined functions. You can include a file somewhere
with functions you wrote and when you are in the main file it
actually tells you what parameters there are. Great!
Even better would be a Delphi-like "right-click->go to definition".
I dont know any PHP editor that can do that, though.

by someone (not verified)

>Even better would be a Delphi-like "right-click->go to definition".

Delphi-like? I supose you are talking about some delphi IDE (visual delphi? sorry for my ignorance). Actually kdevelop3 makes that, at least, for C++. I have seen some PHP project templates but I have not tested them. I use quanta for html/php and kdevelop for C++. Quanta looks pretty extensible, may be a ctags hack can make it work with PHP, if it's not doing it already.

>I dont know any PHP editor that can do that, though.

I dont know if kdevelop is a PHP editor, (for me "cat << OEF" is)

Now it's time for certain people to talk about the KDE Great Big Editor One joining quanta and kdevelop. Or simply talk about what emacs/vim/notepad makes for them.

PD: aal spelling mistakes are caused beacuse keyborad vendors ship all keis togeter

by Iuri Fiedoruk (not verified)

Delphi is a IDE.
It uses Object Pascal as language.

As Kylix is on IDE for Object Pascal and C++ for Linux.

more on: http://www.borland.com

by yaac (not verified)

>It uses Object Pascal as language.

The language has been renamed to Delphi as well, some time ago.

by Iuri Fiedoruk (not verified)

nice to know, thank you.

by hoernerfranz (not verified)

with respect to php, quanta+ has an outstanding feature that is missing in nearly
any other web/php editor: the integrated php debugger gubed.
not even DW has anything like this.
just invaluable for serious php-development.

by Andreas (not verified)

Well, integration of gubed is nice but there are quite a few people who would prefer an integration of xdebug.

by Andras Mantia (not verified)

We need developers to do it... The debugger interface was designed that way that you can use different debuggers, not just gudeb. But right now only Gubed is supported because...the gubed author did the integration.

by tom (not verified)

a tutorial "Debugging PHP scripts with Quanta Plus and Gubed PHP Debugger" can be found here:

http://www.very-clever.com/quanta-gubed-debugging.php

by Iuri Fiedoruk (not verified)

I've been using Quanta+ since... well I don't even know!!
It's a long time, it was just a small text editor on build of kwrite with buttons for adding HTML elements. It was greatly improved since then, and I belive once Qt4 is out and KDE and Quanta+ ported to windows, it will be a great free (as both beer/speech) alternatice to the great Homesite program, and maybe even to Dreamevil.

So, the future is indeed more than ever shiny for Quanta. Way to go, and thanks for this great application.

by Eric Laffoon (not verified)

> The only thing I'm sometimes envious of are Zend Studio's function parameter hints for user-defined functions. You can include a file somewhere with functions you wrote and when you are in the main file it actually tells you what parameters there are. Great!

For built in functions this is stored in the DTEP. I'd have to talk with Andras about this. The new object syntax auto completion was done with an external temporary DTEP file and I don't know if the hooks are still active but the ability to add this should not be difficult as it would only need to follow the XML definition used in the DTEP and Quanta would need to know to read it. In fact... technically you could place or link files into the DTEP files you have currently. I have written a PHP file to parse PHP docs and generate the DTEP files and it can also accept external data input. If you are willing to accept certain limitations like having to create the files and having them be global to all projects this is there now. Ideally we would like to be able to generate files for a project on demand.

I note though that the parameters are included in the structure tree so they should be in the tip. Additional project DTEP files would enable additional information like the version specification we added for 3.4, though I'm not sure how it would be used. In addition to this you can also generate PHP docs for your project and have project documentation in the doc panel.

> Even better would be a Delphi-like "right-click->go to definition". I dont know any PHP editor that can do that, though.

This should be easy enough to add. In fact both things you want are already in the document structure tab. Open a PHP file and click the structure view in the left. You will see groups for functions, variables, inclusions, objects and classes. If you look at a function you will see the parameters. If you see a file address you can expand these are included functions in the file they originate in. Quanta understands the scoped linking and if you click on that function it will open the file and take you there.

So both features you imagine to be unlikely exist, but in the structure tree. As for the rest of it we just have so many things we can do with our resources... and as it turns out those are more than most people expect.

by Andras Mantia (not verified)

The parameters do not appear unless the function/class is declared in a .tag file in the DTEP. This is what Eric says, that we might generated in the feature project specific DTEP tags from PHP classes and functions. Right now what you can get from Quanta is autocompletion for external functions, classes and class methods:
included_file.php:
<?
class includedClass {
function includedClass_ctor(int i)
{
if ($a) {
$b = $a;
}
}

function includedClass_method2(string s)
{
}

function includedClass_method1(int i, int j)
{
}
}

function externalFunc(int i) {
}

$includevar;

?>

main_file.php:
<?
include ("included_file.php");
class qmyClass{

function qmyClass_ctor(int i)
{
$i = 0;
}

function qmyClass_method2(string s)
{
}

function qmyClass_method1(int i, int j)
{
$this-> [will show the methods of qmyClass]
}
}

function qmyFunction(int i, int j)
{
}

$test = new [will show the qmyClass and includedClass]
$q = new qmyClass;
$f_included = new includedClass;

$q-> [will show the qmyClass methods]
$f_included-> [will shot the includedClass methods[
ext [CTRL-SPACE will show the externalFunc declared in the included file]
qmy [CTRL-SPACE will show the qmyFunction declared here]
$ [will show all the used variables, including the ones from the included files, except of the "i" and "this" from inside qmyClass]
?>

Class member variable autocompletion and hints for the function/member arguments will come in the next versions.
NOTE: autocompletion either pops up automatically in some cases (like when typing $ or ->) or you can invoke manually with CTRL-SPACE.

by Aslak Berby (not verified)

This is great, but it some what buggy if it not I that do something wrong.
(This was also posted on the Quantra mailing list)

I notice the following:
if I do:
$a = new aClass;

then start typing:
$a->
it will show all functions in the class.

But the following construction does not work with autocompletion:
$a = &new aClass;
$a = new aClass();
$a = &new aClass();

I don't know if this is something I can set up or if it is in the code.
Will there be done anything about it? Its not a main couse for me, but rather annoying as the functionality for class compleate obvius is there...

(I am using the one that was included in SuSE 9.3 Distro (3.4) If this is dealth with in a later version I appoligy for the ignoranse.)

by SaCuL (not verified)

In Zend Studio 4 you can CRTL+click on any user defined function and it will go to the definition itself.

by Anonymous (not verified)

KDE Web Dev should be integrated with other KDE components to become even more powerful e.g. KDevelop + Quanta + Karbon + Krita + Kast

by Pat (not verified)

this is the program Eric is talking about http://kde-apps.org/content/show.php?content=17831
:)

by AC (not verified)

Quanta seems really good at first but I never been able to use it seriously because it crashed every times I tryed to work with.
I fill bug reports when I can but the most I can do to help now is to suggest making the app stable before adding new features.

Am I the only one who think quanta isnt stable enough?

by Andras Mantia (not verified)

Some version (especially 3.2.x) were indeed a little unstable, but 3.3.x and 3.4.0 should be much more stable (aside of some strange bug regarding the cvsservice usage which happens only in binary packages, not if you compile from source).

by Kristo (not verified)

Here same problem. Some version working (when quanta starting) well and latest version I can't use. crash, crash. But Kate is too nice :) Bad taht crashing some syntax highlighting.

by Andras Mantia (not verified)

If it's crashes like in http://bugs.kde.org/show_bug.cgi?id=102996 you don't need to report, but read my previous comment and the comments for that bug.
In other cases you SHOULD report the crashes, otherwise we cannot fix them.

by Rex Dieter (not verified)

How about this one, Re: VPL crashes
http://bugs.kde.org/99826

by Andras Mantia (not verified)

Well, as you could see we (Paulo) are working on it.

by Paulo Moura Guedes (not verified)

We're working on it, though it's a little difficult because I can't reproduce it. I would appreciate if people could tell me other dists where it occurs besides Gentoo.

by Rex Dieter (not verified)

I would appreciate if people could tell me other dists where it occurs besides Gentoo.

Fedora Core 3, Red Hat Enterprise 4 both exhibit the bad behavior. However, RedHat 9, Red Hat Enterprise 3 are fine.

by Eric Laffoon (not verified)

I think if people saying this could actually get perspective they would see the sad humor in such statements. First of all stability in general... People assume because computers are based on logic that they will operate with certainty and consistency rather than inconsistent and uncertain. The first thing you have to ask yourself is this. Do you believe the developers are happy producing a wonderful interface that runs like crap? Seems illogical, right? In fact Quanta almost never crashes for me, and I run the development version.

Most instability I observe is introduced in packaging issues. In particular it is easy to encounter binary issues where programs may run, but run terribly. Some packagers hack up the source a fair amount and introduce problems in the process. Also there have been more than a few releases made of Quanta which were not our official release, or where a bug was found and there was a re-release in days that was not picked up. In addition to this people can have entire systems full of cruft causing problems by hacking things together where configuration and package management fails to adequately manage. Finally there are cases where what a user may do will encounter a bug that the developers don't because of the complexity of the program. These bugs we really need to hear about. Packaging bugs are a pain that we can't fix, but if you can't be sure if it is packaging it's better to report it.

> I fill bug reports when I can but the most I can do to help now is to suggest making the app stable before adding new features.

Here's the facts. I sponsor Andras full time to work on Quanta and he keeps it with one of the lowest bug counts of any application in KDE. During every release cycle roughly 1/3 of our anticipated features fails to get done because we are spending time fixing bugs. Your suggestion may be logical but it's not taking the facts into account. The bugs that are not fixed either are not introduced by us or are simply unknown to us.

> Am I the only one who think quanta isnt stable enough?

Sadly I'm sure you are not... but whether it is stable on your system or somebody else's is not solely the result of the source code. Does that make sense now? So I would say you are in a small minority as most people experience Quanta as being very stable.

I have to admit it bothers me when someone says something like this. It operates on the erroneous assumption that we will have a universal experience where too many external factors can break the best of programs. What bothers me is that it implies, however unintentionally, that the developers would intentionally, or through a lack of competence, knowingly produce junk. I doubt you intended to imply that and you should know is that this is not only illogical but not true. Having said that you should know that it is very important to us that you have a good user experience because we are proud of our project. So please help us to root out the problems we can fix and encourage packagers to do likewise.

by Fast_Rizwaan (not verified)

What I really like about kommander is that it allows non-programmers to create useful frontendsto programs (encoders, decoders, etc), like Kaustika, etc.

But I have not found a GOOD KOMMANDER TUTORIAL (for newbies). Without the knowledge of how to create frontends, Kommander is wasted.

As it is said, "You are not cured by just knowing the name of the medicine."

Good Luck to Kommander Developers and users :)

by ltmon (not verified)

The links at the bottom of this page (in the "Useful Links" section) may help. At least, they helped me get started.

http://developer.kdewebdev.org/

by Fast_Rizwaan (not verified)

http://hektor.umcs.lublin.pl/~mikosmul/computing/articles/kommander-intr...

The "Set Wallpaper" kommander tutorial is very confusing, I can't understand many things there. And there is NO FORMATTING (BOLD, italic, underline, color etc) to make the tutorial easy to understand. It looks that i'm looking to plain text. I guess lack of formatting is what makes that tutorial unhelpful :(

The Disclaimer says it all ;)

Disclaimer:
The author disclaims all warranties with regard to this document, including all implied warranties of merchantability and fitness for a certain purpose.

And Certianly it is not fit for learning kommander ;) It's good but lacking formatting.

by Eric Laffoon (not verified)

Okay, so you don't like the formatting of the tutorial that a user contributed. Maybe you could offer to help them format it? This is community software, which means you get it for free and people in the community (supposedly all of us are) help out... However it often feels like it means that I sponsor Michal Rudolf to develop it and we keep waiting for others in the community to show up. We had some help with docs and we got some help with tutorials.

As far as actually learning it, do you want to? Certainly it takes less effort to point out what we haven't done with our limited resources, but we hope not too much more effort to learn to do something. ;-) First of all there are included "tutorial" examples where you can see how to use each widget in a simple dialog where it's easy to examine in the editor. (We need to make these more obvious for those getting binary packages.) There are docs on http://kommander.kdewebdev.org, though admittedly they are mostly out of date. We will be working on the docs soon I hope and we welcome anyone who wants to help there. However we also have a mailing list...

On the Kommander mailing list you can ask any question and get help from the developers and other users. You can ask about features or make suggestions. You can even submit dialogs you're working on for debugging, analysis and advice. Since most small dialogs are under 40K this is easy. In short, we will do penance for our doc shortcomings by serving you directly and personally consulting you until you understand how Kommander works. Funny how people often don't read docs and just fire off a question with Quanta... I personally would pick the free consultant. Kommander is my baby and I will go the extra mile to see it succeed.

Of course all of this overlooks that fact that once you have the basic theory down you need to know very little. There is a function browser you can call from the widget editor which will enable you to construct virtually every DCOP or scripting statement with a point and click, fill in the blank skill set. I use this all the time so I don't have to use the effort to remember things and not make typos. The basic concepts of Kommander are pretty simple so this means you can be making something pretty quickly.

So if you want to learn how to use Kommander it is in fact pretty easy. Granted it really needs better docs quickly and more tutorials but it is still very easy. I can attest from some of Pat's early emails with Katiuska that he absolutely did not think like a programmer coming to Kommander. After a few "silly" questions Pat was on his way. Interestingly I haven't seen a question from him in some time so to me this means that even though our docs are lacking, you can learn to program an application in Kommander in a matter of days with no more than half a dozen questions if you've never written a program of any sort in your life. It's been done and if someone else can do it so can you.

We are not trusting to luck for you to learn Kommander. We want you to succeed and we are doing our best to make tools available. If you want to succeed join our list and I promise you will be writing Kommander programs in no time. If you want to help that would be nice because we're working hard on what we consider essential improvements to Kommander too.

by anonymous (not verified)

I'd encourage you to setup a KDEwebdev MediaWiki page, for all KDEWebdev related stuff.
The media wiki looks good (nice appearance) and you even can encourage users to improve its contents!

by Ian Monroe (not verified)

Mediawiki has turned out really well for amaroK:
http://amarok.kde.org/wiki/index.php/Main_Page
Much of the documentation (like the FAQ) and all the translations have been written by users. Its also a nice way to hash out development ideas, as an alternative to a mailing list thread.

Actually the appearance of mediawiki is one of the problems... its complicated to integrate it the rest of site. Mediawiki was written for Wikipedia, so stuff like that isn't such a priority. However, mediawiki's syntax and ability to organize large pages is well polished.

That said, the Kommander people really do give great support on their mailing list.

by Flavio (not verified)

IMHO web developers need a generic XML editor that can:
1. validate documents using *any* DTD or XML Schema.
2. suggest and autocomplete tags.
3. create instances of documents from a schema
KDE currently lacks such an XML editor.
I don't like the "tag soup" approach of Quanta. It feels like a relic from the past.

by Andras Mantia (not verified)

> IMHO web developers need a generic XML editor that can:
Quanta as well as Kate XML Tools tries to be a generic XML editor.

> 1. validate documents using *any* DTD or XML Schema.
It can do it with the help of xmlval.kmdr (a Kommander script) included with Quanta and present already on the DocBook toolbars. Of course you can use in other cases as well. And of course with a well written DTEP you get on-the-fly validation with the help of the structure tree and the problems view.

> 2. suggest and autocomplete tags.
It does that.

> 3. create instances of documents from a schema
This is missing.

> KDE currently lacks such an XML editor.
>I don't like the "tag soup" approach of Quanta. It feels like a relic from the > past.
What do you mean about "tag soup" approach?? If you mean the .tag description files, we need it otherwise how would we know about tag, attributes and the relation between tags? And you don't have to write those tag files by hand (but you can and are suggested to fine tune them), but use the DTD->DTEP convertion dialog. Schema->DTEP conversion is not possible yet, but if you have a Schema->DTD converting application, you can do this in 2 steps.

Sorry, but aside of point 3 you are spreading wrong information.

by Flavio (not verified)

hi andreas,
you are certainly right about quanta features. I'm sorry about any false statement :(
Anyway the validation feature is too hidden and complicated, if you think this is the *most useful* feature for a web developer. By "tag soup" I mean that quanta seems designed to produce old style invalid html. It should not even let you save a document that does not validate.

by Andras Mantia (not verified)

I agree that it may be hidden. Regarding what it produces: it produces whatever you write. ;-) And what is in the .tag files. I don't say that they have all valid tag descriptions, but unless someone notices us about an invalid tag generation we cannot fix as they are just too many tags (DTEP packages) shipped with Quanta.
And altough you can say it's even more hidden it is possible to configure Quanta to check the validity on save/on load/whenever you want with the help of Event Actions.

by Dan Leinir Turt... (not verified)

Not let you save an invalid document? I'm sorry, but that doesn't work in the real world ;) Have you ever tried programming a site that has to work in all the different browsers, including that nasty excuse for one Internet Explorer? There's no way of doing advanced designs and have it work in all of them at the same time without some nasty, non-standard IE conditionals. I would very much not like for Quanta+ to enforce that on me. A box explaining that it's non-standard, with that Don't Show Again checkbox we know so well, would work ok for me for this, but forcing it on the user, that's a very non-KDE way of thinking ;)

by Jonathan Dietrich (not verified)

Hogwash! Please check http://csszengarden.com/ and learn how to code to standards. It features a single clean xhtml page (no presentation, no tables, images, etc. ) that is entirely styled by css. Choosing a different design from the menu on the left simply changes the css. This shows the true power of css. Using this technique also makes lynx users happy.

by Eric Laffoon (not verified)

Andras didn't mention but Quanta also enables real time structural validation for any DTD if you open the structure tree while editing. As far as Schema validation goes, our initial attempt at reading DTDs was to go with a Schema reading and DTD to Schema conversion. Our preference was to make Schema, not DTD, the basis of our internal validation. The problem is this... suggest to me a mature and functional library for this that we can access and our users can freely access. The tool must be able to handle all scenarios and operate on a diverse set of frameworks for whatever a user's Schema requirements are. If you know where to turn on this let me know. Everything we found was incomplete, often huge and not very versatile. In fact writing Schema tools for targetted use means deciding what your requirements are and picking a library based on that. I was frankly very dissappointed. Schema holds a wonderful promise but as far as I can tell it is not being realized today because it is splintered into divergent ideas and nobody has produced clean universal libraries. Writing the whole library is not practical, especially as when we looked XML Schema was nowhere near set in stone.

As for your other observation, what version are you running? I noted that into 3.1 and 3.2 our default toolbars reflected old style HTML. That changed in 3.3, but it's still academic as we develop those toolbars with user tools in the interface. All of Quanta has been designed to be completely user extensible... so saying what it is in this regard is reflecting the influence of commercial packaged software to be lazy because when you have it running it's pretty much at it's limits of what can be done with it. Quanta will never reach these limits as most of it's personality is developed at run time.

As far as enforcing validation on save... you can set Quanta up to do this easily with Project Event Actions. We will _never_ force this on you because I think it's fascist and because there are clear and valid reasons I know it will flood us with bug reports.

The big problem a lot of people have with Quanta is that it is "not finished" in the way they would like. If we take all those issues and put them on the wall how many "ways" will we find Quanta should be like? Nearly as many as there are people using it. The potential uses for Quanta are too diverse and given the tools available we have to fill a wide spectrum of uses. The only way such highly personal software can be perfect for you is if you customize it to your perfect ideal. If we do it we will have multiple custom configurations and you will probably still not like one.

by devil advocate (not verified)

"It should not even let you save a document that does not validate."

There is an old saying about unix: "it doesn't try to avoid you making silly things, for if it did, they it would avoid you doing smart things too".

Who do you thing is Lafoon (to name one) to know about YOUR requirements? The program, of course should *suggest* and make proper way to be the easy way, but anything out of this would be stupid ingerence.

Still, you can try Windows: there you surely will find the "This Way Is The One And Only Way" approach.

by Frans Englich (not verified)

Adding my two cents here;

What from my perspective would be the perfect solution for this is rigging up the DOM 3 Validation interfaces,[1] which is built for editing Documents while having validness introspection. A large advantage is that it is abstracted from a particular schema language, and allows DTD, W3C XML Schema, RELAX NG, or any other schema language to be used under the same roof. Here's a quote from its Introduction:

'This module provides Application Programming Interfaces (APIs) to guide construction and editing of XML documents. Examples of such guided editing are queries like those that combine questions like "what does the schema allow me to insert/delete here" and "if I insert/delete here, will the document still be valid."'

KDE is badly missing a Schema implementation; an implementation which should be generic and not tied to Quanta or any other particular application. Quanta needs it for editing documents, and all "next-generation" XML stuff need it for data typing in the XPath data model. In other words, XQuery, XPath 2.0, XSL-T 2.0 all requires a Schema stack.

Are you up for the task?

All it requires is a bit of C++ knowledge, an interest for XML technologies, and to be the one for bringing KDE to the next generation of XML.

The stack should likely be written against KDOM, kdenonbeta/kdom. There's a design/info doc found at kdenonbeta/kdom/docs/readme.xhtml[2], and folks at #ksvg can help with KDOM specifics. KDOM has everything from XML Catalogs to DOM 3 Load-and-Save, so it is a good base to build upon.

Cheers,

Frans

1.
http://www.w3.org/TR/DOM-Level-3-Val/

2
http://webcvs.kde.org/*checkout*/kdenonbeta/kdom/docs/readme.xhtml

by Martin Honermeyer (not verified)

Great, that's the way! Did anyone already engage in this?

Martin

by David (not verified)

Quanta should concentrate on getting support for Ruby on Rails rather than PHP. Get together with Richard Dale and create a kick-ass framework and development platform from desk application development to the server and to the web. If you want to capture Java developers, do that, and integrate better with KDevelop for end-to-end development.

by Richard Dale (not verified)

I agree it would be a good idea to do something with Rails support in Quanta or KDevelop. I've only got as far as downloading the Rails gem, but I haven't actually tried it out yet.

I was thinking mainly what's needed is adding a Rails project template to KDevelop, and making the KDevelop ruby debugger work with ruby server code running in the background like Rails does, and rhtml syntax highlighting in Kate.

You create a Rails project dynamically by just typing 'rails ', so I wasn't sure how fit in with the KDevelop way of doing things.

I haven't used Quanta, so I don't know if that would be a better starting point than KDevelop.

by Eric Laffoon (not verified)

At some point we hope to merge frameworks so features can be shared. If this is a web development framework and you want to do something with it then by all means touch base with Andras an me.

by Richard Dale (not verified)

Yes thanks, OK I'll do that once I've got round to trying out Rails. I've never done any web development, other than a few static html tutorials for Korundum, so I know absolutely nothing about how you go about debugging dynamic web apps and so on..

by devil advocate (not verified)

"Quanta should concentrate on getting support for Ruby on Rails rather than PHP"

Sure it should!
You know better than those that indeed are spending their time coding Quanta+.

Hey, boys! David orders and you obbey, Arh!

(I'll tell you a secret, David: Quanta+ is distributed under the GPL; you can take the code base and start coding your Ruby on Rails support TODAY!)

by David (not verified)

"You know better than those that indeed are spending their time coding Quanta+."

Well, since capturing Java developers is a stated goal according to Eric.....

"Hey, boys! David orders and you obbey, Arh!"

Errrrr, no.

"(I'll tell you a secret, David: Quanta+ is distributed under the GPL; you can take the code base and start coding your Ruby on Rails support TODAY!)"

Oh wow. Really?!

by Andras Mantia (not verified)

Again, we need developers for such new features. It might be that for basic support it's enough to write a DTEP like the one for PHP.
But as I (or the others in the current team) don't work and know Ruby (and have no idea what Ruby on Rails is), we cannot do this alone. And right now we have lot of ideas in the areas that we know...

by Veton (not verified)

+1: I fully support this!

Ruby has increase his popularity since Rails is there.

Rails is a simple MVC web framework, with a flexible controller layer (mixins ~"AOP"), responsive UI (AJAX), and a persistent OO model.

by Eric Laffoon (not verified)

This is less than strategic advocacy statement. I've used PHP since 2x and am moving to 5x and it is the most widely supported scripting language on the net today. However good Ruby may be it is absurd to suggest we change our focus. Think about it. Fortunately we were smarter than to design Quanta where we had to make such choices. Let's deal with facts. Quanta's support for PHP is NOT hardcoded. In fact it is part of our general parser. Support for other languages can be added by writing a Document Type Editing Package and if you collaborate with us we will tune the parser if we need to.

Having said all that my policy has always been that nobody works on features they don't actually use. My reasoning is simple. One key of FLOSS is that it scratches a developer's itch. When I try to guess where you itch odds are good I'll miss and end up with a mediocre result and we don't do mediocre. Since implementing support for languages is little more than XML and some Regexp, which we can help with, the question is if you are using Ruby on rails and why you aren't adding support? Well?

I realized early on that we would never be able to cover the diversity of needs in the community so I specified that Quanta should be user extensible. It is frustrating that somehow people fail to get the point that asking others to do more and more just because they want it is NOT how FLOSS started and not how it will grow.

Andras very politely said someone needs to step up. I will be a little more blunt. If you want to see a more feature rich program we will need less people saying "you should do such and such" and more people getting off their ass and saying "I want to help add this feature into your framework". My personal efforts have absorbed enough time to force me to put up a virtual barrier to sucking more time out of my business and with donations in 2005 running 1/3 as many as in 2004 and one less major sponsor I'm looking at thousands of dollars out of my own pocket for the project this year. I look at community like jury duty. Sometimes you have to step forward to make sure something happens. It's getting tiring that seemingly very close to 99.9% of people in the community seem to see work to make things happen as something somebody else should do more of. There are limits to what a few people can give of themselves.

I'm happy to make our project address everyone's wishes, but it would be nice to get a little help doing it. Instead of suggesting we drop work on what we use maybe somebody else could drop some of their free time for a few weeks and help?