Refining Expectations

My Midway Progress as an Outreachy Intern with LibreOffice

·

4 min read

Hello everyone!

I wanted to share that it's been six weeks since I began my Outreachy internship. This experience is truly transforming me, not just as a programmer but also as a person. I can feel the positive changes in me.

During the pre-contribution period, we receive a list of organizations and projects to choose from. I made my choice based on existing skills and desired learning areas. LibreOffice stood out as I had contributed to it before, and it very good documentation and large developer community. Among the excellent projects by LibreOffice, implementing the sidebar was my immediate preference due to my familiarity with the required skills. With LibreOffice, I sensed that although it might be difficult, there was a great opportunity to learn and grow by the guidance of experienced mentors and within the project itself. I didn't include a timeline for the Qt Project in my application since I didn't have the skills at that time. However, right after seeing the results, I began learning it. In the two weeks before the internship, I focused on understanding the Qt Framework. Also mentors supported me during this period and share the required resource so I could understand the project.

So my project was about developing the Qt based VCL plugins. For more details, you can check - Outreachy : “Think about your audience”.

Progress So Far:

I didn't have an ultimate plan for implementing the project initially, mainly because it was vast and required the implementation of the necessary interface for the entire LibreOffice application. So, as my mentor wisely pointed out, a crucial aspect of the project was to identify a workable approach. This meant identifying potential steps, taking them, and staying flexible to make adjustments along the way if needed.

So I started working on Simple Message Dialogs designed to trigger a dialog with a straightforward interface. It took me approximately three weeks to complete this task, and I'm happy to share that it has been successfully merged into LibreOffice.

You can the details - https://gerrit.libreoffice.org/c/core/+/161073

In the last couple of weeks, I've been busy working on a QtBuilder. It would read existing GTK .ui files and creates Qt Native Widgets. Understanding the differences between GTK, Qt, and VCL took some time, so I had to study all three toolkits. Figuring out how the parser works and the potential changes needed also took a lot of effort. When generating widgets, I needed a structure similar to VCL. This meant finding the right widgets in Qt, like QBoxLayout, QDialog, and Container. This task is still a work in progress.

you can check it out here - https://gerrit.libreoffice.org/c/core/+/161831

I'm expecting to finish this task in the next few weeks, focusing on widgets created using the weld_message_dialog interface.

Next 6-Month Plan :

Over the next six months, my plan is to tackle one UI file at a time. I'll focus on completing the necessary method implementations for each file. This approach ensures that I not only implement methods specific to that UI file but also works in other UI files that use these methods in some way. My goal is to complete as many UI files as possible during this period.

I have intentions to contribute to LibreOffice even after the internship concludes. I believe I can make substantial contributions to this particular part of LibreOffice. Completion of this project would have enhancement on the LibreOffice project which will be used by many users. Given the considerable time invested in learning new skills, it makes sense to see through the completion of the work initiated.

So far this project has taught me many new things. There were ups and downs, there were times when I feel exhausted, but my mentors are very supportive. Without their guidance, I won’t be able to achieve what I’ve accomplished so far. This internship is indeed going to be the most wonderful moment of my life.. I'm excited about the future and grateful for this wonderful opportunity.

Thank you for following along! Have a nice day! 🙂