From The Document Foundation Wiki
Jump to: navigation, search

Assorted ideas and thoughts.

Dev guide for newbies

Aim: Create a walk-through-style guide on how to get from "I want to contribute code to LO" to "Thank you for your patch! It has been merged to LibreOffice."


Write a Clang plugin for ASCII art

LibO is riddeled with ASCII art. This needs to be removed.

So, write a Clang plugin for that. Start here


Improve extensions/templates website

The current (13/4/2012) state of the extensions website is regretful, especially when compared to what Mozilla has.

Luckily the publish their source code:

We currently use Plone and luckily it's also Python-based. Therefore a migration does not seem too hard.


  • Shared maintenance cost with Mozilla people
  • Have a great website to get started with
    • Screenshots, ratings, featured content, categories, user pages, addon collections, recommendations, installation tips
  • Provide an update mechanism for extensions


  • Need to know Python & Django to do something (still need to see to what degree that is true)

Open questions

  • Does it respect different platforms?
  • How does the update mechanism work? How does it compare to the LO way of doing things?

Improve HTML export further

Use Paul Rouget's [1] for HTML export. Make this an extension "HTML5 Slideshow export".

Dev Intro ressources

Some links for a better dev intro experience

Improve Python scripting situation

Next to JS, BeanShell and Basic, LO can be scripted through Python. Unfortunately, it's in dire need of improvement:

Hardly any learning resources available:

Extension development in Python, Python as a macro language, OOo Python forum link, Py UNO bridge

Lacking integration into LO:

Python macros are not editable from within LO itself (!): see Tools -> Macros -> Organize Macros... (all useful buttons are just grayed out; not very user-friendly). See closed bug #56289 and related StackOverflow question

The Alternative Python Script Organizer extension provides a workaround to the above lack of integration.

The scripts folder (for Linux in /opt/libreoffice4.2/share/Scripts/python) is not editable by the current user as it's the install folder. Which means we can't just open the default system text editor with the file.

Good things:

Code pointers


Improve macro info

Current page (Macros) has some problems:

  • Is it a general info page on LO Basic macros?
  • Is a snippets collection (see other macro pages)?
  • Where's the real documentation?
    • Guides, intro and function/API documentation

Persona to think of:

Joe Bloggs: Knows MS Office, heard about VBScripts (may have used them in the past). How does he script/use macros in LO?
  • Issues within LO:
    • Scripting vs. macro - what's the difference?
    • No hint for multiple languages ...
    • What's the learning path?
    • How to cover other languages (esp. Python)?
      • Major fault: Python scripts are not editable from within LO itself
  • Issues outside LO:
    • Where do I find examples? Where's the community?
    • Do we need a code snippets sharing site? (se GitHub Gists?)
    • How do we integrate with AOO? We're still relying *heavily* on their docs ...

Integrate the LO source code docs

Currently split between and various other places.

No coherent style means unnecessary confusion.

Collect, make it fit together and stream line ux of it for new developer experience.


  • Analyse content of READMEs
    • Have in line code -> needs direct formatting
    • Have references to cgit and Doxygen (and wiki)
  • Convert all present docs to .md files manually (shouldn't be that many)
  • Write template, based on the style of site
  • Write a script to create the static site from the READMEs
  • Finally: commit it to master and delete old READMEs

Find a way to run it regularly.


  • No info on how to get started from a LO Basic point of view/how to use documentation (esp. Doxygen)

Improve mkdocs


Use Multicol

Add to body tag: `class="multi-col"`

Also: make header colour `#00A500`

  • Add a doc info switcher
    • Or just add docs links next to module name in overview?
  • Move to Markdown or Wiki Text for READMEs:
  • Tooling
    • Improve exec of the tool (current snapshot is from 5/8 ...)

Put Vagrant to good use

E.g. for bug 47653 - Create VirtualBox image to generate stacktraces for crashes

See [ Vagrant website]

Replace OpenGrok

Use Etsy's Hound or Debian's Code Search instead.

Still needs feature comparison and some discussion.

Add term Pareto to chart types

Currently called, Column and Line, but really is a Pareto chart. Correct that and make it easier to find.


Add Adobe .ase colour palette support

We currently only support the GIMP format; we should also support the (very popular) .ase format (as used by all Adobe products and

Implementation info:

Code pointers


Integrate GDB-dashboard

Use GDB dashboard for something fun.