Beacon: The WYSIWYG XML Editor

From WorkOutWiki2008

Jump to: navigation, search

Contents

Proposer

Anant Narayanan

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

Website IRC

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 :-)
Personal tools