summaryrefslogtreecommitdiff
path: root/Software/ooo-build
diff options
context:
space:
mode:
authorJoe Rayhawk <jrayhawk@freedesktop.org>2013-05-18 18:24:28 -0700
committerJoe Rayhawk <jrayhawk@freedesktop.org>2013-05-18 18:24:28 -0700
commit120e3111bdeaf2fadfa78bdc4aa8f2faf02df56a (patch)
treead343eed87e380de241cf9b8142654ff882262e6 /Software/ooo-build
parentc57b5b1a539da0f2512f95ba8bd058b97fc7658b (diff)
moin2mdwn: convert page Software/ooo-build/SummerOfCode/2010
Diffstat (limited to 'Software/ooo-build')
-rw-r--r--Software/ooo-build/SummerOfCode/2010.mdwn755
-rw-r--r--Software/ooo-build/SummerOfCode/2010.moin532
2 files changed, 755 insertions, 532 deletions
diff --git a/Software/ooo-build/SummerOfCode/2010.mdwn b/Software/ooo-build/SummerOfCode/2010.mdwn
new file mode 100644
index 00000000..2e44f1ff
--- /dev/null
+++ b/Software/ooo-build/SummerOfCode/2010.mdwn
@@ -0,0 +1,755 @@
+
+This page is all about [[Google Summer of Code 2010|Software/ooo-build/SummerOfCode]] for [[Go-OO|http://www.go-oo.org]].
+
+Check the [[timeline|http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#timeline]], and propose your own ideas :-)
+
+[[!toc ]]
+
+
+## How to submit your project
+
+This year we are requiring the applying students to do some little exercise. This will help you to get started in the ooo-build code and will help finding out the best of two almost identical project submissions.
+
+Feel free to discuss your submission with the contact person or the community.
+
+
+### The exercise
+
+1. checkout & build ooo-build latest dev milestone
+1. run it
+1. run it inside gdb (preferably - you're free to use any other debugger on your platform of choice; asking us questions about your choice will get you a few points withdrawn, succeeding on your own gets you a bonus)
+1. find the code that handles the keyboard shortcuts, and swap the behaviour of Ctrl-S and Ctrl-N - note that we want a c++ code change, no change in the xml configuration files
+1. mail, or attach to your application, the patch for that "fix"
+
+### Hints
+
+* Start with the [[main ooo-build wiki page|Software/ooo-build]], it will lead you through
+ * [[Getting the sources|Software/ooo-build/GettingIt]]
+ * [[Build them|Software/ooo-build/BuildingIt]]
+ * Will help you to [[start hacking|Software/ooo-build/HackingIt]]
+ * Informs you about [[debugging tricks|Software/ooo-build/DebuggingIt]]
+ * And will tell you how to [[contribute|Software/ooo-build/Contributing]]
+* [[OpenGrok|http://svn.services.openoffice.org/opengrok/]] to search in the sources
+Some hints already given to students:
+
+* In order to identify the shortcut's code, consider adding some **good breakpoints** and have a look at the backtrace.
+
+### Methodology and advices
+
+What follows, is thought for students applying for Google SoC, but not only ;)
+
+What we need is to use a better methodology, and below, some advices :
+
+
+#### Time
+
+* **no hurry** : the timeline for SoC is well defined, so take the time to do things properly. Sometimes, nothing works. That's life. Just notice everything you did, and retry later
+* **be sure you completed a task** before to start another one
+* **keep traces** : keep every log, even obvious information : later, this might be problematic to retrieve some values
+* **work regularly** : note everything you do, every day
+
+#### Communication
+
+* **english is the common language**, but do not forget that a lot of us are not native speakers;
+* please **do not use private mails**, but use the ooo-build list, and only this one for any technical question, and answer GSoC relevant from the students and the mentors point of view ;
+* **be often online**, on IRC #go-oo as mentionned by Fridrich and Cedric
+* ** when something goes wrong : tell us**, *asap*. Of course, everyone can do errors, and we won't eat you, because you did not understand something (maybe us too ...), and explain is sane and safe for everybody.
+* **someone reading your notes, MUST understand** what you did. If this is not the case, please improve the document.
+* **screenshots, blog : use english preferently**
+
+#### Organization
+
+* organize your work as **well identified tasks**, (include parallel tasks is a good idea): a timeline, Gantt diagram, containing the timeline you proposed is a very good starting point -> on the wiki
+* when you start a task, think to **avoid redo the same thing twice**.
+* **explain what you do**, add references in the code. On the wiki, describe with right sentences, containing one subject, one verb and everything to avoid misunderstanding ;
+* my experience told me, that to **notice everything important**, a tool like a simple text file, with an ACCURATE name (what it does + date), put in an accurate directory for backup, is far enough : simple and robust
+
+#### Tools
+
+* describe **how you did a full build**, including details (evil in the details)
+* **describe all operations** you did starting from build with debug enabled until where you put the fat lib, including how :
+* before to start debugging : **define what you want to do**, and what you'd like to observe, how ...
+* when you debug :** keep the history**, and the results, what you did. A text file is perfect
+
+#### Coding
+
+* **separate the "what" and the "why"** in your analysis
+* **80% of the time : think. 20% code** (not the opposite)
+* **do peer reviews** as much as often
+* **be open to suggestions**, and do not fear to redo everything
+* **warnings are errors**
+* **think twice the naming of your class, methods**, and verify it does match with the current code
+* **make it work, simplify, and improve**.
+* for every method, **write an unit test**, to check whether the methods does its role, and ony its role
+* **deliver clean diffs**. See the rules on ooo-build wiki to create correct diffs (please add your remarks, and so on ... )
+
+### Preparing a good application
+
+In order to have the best application ever produced you should work hard on the following points.
+
+* **Complete the exercise.** This helps us to check if you are willing to get it working and it helps you to get started with the ooo-build development.
+* **Expose what you plan to do on the task.** Details on the UI, feature, implementation are really important as they help us to see if you have at least studied a bit the feasibility of the task. We will always prefer someone bringing some ideas of implementation even though some might not be 100% exact. You can contact the community if you have some question about the existing code to help you come up with those details: we are always pleased to guide someone through the code ;)
+* **Propose some temporary schedule for your summer.** This helps us to check your progress later and to determine if your schedule sounds possible.
+* **Explain why should we choose you.** Don't forget that their might be several other students working on your topic: we want to choose the best one, then you need to explain why you would be the ideal candidate.
+
+## Proposals
+
+Feel free to add your own ideas and proposals; in case there's currently no mentor assigned to an idea, just mail the poor gsoc admins (fstrba at novell dot com or cbosdonnat at novell dot com) and they'll get you one.
+
+
+### Applications (Calc, Impress, Writer)
+
+
+#### Make Impress master pages copyable
+
+Currently, when in master page edit mode, the slide sorter has cut/copy/paste disabled. The task would be to add this missing functionality, and correctly handle masterpage-attached styles.
+Required skills/knowledge
+: c++
+
+Difficulty
+: easy
+
+Contact
+: thb at openoffice.org
+
+
+
+#### Attach Impress animations to styles
+
+Currently, Impress styles control most of the visual shape appearance, but not the slideshow animation effect. Which is a pity, as the styles concept is pretty powerful inside OOo, and provides a nice way to change animation settings and type for a great number of objects simultaneously. For a slightly different view onto the same problem, see [[this|http://www.openoffice.org/issues/show_bug.cgi?id=73090]] bug report.
+Required skills/knowledge
+: c++
+
+Difficulty
+: hard
+
+Contact
+: thb at openoffice.org
+
+
+
+#### Impress slide layout extendibility
+
+Make Impress layout templates easily extendible. Currently, the slide layouts in Impress (e.g. "Title page", "Outline page") are a hard-coded set; it would be really cool to have them extendible or even user-editable. This task has been almost completed in the 2009 GSoC term, see [[2009 wrapup|http://blog.thebehrens.net/2009/10/24/gsoc-2009-wrap-up/]] for the details - there's though still enough work left to make this more useful, e.g. having user-editable layouts.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: cmc at openoffice.org, TBD
+
+
+
+#### Implement additional 3D slideshow transitions
+
+Building on top of a successful GSoC project from two years ago, the goal is to add more 3D transitions to the Impress application. A transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.
+
+The already existing OpenGL transition engine gets the previous and next page as a prerendered image, and then gets the stage (i.e. the screen) exclusively, for the duration of the transition.
+Required skills/knowledge
+: c++
+
+Difficulty
+: easy
+
+Contact
+: rodo at novell.com
+
+
+
+#### Natural sorting in listboxes
+
+A lot of places in OOo list stuff like styles, references etc. sorted like a computer does, i.e. "1, 10, 2, ...". Which is ok though not nice for 5 items, but a PITA for a hundred. This is either some amount of work to find and fix all the places, or a task for a smart cookie to find the silver bullet that fixes this with a central 100 lines patch.
+Required skills/knowledge
+: c++
+
+Difficulty
+: easy
+
+Contact
+: cmc at openoffice.org, TBD
+
+
+
+#### Make autocompletion word lists persistent
+
+People are lazy, and OOo's word autocompletion is a nice feature to save on typing - only that it doesn't offer a way to store your favorite word list persistently.
+
+The task at hand would be to extend OOo's core to load and save those lists, independent of actual documents, in a way similar to what the autocorrection feature offers. This also includes adapting the UI.
+Required skills/knowledge
+: c++
+
+Difficulty
+: easy
+
+Contact
+: cbosdonnat at novell.com
+
+
+
+#### Address map SmartTag
+
+We often see addresses in documents and we sometimes want to see where it is on a map. Writer provides a way to extend the contextual menu for the selection: the [[SmartTags|http://wiki.services.openoffice.org/wiki/Writer/Smart_Tags]]. The goal of this project is to implement an OOo extension providing a Smart``Tag detecting some addresses in Writer documents and allowing the user to see it on a map.
+
+Detecting an address in a chunk of text is a hard task as this depends on the locale of the user and its habits to write addresses. A nice algorithm to detect addresses is more than welcomed, but if not possible any efficient possibility requiring some input from the user is acceptable.
+
+As this task is pretty easy, additional propositions for the project are welcomed: e.g. extending OOEclipse to help creating Smart``Tag extensions, or some other related task.
+Required skills/knowledge
+: Java, Python or any language allowed for an OOo extension
+
+Difficulty
+: easy
+
+Contact
+: cbosdonnat at novell . com
+
+
+
+#### Translation with memory
+
+This project aims at providing a translation feature in the different OOo applications (not only Writer). Professional translators are usually using a translation memory (TM) tool to avoid translating the same sentences several times. The developed feature will then have to store and query the translations in a TM, either a local one or a remote one. As there are a lot of TM tools (open source and proprietary), the code will have to be extensible by OOo extension to provide the access to the Translation Memory. The core of the feature will be part of the OOo core and a simple connector to a TM will have to be written.
+
+Various TM tools or libraries:
+
+* Benten Eclipse plugins: [[http://en.sourceforge.jp/projects/benten/|http://en.sourceforge.jp/projects/benten/]]
+* Java classes to read TMX files: [[http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=article_tmx|http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=article_tmx]]
+* Google Translator Toolkit API: [[http://code.google.com/apis/gtt/|http://code.google.com/apis/gtt/]]
+* [[http://www.omegat.org|http://www.omegat.org]] Skill
+: C++ for the core part, any UNO binding language for the TM connector
+
+Difficulty
+: medium
+
+Contact
+: cbosdonnat at novell . com
+
+
+
+### Filters
+
+
+#### Create a Visio import filter for Draw
+
+OOo currently lacks support for a Visio import filter. This proposal is about writing one, using the ODF format as the transport format to be loaded by the OOo application. Although a full blown filter seems to be unrealistic to be written within the short timeframe, large parts of Visio documents should be able to be filtered correctly.
+Required skills/knowledge
+: c++, familiarity with Visio, and a fearless attitude towards poking into binary files.
+
+Difficulty
+: medium
+
+Contact
+: fstrba at novell.com
+
+
+
+#### Implement an AutoCAD vector import for OOo
+
+To complete OOo's already impressive list of import filters, this proposal is about adding an AutoCAD import for Draw. There's a spec at [3] to start from, and a filter lib to use/extend [[here|http://www.gnu.org/software/libredwg/]].
+Required skills/knowledge
+: c++, familiarity with AutoCAD, and a fearless attitude towards poking into binary files.
+
+Difficulty
+: medium
+
+Contact
+: fstrba at novell.com
+
+
+
+#### Use PDF import's layout recognition for other vector formats (e.g. postscript, wmf/emf)
+
+OOo's newly implemented PDF import employs some amount of layout recognition techniques, to generate a layout-compatible document. Leveraging this framework for other vector formats will make OOo an editor not only for PDF, but also for Post``Script, EMF, XPS - whatever the successful applicant for this task chooses to import.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: tbehrens at novell.com
+
+
+
+#### Improve RTF Import (RTF Tokenizer)
+
+For the ooxml Word import filter, a new filter framework is developed that has better import quality as the old separate filters, and also shares quite some code. Having the RTF import use that framework would be hugely useful; both binary doc and rtf are very similar in structure, and could have tokenizers plugged into the filter framework (and thus being handled by the same high-level filter code). The doc tokenizer is already worked on, so a RTF tokenizer would be a an awesome feature.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: cbosdonnat at novell.com
+
+
+
+#### Improve RTF Export
+
+The current rework of the binary MS Word .doc (WW8) export filter made it easy to extend for other MS Word formats, like DOCX. The aim of this task is to use the advantages of the shared code to implement a new RTF export filter based on this rework.
+Required skills/knowledge
+: C++
+
+Difficulty
+: medium
+
+Contact
+: kendy at suse cz
+
+
+
+#### Improve Writer HTML export
+
+There are currently one HTML and one XHTML export filters... but both are producing bad files. This projects aims at improving the current XHTML filter to use more recent features of the language. The current filter is written in XSL, but any change to hack some C++ core filter is more than welcome.
+Required skills/knowledge
+: C++ / XSL
+
+Difficulty
+: medium
+
+Contact
+: cbosdonnat at novell.com
+
+
+
+#### Enhanced svg export filter
+
+OOo's svg export is rather limited, it would be nice to create svgs containing multiple slides, can be navigated etc.; also, having at least minimal animation support for Impress documents would be desirable, comparable to what the Flash export filter provided for the 1.x versions.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: fstrba at novell.com
+
+
+
+#### Create export filter to SCORM
+
+Make Open``Office.org generate courses for popular LMS (Learning Management System) like Moodle using a filter that can generate a [[SCORM|http://www.scorm.com/scorm-explained/]] package. The goal of this task is to create an export filter to create a SCORM package from an Open``Office.org document. The filter should take a simple scheme that helps teachers create courses, courses description and prototyping information. The application should contain some scheme ideas to help creating the teachers.
+
+Similar functionality has been taken from XHTML to SCORM like ZEKOLA Converter and [[PyXX.org|http://pyxx.org/]] converter.
+Required skills/knowledge
+: C++, xslt, python, XML
+
+Difficulty
+: medium
+
+Contact
+: jza at openoffice.org
+
+
+
+### Integration/porting
+
+
+#### Maxima Integration
+
+Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.
+
+**The idea** : create a Maxima session inside an OOo Writer document, in an embeded frame, or equivalent.
+
+IMPORTANT :
+
+* Weekly IRC meetings.
+* Wiki use mandatory.
+* Specifications and documentation MUST be written in parallel, in same time the code is written.
+* Every diff of code will be documented on the wiki.
+* the code must be written in C++ (prefered).
+**Iterations**
+Step 1
+:
+
+
+1. Discover and learn UNO API
+1. be able to create a Writer document (and play with it)
+1. be able to launch an external application using UNO
+In parallel : learn how a Writer document is structured and how to use it programmaticaly (structure, foundations)
+Step 2
+:
+
+
+1. Learn Maxima session requirements
+1. implement a way to launch a Maxima session from OOo
+1. implement a way to exchange datas with the open Maxima session
+1. propose a follow up for the devs who will continue the implementation
+**Estimated Timeline**
+
+* 3 weeks of work = step 1
+* 5 weeks of work = step 2 Required skills/knowledge
+: lisp, c++, UNO API knowledge
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice.org
+
+
+
+#### (Finish) porting Impress 3D slideshow transition framework to Windows
+
+With running implementations on Linux and Mac, the Windows platform is still missing for having nice 3D animated slideshow transitions in OOo. Some initial effort has been done, also in separating out operating system idiosyncrasies, but nothing is really working yet. This task is about finishing the implementation and tuning it to the Windows platform.
+
+A possibility might be to plug [[http://code.google.com/p/angleproject/|http://code.google.com/p/angleproject/]] , if it evolves enough in the time of GSoC.
+Required skills/knowledge
+: c++, some knowledge of WGL
+
+Difficulty
+: medium
+
+Contact
+: rodo at novell.com
+
+
+
+#### Improve OOo usability on small-screen devices
+
+With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.
+Required skills/knowledge
+: c++, Sugar/OLPC a bonus
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Make OOo UI complexity configurable
+
+The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.
+Required skills/knowledge
+: c++, UX design
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Improve (Python) scriptability
+
+OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that. This project is about providing a SWIG, or boost::python-based wrapper around un-UNOized OOo core classes.
+Required skills/knowledge
+: c++, python, boost/swig
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Improve the Impress slideshow annotation mode
+
+OOo has recently gotten a live annotation mode in the slideshow component, via a sequence of semester projects at Ecole Nante. This project is far from done, has been worked on by students previously, and is highly useful in a classroom/education setting.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Improve Scanner integration inside OOo
+
+Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.
+Required skills/knowledge
+: c++, Cocoa
+
+Difficulty
+: hard
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Improve the OOo Gallery
+
+The OOo gallery (Tools->Gallery) is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to snuff, and integrating online resources like opencliparts.org would make you many friends.
+Required skills/knowledge
+: c++
+
+Difficulty
+: hard
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Support document versioning via WebDAV
+
+OOo has good support for WebDAV and is thusly well suited to work on documents directly stored on a (web)server. Additionally cool would be to have support for document versioning as well, as provided by the DeltaV WebDAV protocol extension. This task is about adding support for DeltaV to the already existing WebDAV implementation, at least basic "core-versioning".
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: tlillqvist at novell.com
+
+
+
+#### Implement XCanvas using CoreGraphics
+
+With a DirectX-based Canvas implementation already available for Windows, and a cairo-based one for Linux, it's a natural move to provide a Core``Graphics-based on for the native Mac OS X platform OOo has recently been ported to. This proposal is about providing an initial XCanvas-implementation that solely uses Core``Graphics for rendering.
+Required skills/knowledge
+: c++, objective c, Mac OS X knowledge
+
+Difficulty
+: medium
+
+Contact
+: thb at openoffice.org, ericb at openoffice.org
+
+
+
+#### Samba locking for GIO
+
+OOo has a UCB (universal content provider) that can reach data over GIO (gvfs). Unfortunately, the implementation of the samba protocol there lacks the locking functionality. This task covers the implementation of samba locking for GIO on all levels where appropriate - changes in OOo, in glib and gvfs, and even in fuse if necessary.
+Required skills/knowledge
+: C, C++, glib
+
+Difficulty
+: hard
+
+Contact
+: tlillqvist at novell com, kendy at suse cz
+
+
+
+#### Patch Open Office to use native GTK for menus and implement a Global Menu client inside it.
+
+It has been long known that Open``Office doesn't use native GTK, and therefore can not benefit from the Global Menu's GTK Plugin. However no fully usable office suite that utilizes native GTK is available. The result is direct: on a desktop with Global Menu enabled, the default office suite, which is accessed by the user almost everyday becomes an exception that behaves differently from all other applications. Too bad. This proposed SOC project aims to provide a patch for the Open Office & Global Menu users. With the work planned in KDE to implement a Global``Menu and XFCE already working, this will provide one of the last parts in an integration on the main Linux desktop environments.
+
+References:
+
+ * Global Menu Specification - [[http://code.google.com/p/gnome2-globalmenu/wiki/GlobalMenuSpecification|http://code.google.com/p/gnome2-globalmenu/wiki/GlobalMenuSpecification]]
+Goals
+
+Patch Open``Office to implement a Global Menu client inside it.
+
+ * Interpolate the menu into Global Menu XML
+ * Bind the XML to the top level window
+ * Receive and understands the Global Menu events Required skills/knowledge
+:
+ * Experience with Openoffice programming model
+ * C++ experience
+ * Knowledge in X11 or GDK
+
+Difficulty
+:
+
+Contact
+:
+kendy at suse dot cz, the Global``Menu developpers will provide mentoring for the GTK and Global``Menu part
+
+
+
+
+#### Improve Mono integration with OOO-Build
+
+Currently ( see. [[http://go-oo.org/discover/|http://go-oo.org/discover/]] ) ooo-build supports some Mono integration, but.. unfortunately currently the integration is more or less 'mono'-directional ( if you pardon the pun ) The existing integration only allows a mono client to 'drive' Open``Office. To exploit 'mono' more effectively it would be cool to allow 'mono' functionality to be called from Open``Office to do that we need to be embed mono in Open``Office. There would be 2 ways then to allow Open``Office to 'trigger' mono code
+
+1. via the scripting framework which would allow mono code to be called for various 'events' triggered by user actions ( clicking a button, or selecting an item on a custom menu ) or from application/document ( open, close etc. )
+1. enabling mono code to define an uno service, in other words allow an uno service written in mono to be registered with Open``Office ( just like services written in c++ and java ), a new loader would need to be written that would allow the mono service to be instantiated.
+Although (1) above could be considered a task in it's own right (2) is a far more powerful and interesting prospect as it allows the mono code ( defined as an uno service ) to be run by any Open``Office/uno aware code ( e.g. basic, c++, java, python ). To use those uno mono services from events as described above it would be just a simple matter of using some Open``Office basic glue code ( about 3 lines ). Creating some scripting framework services (1) could be done if time permits to allow direct binding of mono functionality to the various classes of events that support the scripting framework, those scripting framework services of course could be written in mono themselves
+
+What needs to be done ? As a mono bridge already exists a new loader (see [[http://api.openoffice.org/docs/common/ref/com/sun/star/loader/XImplementationLoader.html|http://api.openoffice.org/docs/common/ref/com/sun/star/loader/XImplementationLoader.html]]) would need to be implemented. Some static symbols in the mono implementing assembly would probably need to be agreed in order to facilitate discovery and instantiation of the mono service(s) Additionally we could even think about tweaking the package management so that extensions written in mono could be supported.
+Required skills/knowledge
+: c++, uno, mono
+
+Difficulty
+: medium/hard
+
+Contact
+: noel dot power at novell dot com
+
+
+
+### Others
+
+
+#### Improve Equation Editor
+
+The equations editor has some issues (including very old one) and they need to be fixed, because all those issues are blocking Open``Office.org acceptance in education. The main objective here is to implement a new feature for baseline computation.
+
+Main issues are: * misalignment - compute the baseline for equations anchored as character (main case) * missing symbols ( |-> , <-| , angle A^B .. etc) * a bunch of other minor, but in their entirety annoying, little issues to be fixed in starmath
+Required skills/knowledge
+: c++, gdb, parser architectures. maths symbols and good math knowledge (for equations writing) is a plus.
+
+Difficulty
+: medium
+
+Contact
+: ericb at openoffice dot org
+
+
+
+#### Standalone presentation viewer
+
+In comparison to Power``Point, OOo Impress does not have a standalone presentation viewer, although this greatly simplifies handling for inexperienced users. Furthermore, it offers a chance to pursue different routes in terms of UI and functionality, that might not (easily) fit in the main Impress application.
+Required skills/knowledge
+: c++
+
+Difficulty
+: hard
+
+Contact
+: tbehrens at novell.com, rodo at novell com
+
+
+
+#### GUI builder for OOo
+
+There's currently work under way to give OOo auto-layoutable dialogs based on an xml description language, which is based on a GSoC 2007 project. The task at hand targets the generation of those xml UI description files in a UI-designer-friendly way - in short, to provide a GUI builder for OOo. Conceivable ways of reaching that goal also include programming a Glade plugin, or hacking up monodevelop's GUI builder (xslt might be another option).
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: mmeeks at novell.com
+
+
+
+#### Template preview
+
+Currently, OOo's template dialogs provide hard-coded previews, that do not take the document at hand into consideration. This proposal is about providing true preview functionality in the template dialog, such that a user can judge appearance of individual templates before actually applying it.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: kendy at suse.cz
+
+
+
+#### Performance Improvement
+
+There are several known performance bottlenecks inside Open``Office, and clearly more can be found with improved profiling. The exciting part of this task is clearly, finding and understanding sillies in the code - mis-uses of otherwise sensible APIs, problematic code structures and so on; and then with the minimum of code tweaking make them fly. As part of this, a small improvement to KCachegrind's visualisation will also be required (basic C++). We will also look at reducing memory use as an extensions. Not really a single task, but a collection of incremental wins over some weeks.
+Required skills/knowledge
+: c++
+
+Difficulty
+: medium
+
+Contact
+: mmeeks at novell.com
+
+
+
+#### Use svg for OOo icons
+
+OOo uses png for its icons sets currently; with the trend towards higher display resolution and scalable UI, using an expressive vector format would be useful. This task is about adding proper svg rendering capabilities to the lower layers of OOo, and using that for standard OOo icon sets.
+Required skills/knowledge
+: C++
+
+Difficulty
+: medium
+
+Contact
+: thb at openoffice.org
+
+
+
+#### Photo album extension
+
+Add an extension to the Impress which will enable users to easily create photo album presentations from supplied photos. It should layout the photos on pages - possibly using smart shapes, set transitions and animation effects. Various options should be available in the UI to customize the presentation parameters before it is created.
+Required skills/knowledge
+: c++
+
+Difficulty
+: hard
+
+Contact
+: rodo at novell.com
+
+
+
+#### Extension: Integrate Ocropus OCR capabilities to OpenOffice.org
+
+Add an extension to Writer or Draw which will enable users to easily open/scan images and perform optical character recognition(OCR) in order to output editable text with layout. The most promising free OCR programme is Ocropus (www.ocropus.org), which lacks a GUI, though. This Open``Office extension should provide a bridge between Ocropus and Open``Office.org. The extension should be able to start an OCR scan of an image using Ocropus and directly sending the resulting hocr output file (based on HTML) to Open``Office.org, where it is imported in Writer or Draw as editable text with layout. Note: this project has been started during last year's GSoC term, and there's some preliminary results to jumpstart from.
+
+An integration of this extension into the PDF-import of Open``Office.org could be evaluated at a later stage.
+Required skills/knowledge
+: applicant should either know how to hack OOo or ocropus; c++
+
+Difficulty
+: easy to medium
+
+Contact
+: rodo at novell.com, thb at openoffice.org
+
+
+
+#### IDE integration for new container controls
+
+Currently in ooo-build ( and on the way upstream via cws container_controls ) we have introduced some new controls
+
+* Frame
+* Tab``Control (Multi``Page)
+These controls are currently only useable via the api, its not possible to use the Dialog designer to interact with them. The task would be to modify the IDE Dialog designer to allow a user to interact with those controls.
+
+Note: The existing dialog designer code doesn't at all support the concept of a control being 'inserted' into an existing control. Additionally when that control is something like a Tab/Multipage control things get more complicated as it needs to be possible to select the actual page of the multipage ( that is in design mode ) to insert a new control into. Also it must be possible to add/delete pages to/from the Tab/Multipage control.
+Required skills/knowledge
+: c++, vcl, uno.
+
+Difficulty
+: hard
+
+Contact
+: noel dot power at novell dot com
+
+
+
+#### Impove Container control usablility by adding support for scroll bars
+
+Currently in ooo-build ( and on the way upstream via cws container_controls ) we have introduced some new controls
+
+* Frame
+* Page ( in a Tab/MultiPage )
+These controls ( and additionally the dialog control itself ) are missing support for scrollbars ( vertical/horizontal/both ). This could be as easy as setting some needed bits in the peer control class or perhaps exchanging the peer control with some other similar scrollbar enabled control or could be as difficult as implementing the scrolling manually in code. Some digging in the existing code required to see what is the best solution. Additionally those new properties to support enabling such scrollbars needs to be propagated to the IDE propertysheet and underlying uno toolkit controls
+Required skills/knowledge
+: c++, vcl, uno
+
+Difficulty
+: easy to medium
+
+Contact
+: noel dot power at novell dot com
+
+
+
+## Proposals template
+
+This is just an example - please copy to the 'Proposals' part of the page without the enclosing braces.
+
+
+[[!format txt """
+==== Example entry ====
+
+A full description of the task should be here - it should help to see why this task
+is important, and interesting to hack on.
+
+ Required skills/knowledge:: Language, technology1, technology2, ...
+ Difficulty:: easy/medium/hard
+ Contact:: The.Mentor at organization com
+"""]] \ No newline at end of file
diff --git a/Software/ooo-build/SummerOfCode/2010.moin b/Software/ooo-build/SummerOfCode/2010.moin
deleted file mode 100644
index bf09129e..00000000
--- a/Software/ooo-build/SummerOfCode/2010.moin
+++ /dev/null
@@ -1,532 +0,0 @@
-This page is all about [[Software/ooo-build/SummerOfCode|Google Summer of Code 2010]] for [[http://www.go-oo.org|Go-OO]].
-
-Check the [[http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#timeline|timeline]], and propose your own ideas :-)
-
-<<TableOfContents>>
-
-== How to submit your project ==
-
-This year we are requiring the applying students to do some little exercise. This will help you to get started in the ooo-build code and will help finding out the best of two almost identical project submissions.
-
-Feel free to discuss your submission with the contact person or the community.
-
-=== The exercise ===
-
- 1. checkout & build ooo-build latest dev milestone
- 1. run it
- 1. run it inside gdb (preferably - you're free to use any other debugger on your platform of choice; asking us questions about your choice will get you a few points withdrawn, succeeding on your own gets you a bonus)
- 1. find the code that handles the keyboard shortcuts, and swap the behaviour of Ctrl-S and Ctrl-N - note that we want a c++ code change, no change in the xml configuration files
- 1. mail, or attach to your application, the patch for that "fix"
-
-=== Hints ===
-
- * Start with the [[Software/ooo-build|main ooo-build wiki page]], it will lead you through
- * [[Software/ooo-build/GettingIt|Getting the sources]]
- * [[Software/ooo-build/BuildingIt|Build them]]
- * Will help you to [[Software/ooo-build/HackingIt|start hacking]]
- * Informs you about [[Software/ooo-build/DebuggingIt|debugging tricks]]
- * And will tell you how to [[Software/ooo-build/Contributing|contribute]]
- * [[http://svn.services.openoffice.org/opengrok/|OpenGrok]] to search in the sources
-
-Some hints already given to students:
- * In order to identify the shortcut's code, consider adding some '''good breakpoints''' and have a look at the backtrace.
-
-
-=== Methodology and advices ===
-
-What follows, is thought for students applying for Google SoC, but not only ;)
-
-
-What we need is to use a better methodology, and below, some advices :
-
-==== Time ====
-
- * '''no hurry''' : the timeline for SoC is well defined, so take the time to do things properly. Sometimes, nothing works. That's life. Just notice everything you did, and retry later
- * '''be sure you completed a task''' before to start another one
- * '''keep traces''' : keep every log, even obvious information : later, this might be problematic to retrieve some values
- * '''work regularly''' : note everything you do, every day
-
-==== Communication ====
-
- * '''english is the common language''', but do not forget that a lot of us are not native speakers;
- * please '''do not use private mails''', but use the ooo-build list, and only this one for any technical question, and answer GSoC relevant from the students and the mentors point of view ;
- * '''be often online''', on IRC #go-oo as mentionned by Fridrich and Cedric
- *''' when something goes wrong : tell us''', *asap*. Of course, everyone can do errors, and we won't eat you, because you did not understand something (maybe us too ...), and explain is sane and safe for everybody.
- * '''someone reading your notes, MUST understand''' what you did. If this is not the case, please improve the document.
- * '''screenshots, blog : use english preferently'''
-
-==== Organization ====
-
- * organize your work as '''well identified tasks''', (include parallel tasks is a good idea): a timeline, Gantt diagram, containing the timeline you proposed is a very good starting point -> on the wiki
- * when you start a task, think to '''avoid redo the same thing twice'''.
- * '''explain what you do''', add references in the code. On the wiki, describe with right sentences, containing one subject, one verb and everything to avoid misunderstanding ;
- * my experience told me, that to '''notice everything important''', a tool like a simple text file, with an ACCURATE name (what it does + date), put in an accurate directory for backup, is far enough : simple and robust
-
-==== Tools ====
- * describe '''how you did a full build''', including details (evil in the details)
- * '''describe all operations''' you did starting from build with debug enabled until where you put the fat lib, including how :
- * before to start debugging : '''define what you want to do''', and what you'd like to observe, how ...
- * when you debug :''' keep the history''', and the results, what you did. A text file is perfect
-
-==== Coding ====
-
- * '''separate the "what" and the "why"''' in your analysis
- * '''80% of the time : think. 20% code''' (not the opposite)
- * '''do peer reviews''' as much as often
- * '''be open to suggestions''', and do not fear to redo everything
- * '''warnings are errors'''
- * '''think twice the naming of your class, methods''', and verify it does match with the current code
- * '''make it work, simplify, and improve'''.
- * for every method, '''write an unit test''', to check whether the methods does its role, and ony its role
- * '''deliver clean diffs'''. See the rules on ooo-build wiki to create correct diffs
-
- (please add your remarks, and so on ... )
-
-=== Preparing a good application ===
-
-In order to have the best application ever produced you should work hard on the following points.
-
- * '''Complete the exercise.''' This helps us to check if you are willing to get it working and it helps you to get started with the ooo-build development.
- * '''Expose what you plan to do on the task.''' Details on the UI, feature, implementation are really important as they help us to see if you have at least studied a bit the feasibility of the task. We will always prefer someone bringing some ideas of implementation even though some might not be 100% exact. You can contact the community if you have some question about the existing code to help you come up with those details: we are always pleased to guide someone through the code ;)
- * '''Propose some temporary schedule for your summer.''' This helps us to check your progress later and to determine if your schedule sounds possible.
- * '''Explain why should we choose you.''' Don't forget that their might be several other students working on your topic: we want to choose the best one, then you need to explain why you would be the ideal candidate.
-
-== Proposals ==
-
-Feel free to add your own ideas and proposals; in case there's currently no mentor assigned to an idea, just mail the poor gsoc admins (fstrba at novell dot com or cbosdonnat at novell dot com) and they'll get you one.
-
-=== Applications (Calc, Impress, Writer) ===
-
-==== Make Impress master pages copyable ====
-
-Currently, when in master page edit mode, the slide sorter has cut/copy/paste disabled. The task would be to add this missing functionality, and correctly handle masterpage-attached styles.
-
- Required skills/knowledge:: c++
- Difficulty:: easy
- Contact:: thb at openoffice.org
-
-==== Attach Impress animations to styles ====
-
-Currently, Impress styles control most of the visual shape appearance, but not the slideshow animation effect. Which is a pity, as the styles concept is pretty powerful inside OOo, and provides a nice way to change animation settings and type for a great number of objects simultaneously. For a slightly different view onto the same problem, see [[http://www.openoffice.org/issues/show_bug.cgi?id=73090|this]] bug report.
-
- Required skills/knowledge:: c++
- Difficulty:: hard
- Contact:: thb at openoffice.org
-
-==== Impress slide layout extendibility ====
-
-Make Impress layout templates easily extendible. Currently, the slide layouts in Impress (e.g. "Title page", "Outline page") are a hard-coded set; it would be really cool to have them extendible or even user-editable. This task has been almost completed in the 2009 GSoC term, see [[http://blog.thebehrens.net/2009/10/24/gsoc-2009-wrap-up/|2009 wrapup]] for the details - there's though still enough work left to make this more useful, e.g. having user-editable layouts.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: cmc at openoffice.org, TBD
-
-==== Implement additional 3D slideshow transitions ====
-
-Building on top of a successful GSoC project from two years ago, the goal is to add more 3D transitions to the Impress application. A transition is an animation where one page is visible in the beginning and another in the end. It is used during presentation slideshow to switch pages.
-
-The already existing OpenGL transition engine gets the previous and next page as a prerendered image, and then gets the stage (i.e. the screen) exclusively, for the duration of the transition.
-
- Required skills/knowledge:: c++
- Difficulty:: easy
- Contact:: rodo at novell.com
-
-==== Natural sorting in listboxes ====
-
-A lot of places in OOo list stuff like styles, references etc. sorted like a computer does, i.e. "1, 10, 2, ...". Which is ok though not nice for 5 items, but a PITA for a hundred. This is either some amount of work to find and fix all the places, or a task for a smart cookie to find the silver bullet that fixes this with a central 100 lines patch.
-
- Required skills/knowledge:: c++
- Difficulty:: easy
- Contact:: cmc at openoffice.org, TBD
-
-==== Make autocompletion word lists persistent ====
-
-People are lazy, and OOo's word autocompletion is a nice feature to save on typing - only that it doesn't offer a way to store your favorite word list persistently.
-
-The task at hand would be to extend OOo's core to load and save those lists, independent of actual documents, in a way similar to what the autocorrection feature offers. This also includes adapting the UI.
-
- Required skills/knowledge:: c++
- Difficulty:: easy
- Contact:: cbosdonnat at novell.com
-
-==== Address map SmartTag ====
-
-We often see addresses in documents and we sometimes want to see where it is on a map. Writer provides a way to extend the contextual menu for the selection: the [[http://wiki.services.openoffice.org/wiki/Writer/Smart_Tags|SmartTags]]. The goal of this project is to implement an OOo extension providing a Smart``Tag detecting some addresses in Writer documents and allowing the user to see it on a map.
-
-Detecting an address in a chunk of text is a hard task as this depends on the locale of the user and its habits to write addresses. A nice algorithm to detect addresses is more than welcomed, but if not possible any efficient possibility requiring some input from the user is acceptable.
-
-As this task is pretty easy, additional propositions for the project are welcomed: e.g. extending OOEclipse to help creating Smart``Tag extensions, or some other related task.
-
- Required skills/knowledge:: Java, Python or any language allowed for an OOo extension
- Difficulty:: easy
- Contact:: cbosdonnat at novell . com
-
-
-==== Translation with memory ====
-
-This project aims at providing a translation feature in the different OOo applications (not only Writer). Professional translators are usually using a translation memory (TM) tool to avoid translating the same sentences several times. The developed feature will then have to store and query the translations in a TM, either a local one or a remote one. As there are a lot of TM tools (open source and proprietary), the code will have to be extensible by OOo extension to provide the access to the Translation Memory. The core of the feature will be part of the OOo core and a simple connector to a TM will have to be written.
-
-Various TM tools or libraries:
- * Benten Eclipse plugins: http://en.sourceforge.jp/projects/benten/
- * Java classes to read TMX files: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=article_tmx
- * Google Translator Toolkit API: http://code.google.com/apis/gtt/
- * http://www.omegat.org
-
- Skill:: C++ for the core part, any UNO binding language for the TM connector
- Difficulty:: medium
- Contact:: cbosdonnat at novell . com
-
-=== Filters ===
-
-==== Create a Visio import filter for Draw ====
-
-OOo currently lacks support for a Visio import filter. This proposal is about writing one, using the ODF format as the transport format to be loaded by the OOo application. Although a full blown filter seems to be unrealistic to be written within the short timeframe, large parts of Visio documents should be able to be filtered correctly.
-
- Required skills/knowledge:: c++, familiarity with Visio, and a fearless attitude towards poking into binary files.
- Difficulty:: medium
- Contact:: fstrba at novell.com
-
-==== Implement an AutoCAD vector import for OOo ====
-
-To complete OOo's already impressive list of import filters, this proposal is about adding an AutoCAD import for Draw. There's a spec at [3] to start from, and a filter lib to use/extend [[http://www.gnu.org/software/libredwg/|here]].
-
- Required skills/knowledge:: c++, familiarity with AutoCAD, and a fearless attitude towards poking into binary files.
- Difficulty:: medium
- Contact:: fstrba at novell.com
-
-==== Use PDF import's layout recognition for other vector formats (e.g. postscript, wmf/emf) ====
-
-OOo's newly implemented PDF import employs some amount of layout recognition techniques, to generate a layout-compatible document. Leveraging this framework for other vector formats will make OOo an editor not only for PDF, but also for Post``Script, EMF, XPS - whatever the successful applicant for this task chooses to import.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: tbehrens at novell.com
-
-==== Improve RTF Import (RTF Tokenizer) ====
-
-For the ooxml Word import filter, a new filter framework is developed that has better import quality as the old separate filters, and also shares quite some code. Having the RTF import use that framework would be hugely useful; both binary doc and rtf are very similar in structure, and could have tokenizers plugged into the filter framework (and thus being handled by the same high-level filter code). The doc tokenizer is already worked on, so a RTF tokenizer would be a an awesome feature.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: cbosdonnat at novell.com
-
-==== Improve RTF Export ====
-
-The current rework of the binary MS Word .doc (WW8) export filter made it easy to extend for other MS Word formats, like DOCX. The aim of this task is to use the advantages of the shared code to implement a new RTF export filter based on this rework.
-
- Required skills/knowledge:: C++
- Difficulty:: medium
- Contact:: kendy at suse cz
-
-==== Improve Writer HTML export ====
-
-There are currently one HTML and one XHTML export filters... but both are producing bad files. This projects aims at improving the current XHTML filter to use more recent features of the language. The current filter is written in XSL, but any change to hack some C++ core filter is more than welcome.
-
- Required skills/knowledge:: C++ / XSL
- Difficulty:: medium
- Contact:: cbosdonnat at novell.com
-
-==== Enhanced svg export filter ====
-
-OOo's svg export is rather limited, it would be nice to create svgs containing multiple slides, can be navigated etc.; also, having at least minimal animation support for Impress documents would be desirable, comparable to what the Flash export filter provided for the 1.x versions.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: fstrba at novell.com
-
-==== Create export filter to SCORM ====
-
-Make Open``Office.org generate courses for popular LMS (Learning Management System) like Moodle using a filter that can generate a [[http://www.scorm.com/scorm-explained/|SCORM]] package. The goal of this task is to create an export filter to create a SCORM package from an Open``Office.org document. The filter should take a simple scheme that helps teachers create courses, courses description and prototyping information. The application should contain some scheme ideas to help creating the teachers.
-
-Similar functionality has been taken from XHTML to SCORM like ZEKOLA Converter and [[http://pyxx.org/|PyXX.org]] converter.
-
- Required skills/knowledge:: C++, xslt, python, XML
- Difficulty:: medium
- Contact:: jza at openoffice.org
-
-=== Integration/porting ===
-
-==== Maxima Integration ====
-
-Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.
-
-'''The idea''' : create a Maxima session inside an OOo Writer document, in an embeded frame, or equivalent.
-
-IMPORTANT :
-
- * Weekly IRC meetings.
- * Wiki use mandatory.
- * Specifications and documentation MUST be written in parallel, in same time the code is written.
- * Every diff of code will be documented on the wiki.
- * the code must be written in C++ (prefered).
-
-'''Iterations'''
-
- Step 1::
-
- * Discover and learn UNO API
- * be able to create a Writer document (and play with it)
- * be able to launch an external application using UNO
-
-In parallel : learn how a Writer document is structured and how to use it programmaticaly (structure, foundations)
-
- Step 2::
-
- * Learn Maxima session requirements
- * implement a way to launch a Maxima session from OOo
- * implement a way to exchange datas with the open Maxima session
- * propose a follow up for the devs who will continue the implementation
-
-'''Estimated Timeline'''
-
- * 3 weeks of work = step 1
- * 5 weeks of work = step 2
-
- Required skills/knowledge:: lisp, c++, UNO API knowledge
- Difficulty:: medium
- Contact:: ericb at openoffice.org
-
-
-==== (Finish) porting Impress 3D slideshow transition framework to Windows ====
-
-With running implementations on Linux and Mac, the Windows platform is still missing for having nice 3D animated slideshow transitions in OOo. Some initial effort has been done, also in separating out operating system idiosyncrasies, but nothing is really working yet. This task is about finishing the implementation and tuning it to the Windows platform.
-
-A possibility might be to plug http://code.google.com/p/angleproject/ , if it evolves enough in the time of GSoC.
-
- Required skills/knowledge:: c++, some knowledge of WGL
- Difficulty:: medium
- Contact:: rodo at novell.com
-
-
-==== Improve OOo usability on small-screen devices ====
-
-With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.
-
- Required skills/knowledge:: c++, Sugar/OLPC a bonus
- Difficulty:: medium
- Contact:: ericb at openoffice dot org
-
-
-==== Make OOo UI complexity configurable ====
-
-The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.
-
- Required skills/knowledge:: c++, UX design
- Difficulty:: medium
- Contact:: ericb at openoffice dot org
-
-
-==== Improve (Python) scriptability ====
-
-OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that. This project is about providing a SWIG, or boost::python-based wrapper around un-UNOized OOo core classes.
-
- Required skills/knowledge:: c++, python, boost/swig
- Difficulty:: medium
- Contact:: ericb at openoffice dot org
-
-
-==== Improve the Impress slideshow annotation mode ====
-
-OOo has recently gotten a live annotation mode in the slideshow component, via a sequence of semester projects at Ecole Nante. This project is far from done, has been worked on by students previously, and is highly useful in a classroom/education setting.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: ericb at openoffice dot org
-
-
-==== Improve Scanner integration inside OOo ====
-
-Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.
-
- Required skills/knowledge:: c++, Cocoa
- Difficulty:: hard
- Contact:: ericb at openoffice dot org
-
-
-==== Improve the OOo Gallery ====
-
-The OOo gallery (Tools->Gallery) is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to snuff, and integrating online resources like opencliparts.org would make you many friends.
-
- Required skills/knowledge:: c++
- Difficulty:: hard
- Contact:: ericb at openoffice dot org
-
-
-==== Support document versioning via WebDAV ====
-
-OOo has good support for WebDAV and is thusly well suited to work on documents directly stored on a (web)server. Additionally cool would be to have support for document versioning as well, as provided by the DeltaV WebDAV protocol extension. This task is about adding support for DeltaV to the already existing WebDAV implementation, at least basic "core-versioning".
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: tlillqvist at novell.com
-
-==== Implement XCanvas using CoreGraphics ====
-
-With a DirectX-based Canvas implementation already available for Windows, and a cairo-based one for Linux, it's a natural move to provide a Core``Graphics-based on for the native Mac OS X platform OOo has recently been ported to. This proposal is about providing an initial XCanvas-implementation that solely uses Core``Graphics for rendering.
-
- Required skills/knowledge:: c++, objective c, Mac OS X knowledge
- Difficulty:: medium
- Contact:: thb at openoffice.org, ericb at openoffice.org
-
-==== Samba locking for GIO ====
-
-OOo has a UCB (universal content provider) that can reach data over GIO (gvfs). Unfortunately, the implementation of the samba protocol there lacks the locking functionality. This task covers the implementation of samba locking for GIO on all levels where appropriate - changes in OOo, in glib and gvfs, and even in fuse if necessary.
-
- Required skills/knowledge:: C, C++, glib
- Difficulty:: hard
- Contact:: tlillqvist at novell com, kendy at suse cz
-
-
-==== Patch Open Office to use native GTK for menus and implement a Global Menu client inside it. ====
-
-It has been long known that Open``Office doesn't use native GTK, and therefore can not benefit from the Global Menu's GTK Plugin. However no fully usable office suite that utilizes native GTK is available. The result is direct: on a desktop with Global Menu enabled, the default office suite, which is accessed by the user almost everyday becomes an exception that behaves differently from all other applications. Too bad. This proposed SOC project aims to provide a patch for the Open Office & Global Menu users. With the work planned in KDE to implement a Global``Menu and XFCE already working, this will provide one of the last parts in an integration on the main Linux desktop environments.
-
-References:
-
- * Global Menu Specification - http://code.google.com/p/gnome2-globalmenu/wiki/GlobalMenuSpecification
-
-Goals
-
-Patch Open``Office to implement a Global Menu client inside it.
-
- * Interpolate the menu into Global Menu XML
- * Bind the XML to the top level window
- * Receive and understands the Global Menu events
-
- Required skills/knowledge::
- * Experience with Openoffice programming model
- * C++ experience
- * Knowledge in X11 or GDK
- Difficulty::
- Contact:: kendy at suse dot cz, the Global``Menu developpers will provide mentoring for the GTK and Global``Menu part
-
-==== Improve Mono integration with OOO-Build ====
-
-Currently ( see. http://go-oo.org/discover/ ) ooo-build supports some Mono integration, but.. unfortunately currently the integration is more or less 'mono'-directional ( if you pardon the pun ) The existing integration only allows a mono client to 'drive' Open``Office. To exploit 'mono' more effectively it would be cool to allow 'mono' functionality to be called from Open``Office to do that we need to be embed mono in Open``Office. There would be 2 ways then to allow Open``Office to 'trigger' mono code
- 1. via the scripting framework which would allow mono code to be called for various 'events' triggered by user actions ( clicking a button, or selecting an item on a custom menu ) or from application/document ( open, close etc. )
- 1. enabling mono code to define an uno service, in other words allow an uno service written in mono to be registered with Open``Office ( just like services written in c++ and java ), a new loader would need to be written that would allow the mono service to be instantiated.
-
-Although (1) above could be considered a task in it's own right (2) is a far more powerful and interesting prospect as it allows the mono code ( defined as an uno service ) to be run by any Open``Office/uno aware code ( e.g. basic, c++, java, python ). To use those uno mono services from events as described above it would be just a simple matter of using some Open``Office basic glue code ( about 3 lines ). Creating some scripting framework services (1) could be done if time permits to allow direct binding of mono functionality to the various classes of events that support the scripting framework, those scripting framework services of course could be written in mono themselves
-
-What needs to be done ? As a mono bridge already exists a new loader (see http://api.openoffice.org/docs/common/ref/com/sun/star/loader/XImplementationLoader.html) would need to be implemented. Some static symbols in the mono implementing assembly would probably need to be agreed in order to facilitate discovery and instantiation of the mono service(s) Additionally we could even think about tweaking the package management so that extensions written in mono could be supported.
-
- Required skills/knowledge:: c++, uno, mono
- Difficulty:: medium/hard
- Contact:: noel dot power at novell dot com
-
-=== Others ===
-
-==== Improve Equation Editor ====
-
-The equations editor has some issues (including very old one) and they need to be fixed, because all those issues are blocking Open``Office.org acceptance in education. The main objective here is to implement a new feature for baseline computation.
-
-Main issues are:
-* misalignment - compute the baseline for equations anchored as character (main case)
-* missing symbols ( |-> , <-| , angle A^B .. etc)
-* a bunch of other minor, but in their entirety annoying, little issues to be fixed in starmath
-
- Required skills/knowledge:: c++, gdb, parser architectures. maths symbols and good math knowledge (for equations writing) is a plus.
- Difficulty:: medium
- Contact:: ericb at openoffice dot org
-
-==== Standalone presentation viewer ====
-
-In comparison to Power``Point, OOo Impress does not have a standalone presentation viewer, although this greatly simplifies handling for inexperienced users. Furthermore, it offers a chance to pursue different routes in terms of UI and functionality, that might not (easily) fit in the main Impress application.
-
- Required skills/knowledge:: c++
- Difficulty:: hard
- Contact:: tbehrens at novell.com, rodo at novell com
-
-==== GUI builder for OOo ====
-
-There's currently work under way to give OOo auto-layoutable dialogs based on an xml description language, which is based on a GSoC 2007 project. The task at hand targets the generation of those xml UI description files in a UI-designer-friendly way - in short, to provide a GUI builder for OOo. Conceivable ways of reaching that goal also include programming a Glade plugin, or hacking up monodevelop's GUI builder (xslt might be another option).
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: mmeeks at novell.com
-
-==== Template preview ====
-
-Currently, OOo's template dialogs provide hard-coded previews, that do not take the document at hand into consideration. This proposal is about providing true preview functionality in the template dialog, such that a user can judge appearance of individual templates before actually applying it.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: kendy at suse.cz
-
-==== Performance Improvement ====
-
-There are several known performance bottlenecks inside Open``Office, and clearly more can be found with improved profiling. The exciting part of this task is clearly, finding and understanding sillies in the code - mis-uses of otherwise sensible APIs, problematic code structures and so on; and then with the minimum of code tweaking make them fly. As part of this, a small improvement to KCachegrind's visualisation will also be required (basic C++). We will also look at reducing memory use as an extensions. Not really a single task, but a collection of incremental wins over some weeks.
-
- Required skills/knowledge:: c++
- Difficulty:: medium
- Contact:: mmeeks at novell.com
-
-==== Use svg for OOo icons ====
-
-OOo uses png for its icons sets currently; with the trend towards higher display resolution and scalable UI, using an expressive vector format would be useful. This task is about adding proper svg rendering capabilities to the lower layers of OOo, and using that for standard OOo icon sets.
-
- Required skills/knowledge:: C++
- Difficulty:: medium
- Contact:: thb at openoffice.org
-
-==== Photo album extension ====
-
-Add an extension to the Impress which will enable users to easily create photo album presentations from supplied photos. It should layout the photos on pages - possibly using smart shapes, set transitions and animation effects. Various options should be available in the UI to customize the presentation parameters before it is created.
-
- Required skills/knowledge:: c++
- Difficulty:: hard
- Contact:: rodo at novell.com
-
-==== Extension: Integrate Ocropus OCR capabilities to OpenOffice.org ====
-
-Add an extension to Writer or Draw which will enable users to easily open/scan images and perform optical character recognition(OCR) in order to output editable text with layout. The most promising free OCR programme is Ocropus (www.ocropus.org), which lacks a GUI, though. This Open``Office extension should provide a bridge between Ocropus and Open``Office.org. The extension should be able to start an OCR scan of an image using Ocropus and directly sending the resulting hocr output file (based on HTML) to Open``Office.org, where it is imported in Writer or Draw as editable text with layout. Note: this project has been started during last year's GSoC term, and there's some preliminary results to jumpstart from.
-
-An integration of this extension into the PDF-import of Open``Office.org could be evaluated at a later stage.
-
- Required skills/knowledge:: applicant should either know how to hack OOo or ocropus; c++
- Difficulty:: easy to medium
- Contact:: rodo at novell.com, thb at openoffice.org
-
-==== IDE integration for new container controls ====
-
-Currently in ooo-build ( and on the way upstream via cws container_controls ) we have introduced some new controls
- * Frame
- * Tab``Control (Multi``Page)
-
-These controls are currently only useable via the api, its not possible to use the Dialog designer to interact with them. The task would be to modify the IDE Dialog designer to allow a user to interact with those controls.
-
-Note: The existing dialog designer code doesn't at all support the concept of a control being 'inserted' into an existing control. Additionally when that control is something like a Tab/Multipage control things get more complicated as it needs to be possible to select the actual page of the multipage ( that is in design mode ) to insert a new
-control into. Also it must be possible to add/delete pages to/from the Tab/Multipage control.
-
- Required skills/knowledge:: c++, vcl, uno.
- Difficulty:: hard
- Contact:: noel dot power at novell dot com
-
-==== Impove Container control usablility by adding support for scroll bars ====
-
-Currently in ooo-build ( and on the way upstream via cws container_controls ) we have introduced some new controls
- * Frame
- * Page ( in a Tab/MultiPage )
-
-These controls ( and additionally the dialog control itself ) are missing support for scrollbars ( vertical/horizontal/both ). This could be as easy as setting some needed bits in the peer control class or perhaps exchanging the peer control with some other similar scrollbar enabled control or could be as difficult as implementing the scrolling
-manually in code. Some digging in the existing code required to see what is the best solution. Additionally those new properties to support enabling such scrollbars needs to be propagated to the IDE propertysheet and underlying uno toolkit controls
-
- Required skills/knowledge:: c++, vcl, uno
- Difficulty:: easy to medium
- Contact:: noel dot power at novell dot com
-
-
-== Proposals template ==
-
-This is just an example - please copy to the 'Proposals' part of the page without the enclosing braces.
-
-{{{
-==== Example entry ====
-
-A full description of the task should be here - it should help to see why this task
-is important, and interesting to hack on.
-
- Required skills/knowledge:: Language, technology1, technology2, ...
- Difficulty:: easy/medium/hard
- Contact:: The.Mentor at organization com
-}}}