Project Title: Move the gallery code to use ZIP files
Hi! In this story I’m going to share the technical details about the project that I have undertaken this summer with LibreOffice.
The project objective is to move the gallery code to use ZIP files — hence the name. Previously, the software used its custom built binary formats to store the information of gallery themes. These formats(like .sdg, .sdv, .thm, .str) have data stored inside of them which is not present in human friendly language. For example, arrows.str stores the name of the theme called Arrows, as shown below.
This example is the “most friendly” that binary files can get with user. If you don’t believe me, look at the figure below. It’s not readable by human, because it’s a binary file!
So the primary objective of the project is to transform the binary files to human readable formats and enclose them into a ZIP file altogether. ZIP format is the standard encapsulation format and supports lossless data compression. This project will be a great improvement in the LibreOffice source code as gallery themes will finally be easily read and written. The developers will be benefited greatly from the project because it will be easier to resolve bugs, add improvements and features to the gallery. Let’s discuss the project phases.
While writing the proposal for the project, Tomaž Vajngerl (my mentor) and I had discussed a layout of the structure and how the project would be divided in different phases.
Phase 1: Unit Testing
Phase 2: Refactoring of code
Phase 3: Implementation of XML+ZIP Engine
“It is to be observed that the refactoring phase should not affect the behaviour of the code. This will only be done to make the current code cleaner and easier to work with. To make sure that refactoring is done right, tests must be written.” -GSoC Proposal
To know the reason why the unit testing phase exists in the first place, it’s important to know a little bit about the following phase — refactoring of code.
A snapshot of the LibreOffice Gallery is shown below:
With Google not owning the trademarks or control for Kubernetes, it also provided a competitive edge to AWS, Microsoft, IBM etc.
If you’re a new open source contributor, the process can be intimidating. How do you find the right project? What if you don’t know how to code? What if something goes wrong?
Open source today is a word that often include a lot of things, such as open knowledge (Wikimedia projects), open hardware (Arduino, Raspberry Pi), open formats (ODT/ODS/ODP) and so on.
Are you an Arctic Code Vault Contributor or have seen someone posting about it and don't know what it is. So let's take a look at what is an Arctic Code Vault Contributor and who are the ones who gets this batch.
The Dart team mentored 5 student developers this summer, as part of GSoC 2020. Read about the student projects.Google Summer of Code (GSoC) is a global program focused on bringing student developers into open source software development.