Beacon: The WYSIWYG XML Editor
From WorkOutWiki2008
Contents |
Proposer
Purpose
To enhance Beacon by completing one of several deliverables on the current TODO list (see below).
Abstract
Beacon is a WYSIWYG web-based GuideXML editor. However, it is aimed at being a generic XML editor, beyond just GuideXML. Any XML format that has an ultimate output format like PDF or HTML is a good candidate for a beacon-editable document. Beacon allows the user to edit the output of that XML document and will automatically generate the input corresponding to the output the user sees.
Pre-requisites
An interest in "Web 2.0 Applications". We use all the buzzwords: AJAX, REST and XML in our project :-)
Languages, tools to be known
Most of Beacon is written in Javascript, hence working knowledge of JS is Mandatory. Knowledge of JS toolkits like jQuery, which is what we use, will be an added bonus.
The server-side components have been implemented in both PHP and Python (Django), so knowledge of either will be helpful.
If you really want to get your hands dirty, brush up on your XSLT skills and help us write a converter for a new document format!
Getting and compiling the code
Use Git and check out code from here. No need to compile, just read INSTALL for instructions on setting it up.
Pre-event planning
Tasks
We are going to working on the new jQuery version of Beacon (trunk-0.4). This means people not familiar with the code already will NOT be able to participate. YOU HAVE BEEN WARNED!
After extensive IRC discussion, the final agenda for the Workout is as follows:
UI/Frontend Lead: Nandeep
* Change editing style to inline editing for top-level elements, with an RTE (using a jQueryUI plugin) for block-level elements. * Implement adding and removing top-level nodes (like section, author etc...) * Write a chat plugin (useful for collaborative editing, ala Google docs!)
Backend Lead: Anant
* Plugin the servers (PHP/Django) to 0.4 for XSLT conversion. * Author new XSLT format for Beacon<->Mediawiki conversion. * Switch to a SQlite backend as an alternative to flatfiles.
Getting in touch
IRC is the /best/ way for you to get in touch with the developers and gear up for the Workout! Also, feel free to email me with any questions.
Participants
Anant Narayanan
Nandeep Mali
Shantanu Choudhary
Pranava Swaroop
Progress Report
- 23:17 - Agenda finalized. Nandeep will be joining in via IRC/Skype/GTalk.
- 10:00 - START!
- 11:05 - Tasks have been split amongst teams, design ready, hacking has begun!
- 12:15 - Nandeep completes basic inline editing (specific to GuideXML, but he has now begun shifting that code into the plugin)
- 12:55 - Anant completes server API migration from 0.3 to 0.4.
- 13:10 - Further action summarized, SQLite data backend and Mediawiki XSLT transforms being worked on by workout participants!
- 13:15 - End of workout. Hope to have gained a new contributor :-)