GSoC 2009 Complete ODT Import/Export by atmb4u

Abstract

This project aims at implementing complete ODT files import (i.e. enable the import of ODT files as files, not just as formatted text). This is achieved by using a plug-in to import ODT file. Export will as be taken into consideration while designing the import.

Motivation

ODT is a univeral open word processing format which is very popular making essential to be imported into the Scribus. Scribus makes desktop publishing with free and open software possible, and I found it necessary to import ODT files directly into the workspace, for making it work better.

Objectives

Complete ODT import and, if time permits, export for Scribus via plug-ins.

Document the plug-ins correctly and neatly.

Challenges

The major challenges that will be faced during the implementation of this project are


 * Reading ODT files.
 * Extracting graphics, tables and formulas and if necessary convert them to a format that can be used by Scribus (e.g. SVG).
 * Open an ODT in the workspace by converting it to a Scribus document

The Plan


 * First decode (read the XML) the ODT files.
 * Convert the graphics in the ODT to SVGs and read the text content in the ODT.
 * Make the entire imported thing into a frame inside the document, which will be scalable, pan-able and editable.

Time Line

Following is the detailed road map of implementing the project.


 * Phase I – Gather it up

April 28-May 08 – Understand the XML formatting of ODT files. Read the documentation of Scribus completely, especially more about how to program Scribus. Communicate with mentors and clear basic doubts about the project.


 * Phase II –Rip him off

May 08-May 17 –Design the structure of the plug-in and discuss its structure on IRC nad mailing list.


 * Phase III – Code him out

May 18- May 20 –Open the ODT files using a newly created plug-in from the Scribus.

-Convert the graphics in the ODT to SVGs and read the text content in the ODT.

May 20- May 28 – Testing -Phase I

May 29- July 18 – Make the entire imported thing into a frame inside the document, which will be scalable, pan-able and editable.


 * Phase IV - Fix It

July 18 -July 28- Testing and Debugging Phase II.

July 29 - August 7 – Complete the coding and sync the entire project.


 * Phase V – Pack Up

August 7-August 17 – Complete the documentation and completely comment up the code (Clean Coding).

Note: Timeline doesn't include interaction with the mentor every day.

Project Outcomes

The expected outcomes of this project are as follows:


 * ODT files can be imported with basic contents and to be expanding the support as time allows with a minimum guarantee for text,images,tables and formulas in ODT files to be imported into Scribus.(Not a complete ODT importer, which would be too large to be fit in the limited time frame of GSoC 2009.)


 * Proper documentation of the functionality and the code.

Mentor

Tsoots has agreed to mentor my project if I got selected. He is one of the administrative level experienced personalities in Scribus community.

About Me

Name: Anoop Thomas Mathew

IRC Nick: atmb4u

Email ID: atmb4u@gmail.com

Location: Kerala, India

Timezone : GMT + 5:30

I am Anoop Thomas Mathew, and am currently studying for B. Tech degree in Computer Science and Engineering, at College of Engineering, Chengannur, Kerala, INDIA.

I have been using GNU/Linux for the past 5 years, starting off with RHEL 4.

I have good knowledge in C, C++, Java and Python, and I've been into coding in them for the past 5 years.

I am a member of FSF since 3 years and had fixied a few bugs in the Vim text editor. I am in the VIM development mailing list for more than one year. I don’t have any previous experience with Scribus, but I hope to work with Scribus through GSoC 2009.

Why Me???

I am hardworking to attain a purticular goal.

My mentor will be able to communicate with me at any time he wish, I will be available, 24x7.

I have experience in being with persons in other time zones.

I am open, looking forward to constructive criticisms, which I found in Scribus irc (#scribus and #scribus-dev channels at freenode.net).