CoreHacks/en

CoreHacks are the next step after EasyHacks on your journey to become a core developer. They require more time and require often that you spend some time researching the best technical solution. You'll still have a mentor that might help you answer some questions. If you have never done any LibreOffice development, please start with an EasyHacks.

If you plan to work on a task, add yourself below the project and talk to the mentor.

Support OOXML strict export
Currently LibreOffice supports OOXML transitional import and export and initial OOXML strict import. We should however work on supporting OOXML strict as well during export and fix some of the import problems that will be discovered during the export work.

The biggest difference between OOXML transitional and OOXML strict are different namespaces and different URLs in relationships. For the import I managed to abstract them a bit but they are still mostly string based. We should switch to an enum based approach for most of them that is translated in oox/ to the URL. Additionally all content that is in OOXML transitional but not in OOXML strict needs to be guarded by a check.

Mentor: Markus Mohrhard, moggi, markus.mohrhard@googlemail.com

OOXML export and import of Impress text fields
LibreOffice support for pptx export and import of text fields specific to Impress is currently very limited. Of all available fields, only URL and slide number can be exported and none of the fields (with exception of URL) can be properly imported (they are converted to plain text on import, so some data is thus lost).

The first step would include implementing export and consequently import of those fields specified in OOXML standard and/or available in MS Powerpoint. Since Impress seems to support inserting more different kinds of fields than MS Powerpoint does, the second (optional) step would be implementing export and import of those additional fields using OOXML extension and LO's own namespace. Covering the new code with tests goes without saying :)

 Skills: C++, XML, some UNO (for tests)

Mentor: Katarina Behrens, bubli, katarina.behrens at cib.de

Assigned to: Rosemary Sebastian

For Mentors
Please make sure that the task you are going to add is feasible and can be solved by someone who has an intermediate understanding of the code base. The project can require some research if you add some pointers showing where to look for information.