ImprovingAbiWordsImportexportPlug-ins

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
Maintenance script (Talk)
(Importing text file)

Current revision as of 02:54, 17 October 2007


Name: Kamran Khan

Project Title:

Improving AbiWords import/export plug-ins to make it an even more versatile word processor in the free software world.

Synopsis:

Over the past few years, AbiWords core has greatly improved in terms of robustness and stability due to hundreds of bug fixes. Unfortunately, during those same years, many of the import/export plug-ins that extend AbiWords functionality have not been maintained and now lag behind in terms of both functionality and usefulness. During the Summer of Code, Id like to address this issue by improving a few of the more important plug-ins (namely DocBook, XSL-FO, LaTeX, KWord, and WML, in order of priority) to not lose document data, retain semantic meaning and, ultimately, to become as robust, stable, and feature-complete as the ABW and XHTML exporters.

Benefits to the AbiWord (and/or other) project(s):

At the completion of my project, AbiWord will have a more robust filter set that will make it an even more attractive option for format conversions, which will enable it to better integrate and cooperate with other free software. For example, improved DocBook output could eventually enable AbiWord to integrate its documentation with Yelp in GNOME environments, providing a more seamless word processing experience for those Linux users. Likewise, quality XML-FO output would make AbiWord a nice complement to Apaches FOP (Formatting Objects Processor) and facilitate translation to a variety of formats, including generic XML and textual SVG. Of course, these potential benefits would only add to the more common usage of exporting a single document to a non-ABW format and expecting it to retain most, if not all, of its data and meaning, which is the very goal of my proposed project.

Deliverables:

AbiWord currently produces incomplete and/or invalid DocBook, XML-FO, LaTeX, KWord, and WML output. At the end of the summer, AbiWord will, at the least, produce valid output for these formats and also be able to import it (if importing capabilities already exist for the respective plug-in). Once basic document integrity is retained, work will commence on the retention of complex elements and formatting. If this work proves too limited for a summer of work, I will extend the project by introducing new filters for reStructuredText markup and MediaWiki syntax, two currently requested features in AbiWords Bugzilla, and by contributing to the built-in XHTML exporter and OpenDocument/OpenWriter plug-ins, all of which are currently maintained or scheduled for improvement, but, nonetheless, leave room for development due to their complexity and breadth. These contributions will encompass patches for bug reports and enhancement requests that currently exist in Bugzilla (56 such reports at the time of this writing).

Project Details:

Many of the features introduced to AbiWord in the past few years, including footnotes, endnotes, tables, text boxes, tables of contents, equations, and headers and footers do not get translated correctly -- or at all -- when exported to the aforementioned output formats. To alleviate this loss of data, I plan on using the existing ABW and XHTML exporters as models for retaining document meaning and text. Since I have made minor changes to numerous plug-ins and the XHTML exporter in the past, I already know what to expect in terms of code organization for AbiWords exporters.

Project Schedule:

I have build environments for AbiWord and its plug-ins on both Windows and Linux, so I can begin working on the project as soon as I am accepted. I plan on assessing the state of each plug-in by running various documents through the exporters and by checking Bugzilla for relevant reports, using my findings as a starting point for making improvements to each filter. Once basic export is at a desirable state, I will work on retaining formatting and structure as well as AbiWords ability to import self-produced documents to facilitate further editing by the user. I then plan on utilizing the over 30,000 sample documents that I have accumulated while working on AbiWord to isolate bugs and failures with a variety of samples to ensure each plug-ins overall stability and robustness. Since I am not completely sure how long each phase of the project will last, I included the proposed introduction of the reStructuredText and MediaWiki plug-ins, as well as the improvements to the existing OpenDocument/OpenWriter and XHTML filters, as a means of ensuring enough work to last the whole summer.

Bio:

As an active contributor to AbiWord for over two years now (as sum1), I have a track record of dedication to the project and a working rapport with all of the project mentors. During that time, I have placed a strong emphasis on finding, localizing, triaging, and fixing bugs that cause AbiWord to crash and/or lose data. As a result, I have a firm understanding of AbiWords weaknesses and also its current limitations, knowledge that will help me in my effort to improve the existing filters in a direct and immediate fashion. In addition to my familiarity with AbiWord itself, I have a working knowledge of C++, C, and XML and am acclimated to both Linux and Windows environments and development tools. In short, I have everything needed to start -- and complete this project -- without delay.

Free Software Experience:

AbiWord: 646 bug reports, with 366 having a severity of critical or blocker: http://tinyurl.com/jsov4 (leads to http://bugzilla.abisource.com)

185 CVS check-ins: http://www.abisource.com/bonsai/showcheckins.cgi?person=sum1

Bersirc (an LGPL-licensed IRC client): 134 bug reports and a number of small patches written in C: http://bugs.bersirc.com (reported as sd)

Contributors

Personal tools