[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    [GSoC Proposal] KWord Plugins: MediaWiki translation, Auto-Correction,
From:       Nicholas Sinlock <isolatedincident () gmail ! com>
Date:       2009-03-27 17:34:09
Message-ID: 49CD0E11.3010901 () gmail ! com
[Download RAW message or body]

Hello everyone, I'm submitting a new proposal for comments.  This is 
still a partially rough draft, but I
feel like I've gotten most of the details nailed down.  Some of it may 
be partially incomplete because of
that and the time constraints I wrote this under.

["GSoC-KWord-Plugins-txt.txt" (text/plain)]

Name:
Nicholas Sinlock
 
Email Address:
IsolatedIncident@Gmail.com
 
Freenode IRC Nick:
nsinlock
 
Location (City, Country and/or Time Zone):
Ellicott City, Maryland, U.S.A. (Eastern Standard Time)
 
Proposal Name:
KWord Plugins: (media)wiki markup translation, auto-correction, and source \
code colorization 

Motivation for Proposal / Goal:
	This collection of plugins will introduce new, useful functionality into \
the KWord application of KOffice. Wikias, especially media wiki's, are \
becoming more popular over time, yet KWord is unable to recognize or \
translate those markups into the native KWord format. Implementing this \
plugin will enable the conversion of wikia pages into printable text \
documents. But even beyond that, it will also create the necessary \
background code to work off of when implementing KWord to (media)wiki \
markup translation.  Auto-correction in KWord 2.x is currently only \
partially implemented. Fully implementing this functionality will return \
KWord to the previous level of functionality enjoyed in 1.x. It will also \
allow for me to more easily implement the third plugin, the source code \
colorization plugin. KWord isn't necessarily the best choice for editing \
source code, but this plugin will be useful for users who want to compose \
documents which feature source code within their texts. The colorization \
allows for the source code to stand out within the document.  

Implementation Details:
	All of these plugins will be extending the kotextplugin class, which will \
allow them to modify the text only after a modification has been made to a \
word or paragraph within the document.  If possible I will use some \
existing code which converts (media)wiki to xml and modify it to convert \
the (media)wiki markup fully to the KWord standard. There are several \
options, including a python library, mwlib, which can parse mediawiki to a \
variety of formats. If I am unable to use any existing code, then I will \
have to write the specific code to parse and convert the (media)wiki markup \
into the KWord xml. The goal would be to run the plugin whenever a change \
is made to a paragraph, on that specific text. Either way, this would mean \
that when a person inserts a wikia page into KWord, the plugin will \
automatically translate those markups into markups understandable by KWord. \
Finally, since the plugin would only look at newly edited code, it could \
also react to a user typing in those markups, and shouldn't take up too \
many resources.  The auto-correction plugin will be superficially similar \
to the above plugin. It will implement the features not yet implemented \
within KWord 2.x. Currently, that includes the ability to use list \
formatting for bulleted paragraphs and autonumbering for numbered \
paragraphs. I can most likely borrow part of this code from kdelibs and \
kwrite/kate or even some of the code from KOffice 1.x for any functionality \
previously implemented.  The source code colorization plugin should be the \
easiest as I can borrow code from the previous plugins, and from \
Kate/KWrite. Kate/KWrite currently offer source code colorization for a \
number of languages. I can use the code, found in kdelibs under \
Kate/Syntax, and either borrow that code or write up new code based upon \
that code. Under kdelibs, there are also the xml definitions used in the \
syntax/source code colorization. I can simply access those from kdelibs or \
create a separate copy within the plugin structure. The plugin will detect \
a change in the document, and then use the Kate/KWrite code to detect and \
color and source code input into the document. The plugin will have to be \
selectively turned on, however, since otherwise the plugin would have to \
check the change against all of the possible source code types. Kate seems \
to implement this intelligently either setting it based upon the file type, \
or allowing a user to select the code type to be checked against.

Tentative Timeline:
My goal would be to start on the (media)wiki plugin in first, as it seems \
to be the most difficult. I would expect to finish the plugin within \
several weeks. I would then work on the auto-correction plugin, then the \
source code colorization. Since these ideas can reuse code from the \
previous plugins, I would expect them to take progressively less time. By \
the half way point, I plan on being done with the (media)wiki plugin, and \
be in the process of coding the auto-correction plugin. I'm confident that \
all three plugins can be successfully implemented within the allotted time. \


Do you have other obligations from late May to early August (school, work, \
etc.)?: No.
 

About Me (let us know who you are!):
	I'm a freshman/sophmore Computer Science major in the University of \
Maryland: College Park(www.umd.edu and www.cs.umd.edu). I have experience \
programming in C++, Java, and Python. I've worked a little with both KDE \
and Qt, but I am still very new to Free Software. This would be my first \
major Free Software commit.    love KDE and KOffice, I run a KDE distro on \
both of my machines and am using KWord to write this document.(Not that \
this necessarily matters)



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic