The Summer has Ended!

Wow, time flies. The magnificent Summer of Code 2006 is finally nearing conclusion, with just a few more minutes to go.

Looking back at the entire experience, I cannot help but smile. Beginning from the proposal preparation, right upto the final moments of convincing your mentor that your project really deserves the last $2000 cheque; you keep feeling happy that you are part of something big.

I was especially lucky to be in the company of the totally awesome people at Gentoo, they made the whole thing a lot more enjoyable. One of the great things I liked about this years SoC program was how it brought so many different people from all corners of the world together; we got to interact with one helluva cross-section of folks :)

Thank you Google, and thank you Gentoo, for making this years summer one that I will remember for a long time to come! Looking forward to another great summer next year (maybe as a mentor? ;))

On another note, I’ll be trying to get Beacon to be officially accepted by the GDP. Which means lots more work to do, many improvements to be made. If Gentoo decides to retain the repository, I’ll continue developing on it there. Additionally, I wanted to be as generic as possible while building Beacon, which means that it has the capability of being an editor for almost any XML dialect. I’ll also be looking into those possibilities sometime in the future. Meanwhile, I’ll be working towards deploying both Beacon and repodoc-web on http://guidexml.soc.gentoo.org/, hopefully before next week.

As far as my other accepted applications are concerned, I’ve already begun work on the PHP-GNOME proposal. The other two would have to wait a while I guess :)

So, that’s it. Hope all of you have had a great summer! Cheers!

Posted by Anant on August 21st, 2006 in SoC | No Comments

Say Hello to Beacon v0.1!

Update: Newer Screenshots :)

Phew! At last we have a working prototype of the GuideXML editor, and it’s called Beacon. Before we get bogged down with the technical details, lets have a look at the good stuff first :)

The welcome screen for Beacon is very simple, two options: Create new GuideXML document, or edit an existing one.

Welcome

Once you’ve entered the essential details, you’re taken to the actual editor. It’s mostly based on Dojo’s InPlace Editor widget, but the more complicated tags like <p> and <pre> are handled by a textarea instead (basically, tags that can have more tags in them). Although they are just stupid textareas for now, watch out for shiny new RTEs like TinyMCE, they are bound to replace the textareas anytime in the near future!

Create New GuideXML

With Beacon, you can even edit existing GuideXML documents with ease. Er, almost, don’t try editing the Gentoo Installation Handbook yet! (to be specific, <book> based GuideXML documents are not yet supported) But basically, everything remains the same as how it was when you create new document except that the content is already there.

XML Editing

 Okay, the cool toolbox on the left allows you to drag and drop GuideXML elements on the document to add them. Dojo’s DnD kind of sucks, but MochiKit’s packed version doesn’t have DnD support yet…

DnD

…Now the problem is that you can’t remove elements yet. Lame, I know, but I guarantee that the space below the toolbox is reserved for the DOM tree of the document. That neat little widget will allow you to re-arrange or delete your GuideXML elements at will.Neat. Now onto the gory details. The whole application is meant to be a generic XML editor, yeah, that’s right, Beacon is not entirely specific to GuideXML alone! Thanks to Dojo and MochiKit (both of whom still don’t like to talk to each other, I made them sit in the same room with great difficulty; Dojo wouldn’t let MochiKit in unless it was packed’!) the entire application is driven by powerful XML configuration files that control all aspects of the application.

Beacon maintains dual representation of the document at all times; that means we have two DOM trees, one representing the GuideXML document itself, and the other representing the HTML (and editable) version of the document which you see in the Design’ tab of the editor. Thanks to XSLT, interconversion is quick (I won’t say painless though, XSLT is TOUGH!).

Well, I better get back to making the editor look more beautiful while thinking about that DOM Tree widget… Meanwhile, you guys, enjoy!

Posted by Anant on August 19th, 2006 in SoC | 1 Comment