[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