Summer Coding 2010 Ideas - Beacon

Summer Coding 2010 ideas - Beacon - shortinfo

More information
The main page for Summer Coding 2010 ideas is Category:Summer Coding 2010 ideas.

Introduction
Beacon is an attempt to make a usable and sane WYIWYM editor for XML based documents. It is web based and extensively makes use of Javascript and XSL. Read More.

From the work done in last year's Google Summer of Code, Beacon already supports Docbook editing. The documentation team of Fedora is really interested in getting an easy to use Docbook editor that would make it easier for non programmers to contribute documentation.

The first step towards this would be to enable Beacon in Zikula, the upcoming CMS that will be used for Fedora's site. This will involve more work than just adding a Javascript based rich text editor. Following this introduction is a summary of work involved. All of it may or may not be needed. Further research is encouraged by the student (it will increase chances of acceptance too!).

Work Needed

 * 1) Zikula Docbook Support - This needs to be further discussed with the Docbook team. Zikula will need support for display of XML documents as HTML. This can be done with the XSLs already present in Beacon or Docbook based XSLs can be used too (though thats an overkill in some ways).
 * 2) Enable wiki-like editing setup that can support revisions too - It would be great if we can get a wiki like edit setup for documentation. Revisions and Edit page would be nice. The edit page will load a textarea with XML source of the document in it and Beacon would be launched on it. After submit is clicked the document is sent back to the server which will produce HTML for display.
 * 3) Enable XSL support for parsing of docbook to and from html - This directly relates to the above two points. All this transformation of XML to and from HTML needs to have a backend engine. It would be best if this entire functionality is implemented as a Zikula plugin. Also, should this be done on every page load or should there be a HTML cache for regular display of pages? How should all the documentation be committed back to the fedora repos? Can we show commit logs too? It would be nice if the applicant can think over these issues.

Skill Set

 * Javascript, CSS, XML, HTML, DOM, PHP, Ajax
 * A plus if you have worked with Zikula CMS and XSL.