GSoC 2009 ODT/SXW Import plug-in for Scribus by atmb4u: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
m (Protected "GSoC 2009 ODT/SXW Import plug-in for Scribus by atmb4u": Archive ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Archive}}[[Category:GSOC]] [[Category:GSOC 2009]]
=Abstract=
=Abstract=


ODT/SXW files are most widely used word processing format in open source community which we use with Openoffice.org word processor. This project aims on implementing complete ODT files import (i.e. enable the import of ODT files as files, not just as formatted text). This is achieved by implementing a plug-in to import ODT file. Export will as be taken into consideration while designing the import.
Developed as a part of OpenOffice.org 2 and now a part of an ISO standard supported by Google Docs, the OpenDocument Text (ODT) format based on the former OpenOffice.org format SXW is the most widely used open word-processing file format. This project aims to implement full import of ODT/SXW files into Scribus. This goal will be achieved through implementation of an ODT/SXW file import plug-in. ODT/SXW file text export from Scribus will be taken into consideration during the import plug-in design phase.


=Motivation=
=Motivation=


The need for the import of a word processing format to a desktop publishing software is undoubted. When it is about the most widely used format to the most widely supported software, the problem becomes crucial. ODT/SXW are a universal open word processing formats which are 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. More over, in this summer, if I could work with an open source project like Scribus and open source community, i find it very precious.
The need for the rich word processing format import capabilities in desktop publishing software is undisputed. When it comes to the most widely used format, the problem becomes crucial. ODT and SXW are very popular universal open word processing formats thus it is essential that they can be imported natively into Scribus. Scribus makes desktop publishing with free and open software possible and import of ODT/SXW files directly into the scribus workspace will only make it work better. As with all DTP software, Scribus is rarely used to write text. Instead, it is used for layout purposes while the text is prepared in a word processor. Therefore, as I found during the time I spent using Scribus, it is necessary to import documents from a word processor. This project will produce wide-reaching usability improvements for most Scribus users. I choose SXW along with ODT, since these file formats are very similar. Moreover, I'd appreciate working with an open source project like Scribus and the open source community during this summer.




=Objectives=
=Objectives=


Complete ODT/SXW import and, if time permits, export for Scribus via plug-ins.
The project's objectives are to produce:
 
*ODT/SXW import and, if time permits, ODT export for Scribus via plug-in.
 
*Document the plug-in.


Document the plug-ins correctly and neatly.


=Challenges=
=Challenges=


Line 21: Line 23:


*Reading ODT/SXW files.
*Reading ODT/SXW files.
*Extracting graphics, tables and formulas and if necessary convert them to a format that can be used by Scribus (e.g. SVG).
*Importing basic and common items like text, graphics, page setup, margins, page numbering, static headers and footers, paragraph and character styles and document meta-data as supported by Scribus.
*Open an ODT in the workspace by converting it to a Scribus document.
*Opening an ODT/SXW in the workspace by converting it to a Scribus document.
*Make a frame to hold the imported document.
 
*Make the frame editable inside the scribus document.


=The Plan=
=The Plan=


*First decode (read the XML) the ODT files.
*Decode (read the XML) the ODT/SXW files from the compressed form and save them in a temporary storage space.
*Convert the graphics in the ODT to SVGs and read the text content in the ODT.
*Read bitmap, vector and text contents from ODT/SXW.
*Make the entire imported thing into a frame inside the document, which will be scalable, pan-able and editable.
*Styles, page layout and margins will be read from the source file and imported into the Scribus document.  
 
*Convert the entire ODT/SXW file into a Scribus document.
 
*Positioning the objects has to be correctly determined, but this will have lower priority as there is no anchor support in Scribus yet.
=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.
=Timeline=


==Phase II –Rip him off==
April 28-May 08: Understand the XML formatting of ODT and SXW files. Read the documentation of Scribus completely, especially learn as much as possible about working with Scribus codebase. Communicate with mentors and clear basic doubts about the project.


May 08-May 17 –Design the structure of the plug-in and discuss its structure on IRC nad mailing list.
May 08-May 17: Design the structure of the plug-in, the scope of import and minimum support required other than proposed and discuss its structure on IRC and mailing lists.


==Phase III – Code him out==
May 18- May 20: Open the ODT/SXW files using a newly created plug-in from Scribus. Extract the content to a temporary folder for further operations.


May 18- May 20 –Open the ODT files using a newly created plug-in from the Scribus.
May 21- May 22: Testing and debugging phase I.


-Convert the graphics in the ODT to SVGs and read the text content in the ODT.
May 23- June 28: Import Different components like images, text etc ... from the ODT/SXW file.


May 20- May 28 – Testing -Phase I
June 29-July 10: Import different styles like font styles and paragraph styles from ODT/SXW file.


May 29- June 18 – Make the entire imported thing into a frame inside the document, which will be scalable, pan-able and editable.
July 11-July 24: Convert the entire file into a Scribus document.


==Phase IV - Fix It==
July 25 -July 30: Testing and debugging phase II.


July 18 -July 28- Testing and Debugging Phase II.
July 31 - August 11: Complete the coding and sync the entire project.


July 29 - August 7 – Complete the coding and sync the entire project.
August 12-August 17: Complete the documentation and arrange the the code (Clean Coding).


==Phase V – Pack Up==


August 7-August 17 – Complete the documentation and arrange the the code (Clean Coding).
Note: Timeline doesn't include the expected everyday interaction with my mentor.
 
 
Note: Timeline doesn't include interaction with the mentor every day.


=Project Outcomes=
=Project Outcomes=


The expected outcomes of this project are as follows:
The expected outcomes of this project:


*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.)
*ODT/SXW files can be imported with basic contents and the breadth of the import support will be expanded as time allows with a minimum guarantee for basic and common items like text, graphics, page setup, margins, page numbering, paragraph and character styles in ODT/SXW files to be imported into Scribus. This will not be a complete ODT/SXW 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.
*Proper documentation acceptable to the Scribus maintainers accompanies the code.




Line 82: Line 72:


Name: Anoop Thomas Mathew
Name: Anoop Thomas Mathew
University: Cochin University of Science and Technology(CUSAT),Kerala,INDIA


IRC Nick: atmb4u
IRC Nick: atmb4u
Line 96: Line 88:
I have been using GNU/Linux for the past 5 years, starting off with RHEL 4.
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 started learning programming when I was on 3rd grade with LOGO, then BASIC(5th) ,C(6th),C++(9th) and python(11th) my computer career way back in when I was in 5th grade.
I have good knowledge in C, C++, Java and Python, and I've been into coding in them for the past 5 years. I started learning programming when I was on 3rd grade with LOGO, then BASIC (5th), C (6th), C++ (9th) and python (11th).
 
I am a member of FSF since 3 years and had fixed 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 particular 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).


I am preparing for RHCE exams which is an added advantage.
I am a member of the FSF since 3 years and have fixed 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.





Latest revision as of 17:49, 5 January 2011

Archive icon.png
This article is ARCHIVED. It is a part of the Scribus Community's history and is kept here for reference and as a representation of the contributed efforts. It is protected from editing, but its source can be copied.

Abstract

Developed as a part of OpenOffice.org 2 and now a part of an ISO standard supported by Google Docs, the OpenDocument Text (ODT) format based on the former OpenOffice.org format SXW is the most widely used open word-processing file format. This project aims to implement full import of ODT/SXW files into Scribus. This goal will be achieved through implementation of an ODT/SXW file import plug-in. ODT/SXW file text export from Scribus will be taken into consideration during the import plug-in design phase.

Motivation

The need for the rich word processing format import capabilities in desktop publishing software is undisputed. When it comes to the most widely used format, the problem becomes crucial. ODT and SXW are very popular universal open word processing formats thus it is essential that they can be imported natively into Scribus. Scribus makes desktop publishing with free and open software possible and import of ODT/SXW files directly into the scribus workspace will only make it work better. As with all DTP software, Scribus is rarely used to write text. Instead, it is used for layout purposes while the text is prepared in a word processor. Therefore, as I found during the time I spent using Scribus, it is necessary to import documents from a word processor. This project will produce wide-reaching usability improvements for most Scribus users. I choose SXW along with ODT, since these file formats are very similar. Moreover, I'd appreciate working with an open source project like Scribus and the open source community during this summer.


Objectives

The project's objectives are to produce:

  • ODT/SXW import and, if time permits, ODT export for Scribus via plug-in.
  • Document the plug-in.


Challenges

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

  • Reading ODT/SXW files.
  • Importing basic and common items like text, graphics, page setup, margins, page numbering, static headers and footers, paragraph and character styles and document meta-data as supported by Scribus.
  • Opening an ODT/SXW in the workspace by converting it to a Scribus document.


The Plan

  • Decode (read the XML) the ODT/SXW files from the compressed form and save them in a temporary storage space.
  • Read bitmap, vector and text contents from ODT/SXW.
  • Styles, page layout and margins will be read from the source file and imported into the Scribus document.
  • Convert the entire ODT/SXW file into a Scribus document.
  • Positioning the objects has to be correctly determined, but this will have lower priority as there is no anchor support in Scribus yet.

Timeline

April 28-May 08: Understand the XML formatting of ODT and SXW files. Read the documentation of Scribus completely, especially learn as much as possible about working with Scribus codebase. Communicate with mentors and clear basic doubts about the project.

May 08-May 17: Design the structure of the plug-in, the scope of import and minimum support required other than proposed and discuss its structure on IRC and mailing lists.

May 18- May 20: Open the ODT/SXW files using a newly created plug-in from Scribus. Extract the content to a temporary folder for further operations.

May 21- May 22: Testing and debugging phase I.

May 23- June 28: Import Different components like images, text etc ... from the ODT/SXW file.

June 29-July 10: Import different styles like font styles and paragraph styles from ODT/SXW file.

July 11-July 24: Convert the entire file into a Scribus document.

July 25 -July 30: Testing and debugging phase II.

July 31 - August 11: Complete the coding and sync the entire project.

August 12-August 17: Complete the documentation and arrange the the code (Clean Coding).


Note: Timeline doesn't include the expected everyday interaction with my mentor.

Project Outcomes

The expected outcomes of this project:

  • ODT/SXW files can be imported with basic contents and the breadth of the import support will be expanded as time allows with a minimum guarantee for basic and common items like text, graphics, page setup, margins, page numbering, paragraph and character styles in ODT/SXW files to be imported into Scribus. This will not be a complete ODT/SXW importer, which would be too large to be fit in the limited time frame of GSoC 2009.
  • Proper documentation acceptable to the Scribus maintainers accompanies the code.


About Me

Name: Anoop Thomas Mathew

University: Cochin University of Science and Technology(CUSAT),Kerala,INDIA

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 started learning programming when I was on 3rd grade with LOGO, then BASIC (5th), C (6th), C++ (9th) and python (11th).

I am a member of the FSF since 3 years and have fixed 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.


Eligibility

I can provide you with the certificate from my college, proving information about my studentship till 2010. Also I can provide with a copy of my passport showing my age details on request.