15 Jul 2004 dsnopek   » (Journeyer)

First, I'd like to say that its great to have Advogato back!

The House That Xmldoom Couldn't Build

My parents are selling their home without a realator. So I made a web site for them to advertise the house. I wanted to build it as quickly as possible and then get it off my hands, so I decided that they needed to be able to build/edit it without me. Because of bugs I have been experiencing at work with Pyml and Xmldoom, I just threw together a Python CGI script with direct access to MySQL. Of course, I made these tools to make web development faster and easier -- mission not accomplished.

My parent's house

Assuming that Pyml was fixed up, I could easily have used it and maybe even saved some time. But the real problem is that the way I used SQL wouldn't have worked with Xmldoom, so I would have had to do all kinds of ugly "stuff" to accomplish the same thing.

The point is, that the current Xmldoom design is terribly limiting. I think, that soon I am going to have to make Xmldoom more like Propel (a similar PHP softwares) for Python. It has a very flexable runtime SQL generating engine. I can build the high-level XML definition stuff that Xmldoom has on top of that. Then I can work to expand the high-level stuff to cover all cases while still providing a low-level solution.


Before deciding that I would do the architectual re-write described above, I had already fallen in love with Creole (Propel's database abstraction framework) and planned to make a Python version called Roma (for the language spoken by the Romani, known as Gypsies in the US. Its a hog-pog combination of many European languages, which makes me think of how speaking SQL is!). I never really liked ADO but Creole is badass. Apparently, the author based it on JDBC. Which is great because then Xmldoom can use Creole for PHP, Roma for Python and JDBC for Java, this way continuing its language agnostic nature.

Anyway, while Xmldoom is reasonably useful in many cases, I think it has so far served as a toy to help me learn Python and DB programming better. Now I think I understand the problem and have done the research enough to really move Xmldoom into the realm of usefulness.


But before I gut Xmldoom, I want to really spruce up Pyml and finally make a release. Since Savannah still doesn't have CVS commits back up, I am going to move it to Gna. I am working on fixing the parser, adding configuration files, and making a Python-based web server that will allow you to enter the pdb (Python debugger) and interactively step through your scripts. As far as I know, no web scripting language provides this feature but it seems really useful.

Thats enough for now...

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!